<?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>218382</bug_id>
          
          <creation_ts>2020-10-30 06:47:55 -0700</creation_ts>
          <short_desc>WebDriver: session can have more than one active input source of the same type</short_desc>
          <delta_ts>2020-11-05 00:46:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>166679</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1703041</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-30 06:47:55 -0700</bug_when>
    <thetext>We are failing in that case, and the dispatcher assumes it&apos;s not possible, but the spec doesn&apos;t say there&apos;s such limitation and there&apos;s a WPT infrastructure test checking that (infrastructure/testdriver/actions/eventOrder.html).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1703043</commentid>
    <comment_count>1</comment_count>
      <attachid>412737</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-10-30 06:54:55 -0700</bug_when>
    <thetext>Created attachment 412737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704540</commentid>
    <comment_count>2</comment_count>
      <attachid>412737</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-11-04 11:41:15 -0800</bug_when>
    <thetext>Comment on attachment 412737
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=412737&amp;action=review

r=me, good catch.

&gt; Source/WebDriver/ChangeLog:8
&gt; +        Only send to the browser the list of input sources actually used by the action sequence.

I checked, and this is indeed what safaridriver already does on its side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704766</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2020-11-05 00:45:54 -0800</bug_when>
    <thetext>Committed r269419: &lt;https://trac.webkit.org/changeset/269419&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704767</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-05 00:46:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/71069264&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412737</attachid>
            <date>2020-10-30 06:54:55 -0700</date>
            <delta_ts>2020-11-04 11:41:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-input-sources.diff</filename>
            <type>text/plain</type>
            <size>17789</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggOWQxMmRlYTZjYmE4Li41NjMzMzg1MDcxNTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTAtMzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZlcjogc2Vzc2lvbiBjYW4gaGF2
