<?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>145439</bug_id>
          
          <creation_ts>2015-05-28 09:35:43 -0700</creation_ts>
          <short_desc>Notify client that we began editing when text field is focused</short_desc>
          <delta_ts>2015-06-01 17:02:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>andersca</cc>
    
    <cc>enrica</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097898</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-28 09:35:43 -0700</bug_when>
    <thetext>We should notify the embedding client that editing began when a text field is focused.

Currently we only notify the embedding client that editing began when the value of a text field is changed by a person. And we always notify the client that editing ended when a text field is defocused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097900</commentid>
    <comment_count>1</comment_count>
      <attachid>253849</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-05-28 09:49:53 -0700</bug_when>
    <thetext>Created attachment 253849
Patch and unit tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097904</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-05-28 10:03:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/21142108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098654</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-06-01 17:02:04 -0700</bug_when>
    <thetext>Committed r185089: &lt;http://trac.webkit.org/changeset/185089&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253849</attachid>
            <date>2015-05-28 09:49:53 -0700</date>
            <delta_ts>2015-06-01 15:37:55 -0700</delta_ts>
            <desc>Patch and unit tests</desc>
            <filename>bug-145439-20150528094940.patch</filename>
            <type>text/plain</type>
            <size>29024</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkNGM5Mjk1ZTk5NTA2