ZSBtb3JlIHRoYW4gb25lIGFjdGl2ZSBpbnB1dCBzb3VyY2Ugb2YgdGhlIHNhbWUgdHlwZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzgyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBzZW5kIHRv
IHRoZSBicm93c2VyIHRoZSBsaXN0IG9mIGlucHV0IHNvdXJjZXMgYWN0dWFsbHkgdXNlZCBieSB0
aGUgYWN0aW9uIHNlcXVlbmNlLgorCisgICAgICAgICogU2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJEcml2ZXI6OlNlc3Npb246OnBlcmZvcm1BY3Rpb25zKToKKwogMjAyMC0xMC0yMiAgTml0emFu
IFV6aWVseSAgPGxpbmtnb3JvbkBnbWFpbC5jb20+CiAKICAgICAgICAgRWxlbWVudHMgaW4gU2hh
ZG93IERPTSBhcmUgd3JvbmdseSBtYXJrZWQgYXMgc3RhbGUgYnkgdGhlIFdlYkRyaXZlcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJEcml2ZXIv
U2Vzc2lvbi5jcHAKaW5kZXggMGJmYjMxY2M5ZmY3Li5hNmZiNDhkN2U0ODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJEcml2ZXIvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkRyaXZlci9TZXNz
aW9uLmNwcApAQCAtMjY2NSwxOCArMjY2NSwxMyBAQCB2b2lkIFNlc3Npb246OnBlcmZvcm1BY3Rp
b25zKFZlY3RvcjxWZWN0b3I8QWN0aW9uPj4mJiBhY3Rpb25zQnlUaWNrLCBGdW5jdGlvbjx2bwog
ICAgICAgICBwYXJhbWV0ZXJzLT5zZXRTdHJpbmcoImhhbmRsZSJfcywgbV90b3BsZXZlbEJyb3dz
aW5nQ29udGV4dC52YWx1ZSgpKTsKICAgICAgICAgaWYgKG1fY3VycmVudEJyb3dzaW5nQ29udGV4
dCkKICAgICAgICAgICAgIHBhcmFtZXRlcnMtPnNldFN0cmluZygiZnJhbWVIYW5kbGUiX3MsIG1f
Y3VycmVudEJyb3dzaW5nQ29udGV4dC52YWx1ZSgpKTsKLSAgICAgICAgYXV0byBpbnB1dFNvdXJj
ZXMgPSBKU09OOjpBcnJheTo6Y3JlYXRlKCk7Ci0gICAgICAgIGZvciAoY29uc3QgYXV0byYgaW5w
dXRTb3VyY2UgOiBtX2FjdGl2ZUlucHV0U291cmNlcykgewotICAgICAgICAgICAgYXV0byBpbnB1
dFNvdXJjZU9iamVjdCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICBpbnB1
dFNvdXJjZU9iamVjdC0+c2V0U3RyaW5nKCJzb3VyY2VJZCJfcywgaW5wdXRTb3VyY2Uua2V5KTsK
LSAgICAgICAgICAgIGlucHV0U291cmNlT2JqZWN0LT5zZXRTdHJpbmcoInNvdXJjZVR5cGUiX3Ms
IGF1dG9tYXRpb25Tb3VyY2VUeXBlKGlucHV0U291cmNlLnZhbHVlLnR5cGUpKTsKLSAgICAgICAg
ICAgIGlucHV0U291cmNlcy0+cHVzaE9iamVjdChXVEZNb3ZlKGlucHV0U291cmNlT2JqZWN0KSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcGFyYW1ldGVycy0+c2V0QXJyYXkoImlucHV0U291cmNlcyJf
cywgV1RGTW92ZShpbnB1dFNvdXJjZXMpKTsKKworICAgICAgICBIYXNoU2V0PFN0cmluZz4gaW5w
dXRTb3VyY2VzU2V0OwogICAgICAgICBhdXRvIHN0ZXBzID0gSlNPTjo6QXJyYXk6OmNyZWF0ZSgp
OwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHRpY2sgOiBhY3Rpb25zQnlUaWNrKSB7CiAgICAg
ICAgICAgICBhdXRvIHN0YXRlcyA9IEpTT046OkFycmF5OjpjcmVhdGUoKTsKICAgICAgICAgICAg
IGZvciAoY29uc3QgYXV0byYgYWN0aW9uIDogdGljaykgeworICAgICAgICAgICAgICAgIGlucHV0
U291cmNlc1NldC5hZGQoYWN0aW9uLmlkKTsKICAgICAgICAgICAgICAgICBhdXRvIHN0YXRlID0g
SlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICAgICAgICAgICAgICBhdXRvJiBjdXJyZW50U3Rh
dGUgPSBpbnB1dFNvdXJjZVN0YXRlKGFjdGlvbi5pZCk7CiAgICAgICAgICAgICAgICAgc3RhdGUt
PnNldFN0cmluZygic291cmNlSWQiX3MsIGFjdGlvbi5pZCk7CkBAIC0yNzk5LDYgKzI3OTQsMTcg
QEAgdm9pZCBTZXNzaW9uOjpwZXJmb3JtQWN0aW9ucyhWZWN0b3I8VmVjdG9yPEFjdGlvbj4+JiYg
YWN0aW9uc0J5VGljaywgRnVuY3Rpb248dm8KICAgICAgICAgfQogCiAgICAgICAgIHBhcmFtZXRl
cnMtPnNldEFycmF5KCJzdGVwcyJfcywgV1RGTW92ZShzdGVwcykpOworCisgICAgICAgIGF1dG8g
aW5wdXRTb3VyY2VzID0gSlNPTjo6QXJyYXk6OmNyZWF0ZSgpOworICAgICAgICBmb3IgKGNvbnN0
IGF1dG8mIGlkIDogaW5wdXRTb3VyY2VzU2V0KSB7CisgICAgICAgICAgICBjb25zdCBhdXRvJiBp
bnB1dFNvdXJjZSA9IG1fYWN0aXZlSW5wdXRTb3VyY2VzLmdldChpZCk7CisgICAgICAgICAgICBh
dXRvIGlucHV0U291cmNlT2JqZWN0ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICAgICAg
ICAgIGlucHV0U291cmNlT2JqZWN0LT5zZXRTdHJpbmcoInNvdXJjZUlkIl9zLCBpZCk7CisgICAg
ICAgICAgICBpbnB1dFNvdXJjZU9iamVjdC0+c2V0U3RyaW5nKCJzb3VyY2VUeXBlIl9zLCBhdXRv
bWF0aW9uU291cmNlVHlwZShpbnB1dFNvdXJjZS50eXBlKSk7CisgICAgICAgICAgICBpbnB1dFNv
dXJjZXMtPnB1c2hPYmplY3QoV1RGTW92ZShpbnB1dFNvdXJjZU9iamVjdCkpOworICAgICAgICB9
CisgICAgICAgIHBhcmFtZXRlcnMtPnNldEFycmF5KCJpbnB1dFNvdXJjZXMiX3MsIFdURk1vdmUo
aW5wdXRTb3VyY2VzKSk7CisKICAgICAgICAgbV9ob3N0LT5zZW5kQ29tbWFuZFRvQmFja2VuZCgi
cGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2UiX3MsIFdURk1vdmUocGFyYW1ldGVycyksIFtwcm90
ZWN0ZWRUaGlzLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSAoU2Vzc2lvbkhvc3Q6OkNvbW1hbmRSZXNwb25zZSYmIHJlc3BvbnNlKSB7CiAgICAgICAgICAg
ICBpZiAocmVzcG9uc2UuaXNFcnJvcikgewogICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKENvbW1hbmRSZXN1bHQ6OmZhaWwoV1RGTW92ZShyZXNwb25zZS5yZXNwb25zZU9iamVjdCkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggOWU4YjM5OTdiNzA4Li40Y2U1OGYwODU1NzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjggQEAKKzIwMjAtMTAtMzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBp
Z2FsaWEuY29tPgorCisgICAgICAgIFdlYkRyaXZlcjogc2Vzc2lvbiBjYW4gaGF2ZSBtb3JlIHRo
YW4gb25lIGFjdGl2ZSBpbnB1dCBzb3VyY2Ugb2YgdGhlIHNhbWUgdHlwZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MzgyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYXJlIGZhaWxpbmcgaW4gdGhh
dCBjYXNlLCBhbmQgdGhlIGRpc3BhdGNoZXIgYXNzdW1lcyBpdCdzIG5vdCBwb3NzaWJsZSwgYnV0
IHRoZSBzcGVjIGRvZXNuJ3Qgc2F5IHRoZXJlJ3Mgc3VjaAorICAgICAgICBsaW1pdGF0aW9uIGFu
ZCB0aGVyZSdzIGEgV1BUIGluZnJhc3RydWN0dXJlIHRlc3QgY2hlY2tpbmcgdGhhdCAoaW5mcmFz
dHJ1Y3R1cmUvdGVzdGRyaXZlci9hY3Rpb25zL2V2ZW50T3JkZXIuaHRtbCkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERpc3BhdGNoZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpTaW11bGF0ZWRJbnB1dEtleUZyYW1lOjprZXlGcmFtZUZyb21TdGF0ZU9m
SW5wdXRTb3VyY2VzKTogSW5wdXQgc291cmNlcyBhcmUgbm93IHN0b3JlZCBpbiBhIEhhc2hNYXAu
CisgICAgICAgIChXZWJLaXQ6OlNpbXVsYXRlZElucHV0S2V5RnJhbWU6OmtleUZyYW1lVG9SZXNl
dElucHV0U291cmNlcyk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpTaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXI6OnJ1bik6IFdlIGRvbid0IG5lZWQgdG8gY29weSB0aGUgZ2l2ZW4gaW5wdXQgc291
cmNlcywgc2luY2UgdGhleSBhcmUgb3duZWQgYnkKKyAgICAgICAgdGhlIHNlc3Npb24uCisgICAg
ICAgIChXZWJLaXQ6OlNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcjo6ZmluaXNoRGlzcGF0Y2hpbmcp
OiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9TaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbik6IERvIG5vdCBjcmVhdGUgaW5pdGlhbCBpbnB1dCBzb3VyY2VzIGZv
ciBlYWNoIHR5cGUuCisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpwZXJm
b3JtSW50ZXJhY3Rpb25TZXF1ZW5jZSk6IENoZWNrIHRoZXJlIGFyZW4ndCBtdWx0aXBsZSBpbnB1
dCBzb3VyY2VzIHdpdGggdGhlCisgICAgICAgIHNhbWUgSUQsIGJ1dCBkb24ndCBmYWlsIGlmIHRo
ZXJlIGFyZSBtdWx0aXBsZSBpbnB1dCBzb3VyY2VzIHdpdGggdGhlIHNhbWUgdHlwZS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNhbmNlbEludGVyYWN0aW9uU2VxdWVu
Y2UpOiBDbGVhciB0aGUgYWN0aXZlIGlucHV0IHNvdXJjZXMuCisgICAgICAgIChXZWJLaXQ6Oldl
YkF1dG9tYXRpb25TZXNzaW9uOjppbnB1dFNvdXJjZUZvclR5cGUpOiBSZW1vdmVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmg6CisKIDIwMjAt
MTAtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFdlYkRyaXZlcjogaGFuZGxlIHN1cnJvZ2F0ZSBwYWlycyBpbiBrZXlib2FyZCBhY3Rpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRl
ZElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKaW5kZXggM2UzMGE3ZGI3NjUyLi5mOGRhOTYx
NWVkNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2lt
dWxhdGVkSW5wdXREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5jcHAKQEAgLTcwLDcgKzcwLDcgQEAg
U2Vjb25kcyBTaW11bGF0ZWRJbnB1dEtleUZyYW1lOjptYXhpbXVtRHVyYXRpb24oKSBjb25zdAog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVNpbXVsYXRlZElucHV0S2V5RnJhbWUgU2ltdWxhdGVk
SW5wdXRLZXlGcmFtZTo6a2V5RnJhbWVGcm9tU3RhdGVPZklucHV0U291cmNlcyhIYXNoU2V0PFJl
ZjxTaW11bGF0ZWRJbnB1dFNvdXJjZT4+JiBpbnB1dFNvdXJjZXMpCitTaW11bGF0ZWRJbnB1dEtl
eUZyYW1lIFNpbXVsYXRlZElucHV0S2V5RnJhbWU6OmtleUZyYW1lRnJvbVN0YXRlT2ZJbnB1dFNv
dXJjZXMoY29uc3QgSGFzaE1hcDxTdHJpbmcsIFJlZjxTaW11bGF0ZWRJbnB1dFNvdXJjZT4+JiBp
bnB1dFNvdXJjZXMpCiB7CiAgICAgLy8gVGhlIGNsaWVudCBvZiB0aGlzIGNsYXNzIGlzIHJlcXVp
cmVkIHRvIGludGVybiBTaW11bGF0ZWRJbnB1dFNvdXJjZSBpbnN0YW5jZXMgaWYgdGhlIGxhc3Qg
c3RhdGUKICAgICAvLyBmcm9tIHRoZSBwcmV2aW91cyBjb21tYW5kIHNob3VsZCBiZSB1c2VkIGFz
IHRoZSBpbml0YWwgc3RhdGUgZm9yIHRoZSBuZXh0IGNvbW1hbmQuIFRoaXMgaXMgdGhlCkBAIC03
OCwxOCArNzgsMTggQEAgU2ltdWxhdGVkSW5wdXRLZXlGcmFtZSBTaW11bGF0ZWRJbnB1dEtleUZy
YW1lOjprZXlGcmFtZUZyb21TdGF0ZU9mSW5wdXRTb3VyY2VzKEgKICAgICBWZWN0b3I8U2ltdWxh
dGVkSW5wdXRLZXlGcmFtZTo6U3RhdGVFbnRyeT4gZW50cmllczsKICAgICBlbnRyaWVzLnJlc2Vy
dmVDYXBhY2l0eShpbnB1dFNvdXJjZXMuc2l6ZSgpKTsKIAotICAgIGZvciAoYXV0byYgaW5wdXRT
b3VyY2UgOiBpbnB1dFNvdXJjZXMpCisgICAgZm9yIChjb25zdCBhdXRvJiBpbnB1dFNvdXJjZSA6
IGlucHV0U291cmNlcy52YWx1ZXMoKSkKICAgICAgICAgZW50cmllcy51bmNoZWNrZWRBcHBlbmQo
c3RkOjpwYWlyPFNpbXVsYXRlZElucHV0U291cmNlJiwgU2ltdWxhdGVkSW5wdXRTb3VyY2VTdGF0
ZT4geyBpbnB1dFNvdXJjZS5nZXQoKSwgaW5wdXRTb3VyY2UtPnN0YXRlIH0pOwogCiAgICAgcmV0
dXJuIFNpbXVsYXRlZElucHV0S2V5RnJhbWUoV1RGTW92ZShlbnRyaWVzKSk7CiB9CiAKLVNpbXVs
YXRlZElucHV0S2V5RnJhbWUgU2ltdWxhdGVkSW5wdXRLZXlGcmFtZTo6a2V5RnJhbWVUb1Jlc2V0
SW5wdXRTb3VyY2VzKEhhc2hTZXQ8UmVmPFNpbXVsYXRlZElucHV0U291cmNlPj4mIGlucHV0U291
cmNlcykKK1NpbXVsYXRlZElucHV0S2V5RnJhbWUgU2ltdWxhdGVkSW5wdXRLZXlGcmFtZTo6a2V5
RnJhbWVUb1Jlc2V0SW5wdXRTb3VyY2VzKGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBSZWY8U2ltdWxh
dGVkSW5wdXRTb3VyY2U+PiYgaW5wdXRTb3VyY2VzKQogewogICAgIFZlY3RvcjxTaW11bGF0ZWRJ
bnB1dEtleUZyYW1lOjpTdGF0ZUVudHJ5PiBlbnRyaWVzOwogICAgIGVudHJpZXMucmVzZXJ2ZUNh
cGFjaXR5KGlucHV0U291cmNlcy5zaXplKCkpOwogCi0gICAgZm9yIChhdXRvJiBpbnB1dFNvdXJj
ZSA6IGlucHV0U291cmNlcykKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGlucHV0U291cmNlIDogaW5w
dXRTb3VyY2VzLnZhbHVlcygpKQogICAgICAgICBlbnRyaWVzLnVuY2hlY2tlZEFwcGVuZChzdGQ6
OnBhaXI8U2ltdWxhdGVkSW5wdXRTb3VyY2UmLCBTaW11bGF0ZWRJbnB1dFNvdXJjZVN0YXRlPiB7
IGlucHV0U291cmNlLmdldCgpLCBTaW11bGF0ZWRJbnB1dFNvdXJjZVN0YXRlOjplbXB0eVN0YXRl
Rm9yU291cmNlVHlwZShpbnB1dFNvdXJjZS0+dHlwZSkgfSk7CiAKICAgICByZXR1cm4gU2ltdWxh
dGVkSW5wdXRLZXlGcmFtZShXVEZNb3ZlKGVudHJpZXMpKTsKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2
b2lkIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcjo6dHJhbnNpdGlvbklucHV0U291cmNlVG9TdGF0
ZShTaW11bGF0ZWRJbnB1dFNvdXJjZQogICAgIH0KIH0KIAotdm9pZCBTaW11bGF0ZWRJbnB1dERp
c3BhdGNoZXI6OnJ1bihPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+IGZyYW1lSUQs
IFZlY3RvcjxTaW11bGF0ZWRJbnB1dEtleUZyYW1lPiYmIGtleUZyYW1lcywgSGFzaFNldDxSZWY8
U2ltdWxhdGVkSW5wdXRTb3VyY2U+PiYgaW5wdXRTb3VyY2VzLCBBdXRvbWF0aW9uQ29tcGxldGlv
bkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2ltdWxhdGVkSW5wdXREaXNwYXRj
aGVyOjpydW4oT3B0aW9uYWw8V2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyPiBmcmFtZUlELCBWZWN0
b3I8U2ltdWxhdGVkSW5wdXRLZXlGcmFtZT4mJiBrZXlGcmFtZXMsIGNvbnN0IEhhc2hNYXA8U3Ry
aW5nLCBSZWY8U2ltdWxhdGVkSW5wdXRTb3VyY2U+PiYgaW5wdXRTb3VyY2VzLCBBdXRvbWF0aW9u
Q29tcGxldGlvbkhhbmRsZXImJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIWlz
QWN0aXZlKCkpOwogICAgIGlmIChpc0FjdGl2ZSgpKSB7CkBAIC00NTUsMTMgKzQ1NSwxMCBAQCB2
b2lkIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcjo6cnVuKE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1l
SWRlbnRpZmllcj4gZnJhbWVJRCwgVgogCiAgICAgbV9mcmFtZUlEID0gZnJhbWVJRDsKICAgICBt
X3J1bkNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7Ci0gICAg
Zm9yIChjb25zdCBSZWY8U2ltdWxhdGVkSW5wdXRTb3VyY2U+JiBpbnB1dFNvdXJjZSA6IGlucHV0
U291cmNlcykKLSAgICAgICAgbV9pbnB1dFNvdXJjZXMuYWRkKGlucHV0U291cmNlLmNvcHlSZWYo
KSk7CiAKICAgICAvLyBUaGUgImRpc3BhdGNoIGFjdGlvbnMiIGFsZ29yaXRobSAowqcxNy40IERp
c3BhdGNoaW5nIEFjdGlvbnMpLgotCiAgICAgbV9rZXlmcmFtZXMucmVzZXJ2ZUNhcGFjaXR5KGtl
eUZyYW1lcy5zaXplKCkgKyAxKTsKLSAgICBtX2tleWZyYW1lcy5hcHBlbmQoU2ltdWxhdGVkSW5w
dXRLZXlGcmFtZTo6a2V5RnJhbWVGcm9tU3RhdGVPZklucHV0U291cmNlcyhtX2lucHV0U291cmNl
cykpOworICAgIG1fa2V5ZnJhbWVzLmFwcGVuZChTaW11bGF0ZWRJbnB1dEtleUZyYW1lOjprZXlG
cmFtZUZyb21TdGF0ZU9mSW5wdXRTb3VyY2VzKGlucHV0U291cmNlcykpOwogICAgIG1fa2V5ZnJh
bWVzLmFwcGVuZFZlY3RvcihXVEZNb3ZlKGtleUZyYW1lcykpOwogCiAgICAgTE9HKEF1dG9tYXRp
b24sICJTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXJbJXBdOiBzdGFydGluZyBpbnB1dCBzaW11bGF0
aW9uIHVzaW5nICV6dSBrZXlmcmFtZXMiLCB0aGlzLCBtX2tleWZyYW1lcy5zaXplKCkpOwpAQCAt
NDg4LDcgKzQ4NSw2IEBAIHZvaWQgU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyOjpmaW5pc2hEaXNw
YXRjaGluZyhPcHRpb25hbDxBdXRvbWF0aW9uQ29tbWFuZEVycm9yCiAgICAgYXV0byBmaW5pc2gg
PSBzdGQ6OmV4Y2hhbmdlKG1fcnVuQ29tcGxldGlvbkhhbmRsZXIsIG51bGxwdHIpOwogICAgIG1f
ZnJhbWVJRCA9IFdURjo6bnVsbG9wdDsKICAgICBtX2tleWZyYW1lcy5jbGVhcigpOwotICAgIG1f
aW5wdXRTb3VyY2VzLmNsZWFyKCk7CiAgICAgbV9rZXlmcmFtZUluZGV4ID0gMDsKICAgICBtX2lu
cHV0U291cmNlU3RhdGVJbmRleCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5oCmluZGV4
IGFkNTBlZTVhMjA1NC4uMWQzOWM3MDEzM2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BdXRvbWF0aW9uL1NpbXVsYXRlZElucHV0RGlzcGF0Y2hlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vU2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyLmgK
QEAgLTExOCw4ICsxMTgsOCBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2ltdWxhdGVkSW5wdXRL
ZXlGcmFtZShWZWN0b3I8U3RhdGVFbnRyeT4mJik7CiAgICAgU2Vjb25kcyBtYXhpbXVtRHVyYXRp
b24oKSBjb25zdDsKIAotICAgIHN0YXRpYyBTaW11bGF0ZWRJbnB1dEtleUZyYW1lIGtleUZyYW1l
RnJvbVN0YXRlT2ZJbnB1dFNvdXJjZXMoSGFzaFNldDxSZWY8U2ltdWxhdGVkSW5wdXRTb3VyY2U+
PiYpOwotICAgIHN0YXRpYyBTaW11bGF0ZWRJbnB1dEtleUZyYW1lIGtleUZyYW1lVG9SZXNldElu
cHV0U291cmNlcyhIYXNoU2V0PFJlZjxTaW11bGF0ZWRJbnB1dFNvdXJjZT4+Jik7CisgICAgc3Rh
dGljIFNpbXVsYXRlZElucHV0S2V5RnJhbWUga2V5RnJhbWVGcm9tU3RhdGVPZklucHV0U291cmNl
cyhjb25zdCBIYXNoTWFwPFN0cmluZywgUmVmPFNpbXVsYXRlZElucHV0U291cmNlPj4mKTsKKyAg
ICBzdGF0aWMgU2ltdWxhdGVkSW5wdXRLZXlGcmFtZSBrZXlGcmFtZVRvUmVzZXRJbnB1dFNvdXJj
ZXMoY29uc3QgSGFzaE1hcDxTdHJpbmcsIFJlZjxTaW11bGF0ZWRJbnB1dFNvdXJjZT4+Jik7CiAK
ICAgICBWZWN0b3I8U3RhdGVFbnRyeT4gc3RhdGVzOwogfTsKQEAgLTE1Miw3ICsxNTIsNyBAQCBw
dWJsaWM6CiAKICAgICB+U2ltdWxhdGVkSW5wdXREaXNwYXRjaGVyKCk7CiAKLSAgICB2b2lkIHJ1
bihPcHRpb25hbDxXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXI+LCBWZWN0b3I8U2ltdWxhdGVkSW5w
dXRLZXlGcmFtZT4mJiBrZXlGcmFtZXMsIEhhc2hTZXQ8UmVmPFNpbXVsYXRlZElucHV0U291cmNl
Pj4mIGlucHV0U291cmNlcywgQXV0b21hdGlvbkNvbXBsZXRpb25IYW5kbGVyJiYpOworICAgIHZv
aWQgcnVuKE9wdGlvbmFsPFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllcj4sIFZlY3RvcjxTaW11bGF0
ZWRJbnB1dEtleUZyYW1lPiYmIGtleUZyYW1lcywgY29uc3QgSGFzaE1hcDxTdHJpbmcsIFJlZjxT
aW11bGF0ZWRJbnB1dFNvdXJjZT4+JiBpbnB1dFNvdXJjZXMsIEF1dG9tYXRpb25Db21wbGV0aW9u
SGFuZGxlciYmKTsKICAgICB2b2lkIGNhbmNlbCgpOwogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIGNv
bnN0OwpAQCAtMTgxLDcgKzE4MSw2IEBAIHByaXZhdGU6CiAgICAgUnVuTG9vcDo6VGltZXI8U2lt
dWxhdGVkSW5wdXREaXNwYXRjaGVyPiBtX2tleUZyYW1lVHJhbnNpdGlvbkR1cmF0aW9uVGltZXI7
CiAKICAgICBWZWN0b3I8U2ltdWxhdGVkSW5wdXRLZXlGcmFtZT4gbV9rZXlmcmFtZXM7Ci0gICAg
SGFzaFNldDxSZWY8U2ltdWxhdGVkSW5wdXRTb3VyY2U+PiBtX2lucHV0U291cmNlczsKIAogICAg
IC8vIFRoZSBwb3NpdGlvbiB3aXRoaW4gbV9rZXlmcmFtZXMuCiAgICAgdW5zaWduZWQgbV9rZXlm
cmFtZUluZGV4IHsgMCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRleCBmNWFiMzczMDU4MWQu
LjRkZDdhYWU2M2VhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTgxLDIyICs4MSw2IEBA
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbigpCiAgICAgLCBtX2Rv
bWFpbk5vdGlmaWVyKG1ha2VVbmlxdWU8QXV0b21hdGlvbkZyb250ZW5kRGlzcGF0Y2hlcj4obV9m
cm9udGVuZFJvdXRlcikpCiAgICAgLCBtX2xvYWRUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMs
ICZXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6bG9hZFRpbWVyRmlyZWQpCiB7Ci0jaWYgRU5BQkxFKFdF
QkRSSVZFUl9BQ1RJT05TX0FQSSkKLSAgICAvLyBTZXQgdXAgY2Fub25pY2FsIGlucHV0IHNvdXJj
ZXMgdG8gYmUgdXNlZCBmb3IgJ3BlcmZvcm1JbnRlcmFjdGlvblNlcXVlbmNlJyBhbmQgJ2NhbmNl
bEludGVyYWN0aW9uU2VxdWVuY2UnLgotI2lmIEVOQUJMRShXRUJEUklWRVJfVE9VQ0hfSU5URVJB
Q1RJT05TKQotICAgIG1faW5wdXRTb3VyY2VzLmFkZChTaW11bGF0ZWRJbnB1dFNvdXJjZTo6Y3Jl
YXRlKFNpbXVsYXRlZElucHV0U291cmNlVHlwZTo6VG91Y2gpKTsKLSNlbmRpZgotI2lmIEVOQUJM
RShXRUJEUklWRVJfTU9VU0VfSU5URVJBQ1RJT05TKQotICAgIG1faW5wdXRTb3VyY2VzLmFkZChT
aW11bGF0ZWRJbnB1dFNvdXJjZTo6Y3JlYXRlKFNpbXVsYXRlZElucHV0U291cmNlVHlwZTo6TW91
c2UpKTsKLSNlbmRpZgotI2lmIEVOQUJMRShXRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJT05T
KQotICAgIG1faW5wdXRTb3VyY2VzLmFkZChTaW11bGF0ZWRJbnB1dFNvdXJjZTo6Y3JlYXRlKFNp
bXVsYXRlZElucHV0U291cmNlVHlwZTo6S2V5Ym9hcmQpKTsKLSNlbmRpZgotI2lmIEVOQUJMRShX
RUJEUklWRVJfV0hFRUxfSU5URVJBQ1RJT05TKQotICAgIG1faW5wdXRTb3VyY2VzLmFkZChTaW11
bGF0ZWRJbnB1dFNvdXJjZTo6Y3JlYXRlKFNpbXVsYXRlZElucHV0U291cmNlVHlwZTo6V2hlZWwp
KTsKLSNlbmRpZgotICAgIG1faW5wdXRTb3VyY2VzLmFkZChTaW11bGF0ZWRJbnB1dFNvdXJjZTo6
Y3JlYXRlKFNpbXVsYXRlZElucHV0U291cmNlVHlwZTo6TnVsbCkpOwotI2VuZGlmIC8vIEVOQUJM
RShXRUJEUklWRVJfQUNUSU9OU19BUEkpCiB9CiAKIFdlYkF1dG9tYXRpb25TZXNzaW9uOjp+V2Vi
QXV0b21hdGlvblNlc3Npb24oKQpAQCAtMTU3NywxNyArMTU2MSw2IEBAIFNpbXVsYXRlZElucHV0
RGlzcGF0Y2hlciYgV2ViQXV0b21hdGlvblNlc3Npb246OmlucHV0RGlzcGF0Y2hlckZvclBhZ2Uo
V2ViUGFnZVByCiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogfQogCi1TaW11bGF0ZWRJbnB1dFNv
dXJjZSogV2ViQXV0b21hdGlvblNlc3Npb246OmlucHV0U291cmNlRm9yVHlwZShTaW11bGF0ZWRJ
bnB1dFNvdXJjZVR5cGUgdHlwZSkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQg
dXNlIHNvbWV0aGluZyBsaWtlIFZlY3RvcidzIGZpbmRNYXRjaGluZygpLgotICAgIGZvciAoYXV0
byYgaW5wdXRTb3VyY2UgOiBtX2lucHV0U291cmNlcykgewotICAgICAgICBpZiAoaW5wdXRTb3Vy
Y2UtPnR5cGUgPT0gdHlwZSkKLSAgICAgICAgICAgIHJldHVybiAmaW5wdXRTb3VyY2UuZ2V0KCk7
Ci0gICAgfQotCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KIC8vIE1BUks6IFNpbXVsYXRlZElu
cHV0RGlzcGF0Y2hlcjo6Q2xpZW50IEFQSQogdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6dmll
d3BvcnRJblZpZXdDZW50ZXJQb2ludE9mRWxlbWVudChXZWJQYWdlUHJveHkmIHBhZ2UsIE9wdGlv
bmFsPEZyYW1lSWRlbnRpZmllcj4gZnJhbWVJRCwgY29uc3QgSW5zcGVjdG9yOjpQcm90b2NvbDo6
QXV0b21hdGlvbjo6Tm9kZUhhbmRsZSYgbm9kZUhhbmRsZSwgRnVuY3Rpb248dm9pZChPcHRpb25h
bDxXZWJDb3JlOjpJbnRQb2ludD4sIE9wdGlvbmFsPEF1dG9tYXRpb25Db21tYW5kRXJyb3I+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKQEAgLTIwMDUsMTQgKzE5NzgsMTIgQEAgdm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6cGVyZm9ybUludGVyYWN0aW9uU2VxdWVuY2UoY29uc3QgSW5zcGVj
dG9yOjpQcm90b2NvbDoKICAgICBpZiAoZnJhbWVOb3RGb3VuZCkKICAgICAgICAgQVNZTkNfRkFJ
TF9XSVRIX1BSRURFRklORURfRVJST1IoRnJhbWVOb3RGb3VuZCk7CiAKLSAgICBIYXNoTWFwPFN0
cmluZywgUmVmPFNpbXVsYXRlZElucHV0U291cmNlPj4gc291cmNlSWRUb0lucHV0U291cmNlTWFw
OwotICAgIEhhc2hNYXA8U2ltdWxhdGVkSW5wdXRTb3VyY2VUeXBlLCBTdHJpbmcsIFdURjo6SW50
SGFzaDxTaW11bGF0ZWRJbnB1dFNvdXJjZVR5cGU+LCBXVEY6OlN0cm9uZ0VudW1IYXNoVHJhaXRz
PFNpbXVsYXRlZElucHV0U291cmNlVHlwZT4+IHR5cGVUb1NvdXJjZUlkTWFwOwotCiAgICAgLy8g
UGFyc2UgYW5kIHZhbGlkYXRlIEF1dG9tYXRpb24gcHJvdG9jb2wgYXJndW1lbnRzLiBCeSB0aGlz
IHBvaW50LCB0aGUgZHJpdmVyIGhhcwogICAgIC8vIGFscmVhZHkgcGVyZm9ybWVkIHRoZSBzdGVw
cyBpbiDCpzE3LjMgUHJvY2Vzc2luZyBBY3Rpb25zIFJlcXVlc3RzLgogICAgIGlmICghaW5wdXRT
b3VyY2VzLT5sZW5ndGgoKSkKICAgICAgICAgQVNZTkNfRkFJTF9XSVRIX1BSRURFRklORURfRVJS
T1JfQU5EX0RFVEFJTFMoSW52YWxpZFBhcmFtZXRlciwgIlRoZSBwYXJhbWV0ZXIgJ2lucHV0U291
cmNlcycgd2FzIG5vdCBmb3VuZCBvciBlbXB0eS4iKTsKIAorICAgIEhhc2hTZXQ8U3RyaW5nPiBz
b3VyY2VJZFNldDsKICAgICBmb3IgKGNvbnN0IGF1dG8mIGlucHV0U291cmNlVmFsdWUgOiBpbnB1
dFNvdXJjZXMuZ2V0KCkpIHsKICAgICAgICAgYXV0byBpbnB1dFNvdXJjZU9iamVjdCA9IGlucHV0
U291cmNlVmFsdWUtPmFzT2JqZWN0KCk7CiAgICAgICAgIGlmICghaW5wdXRTb3VyY2VPYmplY3Qp
CkBAIC0yMDU4LDEzICsyMDI5LDEzIEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnBlcmZv
cm1JbnRlcmFjdGlvblNlcXVlbmNlKGNvbnN0IEluc3BlY3Rvcjo6UHJvdG9jb2w6CiAgICAgICAg
IGlmIChpbnB1dFNvdXJjZVR5cGUgPT0gU2ltdWxhdGVkSW5wdXRTb3VyY2VUeXBlOjpXaGVlbCkK
ICAgICAgICAgICAgIEFTWU5DX0ZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX0FORF9ERVRBSUxT
KE5vdEltcGxlbWVudGVkLCAiV2hlZWwgaW5wdXQgc291cmNlcyBhcmUgbm90IHlldCBzdXBwb3J0
ZWQuIik7CiAjZW5kaWYKLSAgICAgICAgaWYgKHR5cGVUb1NvdXJjZUlkTWFwLmNvbnRhaW5zKGlu
cHV0U291cmNlVHlwZSkpCi0gICAgICAgICAgICBBU1lOQ19GQUlMX1dJVEhfUFJFREVGSU5FRF9F
UlJPUl9BTkRfREVUQUlMUyhJbnZhbGlkUGFyYW1ldGVyLCAiVHdvIGlucHV0IHNvdXJjZXMgd2l0
aCB0aGUgc2FtZSB0eXBlIHdlcmUgc3BlY2lmaWVkLiIpOwotICAgICAgICBpZiAoc291cmNlSWRU
b0lucHV0U291cmNlTWFwLmNvbnRhaW5zKHNvdXJjZUlkKSkKKyAgICAgICAgaWYgKHNvdXJjZUlk
U2V0LmNvbnRhaW5zKHNvdXJjZUlkKSkKICAgICAgICAgICAgIEFTWU5DX0ZBSUxfV0lUSF9QUkVE
RUZJTkVEX0VSUk9SX0FORF9ERVRBSUxTKEludmFsaWRQYXJhbWV0ZXIsICJUd28gaW5wdXQgc291
cmNlcyB3aXRoIHRoZSBzYW1lIHNvdXJjZUlkIHdlcmUgc3BlY2lmaWVkLiIpOwogCi0gICAgICAg
IHR5cGVUb1NvdXJjZUlkTWFwLmFkZChpbnB1dFNvdXJjZVR5cGUsIHNvdXJjZUlkKTsKLSAgICAg
ICAgc291cmNlSWRUb0lucHV0U291cmNlTWFwLmFkZChzb3VyY2VJZCwgKmlucHV0U291cmNlRm9y
VHlwZShpbnB1dFNvdXJjZVR5cGUpKTsKKyAgICAgICAgc291cmNlSWRTZXQuYWRkKHNvdXJjZUlk
KTsKKyAgICAgICAgbV9pbnB1dFNvdXJjZXMuZW5zdXJlKHNvdXJjZUlkLCBbaW5wdXRTb3VyY2VU
eXBlXSB7CisgICAgICAgICAgICByZXR1cm4gU2ltdWxhdGVkSW5wdXRTb3VyY2U6OmNyZWF0ZShp
bnB1dFNvdXJjZVR5cGUpOworICAgICAgICB9KTsKICAgICB9CiAKICAgICBWZWN0b3I8U2ltdWxh
dGVkSW5wdXRLZXlGcmFtZT4ga2V5RnJhbWVzOwpAQCAtMjA5MywxMCArMjA2NCwxMCBAQCB2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpwZXJmb3JtSW50ZXJhY3Rpb25TZXF1ZW5jZShjb25zdCBJ
bnNwZWN0b3I6OlByb3RvY29sOgogICAgICAgICAgICAgaWYgKCFzb3VyY2VJZCkKICAgICAgICAg
ICAgICAgICBBU1lOQ19GQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9BTkRfREVUQUlMUyhJbnZh
bGlkUGFyYW1ldGVyLCAiU3RlcCBzdGF0ZSBsYWNrcyByZXF1aXJlZCAnc291cmNlSWQnIHByb3Bl
cnR5LiIpOwogCi0gICAgICAgICAgICBpZiAoIXNvdXJjZUlkVG9JbnB1dFNvdXJjZU1hcC5jb250
YWlucyhzb3VyY2VJZCkpCisgICAgICAgICAgICBpZiAoIW1faW5wdXRTb3VyY2VzLmNvbnRhaW5z
KHNvdXJjZUlkKSkKICAgICAgICAgICAgICAgICBBU1lOQ19GQUlMX1dJVEhfUFJFREVGSU5FRF9F
UlJPUl9BTkRfREVUQUlMUyhJbnZhbGlkUGFyYW1ldGVyLCAiVW5rbm93biAnc291cmNlSWQnIHNw
ZWNpZmllZC4iKTsKIAotICAgICAgICAgICAgU2ltdWxhdGVkSW5wdXRTb3VyY2UmIGlucHV0U291
cmNlID0gKnNvdXJjZUlkVG9JbnB1dFNvdXJjZU1hcC5nZXQoc291cmNlSWQpOworICAgICAgICAg
ICAgU2ltdWxhdGVkSW5wdXRTb3VyY2UmIGlucHV0U291cmNlID0gKm1faW5wdXRTb3VyY2VzLmdl
dChzb3VyY2VJZCk7CiAgICAgICAgICAgICBTaW11bGF0ZWRJbnB1dFNvdXJjZVN0YXRlIHNvdXJj
ZVN0YXRlIHsgfTsKIAogICAgICAgICAgICAgYXV0byBwcmVzc2VkQ2hhcktleVN0cmluZyA9IHN0
YXRlT2JqZWN0LT5nZXRTdHJpbmcoInByZXNzZWRDaGFyS2V5Il9zKTsKQEAgLTIyMDEsMTEgKzIx
NzIsMTIgQEAgdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y2FuY2VsSW50ZXJhY3Rpb25TZXF1
ZW5jZShjb25zdCBJbnNwZWN0b3I6OlByb3RvY29sOjoKICAgICBTaW11bGF0ZWRJbnB1dERpc3Bh
dGNoZXImIGlucHV0RGlzcGF0Y2hlciA9IGlucHV0RGlzcGF0Y2hlckZvclBhZ2UoKnBhZ2UpOwog
ICAgIGlucHV0RGlzcGF0Y2hlci5jYW5jZWwoKTsKICAgICAKLSAgICBpbnB1dERpc3BhdGNoZXIu
cnVuKGZyYW1lSUQsIFdURk1vdmUoa2V5RnJhbWVzKSwgbV9pbnB1dFNvdXJjZXMsIFtwcm90ZWN0
ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKE9w
dGlvbmFsPEF1dG9tYXRpb25Db21tYW5kRXJyb3I+IGVycm9yKSB7CisgICAgaW5wdXREaXNwYXRj
aGVyLnJ1bihmcmFtZUlELCBXVEZNb3ZlKGtleUZyYW1lcyksIG1faW5wdXRTb3VyY2VzLCBbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXShPcHRpb25hbDxBdXRvbWF0aW9uQ29tbWFuZEVycm9yPiBlcnJvcikgewogICAgICAg
ICBpZiAoZXJyb3IpCiAgICAgICAgICAgICBjYWxsYmFjay0+c2VuZEZhaWx1cmUoZXJyb3IudmFs
dWUoKS50b1Byb3RvY29sU3RyaW5nKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjYWxs
YmFjay0+c2VuZFN1Y2Nlc3MoKTsKKyAgICAgICAgbV9pbnB1dFNvdXJjZXMuY2xlYXIoKTsKICAg
ICB9KTsKICNlbmRpZiAvLyBFTkFCTEUoV0VCRFJJVkVSX0FDVElPTlNfQVBJKQogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5oCmluZGV4IDM2ZGMzN2UyYTk0MC4uYzFkMGU0Y2JlOTlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5oCkBAIC0yMTIsNyArMjEyLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNTaW11bGF0aW5n
VXNlckludGVyYWN0aW9uKCkgY29uc3Q7CiAjaWYgRU5BQkxFKFdFQkRSSVZFUl9BQ1RJT05TX0FQ
SSkKICAgICBTaW11bGF0ZWRJbnB1dERpc3BhdGNoZXImIGlucHV0RGlzcGF0Y2hlckZvclBhZ2Uo
V2ViUGFnZVByb3h5Jik7Ci0gICAgU2ltdWxhdGVkSW5wdXRTb3VyY2UqIGlucHV0U291cmNlRm9y
VHlwZShTaW11bGF0ZWRJbnB1dFNvdXJjZVR5cGUpIGNvbnN0OwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShNQUMpCkBAIC0zMzcsNyArMzM2LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoV0VCRFJJ
VkVSX0FDVElPTlNfQVBJKQogICAgIC8vIFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlciBBUElzIHRh
a2UgYSBzZXQgb2YgaW5wdXQgc291cmNlcy4gV2UgYWxzbyBpbnRlcm4gdGhlc2UKICAgICAvLyBz
byB0aGF0IHByZXZpb3VzIGlucHV0IHNvdXJjZSBzdGF0ZSBpcyB1c2VkIGFzIGluaXRpYWwgc3Rh
dGUgZm9yIGxhdGVyIGNvbW1hbmRzLgotICAgIEhhc2hTZXQ8UmVmPFNpbXVsYXRlZElucHV0U291
cmNlPj4gbV9pbnB1dFNvdXJjZXM7CisgICAgSGFzaE1hcDxTdHJpbmcsIFJlZjxTaW11bGF0ZWRJ
bnB1dFNvdXJjZT4+IG1faW5wdXRTb3VyY2VzOwogICAgIEhhc2hNYXA8V2ViUGFnZVByb3h5SWRl
bnRpZmllciwgUmVmPFNpbXVsYXRlZElucHV0RGlzcGF0Y2hlcj4+IG1faW5wdXREaXNwYXRjaGVy
c0J5UGFnZTsKICNlbmRpZgogI2lmIEVOQUJMRShXRUJEUklWRVJfS0VZQk9BUkRfSU5URVJBQ1RJ
T05TKQo=
</data>
<flag name="review"
          id="429239"
          type_id="1"
          status="+"
          setter="bburg"
    />
          </attachment>
      

    </bug>

</bugzilla>