ZDZlNzcxOTBkODNkMDFjZTExYzIwYzczOC4uMTk3NzFjNzYzYWExYTg4YzI5ZGFlZjBjNGQwYmNk
YzFiNmZkMDk2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE1LTA1LTI4ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBOb3RpZnkgY2xpZW50IHRo
YXQgd2UgYmVnYW4gZWRpdGluZyB3aGVuIHRleHQgZmllbGQgaXMgZm9jdXNlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ1NDM5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5mb3JtIHRoZSBlZGl0b3Ig
Y2xpZW50IHRoYXQgd2UgYmVnYW4gZWRpdGluZyB3aGVuIGEgdGV4dCBmaWVsZCBpcyBmb2N1c2Vk
IGVpdGhlcgorICAgICAgICBieSBiZWluZyBleHBsaWNpdGx5IGZvY3VzZWQgKHByb2dyYW1tYXRp
Y2FsbHkgb3IgYnkgdXNlciBpbnRlcmFjdGlvbikgb3IgaW1wbGljaXRseQorICAgICAgICBmb2N1
c2VkIHdoZW4gdGhlIHdpbmRvdyBiZWNhbWUgYWN0aXZlLgorCisgICAgICAgIEN1cnJlbnRseSB3
ZSBvbmx5IG5vdGlmeSB0aGUgZWRpdG9yIGNsaWVudCB0aGF0IHdlIGJlZ2FuIGVkaXRpbmcgYSB0
ZXh0IGZpZWxkIHdoZW4KKyAgICAgICAgd2hlbiBhIHBlcnNvbiBhY3R1YWxseSBjaGFuZ2VzIHRo
ZSB2YWx1ZSBvZiB0aGUgZmllbGQuIEFuZCB3ZSBhbHdheXMgbm90aWZ5IHRoZQorICAgICAgICBj
bGllbnQgdGhhdCB3ZSBlbmRlZCBlZGl0aW5nIHdoZW4gYSB0ZXh0IGZpZWxkIGlzIGRlZm9jdXNl
ZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKKyAgICAgICAgd2UgZXhlY3V0ZWQgYSBiZWdhbiBlZGl0
aW5nIGNhbGxiYWNrLiBNb3Jlb3ZlciB3ZSBub3RpZnkgYSBjbGllbnQgdGhhdCB3ZQorICAgICAg
ICBlbmRlZCBlZGl0aW5nIHdoZW4gdGhlIGZpZWxkIGlzIGRlZm9jdXNlZCAoZWl0aGVyIGV4cGxp
Y2l0bHkgb3IgaW1wbGljaXRseSB3aGVuIHRoZQorICAgICAgICB3aW5kb3cgYmVjb21lcyBpbmFj
dGl2ZSkuIEluc3RlYWQgd2Ugc2hvdWxkIGFsd2F5cyBub3RpZnkgdGhlIGNsaWVudCB0aGF0IHdl
IGJlZ2FuCisgICAgICAgIGVkaXRpbmcgd2hlbiB0aGUgZmllbGQgaXMgZm9jdXNlZCBzbyB0aGF0
IHRoaXMgY2FsbGJhY2sgaXMgc3ltbWV0cmljIHdpdGggdGhlIGVuZAorICAgICAgICBlZGl0aW5n
IGNhbGxiYWNrLgorCisgICAgICAgICogaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U2VhcmNoSW5wdXRUeXBlOjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQpOiBSZW1v
dmUgcGFyYW1ldGVyIGZvciBWYWx1ZUNoYW5nZVN0YXRlLAorICAgICAgICB3aGljaCB3YXMgdXNl
ZCB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBzaG91bGQgbm90aWZ5IHRoZSBjbGllbnQgdGhhdCB3
ZSBiZWdhbiBlZGl0aW5nLCBiZWNhdXNlCisgICAgICAgIHdlIHdlIHdpbGwgbm90aWZ5IHRoZSBj
bGllbnQgdGhhdCBlZGl0aW5nIGJlZ2FuIHdoZW4gdGhlIHRleHQgZmllbGQgaXMgZm9jdXNlZCBh
cyBvcHBvc2VkIHRvCisgICAgICAgIHdoZW4gdGhlIHZhbHVlIG9mIHRleHQgZmllbGQgZmlyc3Qg
Y2hhbmdlcy4KKyAgICAgICAgKiBodG1sL1NlYXJjaElucHV0VHlwZS5oOiBEaXR0by4KKyAgICAg
ICAgKiBodG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0
RmllbGRJbnB1dFR5cGU6OmZvcndhcmRFdmVudCk6IE5vdGlmeSB0aGUgY2xpZW50IHRoYXQgd2Ug
YmVnYW4gZWRpdGluZyB3aGVuCisgICAgICAgIHRoZSB0ZXh0IGZpZWxkIGlzIGZvY3VzZWQuCisg
ICAgICAgIChXZWJDb3JlOjpUZXh0RmllbGRJbnB1dFR5cGU6OnN1YnRyZWVIYXNDaGFuZ2VkKTog
VXBkYXRlIGNhbGwgc2l0ZSBvZiBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoKQorICAgICAgICBmb2xs
b3dpbmcgdGhlIHJlbW92YWwgb2YgaXRzIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRGaWVsZElucHV0VHlwZTo6ZGlkU2V0VmFsdWVCeVVzZXJFZGl0KTogRGl0dG8uCisgICAgICAg
ICogaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuaDoKKwogMjAxNS0wNS0yOCAgWGFiaWVyIFJvZHJp
Z3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCA8eW91
ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBSZWFkYWJs
ZVN0cmVhbVJlYWRlciBzaG91bGQgbm90IGJlIGV4cG9zZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2Vh
cmNoSW5wdXRUeXBlLmNwcAppbmRleCBlZDEyNzAwNGU3OTI1NGMwZmMxMzQ2ZmRmMzU3OWMzZGJm
MmVmM2I3Li5kZTQzZGI1ODA0OTNiYzY1OTlmOWU3YWU4ODdlNzBjOTgxYzQyZTY3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCkBAIC0xODMsNyArMTgzLDcgQEAgYm9v
bCBTZWFyY2hJbnB1dFR5cGU6OnNlYXJjaEV2ZW50c1Nob3VsZEJlRGlzcGF0Y2hlZCgpIGNvbnN0
CiAgICAgcmV0dXJuIGVsZW1lbnQoKS5mYXN0SGFzQXR0cmlidXRlKGluY3JlbWVudGFsQXR0cik7
CiB9CiAKLXZvaWQgU2VhcmNoSW5wdXRUeXBlOjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoVmFsdWVD
aGFuZ2VTdGF0ZSBzdGF0ZSkKK3ZvaWQgU2VhcmNoSW5wdXRUeXBlOjpkaWRTZXRWYWx1ZUJ5VXNl
ckVkaXQoKQogewogICAgIGlmIChtX2NhbmNlbEJ1dHRvbiAmJiBlbGVtZW50KCkucmVuZGVyZXIo
KSkKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyU2VhcmNoRmllbGQ+KCplbGVtZW50KCkucmVuZGVy
ZXIoKSkudXBkYXRlQ2FuY2VsQnV0dG9uVmlzaWJpbGl0eSgpOwpAQCAtMTkyLDcgKzE5Miw3IEBA
IHZvaWQgU2VhcmNoSW5wdXRUeXBlOjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoVmFsdWVDaGFuZ2VT
dGF0ZSBzdGF0ZSkKICAgICBpZiAoc2VhcmNoRXZlbnRzU2hvdWxkQmVEaXNwYXRjaGVkKCkpCiAg
ICAgICAgIHN0YXJ0U2VhcmNoRXZlbnRUaW1lcigpOwogCi0gICAgVGV4dEZpZWxkSW5wdXRUeXBl
OjpkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoc3RhdGUpOworICAgIFRleHRGaWVsZElucHV0VHlwZTo6
ZGlkU2V0VmFsdWVCeVVzZXJFZGl0KCk7CiB9CiAKIGJvb2wgU2VhcmNoSW5wdXRUeXBlOjpzaXpl
U2hvdWxkSW5jbHVkZURlY29yYXRpb24oaW50LCBpbnQmIHByZWZlcnJlZFNpemUpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9TZWFyY2hJbnB1dFR5cGUuaAppbmRleCAwZDczODQ5NTM5ODBhY2U0YWI0
YWFmMDhlNzM4NDJmMjQ1YzZhNjMyLi45ZGEwNzlkNWZlYzVkOWZhZDcyZjEwNWZjNzYyODhmMmQ1
ODZiNmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1NlYXJjaElucHV0VHlwZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU2VhcmNoSW5wdXRUeXBlLmgKQEAgLTU3LDcgKzU3
LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIEhUTUxFbGVtZW50KiByZXN1bHRzQnV0dG9uRWxl
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgSFRNTEVsZW1lbnQqIGNhbmNlbEJ1
dHRvbkVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlS2V5
ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
U2V0VmFsdWVCeVVzZXJFZGl0KFZhbHVlQ2hhbmdlU3RhdGUpIG92ZXJyaWRlOworICAgIHZpcnR1
YWwgdm9pZCBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJv
b2wgc2l6ZVNob3VsZEluY2x1ZGVEZWNvcmF0aW9uKGludCBkZWZhdWx0U2l6ZSwgaW50JiBwcmVm
ZXJyZWRTaXplKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGZsb2F0IGRlY29yYXRpb25X
aWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1RleHRGaWVsZElucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElu
cHV0VHlwZS5jcHAKaW5kZXggNmM3MWFlNzc3YzdmOTEzY2Q5OTdkMzM3YTA1NzQ2NDU2NDVkZGQ2
Ni4uOTQ1YWQyODZiYzQ2MzRlMzI2NzIxOGM5MDVjNTg1OTY2MmQ5NjZlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcApAQCAtMjA2LDggKzIwNiwxMSBAQCB2
b2lkIFRleHRGaWVsZElucHV0VHlwZTo6Zm9yd2FyZEV2ZW50KEV2ZW50KiBldmVudCkKICAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBjYXBzTG9ja1N0YXRlTWF5SGF2ZUNoYW5n
ZWQoKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVz
KCkuZm9jdXNFdmVudCkKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUoKSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNFdmVudCkgeworICAgICAgICAgICAgICAgIGlmIChGcmFtZSogZnJh
bWUgPSBlbGVtZW50KCkuZG9jdW1lbnQoKS5mcmFtZSgpKQorICAgICAgICAgICAgICAgICAgICBm
cmFtZS0+ZWRpdG9yKCkudGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKCZlbGVtZW50KCkpOwogICAg
ICAgICAgICAgICAgIGNhcHNMb2NrU3RhdGVNYXlIYXZlQ2hhbmdlZCgpOworICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICBlbGVtZW50KCkuZm9yd2FyZEV2ZW50KGV2ZW50KTsKICAgICAgICAg
fQpAQCAtNDgyLDcgKzQ4NSw2IEBAIFN0cmluZyBUZXh0RmllbGRJbnB1dFR5cGU6OmNvbnZlcnRG
cm9tVmlzaWJsZVZhbHVlKGNvbnN0IFN0cmluZyYgdmlzaWJsZVZhbHVlKSBjCiAKIHZvaWQgVGV4
dEZpZWxkSW5wdXRUeXBlOjpzdWJ0cmVlSGFzQ2hhbmdlZCgpCiB7Ci0gICAgYm9vbCB3YXNDaGFu
Z2VkID0gZWxlbWVudCgpLndhc0NoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2ZW50
KCk7CiAgICAgZWxlbWVudCgpLnNldENoYW5nZWRTaW5jZUxhc3RGb3JtQ29udHJvbENoYW5nZUV2
ZW50KHRydWUpOwogCiAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjYWxsIHNhbml0aXplVXNlcklu
cHV0VmFsdWUoKSBmdW5jdGlvbiBoZXJlIGJlY2F1c2UKQEAgLTQ5NCwxOCArNDk2LDE1IEBAIHZv
aWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpzdWJ0cmVlSGFzQ2hhbmdlZCgpCiAgICAgLy8gUmVjYWxj
IGZvciA6aW52YWxpZCBjaGFuZ2UuCiAgICAgZWxlbWVudCgpLnNldE5lZWRzU3R5bGVSZWNhbGMo
KTsKIAotICAgIGRpZFNldFZhbHVlQnlVc2VyRWRpdCh3YXNDaGFuZ2VkID8gVmFsdWVDaGFuZ2VT
dGF0ZUNoYW5nZWQgOiBWYWx1ZUNoYW5nZVN0YXRlTm9uZSk7CisgICAgZGlkU2V0VmFsdWVCeVVz
ZXJFZGl0KCk7CiB9CiAKLXZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpkaWRTZXRWYWx1ZUJ5VXNl
ckVkaXQoVmFsdWVDaGFuZ2VTdGF0ZSBzdGF0ZSkKK3ZvaWQgVGV4dEZpZWxkSW5wdXRUeXBlOjpk
aWRTZXRWYWx1ZUJ5VXNlckVkaXQoKQogewogICAgIGlmICghZWxlbWVudCgpLmZvY3VzZWQoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIGlmIChGcmFtZSogZnJhbWUgPSBlbGVtZW50KCkuZG9jdW1l
bnQoKS5mcmFtZSgpKSB7Ci0gICAgICAgIGlmIChzdGF0ZSA9PSBWYWx1ZUNoYW5nZVN0YXRlTm9u
ZSkKLSAgICAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS50ZXh0RmllbGREaWRCZWdpbkVkaXRpbmco
JmVsZW1lbnQoKSk7CisgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGVsZW1lbnQoKS5kb2N1bWVudCgp
LmZyYW1lKCkpCiAgICAgICAgIGZyYW1lLT5lZGl0b3IoKS50ZXh0RGlkQ2hhbmdlSW5UZXh0Rmll
bGQoJmVsZW1lbnQoKSk7Ci0gICAgfQogfQogCiB2b2lkIFRleHRGaWVsZElucHV0VHlwZTo6c3Bp
bkJ1dHRvblN0ZXBEb3duKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZp
ZWxkSW5wdXRUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5o
CmluZGV4IDJmODExMDBlMGRiOGNjYmE3OWJjMzIzYzI4MDU1YTI5NTcwOThlZjguLmNiNTg1ZWE3
Mjk2OGVmZGM4MTQ3ZDkzMjkyMzY1Yjg5OWVhNTIyOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9U
ZXh0RmllbGRJbnB1dFR5cGUuaApAQCAtNzIsMTEgKzcyLDcgQEAgcHJvdGVjdGVkOgogI2VuZGlm
CiAKICAgICB2aXJ0dWFsIFN0cmluZyBjb252ZXJ0RnJvbVZpc2libGVWYWx1ZShjb25zdCBTdHJp
bmcmKSBjb25zdDsKLSAgICBlbnVtIFZhbHVlQ2hhbmdlU3RhdGUgewotICAgICAgICBWYWx1ZUNo
YW5nZVN0YXRlTm9uZSwKLSAgICAgICAgVmFsdWVDaGFuZ2VTdGF0ZUNoYW5nZWQKLSAgICB9Owot
ICAgIHZpcnR1YWwgdm9pZCBkaWRTZXRWYWx1ZUJ5VXNlckVkaXQoVmFsdWVDaGFuZ2VTdGF0ZSk7
CisgICAgdmlydHVhbCB2b2lkIGRpZFNldFZhbHVlQnlVc2VyRWRpdCgpOwogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25z
dCBvdmVycmlkZSBmaW5hbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA1NTc1ZGRiMzA0MDFmNzVjNmI1NDlkYzA1NDAwNTRjZjdmOGFkNjVhLi40
MjQ0ZGY2YTVlNzE4MmVhODlkNGZlOTI2NDY0MzhhNGUxYmU3Njg3IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTUt
MDUtMjggIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIE5vdGlm
eSBjbGllbnQgdGhhdCB3ZSBiZWdhbiBlZGl0aW5nIHdoZW4gdGV4dCBmaWVsZCBpcyBmb2N1c2Vk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0MzkK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJ
IHRlc3QgdG8gZW5zdXJlIHRoYXQgd2UgZGlzcGF0Y2ggdGV4dEZpZWxkRGlke0JlZ2luLCBFbmR9
RWRpdGluZyBjYWxsYmFja3Mgd2hlbgorICAgICAgICBhIHRleHQgZmllbGQgaXMgZm9jdXNlZCBh
bmQgZGVmb2N1c2VkLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyL1RleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZy5jcHA6
IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ViS2l0MlRleHRGaWVsZEJlZ2luQW5k
RWRpdEVkaXRpbmdUZXN0OjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpXZWJLaXQyVGV4dEZpZWxkQmVnaW5BbmRFZGl0RWRpdGlu
Z1Rlc3Q6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpX
ZWJLaXQyVGV4dEZpZWxkQmVnaW5BbmRFZGl0RWRpdGluZ1Rlc3Q6OnNldEluamVjdGVkQnVuZGxl
Q2xpZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OldlYktpdDJUZXh0RmllbGRCZWdpbkFu
ZEVkaXRFZGl0aW5nVGVzdDo6c2V0UGFnZUxvYWRlckNsaWVudCk6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpXZWJLaXQyVGV4dEZpZWxkQmVnaW5BbmRFZGl0RWRpdGluZ1Rlc3Q6Om51bGxKYXZh
U2NyaXB0Q2FsbGJhY2spOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6V2ViS2l0MlRleHRGaWVs
ZEJlZ2luQW5kRWRpdEVkaXRpbmdUZXN0OjpleGVjdXRlSmF2YVNjcmlwdEFuZENoZWNrRGlkUmVj
ZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0
aW5nX0J1bmRsZS5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6dGV4dEZpZWxk
RGlkQmVnaW5FZGl0aW5nKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRleHRGaWVsZERpZEVu
ZEVkaXRpbmcpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VGV4dEZpZWxkRGlkQmVnaW5BbmRF
bmRFZGl0aW5nRXZlbnRzVGVzdDo6VGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nRXZlbnRz
VGVzdCk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVk
aXRpbmdFdmVudHNUZXN0OjpkaWRDcmVhdGVQYWdlKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDIvaW5wdXQtZm9jdXMtYmx1ci5odG1sOiBBZGRlZC4KKwogMjAxNS0wNS0y
NyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgaW1nLmN1cnJlbnRT
cmMgcHJvYmxlbSBpbiBzdHJpY3QgbW9kZSB3aXRoIG9sZCBwaWN0dXJlZmlsbApkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ01ha2VMaXN0cy50eHQKaW5kZXggYjE4MTM2ZWE3ZjhjZjliZTdmNWE5ZGUwZGJlZGY5YTky
YWNjZDI1Zi4uMDcwNDI0ZjA1ZmJlODEwYTEyM2ZmM2JlOTMyZjFlNDYyN2M1NTZiOSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC0xMjEsNiArMTIxLDcgQEAgYWRkX2xpYnJhcnko
VGVzdFdlYktpdEFQSUluamVjdGVkQnVuZGxlIFNIQVJFRAogICAgICR7VEVTVFdFQktJVEFQSV9E
SVJ9L1Rlc3RzL1dlYktpdDIvUGFyZW50RnJhbWVfQnVuZGxlLmNwcAogICAgICR7VEVTVFdFQktJ
VEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvUmVzcG9uc2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJs
eV9CdW5kbGUuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0Mi9TaG91
bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbV9CdW5kbGUuY3BwCisgICAgJHtURVNUV0VCS0lUQVBJ
X0RJUn0vVGVzdHMvV2ViS2l0Mi9UZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdfQnVuZGxl
LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvVXNlck1lc3NhZ2Vf
QnVuZGxlLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvV2lsbExv
YWRfQnVuZGxlLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvV2ls
bFNlbmRTdWJtaXRFdmVudF9CdW5kbGUuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1BsYXRmb3JtRWZsLmNtYWtlIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0Zm9ybUVmbC5j
bWFrZQppbmRleCA3NDcwOTYzNmM2Nzc2M2EwZmM3Zjg4NzEwYTBlZGNjMWM2NzYzMWJmLi4zOWRm
MWI0YmExOWNhNDdlN2E2ODY2ZmIzYmJjMTFmMzRlNWFiMzEwIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
UGxhdGZvcm1FZmwuY21ha2UKQEAgLTkyLDYgKzkyLDcgQEAgc2V0KHRlc3Rfd2Via2l0Ml9hcGlf
QklOQVJJRVMKICAgICBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5CiAgICAgU2hv
dWxkR29Ub0JhY2tGb3J3YXJkTGlzdEl0ZW0KICAgICBUZXJtaW5hdGVUd2ljZQorICAgIFRleHRG
aWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZwogICAgIFdLUHJlZmVyZW5jZXMKICAgICBXS1N0cmlu
ZwogICAgIFdLU3RyaW5nSlNTdHJpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
UGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1BsYXRmb3JtR1RLLmNtYWtl
CmluZGV4IDI4NGRiNTBmMDM2NmUyM2U0YmYzYjRhNmJjZWVkOTNkNzMzMWVhYjEuLjdiZjA1ZDVk
ZDJjYWM4MTZkOGQxZWJmNjUxMGYxNzYyNDQ1YjNkZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9QbGF0
Zm9ybUdUSy5jbWFrZQpAQCAtOTcsNiArOTcsNyBAQCBhZGRfZXhlY3V0YWJsZShUZXN0V2ViS2l0
MgogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvUmVzaXplV2luZG93QWZ0
ZXJDcmFzaC5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQyL1Jlc3Rv
cmVTZXNzaW9uU3RhdGVDb250YWluaW5nRm9ybURhdGEuY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJ
X0RJUn0vVGVzdHMvV2ViS2l0Mi9TaG91bGRHb1RvQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAKKyAg
ICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQyL1RleHRGaWVsZERpZEJlZ2luQW5k
RW5kRWRpdGluZy5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQyL1Vz
ZXJNZWRpYS5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQyL1VzZXJN
ZXNzYWdlLmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdDIvV2lsbFNl
bmRTdWJtaXRFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWIyNzZkODliYTRl
NzdjODcyMmJlOWI3MmNjYjI0ODYyNDEwZTIzYi4uYzk0ODY4MDEzYjlkYWRiMTExNDFlMGQ5YWVl
MzhmYjllMzgxYmJjOCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI4Niw2ICsyODYsOSBA
QAogCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJh
bWUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREJG
Q0M0MzFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFsRnJhbWUubW0gKi87
IH07CiAJCUNEQkZDQzQ2MUE5RkY0OUUwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENEQkZDQzQyMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxG
cmFtZS5odG1sICovOyB9OwogCQlDRTE0RjFBNDE4MTg3M0IwMDAxQzI3MDUgLyogV2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTE0RjFBMjE4MTg3M0IwMDAxQzI3MDUgLyog
V2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMQ3Jhc2guaHRtbCAqLzsgfTsKKwkJQ0UzNTI0
RjgxQjE0MzFGNjAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ19CdW5k
bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Uz
NTI0RjIxQjE0MkI4RDAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ19C
dW5kbGUuY3BwICovOyB9OworCQlDRTM1MjRGOTFCMTQ0MUM0MDAyOEE3QzUgLyogVGV4dEZpZWxk
RGlkQmVnaW5BbmRFbmRFZGl0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFMzUyNEYxMUIxNDJCOEQwMDI4QTdDNSAvKiBUZXh0RmllbGREaWRC
ZWdpbkFuZEVuZEVkaXRpbmcuY3BwICovOyB9OworCQlDRTM1MjRGQTFCMTQ0Mzg5MDAyOEE3QzUg
LyogaW5wdXQtZm9jdXMtYmx1ci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMzUyNEY1MUIxNDJCQkIwMDI4QTdDNSAvKiBpbnB1dC1m
b2N1cy1ibHVyLmh0bWwgKi87IH07CiAJCUNFQTZDRjI4MTlDQ0Y2OUQwMDY0RjVBNyAvKiBvcGVu
LWFuZC1jbG9zZS13aW5kb3cuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRUE2Q0YyNzE5Q0NGNjlEMDA2NEY1QTcgLyogb3Blbi1hbmQt
Y2xvc2Utd2luZG93Lmh0bWwgKi87IH07CiAJCUUxMjIwRENBMTU1QjI4QUEwMDEzRTJGQyAvKiBN
ZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxlZ2F0ZS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjIwREM5MTU1
QjI4N0QwMDEzRTJGQyAvKiBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWREZWxl
Z2F0ZS5odG1sICovOyB9OwogCQlFMTk0RTFCRDE3N0U1M0M3MDA5QzRENEUgLyogU3RvcExvYWRp
bmdGcm9tRGlkUmVjZWl2ZVJlc3BvbnNlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NEUxQkMxNzdFNTM0QTAwOUM0RDRFIC8qIFN0
b3BMb2FkaW5nRnJvbURpZFJlY2VpdmVSZXNwb25zZS5odG1sICovOyB9OwpAQCAtMzY0LDYgKzM2
Nyw3IEBACiAJCQkJOUI0RjhGQTcxNTlENTJERDAwMkQ5Rjk0IC8qIEhUTUxDb2xsZWN0aW9uTmFt
ZWRJdGVtLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJOUIyNkZDQ0ExNTlEMTZERTAw
Q0MzNzY1IC8qIEhUTUxGb3JtQ29sbGVjdGlvbk5hbWVkSXRlbS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCUJDQkQzNzM3MTI1QUJCRUIwMEQyQzI5RiAvKiBpY29uLnBuZyBpbiBDb3B5
IFJlc291cmNlcyAqLywKKwkJCQlDRTM1MjRGQTFCMTQ0Mzg5MDAyOEE3QzUgLyogaW5wdXQtZm9j
dXMtYmx1ci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUMyQ0Y5NzVCMTZDRUM3MUIw
MDU0RTk5RCAvKiBKU0NvbnRleHRCYWNrRm9yd2FyZENhY2hlMS5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCUMyQ0Y5NzVBMTZDRUM3MTQwMDU0RTk5RCAvKiBKU0NvbnRleHRCYWNrRm9y
d2FyZENhY2hlMi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTM3OEU2NDc5MTYzMjcw
NzQwMEI2QzY3NiAvKiBsaW5rLXdpdGgtdGl0bGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
QEAgLTY5Niw2ICs3MDAsOSBAQAogCQlDREMyQzcxNDE3OTcwODlEMDBFNjI3RkIgLyogVGltZVJh
bmdlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaW1lUmFuZ2VzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQ0UxNEYxQTIxODE4NzNCMDAwMUMyNzA1IC8qIFdpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTENyYXNoLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBXaWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0VG9VUkxDcmFzaC5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RTMyQzdDNzE4MTg0QzQ5MDBDRDhDMjggLyogV2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJM
Q3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXaWxsUGVy
Zm9ybUNsaWVudFJlZGlyZWN0VG9VUkxDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0UzNTI0RjExQjE0MkI4RDAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5k
RWRpdGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0Rmll
bGREaWRCZWdpbkFuZEVuZEVkaXRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDRTM1MjRGMjFCMTQyQjhEMDAyOEE3QzUgLyogVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0
aW5nX0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0
RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0UzNTI0RjUxQjE0MkJCQjAwMjhBN0M1IC8qIGlucHV0LWZvY3VzLWJsdXIu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJpbnB1dC1mb2N1cy1ibHVyLmh0bWwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUE2Q0YyMjE5Q0NGNUJEMDA2NEY1QTcg
LyogT3BlbkFuZENsb3NlV2luZG93Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gT3BlbkFuZENsb3NlV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRUE2Q0YyNzE5Q0NGNjlEMDA2NEY1QTcgLyogb3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0
bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
Lmh0bWw7IHBhdGggPSAib3Blbi1hbmQtY2xvc2Utd2luZG93Lmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTIyMEQ5RjE1NUIyNTQ4MDAxM0UyRkMgLyogTWVtb3J5Q2FjaGVE
aXNhYmxlV2l0aGluUmVzb3VyY2VMb2FkRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBNZW1vcnlDYWNoZURpc2FibGVXaXRoaW5SZXNvdXJjZUxvYWRE
ZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMTIsNiArMTAxOSw4
IEBACiAJCQkJNzY3MzQ5OTcxOTMwMTZEQzAwRTQ0REY5IC8qIFN0b3BMb2FkaW5nRHVyaW5nRGlk
RmFpbFByb3Zpc2lvbmFsTG9hZC5jcHAgKi8sCiAJCQkJNzY3MzQ5OUExOTMwMTgyRTAwRTQ0REY5
IC8qIFN0b3BMb2FkaW5nRHVyaW5nRGlkRmFpbFByb3Zpc2lvbmFsTG9hZF9idW5kbGUuY3BwICov
LAogCQkJCTFBRTcyRjQ3MTczRUIyMTQwMDYzNjJGMCAvKiBUZXJtaW5hdGVUd2ljZS5jcHAgKi8s
CisJCQkJQ0UzNTI0RjExQjE0MkI4RDAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5k
RWRpdGluZy5jcHAgKi8sCisJCQkJQ0UzNTI0RjIxQjE0MkI4RDAwMjhBN0M1IC8qIFRleHRGaWVs
ZERpZEJlZ2luQW5kRW5kRWRpdGluZ19CdW5kbGUuY3BwICovLAogCQkJCTRBNDEwRjRCMTlBRjdC
RDYwMDJFQkFCNSAvKiBVc2VyTWVkaWEuY3BwICovLAogCQkJCUJDMjJEMzEzMTREQzY4OTgwMEZG
QjFERCAvKiBVc2VyTWVzc2FnZS5jcHAgKi8sCiAJCQkJQkMyMkQzMTcxNERDNjhCODAwRkZCMURE
IC8qIFVzZXJNZXNzYWdlX0J1bmRsZS5jcHAgKi8sCkBAIC0xMTA1LDYgKzExMTQsNyBAQAogCQkJ
CTI2RjUyRUIxMTgyODhGMEYwMDIzRDQxMiAvKiBnZW9sb2NhdGlvbldhdGNoUG9zaXRpb25XaXRo
SGlnaEFjY3VyYWN5Lmh0bWwgKi8sCiAJCQkJNEE0MTBGNEQxOUFGN0JFRjAwMkVCQUI1IC8qIGdl
dFVzZXJNZWRpYS5odG1sICovLAogCQkJCUJDQkQzNzJFMTI1QUJCRTYwMEQyQzI5RiAvKiBpY29u
LnBuZyAqLywKKwkJCQlDRTM1MjRGNTFCMTQyQkJCMDAyOEE3QzUgLyogaW5wdXQtZm9jdXMtYmx1
ci5odG1sICovLAogCQkJCTM3OEU2NDc4MTYzMjZGREYwMEI2QzY3NiAvKiBsaW5rLXdpdGgtdGl0
bGUuaHRtbCAqLywKIAkJCQk5MzYxMDAyODE0REM5NTdCMDA2MTM3OUQgLyogbG90cy1vZi1pZnJh
bWVzLmh0bWwgKi8sCiAJCQkJOTNBRjRFQ0YxNTA2RjEyMzAwN0ZENTdFIC8qIGxvdHMtb2YtaW1h
Z2VzLmh0bWwgKi8sCkBAIC0xMzk4LDYgKzE0MDgsNyBAQAogCQkJCTdDQ0U3RjMwMUE0MTFCOEUw
MDQ0N0M0QyAvKiBBdG9taWNTdHJpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjQx
QTQxMUE3RTAwNDQ3QzRDIC8qIEF0dHJpYnV0ZWRTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0VCNTFBNDExQTdFMDA0NDdDNEMgLyogQmFja0ZvcndhcmRMaXN0Lm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJRTQwMDE5MzMxQUNFOUI4ODAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURDMUE0MTFBOTIwMDQ0N0M0QyAvKiBDYWxjdWxhdGlv
blZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUI2MUE0MTFBN0UwMDQ0N0M0QyAv
KiBDYW5jZWxMb2FkRnJvbVJlc291cmNlTG9hZERlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdFRTcxQTQxMUFFNjAwNDQ3QzRDIC8qIENhbkhhbmRsZVJlcXVlc3QuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0xNDY3LDYgKzE0NzgsNyBAQAogCQkJCTdDQ0U3RjA2MUE0MTFBRTYwMDQ0
N0M0QyAvKiBMYXlvdXRNaWxlc3RvbmVzV2l0aEFsbENvbnRlbnRJbkZyYW1lLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDQ0U3RURGMUE0MTFBOTIwMDQ0N0M0QyAvKiBMYXlvdXRVbml0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjM4MUE0MTFCOEUwMDQ0N0M0QyAvKiBMaXN0SGFzaFNl
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzN0QzNkVENzFBRjQyRUNEMDBCQUY1RDkgLyogTG9h
ZEFsdGVybmF0ZUhUTUxTdHJpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VGRTFBNDEx
QUU2MDA0NDdDNEMgLyogTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmdXaXRoTm9uRGlyZWN0b3J5VVJM
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUZGMUE0MTFBRTYwMDQ0N0M0QyAvKiBMb2Fk
Q2FuY2VsZWROb1NlcnZlclJlZGlyZWN0Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0NDRTdGMDAxQTQxMUFFNjAwNDQ3QzRDIC8qIExvYWRQYWdlT25DcmFzaC5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTE1NDEsMTIgKzE1NTMsMTEgQEAKIAkJCQk3Q0NFN0YxNjFBNDExQUU2MDA0NDdD
NEMgLyogVGVybWluYXRlVHdpY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQTkxQTQx
MUExRDAwNDQ3QzRDIC8qIFRlc3RCcm93c2luZ0NvbnRleHRMb2FkRGVsZWdhdGUubW0gaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VBQTFBNDExQTI0MDA0NDdDNEMgLyogVGVzdFByb3RvY29sLm1t
IGluIFNvdXJjZXMgKi8sCi0JCQkJRTQwMDE5MzMxQUNFOUI4ODAwMUIwQTJBIC8qIEJsb29tRmls
dGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUFFMUE0MTFBMzQwMDQ0N0M0QyAvKiBU
ZXN0c0NvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0UzNTI0RjkxQjE0NDFDNDAw
MjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3Q0NFN0VERDFBNDExQTkyMDA0NDdDNEMgLyogVGltZVJhbmdlcy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VEMzFBNDExQTdFMDA0NDdDNEMgLyogVHlwaW5nU3R5bGVDcmFz
aC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdEMzZFRDcxQUY0MkVDRDAwQkFGNUQ5IC8qIExvYWRB
bHRlcm5hdGVIVE1MU3RyaW5nLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjAxQTQxMUE0
NDAwNDQ3QzRDIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjI3MUE0
MTFBRjYwMDQ0N0M0QyAvKiBVc2VyQ29udGVudENvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3Q0NFN0YyRDFBNDExQjEwMDA0NDdDNEMgLyogVXNlckNvbnRlbnRUZXN0Lm1tIGluIFNv
dXJjZXMgKi8sCkBAIC0xNjMwLDYgKzE2NDEsNyBAQAogCQkJCUMwQkQ2NjlGMTMxRDNDRkYwMEUx
OEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUZDRjdBMTE1MzRCMkEwMDAxMDQ0OTEgLyogU2hvdWxkR29Ub0Jh
Y2tGb3J3YXJkTGlzdEl0ZW1fQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc2NzM0OTlE
MTkzMEM1QkIwMEU0NERGOSAvKiBTdG9wTG9hZGluZ0R1cmluZ0RpZEZhaWxQcm92aXNpb25hbExv
YWRfYnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUNFMzUyNEY4MUIxNDMxRjYwMDI4QTdD
NSAvKiBUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdfQnVuZGxlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMjJEMzE5MTREQzY4QjkwMEZGQjFERCAvKiBVc2VyTWVzc2FnZV9CdW5kbGUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTIwQkNGNEMxNDFFQjA5RTAwOTM3RUE4IC8qIFdlYkFy
Y2hpdmVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRkJDQUU1MTc0MzIzOEYwMEIy
QkZDRiAvKiBXaWxsTG9hZF9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRF
ZGl0aW5nLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9UZXh0RmllbGRE
aWRCZWdpbkFuZEVuZEVkaXRpbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNjFiODI0MjU5ZGI0YTkxZjFl
YjA3MGMwNDhhZmQyYWY0YzRhMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdDIvVGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nLmNwcApAQCAt
MCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdL
X0hBVkVfQ19TUEkKKworI2luY2x1ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAi
UGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiVGVzdC5oIgorI2luY2x1ZGUgPHd0Zi9TdGRM
aWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitzdHJ1Y3QgV2ViS2l0
MlRleHRGaWVsZEJlZ2luQW5kRWRpdEVkaXRpbmdUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVz
dCB7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtV2ViVmlldz4gd2ViVmlldzsKKworICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZTsKKworICAgIGJvb2wgZGlkRmlu
aXNoTG9hZCB7IGZhbHNlIH07CisgICAgYm9vbCBkaWRSZWNlaXZlTWVzc2FnZSB7IGZhbHNlIH07
CisKKyAgICBzdGF0aWMgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShX
S0NvbnRleHRSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYsIGNvbnN0IHZv
aWQqIGNsaWVudEluZm8pCisgICAgeworICAgICAgICBXZWJLaXQyVGV4dEZpZWxkQmVnaW5BbmRF
ZGl0RWRpdGluZ1Rlc3QmIGNsaWVudCA9ICpzdGF0aWNfY2FzdDxXZWJLaXQyVGV4dEZpZWxkQmVn
aW5BbmRFZGl0RWRpdGluZ1Rlc3QqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Cisg
ICAgICAgIGNsaWVudC5tZXNzYWdlTmFtZSA9IG1lc3NhZ2VOYW1lOworICAgICAgICBjbGllbnQu
ZGlkUmVjZWl2ZU1lc3NhZ2UgPSB0cnVlOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGRpZEZp
bmlzaExvYWRGb3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAgICAgIFdlYktpdDJUZXh0RmllbGRCZWdpbkFu
ZEVkaXRFZGl0aW5nVGVzdCYgY2xpZW50ID0gKnN0YXRpY19jYXN0PFdlYktpdDJUZXh0RmllbGRC
ZWdpbkFuZEVkaXRFZGl0aW5nVGVzdCo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKTsK
KyAgICAgICAgY2xpZW50LmRpZEZpbmlzaExvYWQgPSB0cnVlOworICAgIH0KKworICAgIHN0YXRp
YyB2b2lkIHNldEluamVjdGVkQnVuZGxlQ2xpZW50KFdLQ29udGV4dFJlZiBjb250ZXh0LCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKQorICAgIHsKKyAgICAgICAgV0tDb250ZXh0SW5qZWN0ZWRCdW5k
bGVDbGllbnRWMSBpbmplY3RlZEJ1bmRsZUNsaWVudDsKKyAgICAgICAgbWVtc2V0KCZpbmplY3Rl
ZEJ1bmRsZUNsaWVudCwgMCwgc2l6ZW9mKGluamVjdGVkQnVuZGxlQ2xpZW50KSk7CisKKyAgICAg
ICAgaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFzZS52ZXJzaW9uID0gMTsKKyAgICAgICAgaW5qZWN0
ZWRCdW5kbGVDbGllbnQuYmFzZS5jbGllbnRJbmZvID0gY2xpZW50SW5mbzsKKyAgICAgICAgaW5q
ZWN0ZWRCdW5kbGVDbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUgPSBk
aWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZTsKKworICAgICAgICBXS0NvbnRleHRT
ZXRJbmplY3RlZEJ1bmRsZUNsaWVudChjb250ZXh0LCAmaW5qZWN0ZWRCdW5kbGVDbGllbnQuYmFz
ZSk7CisgICAgfQorCisgICAgc3RhdGljIHZvaWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VS
ZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKKyAgICB7CisgICAgICAgIFdLUGFnZUxv
YWRlckNsaWVudFY2IGxvYWRlckNsaWVudDsKKyAgICAgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQs
IDAsIHNpemVvZihsb2FkZXJDbGllbnQpKTsKKworICAgICAgICBsb2FkZXJDbGllbnQuYmFzZS52
ZXJzaW9uID0gNjsKKyAgICAgICAgbG9hZGVyQ2xpZW50LmJhc2UuY2xpZW50SW5mbyA9IGNsaWVu
dEluZm87CisgICAgICAgIGxvYWRlckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRG
aW5pc2hMb2FkRm9yRnJhbWU7CisKKyAgICAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChw
YWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIG51bGxK
YXZhU2NyaXB0Q2FsbGJhY2soV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVSZWYsIFdLRXJyb3JSZWYs
IHZvaWQqKQorICAgIHsKKyAgICB9CisKKyAgICB2b2lkIGV4ZWN1dGVKYXZhU2NyaXB0QW5kQ2hl
Y2tEaWRSZWNlaXZlTWVzc2FnZShjb25zdCBjaGFyKiBqYXZhU2NyaXB0Q29kZSwgY29uc3QgY2hh
ciogZXhwZWN0ZWRNZXNzYWdlTmFtZSkKKyAgICB7CisgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdl
ID0gZmFsc2U7CisgICAgICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZSh3ZWJWaWV3
LT5wYWdlKCksIFV0aWw6OnRvV0soamF2YVNjcmlwdENvZGUpLmdldCgpLCAwLCBudWxsSmF2YVNj
cmlwdENhbGxiYWNrKTsKKyAgICAgICAgVXRpbDo6cnVuKCZkaWRSZWNlaXZlTWVzc2FnZSk7Cisg
ICAgICAgIEVYUEVDVF9XS19TVFJFUShleHBlY3RlZE1lc3NhZ2VOYW1lLCBtZXNzYWdlTmFtZSk7
CisgICAgfQorCisgICAgLy8gRnJvbSA6OnRlc3Rpbmc6OlRlc3QKKyAgICB2b2lkIFNldFVwKCkg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4
dCA9IGFkb3B0V0soVXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiVGV4
dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nRXZlbnRzVGVzdCIpKTsKKyAgICAgICAgc2V0SW5q
ZWN0ZWRCdW5kbGVDbGllbnQoY29udGV4dC5nZXQoKSwgdGhpcyk7CisKKyAgICAgICAgd2ViVmll
dyA9IHN0ZDo6bWFrZV91bmlxdWU8UGxhdGZvcm1XZWJWaWV3Pihjb250ZXh0LmdldCgpKTsKKyAg
ICAgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LT5wYWdlKCksIHRoaXMpOworCisgICAg
ICAgIGRpZEZpbmlzaExvYWQgPSBmYWxzZTsKKyAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2UgPSBm
YWxzZTsKKworICAgICAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXctPnBhZ2UoKSwgYWRvcHRXSyhV
dGlsOjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgiaW5wdXQtZm9jdXMtYmx1ciIsICJodG1sIikpLmdl
dCgpKTsKKyAgICAgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKyAgICB9Cit9OworCitU
RVNUX0YoV2ViS2l0MlRleHRGaWVsZEJlZ2luQW5kRWRpdEVkaXRpbmdUZXN0LCBUZXh0RmllbGRE
aWRCZWdpbkFuZEVuZEVkaXRpbmdFdmVudHMpCit7CisgICAgZXhlY3V0ZUphdmFTY3JpcHRBbmRD
aGVja0RpZFJlY2VpdmVNZXNzYWdlKCJmb2N1c1RleHRGaWVsZCgnaW5wdXQnKSIsICJEaWRSZWNl
aXZlVGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nIik7CisgICAgZXhlY3V0ZUphdmFTY3JpcHRBbmRD
aGVja0RpZFJlY2VpdmVNZXNzYWdlKCJibHVyVGV4dEZpZWxkKCdpbnB1dCcpIiwgIkRpZFJlY2Vp
dmVUZXh0RmllbGREaWRFbmRFZGl0aW5nIik7Cit9CisKK1RFU1RfRihXZWJLaXQyVGV4dEZpZWxk
QmVnaW5BbmRFZGl0RWRpdGluZ1Rlc3QsIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ0V2
ZW50c0luUmVhZE9ubHlGaWVsZCkKK3sKKyAgICBleGVjdXRlSmF2YVNjcmlwdEFuZENoZWNrRGlk
UmVjZWl2ZU1lc3NhZ2UoImZvY3VzVGV4dEZpZWxkKCdyZWFkb25seScpIiwgIkRpZFJlY2VpdmVU
ZXh0RmllbGREaWRCZWdpbkVkaXRpbmciKTsKKyAgICBleGVjdXRlSmF2YVNjcmlwdEFuZENoZWNr
RGlkUmVjZWl2ZU1lc3NhZ2UoImJsdXJUZXh0RmllbGQoJ3JlYWRvbmx5JykiLCAiRGlkUmVjZWl2
ZVRleHRGaWVsZERpZEVuZEVkaXRpbmciKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktp
dEFQSQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Mi9UZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdfQnVuZGxlLmNwcCBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9UZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdf
QnVuZGxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDdjZTgyNmNjNGRjZGFhOTY1MThiNGJjZjEyYWNlNzdj
ZWM1NjFjCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyL1RleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ19CdW5kbGUuY3BwCkBAIC0wLDAgKzEs
NzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0Nf
U1BJCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVRlc3QuaCIKKworI2luY2x1ZGUgIlBsYXRm
b3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZS5oPgorCituYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK2NsYXNzIFRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRp
dGluZ0V2ZW50c1Rlc3QgOiBwdWJsaWMgSW5qZWN0ZWRCdW5kbGVUZXN0IHsKK3B1YmxpYzoKKyAg
ICBUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdFdmVudHNUZXN0KGNvbnN0IHN0ZDo6c3Ry
aW5nJiBpZGVudGlmaWVyKTsKKworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVu
ZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYpOworfTsKKworc3RhdGljIEluamVjdGVkQnVuZGxlVGVz
dDo6UmVnaXN0ZXI8VGV4dEZpZWxkRGlkQmVnaW5BbmRFbmRFZGl0aW5nRXZlbnRzVGVzdD4gcmVn
aXN0cmFyKCJUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdFdmVudHNUZXN0Iik7CisKK3N0
YXRpYyB2b2lkIHRleHRGaWVsZERpZEJlZ2luRWRpdGluZyhXS0J1bmRsZVBhZ2VSZWYsIFdLQnVu
ZGxlTm9kZUhhbmRsZVJlZiBpbnB1dEVsZW1lbnQsIFdLQnVuZGxlRnJhbWVSZWYsIGNvbnN0IHZv
aWQqKQoreworICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVy
OjpzaW5nbGV0b24oKS5idW5kbGUoKSwgVXRpbDo6dG9XSygiRGlkUmVjZWl2ZVRleHRGaWVsZERp
ZEJlZ2luRWRpdGluZyIpLmdldCgpLCBudWxscHRyKTsKK30KKworc3RhdGljIHZvaWQgdGV4dEZp
ZWxkRGlkRW5kRWRpdGluZyhXS0J1bmRsZVBhZ2VSZWYsIFdLQnVuZGxlTm9kZUhhbmRsZVJlZiBp
bnB1dEVsZW1lbnQsIFdLQnVuZGxlRnJhbWVSZWYsIGNvbnN0IHZvaWQqKQoreworICAgIFdLQnVu
ZGxlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpzaW5nbGV0b24oKS5idW5k
bGUoKSwgVXRpbDo6dG9XSygiRGlkUmVjZWl2ZVRleHRGaWVsZERpZEVuZEVkaXRpbmciKS5nZXQo
KSwgbnVsbHB0cik7Cit9CisKK1RleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ0V2ZW50c1Rl
c3Q6OlRleHRGaWVsZERpZEJlZ2luQW5kRW5kRWRpdGluZ0V2ZW50c1Rlc3QoY29uc3Qgc3RkOjpz
dHJpbmcmIGlkZW50aWZpZXIpCisgICAgOiBJbmplY3RlZEJ1bmRsZVRlc3QoaWRlbnRpZmllcikK
K3sKK30KKwordm9pZCBUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRpbmdFdmVudHNUZXN0Ojpk
aWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCit7
CisgICAgV0tCdW5kbGVQYWdlRm9ybUNsaWVudFYyIGZvcm1DbGllbnQ7CisgICAgbWVtc2V0KCZm
b3JtQ2xpZW50LCAwLCBzaXplb2YoZm9ybUNsaWVudCkpOworCisgICAgZm9ybUNsaWVudC5iYXNl
LnZlcnNpb24gPSAyOworICAgIGZvcm1DbGllbnQuYmFzZS5jbGllbnRJbmZvID0gdGhpczsKKyAg
ICBmb3JtQ2xpZW50LnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyA9IHRleHRGaWVsZERpZEJlZ2lu
RWRpdGluZzsKKyAgICBmb3JtQ2xpZW50LnRleHRGaWVsZERpZEVuZEVkaXRpbmcgPSB0ZXh0Rmll
bGREaWRFbmRFZGl0aW5nOworCisgICAgV0tCdW5kbGVQYWdlU2V0Rm9ybUNsaWVudChwYWdlLCAm
Zm9ybUNsaWVudC5iYXNlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Mi9pbnB1
dC1mb2N1cy1ibHVyLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvaW5w
dXQtZm9jdXMtYmx1ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwNjQzOWU2NjhiMzRhNzE2YmUwYmIzNmY0
YjJiOWJkZGFhODY4NDUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDIvaW5wdXQtZm9jdXMtYmx1ci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxpbnB1dCBpZD0iaW5wdXQiIHR5cGU9InRleHQi
PgorPGlucHV0IGlkPSJyZWFkb25seSIgdHlwZT0idGV4dCIgcmVhZG9ubHk+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gZm9jdXNUZXh0RmllbGQoaWQpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoaWQpLmZvY3VzKCk7Cit9CisKK2Z1bmN0aW9uIGJsdXJUZXh0RmllbGQoaWQpCit7CisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmJsdXIoKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="278796"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>