<?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>213637</bug_id>
          
          <creation_ts>2020-06-25 21:16:31 -0700</creation_ts>
          <short_desc>Initializing the main thread should initialize the main run loop</short_desc>
          <delta_ts>2020-06-26 12:29:22 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1666364</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-25 21:16:31 -0700</bug_when>
    <thetext>Initializing the main thread should initialize the main run loop</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666371</commentid>
    <comment_count>1</comment_count>
      <attachid>402849</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-25 21:35:33 -0700</bug_when>
    <thetext>Created attachment 402849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666424</commentid>
    <comment_count>2</comment_count>
      <attachid>402862</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 07:35:03 -0700</bug_when>
    <thetext>Created attachment 402862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666478</commentid>
    <comment_count>3</comment_count>
      <attachid>402862</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-26 09:33:15 -0700</bug_when>
    <thetext>Comment on attachment 402862
Patch

EWS failures *do* look like they are caused by the changes in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666496</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 09:52:38 -0700</bug_when>
    <thetext>Looks like I need to update WebKitTestRunner and DumpRenderTree. Oops!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666513</commentid>
    <comment_count>5</comment_count>
      <attachid>402880</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 10:38:21 -0700</bug_when>
    <thetext>Created attachment 402880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666539</commentid>
    <comment_count>6</comment_count>
      <attachid>402880</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-06-26 12:20:42 -0700</bug_when>
    <thetext>Comment on attachment 402880
Patch

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

&gt; Source/WTF/ChangeLog:8
&gt; +        Previously, some code initialized one, some the other, and some both;

what&apos;s &quot;one&quot; and &quot;other&quot; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666542</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-26 12:23:36 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #6)
&gt; Comment on attachment 402880 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=402880&amp;action=review
&gt; 
&gt; &gt; Source/WTF/ChangeLog:8
&gt; &gt; +        Previously, some code initialized one, some the other, and some both;
&gt; 
&gt; what&apos;s &quot;one&quot; and &quot;other&quot; here?

WTF::initializeMainThread() and WTF::RunLoop::initializeMain().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666547</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-26 12:28:22 -0700</bug_when>
    <thetext>Committed r263575: &lt;https://trac.webkit.org/changeset/263575&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402880.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666548</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-26 12:29:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/64817417&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666549</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-26 12:29:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/64817416&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402849</attachid>
            <date>2020-06-25 21:35:33 -0700</date>
            <delta_ts>2020-06-26 07:35:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213637-20200625213532.patch</filename>
            <type>text/plain</type>
            <size>24134</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5vcmRlcjogUmVtb3ZlZCBzb21lIGRlZnVuY3Qgc3R1ZmYuCisg
ICAgICAgICogc2hlbGwvcGxheXN0YXRpb24vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKHNldHVw
VGVzdFJ1bik6IE1lcmdlZCBpbml0aWFsaXplVGhyZWFkaW5nIGNhbGwgd2l0aAorICAgICAgICBp
bml0aWFsaXplTWFpblRocmVhZCBjYWxsIGJlY2F1c2UgaW5pdGlhbGl6ZU1haW5UaHJlYWQgaXMg
YSBzdXBlcnNldC4KKwogMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBl
LW9mLmpzIGJyb2tlbiBvbiBzMzkweApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLm9yZGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5vcmRlcgkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw2IEBA
IF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVByb2ZpbGluZzE1bm90aWZ5QWxs
b2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKIF9fWk4zSlNDN0pTU3RhY2sxOWluaXRpYWxp
emVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxpemVFdgotX19aTjNXVEYzOWlu
aXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZEV2Ci1fX1pOM1dURkw0M2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZE9uY2VFdgotX19aTjNXVEY0N2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZFBsYXRmb3JtRXYKIF9fWk4zV1RGMTlp
bml0aWFsaXplR0NUaHJlYWRzRXYKIF9fWk4zV1RGMThGdW5jdGlvbkRpc3BhdGNoZXJDMkV2CiBf
X1pOM1dURjIwaW5pdGlhbGl6ZU1haW5UaHJlYWRFdgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9u
IDI2MzU0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9UZXN0
U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTEgQEAgZXh0ZXJuICJDIiB2
b2lkIHNldHVwVGVzdFJ1bigpCiAgICAgLy8gTmVlZCB0byBpbml0aWFsaXplIFdURiB0aHJlYWRp
bmcgYmVmb3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKICAg
ICAvLyB0aHJlYWRpbmcgeWV0LCBzaW5jZSB0aGF0IHdvdWxkIGRvIHNvbWV0aGluZ3MgdGhhdCB3
ZSdkIGxpa2UgdG8gZGVmZXIgdW50aWwgYWZ0ZXIgd2UKICAgICAvLyBoYXZlIGEgY2hhbmNlIHRv
IHBhcnNlIG9wdGlvbnMuCi0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgLy8gTmVlZCB0byBvdmVycmlkZSBhbmQg
ZW5hYmxlIHJlc3RyaWN0ZWQgb3B0aW9ucyBiZWZvcmUgd2Ugc3RhcnQgcGFyc2luZyBvcHRpb25z
IGJlbG93LgogICAgIENvbmZpZzo6ZW5hYmxlUmVzdHJpY3RlZE9wdGlvbnMoKTsKIAotICAgIC8v
IEluaXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKIAogI2lmIEVOQUJM
RShXRUJBU1NFTUJMWSkKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV1RGL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA2LTI1ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5pdGlhbGl6aW5nIHRo
ZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvTWFpblRocmVh
ZC5jcHA6CisgICAgICAgIChXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKTogUmVtb3ZlZCBkZWZ1
bmN0IGNvbW1lbnQgYWJvdXQKKyAgICAgICAgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NN
YWluVGhyZWFkLiBTaHJhbmsgc2NvcGUgb2YgaW5pdGlhbGl6ZUtleS4KKyAgICAgICAgKiB3dGYv
UnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxpemVNYWluKTogRG9u
J3QgY2FsbCBpbml0aWFsaXplTWFpblRocmVhZCBhbnltb3JlCisgICAgICAgIGJlY2F1c2UgaXQg
Y2FsbHMgdXMgbm93LiBObyBuZWVkIGZvciBhIHN0b3JlIGZlbmNlIHNpbmNlIHdlIHJ1biBvbiB0
aGUKKyAgICAgICAgbWFpbiB0aHJlYWQgYW5kIHdlIGRvbid0IHN0b3JlIGFueXRoaW5nLgorICAg
ICAgICAoV1RGOjpSdW5Mb29wOjppbml0aWFsaXplV2ViKTogVXBncmFkZSB0byBSRUxFQVNFX0FT
U0VSVC4KKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOiBSZW1vdmVkIGluY29ycmVjdCBjb21tZW50
LiAoRmFzY2luYXRpbmcgdG8gd29uZGVyIHdoZW4KKyAgICAgICAgaXQgYmVjYW1lIGluY29ycmVj
dC4pCisKIDIwMjAtMDYtMjUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBhIG5ldyB0ZW1wbGF0ZWQgc3RyaW5nIHR5cGUgdG8gaGVscCB3cml0ZSBtb3JlIGlk
aW9tYXRpYyBwYXJzaW5nIGNvZGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCShyZXZpc2lvbiAy
NjM1NDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDksMTMgKzQ5LDEzIEBAIHN0YXRpYyBEZXF1ZTxGdW5jdGlvbjx2b2lkICgpPj4mIGZ1bmN0
aW8KICAgICByZXR1cm4gZnVuY3Rpb25RdWV1ZTsKIH0KIAotLy8gU2hhcmUgdGhpcyBpbml0aWFs
aXplS2V5IHdpdGggaW5pdGlhbGl6ZU1haW5UaHJlYWQgYW5kIGluaXRpYWxpemVNYWluVGhyZWFk
VG9Qcm9jZXNzTWFpblRocmVhZC4KLXN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplS2V5
Owogdm9pZCBpbml0aWFsaXplTWFpblRocmVhZCgpCiB7CisgICAgc3RhdGljIHN0ZDo6b25jZV9m
bGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10g
ewogICAgICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgICAgIGluaXRpYWxpemVNYWlu
VGhyZWFkUGxhdGZvcm0oKTsKKyAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAg
ICB9KTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJj
ZS9XVEYvd3RmL1J1bkxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxMCArNTQsNyBAQCBw
cml2YXRlOgogCiB2b2lkIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKIHsKLSAgICBpZiAoc19t
YWluUnVuTG9vcCkKLSAgICAgICAgcmV0dXJuOwotICAgIGluaXRpYWxpemVNYWluVGhyZWFkKCk7
Ci0gICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghc19tYWlu
UnVuTG9vcCk7CiAgICAgc19tYWluUnVuTG9vcCA9ICZSdW5Mb29wOjpjdXJyZW50KCk7CiB9CiAK
QEAgLTgxLDYgKzc4LDcgQEAgUnVuTG9vcCogUnVuTG9vcDo6bWFpbklmRXhpc3RzKCkKICNpZiBV
U0UoV0VCX1RIUkVBRCkKIHZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYigpCiB7CisgICAgUkVM
RUFTRV9BU1NFUlQoIXNfd2ViUnVuTG9vcCk7CiAgICAgc193ZWJSdW5Mb29wID0gJlJ1bkxvb3A6
OmN1cnJlbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9vcC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24gMjYzNTQ5KQorKysgU291
cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw4ICs1OCw3IEBAIHVz
aW5nIFJ1bkxvb3BNb2RlID0gdW5zaWduZWQ7CiBjbGFzcyBSdW5Mb29wIGZpbmFsIDogcHVibGlj
IEZ1bmN0aW9uRGlzcGF0Y2hlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcCk7
CiBwdWJsaWM6Ci0gICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgKGV4
Y2VwdCBmb3IgdGhlIE1hYyBwbGF0Zm9ybSwgd2hlcmUgaXQKLSAgICAvLyBjYW4gYmUgY2FsbGVk
IGZyb20gYW55IHRocmVhZCkuCisgICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0
aHJlYWQuCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGluaXRpYWxpemVNYWlu
KCk7CiAjaWYgVVNFKFdFQl9USFJFQUQpCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2
b2lkIGluaXRpYWxpemVXZWIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysr
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgIChSdW5XZWJU
aHJlYWQpOiBSZW1vdmVkIGNhbGwgdG8gaW5pdGlhbGl6ZU1haW5UaHJlYWQoKSBiZWNhdXNlIHRo
ZSBtYWluCisgICAgICAgIHRocmVhZCBjYWxscyBpdCBiZWZvcmUgc3RhcnRpbmcgdGhlIHdlYiB0
aHJlYWQsIHNvIGl0J3MgYSBuby1vcC4gKEFuZCBpZgorICAgICAgICBpdCB3ZXJlIGFuIG9wLCBp
dCB3b3VsZCBiZSBicm9rZW4uKQorICAgICAgICAoU3RhcnRXZWJUaHJlYWQpOiBNZXJnZWQgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4gYW5kIGluaXRpYWxpemVUaHJlYWRpbmcKKyAgICAgICAgaW50
byBpbml0aWFsaXplTWFpblRocmVhZC4KKwogMjAyMC0wNi0yNSAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI1NjE2Niwg
cjI2MDU5NikgV0tOYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3QuYWxsSFRUUEhlYWRlckZpZWxkcyBu
ZWVkcyB0byBjb250YWluIFVzZXItQWdlbnQgYW5kIEFjY2VwdApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01ODQsMTAgKzU4NCw5IEBAIHN0YXRpYyB2b2lkKiBSdW5XZWJU
aHJlYWQodm9pZCopCiB7CiAgICAgRmxvYXRpbmdQb2ludEVudmlyb25tZW50OjpzaW5nbGV0b24o
KS5wcm9wYWdhdGVNYWluVGhyZWFkRW52aXJvbm1lbnQoKTsKIAotICAgIC8vIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIEpTQzo6aW5pdGlhbGl6
ZVRocmVhZGluZygpIHNpbmNlIHRoZQorICAgIC8vIFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCgp
IG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCkgc2lu
Y2UgdGhlCiAgICAgLy8gY29kZSBpbnZva2VkIGJ5IHRoZSBsYXR0ZXIgbmVlZHMgdG8ga25vdyBp
ZiBpdCdzIHJ1bm5pbmcgb24gdGhlIFdlYlRocmVhZC4gU2VlCiAgICAgLy8gPHJkYXI6Ly9wcm9i
bGVtLzg1MDI0ODc+LgotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBXVEY6
OmluaXRpYWxpemVXZWJUaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
ICAgICAKQEAgLTYzMyw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBTdGFydFdlYlRocmVhZCgpCiAg
ICAgd2ViVGhyZWFkU3RhcnRlZCA9IFRSVUU7CiAKICAgICAvLyBUaHJlYWRHbG9iYWxEYXRhIHRv
dWNoZXMgQXRvbVN0cmluZywgd2hpY2ggcmVxdWlyZXMgVGhyZWFkaW5nIGluaXRpYWxpemF0aW9u
LgotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKIAogICAgIC8vIEluaXRpYWxpemUgQXRvbVN0cmluZyBvbiB0aGUgbWFpbiB0
aHJlYWQuCiAgICAgV1RGOjpBdG9tU3RyaW5nOjppbml0KCk7CkBAIC02NDMsOCArNjQyLDYgQEAg
c3RhdGljIHZvaWQgU3RhcnRXZWJUaHJlYWQoKQogICAgIFdlYkNvcmU6OlRocmVhZEdsb2JhbERh
dGEmIHVudXNlZCA9IFdlYkNvcmU6OnRocmVhZEdsb2JhbERhdGEoKTsKICAgICBVTlVTRURfUEFS
QU0odW51c2VkKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7Ci0KICAgICAvLyBy
ZWdpc3RlciBjbGFzcyBmb3IgV2ViVGhyZWFkIGRlYWxsb2NhdGlvbgogICAgIFdlYkNvcmVPYmpD
RGVhbGxvY09uV2ViVGhyZWFkKFtXQUtXaW5kb3cgY2xhc3NdKTsKICAgICBXZWJDb3JlT2JqQ0Rl
YWxsb2NXaXRoV2ViVGhyZWFkTG9jayhbV0FLVmlldyBjbGFzc10pOwpJbmRleDogU291cmNlL1dl
YkRyaXZlci9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkRyaXZlci9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFk
IHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAg
ICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjpydW4pOgorCiAyMDIwLTA2LTIzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGEgbG90IG9m
IHVubmVjZXNzYXJ5IGNhbGxzIHRvIFJlZjo6Y29weVJlZigpCkluZGV4OiBTb3VyY2UvV2ViRHJp
dmVyL1dlYkRyaXZlclNlcnZpY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJEcml2ZXIv
V2ViRHJpdmVyU2VydmljZS5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJEcml2
ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDcgQEAg
aW50IFdlYkRyaXZlclNlcnZpY2U6OnJ1bihpbnQgYXJnYywgY2hhcgogICAgICAgICByZXR1cm4g
RVhJVF9GQUlMVVJFOwogICAgIH0KIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7Cisg
ICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYgKCFtX3NlcnZlci5saXN0
ZW4oaG9zdCwgcG9ydCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIEluaXRpYWxpemluZyB0aGUgbWFpbiB0aHJlYWQgc2hv
dWxkIGluaXRpYWxpemUgdGhlIG1haW4gcnVuIGxvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXpl
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJ1bkluaXRpYWxpemF0aW9uQ29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OkluaXRpYWxpemVXZWJLaXQyKToKKyAgICAgICAgKiBTaGFyZWQvV2ViS2l0
MkluaXRpYWxpemUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisK
IDIwMjAtMDYtMjUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcHN0cmVhbSBkYXRlL3RpbWUgcGlja2VyIHN0eWxlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZpc2lvbiAyNjM1NDkpCisrKyBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIEluaXRpYWxpemVXZWJL
aXQyKCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBB
dG9tU3RyaW5nOjppbml0KCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJl
YWRpbmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
V2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyB2b2lkIHJ1bkluaXRpYWxpemF0
aW9uQ29kZSh2b2lkKiAKICNlbmRpZgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVj
a3NHbG9iYWxseSgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIHJ1bkluaXRpYWxp
emF0aW9uQ29kZSh2b2lkKiAKIAogdm9pZCBJbml0aWFsaXplV2ViS2l0MigpCiB7Ci0gICAgLy8g
TWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIGlzIHJ1biBvbmx5IG9uY2UgYW5kIG9u
IHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlrZSBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpCisgICAgLy8gTWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIGlzIHJ1biBvbmx5
IG9uY2UgYW5kIG9uIHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlrZSBpbml0aWFsaXpl
TWFpblRocmVhZCgpCiAgICAgLy8gYXJlIG9ubHkgc2FmZSB0byBjYWxsIG9uIHRoZSBtYWluIHRo
cmVhZC4KICAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7CiAgICAgICAgIGlmIChbTlNUaHJl
YWQgaXNNYWluVGhyZWFkXSB8fCBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRo
SW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uKSkKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDIwLTA2LTI1
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5pdGlhbGl6
aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIaXN0b3J5
L1dlYkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGlu
aXRpYWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAg
ICAoK1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNo
ZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2Mv
V2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5
IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAg
ICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAg
ICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXplXSk6CisgICAgICAg
ICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdp
bnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJhc2VQbHVnaW5QYWNr
YWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgICgrW1dl
YlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0
aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAgICAgICAoK1tX
ZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJIVE1MVmlld1ByaXZh
dGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVy
ZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3VyY2UubW06Cisg
ICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJdGVyYXRvclByaXZh
dGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5t
bToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorCiAyMDIwLTA2LTI0
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIE9iamVj
dElkZW50aWZpZXI8Pmluc3RlYWQgb2YgV2ViQ29yZTo6bmV4dFBsYXliYWNrVGFyZ2V0Q2xpZW50
Q29udGV4dElkKCkgaW4gRG9jdW1lbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExp
c3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9pZClpbml0aWFsaXpl
CiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dl
YkNhY2hlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9N
aXNjL1dlYkNhY2hlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAICsgKHZvaWQp
aW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQkocmV2
aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50
RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCArICh2b2lkKWlu
aXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQkocmV2aXNpb24gMjYzNTQ5
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0JKHdv
cmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRB
VElPTlNfRU5ECiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogKyAoV2ViSWNvbkRhdGFiYXNlICopc2hhcmVkSWNvbkRh
dGFiYXNlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
UGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZp
ZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQoKTsKICAgICBXZWJLaXQ6OnNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVn
aW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdp
bnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDcgKzYwLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzU0OSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNyArMTYzLDcgQEAgLSAoTlBFcnJvcilsb2FkUmVxdWVz
dDooTlNNdXRhYmxlVVJMUmVxdQogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVk
L1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcu
bW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMv
SG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTA2LDcgKzEwNiw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlm
CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50Lm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsx
MzksNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTIzNDMsNyArMjM0Myw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNzAsNyArNzAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRp
ZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3Vy
Y2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJE
YXRhU291cmNlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsxNTQs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNvdXJjZSBj
bGFzc10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAg
ICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogICAgIH0KIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkocmV2
aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiAgICAgLy8gQW5kIHNvbWUgb2YgdGhpcyB3b3JrIGlzIGxpa2VseSByZWR1bmRhbnQg
c2luY2UgK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSBpcyBndWFyYW50ZWVkIHRvIHJ1biBmaXJz
dC4KIAogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYg
KCFvbGRTZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9uSU1QKSB7CiAgICAgICAgIE1ldGhvZCBzZXRD
dXJzb3JNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChbTlNXaW5kb3cgY2xhc3NdLCBA
c2VsZWN0b3IoX3NldEN1cnNvckZvck1vdXNlTG9jYXRpb246KSk7CkBAIC0yNTY2LDcgKzI1NjYs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBbTlNBcHAgcmVnaXN0ZXJTZXJ2aWNlc01lbnVT
ZW5kVHlwZXM6W1tzZWxmIGNsYXNzXSBfc2VsZWN0aW9uUGFzdGVib2FyZFR5cGVzXSByZXR1cm5U
eXBlczpbW3NlbGYgY2xhc3NdIF9pbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVzXV07CiAKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0J
KHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4OCw3ICszODgsNyBAQCArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBib29sIGF0dGFjaG1lbnRFbGVtZW50RW5h
YmxlZCA9IE1hY0FwcGxpY2F0aW9uOjppc0FwcGxlTWFpbCgpOwogICAgIGJvb2wgd2ViU1FMRW5h
YmxlZCA9IGZhbHNlOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUmVzb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJSZXNvdXJjZS5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgs
NyArNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJ
dGVyYXRvci5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcg
QEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4o
KTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTYwLDcgKzU1NjAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIAogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwot
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRo
cmVhZCgpOwogI2VuZGlmCiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRp
bmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgs
NyArMTY4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0K
IApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
KworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFkIHNob3VsZCBpbml0aWFsaXpl
IHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6V2ViVmlldyk6CisK
IDIwMjAtMDYtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBN
b3ZlIFByZWZpeGVkIFdlYkF1ZGlvIGludGVyZmFjZXMgYmVoaW5kIHRoZWlyIG93biBmZWF0dXJl
IGZsYWcKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjM1
NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgV2ViVmlldzo6c19hbGxvd1NpdGVTcGVjaWZpY0hh
Y2tzID0KIFdlYlZpZXc6OldlYlZpZXcoKQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXpl
TWFpblRocmVhZCgpOwogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdl
cygpKTsKICAgICBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NU
b1VzZUNvb2tpZUFQSSh0cnVlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402862</attachid>
            <date>2020-06-26 07:35:03 -0700</date>
            <delta_ts>2020-06-26 10:38:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213637-20200626073503.patch</filename>
            <type>text/plain</type>
            <size>34592</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5vcmRlcjogUmVtb3ZlZCBzb21lIGRlZnVuY3Qgc3R1ZmYuCisg
ICAgICAgICogc2hlbGwvcGxheXN0YXRpb24vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKHNldHVw
VGVzdFJ1bik6IE1lcmdlZCBpbml0aWFsaXplVGhyZWFkaW5nIGNhbGwgd2l0aAorICAgICAgICBp
bml0aWFsaXplTWFpblRocmVhZCBjYWxsIGJlY2F1c2UgaW5pdGlhbGl6ZU1haW5UaHJlYWQgaXMg
YSBzdXBlcnNldC4KKwogMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBl
LW9mLmpzIGJyb2tlbiBvbiBzMzkweApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLm9yZGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5vcmRlcgkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw2IEBA
IF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVByb2ZpbGluZzE1bm90aWZ5QWxs
b2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKIF9fWk4zSlNDN0pTU3RhY2sxOWluaXRpYWxp
emVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxpemVFdgotX19aTjNXVEYzOWlu
aXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZEV2Ci1fX1pOM1dURkw0M2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZE9uY2VFdgotX19aTjNXVEY0N2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZFBsYXRmb3JtRXYKIF9fWk4zV1RGMTlp
bml0aWFsaXplR0NUaHJlYWRzRXYKIF9fWk4zV1RGMThGdW5jdGlvbkRpc3BhdGNoZXJDMkV2CiBf
X1pOM1dURjIwaW5pdGlhbGl6ZU1haW5UaHJlYWRFdgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9u
IDI2MzU0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9UZXN0
U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTEgQEAgZXh0ZXJuICJDIiB2
b2lkIHNldHVwVGVzdFJ1bigpCiAgICAgLy8gTmVlZCB0byBpbml0aWFsaXplIFdURiB0aHJlYWRp
bmcgYmVmb3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKICAg
ICAvLyB0aHJlYWRpbmcgeWV0LCBzaW5jZSB0aGF0IHdvdWxkIGRvIHNvbWV0aGluZ3MgdGhhdCB3
ZSdkIGxpa2UgdG8gZGVmZXIgdW50aWwgYWZ0ZXIgd2UKICAgICAvLyBoYXZlIGEgY2hhbmNlIHRv
IHBhcnNlIG9wdGlvbnMuCi0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgLy8gTmVlZCB0byBvdmVycmlkZSBhbmQg
ZW5hYmxlIHJlc3RyaWN0ZWQgb3B0aW9ucyBiZWZvcmUgd2Ugc3RhcnQgcGFyc2luZyBvcHRpb25z
IGJlbG93LgogICAgIENvbmZpZzo6ZW5hYmxlUmVzdHJpY3RlZE9wdGlvbnMoKTsKIAotICAgIC8v
IEluaXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKIAogI2lmIEVOQUJM
RShXRUJBU1NFTUJMWSkKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV1RGL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA2LTI1ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5pdGlhbGl6aW5nIHRo
ZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvTWFpblRocmVh
ZC5jcHA6CisgICAgICAgIChXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKTogUmVtb3ZlZCBkZWZ1
bmN0IGNvbW1lbnQgYWJvdXQKKyAgICAgICAgaW5pdGlhbGl6ZU1haW5UaHJlYWRUb1Byb2Nlc3NN
YWluVGhyZWFkLiBTaHJhbmsgc2NvcGUgb2YgaW5pdGlhbGl6ZUtleS4KKyAgICAgICAgKiB3dGYv
UnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxpemVNYWluKTogRG9u
J3QgY2FsbCBpbml0aWFsaXplTWFpblRocmVhZCBhbnltb3JlCisgICAgICAgIGJlY2F1c2UgaXQg
Y2FsbHMgdXMgbm93LiBObyBuZWVkIGZvciBhIHN0b3JlIGZlbmNlIHNpbmNlIHdlIHJ1biBvbiB0
aGUKKyAgICAgICAgbWFpbiB0aHJlYWQgYW5kIHdlIGRvbid0IHN0b3JlIGFueXRoaW5nLgorICAg
ICAgICAoV1RGOjpSdW5Mb29wOjppbml0aWFsaXplV2ViKTogVXBncmFkZSB0byBSRUxFQVNFX0FT
U0VSVC4KKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOiBSZW1vdmVkIGluY29ycmVjdCBjb21tZW50
LiAoRmFzY2luYXRpbmcgdG8gd29uZGVyIHdoZW4KKyAgICAgICAgaXQgYmVjYW1lIGluY29ycmVj
dC4pCisKIDIwMjAtMDYtMjUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFkZCBhIG5ldyB0ZW1wbGF0ZWQgc3RyaW5nIHR5cGUgdG8gaGVscCB3cml0ZSBtb3JlIGlk
aW9tYXRpYyBwYXJzaW5nIGNvZGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCShyZXZpc2lvbiAy
NjM1NDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDksMTMgKzQ5LDEzIEBAIHN0YXRpYyBEZXF1ZTxGdW5jdGlvbjx2b2lkICgpPj4mIGZ1bmN0
aW8KICAgICByZXR1cm4gZnVuY3Rpb25RdWV1ZTsKIH0KIAotLy8gU2hhcmUgdGhpcyBpbml0aWFs
aXplS2V5IHdpdGggaW5pdGlhbGl6ZU1haW5UaHJlYWQgYW5kIGluaXRpYWxpemVNYWluVGhyZWFk
VG9Qcm9jZXNzTWFpblRocmVhZC4KLXN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplS2V5
Owogdm9pZCBpbml0aWFsaXplTWFpblRocmVhZCgpCiB7CisgICAgc3RhdGljIHN0ZDo6b25jZV9m
bGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10g
ewogICAgICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgICAgIGluaXRpYWxpemVNYWlu
VGhyZWFkUGxhdGZvcm0oKTsKKyAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAg
ICB9KTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJj
ZS9XVEYvd3RmL1J1bkxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxMCArNTQsNyBAQCBw
cml2YXRlOgogCiB2b2lkIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKIHsKLSAgICBpZiAoc19t
YWluUnVuTG9vcCkKLSAgICAgICAgcmV0dXJuOwotICAgIGluaXRpYWxpemVNYWluVGhyZWFkKCk7
Ci0gICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKKyAgICBSRUxFQVNFX0FTU0VSVCghc19tYWlu
UnVuTG9vcCk7CiAgICAgc19tYWluUnVuTG9vcCA9ICZSdW5Mb29wOjpjdXJyZW50KCk7CiB9CiAK
QEAgLTgxLDYgKzc4LDcgQEAgUnVuTG9vcCogUnVuTG9vcDo6bWFpbklmRXhpc3RzKCkKICNpZiBV
U0UoV0VCX1RIUkVBRCkKIHZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYigpCiB7CisgICAgUkVM
RUFTRV9BU1NFUlQoIXNfd2ViUnVuTG9vcCk7CiAgICAgc193ZWJSdW5Mb29wID0gJlJ1bkxvb3A6
OmN1cnJlbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9vcC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24gMjYzNTQ5KQorKysgU291
cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw4ICs1OCw3IEBAIHVz
aW5nIFJ1bkxvb3BNb2RlID0gdW5zaWduZWQ7CiBjbGFzcyBSdW5Mb29wIGZpbmFsIDogcHVibGlj
IEZ1bmN0aW9uRGlzcGF0Y2hlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcCk7
CiBwdWJsaWM6Ci0gICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgKGV4
Y2VwdCBmb3IgdGhlIE1hYyBwbGF0Zm9ybSwgd2hlcmUgaXQKLSAgICAvLyBjYW4gYmUgY2FsbGVk
IGZyb20gYW55IHRocmVhZCkuCisgICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0
aHJlYWQuCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGluaXRpYWxpemVNYWlu
KCk7CiAjaWYgVVNFKFdFQl9USFJFQUQpCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2
b2lkIGluaXRpYWxpemVXZWIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysr
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgIChSdW5XZWJU
aHJlYWQpOiBSZW1vdmVkIGNhbGwgdG8gaW5pdGlhbGl6ZU1haW5UaHJlYWQoKSBiZWNhdXNlIHRo
ZSBtYWluCisgICAgICAgIHRocmVhZCBjYWxscyBpdCBiZWZvcmUgc3RhcnRpbmcgdGhlIHdlYiB0
aHJlYWQsIHNvIGl0J3MgYSBuby1vcC4gKEFuZCBpZgorICAgICAgICBpdCB3ZXJlIGFuIG9wLCBp
dCB3b3VsZCBiZSBicm9rZW4uKQorICAgICAgICAoU3RhcnRXZWJUaHJlYWQpOiBNZXJnZWQgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4gYW5kIGluaXRpYWxpemVUaHJlYWRpbmcKKyAgICAgICAgaW50
byBpbml0aWFsaXplTWFpblRocmVhZC4KKwogMjAyMC0wNi0yNSAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI1NjE2Niwg
cjI2MDU5NikgV0tOYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3QuYWxsSFRUUEhlYWRlckZpZWxkcyBu
ZWVkcyB0byBjb250YWluIFVzZXItQWdlbnQgYW5kIEFjY2VwdApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC01ODQsMTAgKzU4NCw5IEBAIHN0YXRpYyB2b2lkKiBSdW5XZWJU
aHJlYWQodm9pZCopCiB7CiAgICAgRmxvYXRpbmdQb2ludEVudmlyb25tZW50OjpzaW5nbGV0b24o
KS5wcm9wYWdhdGVNYWluVGhyZWFkRW52aXJvbm1lbnQoKTsKIAotICAgIC8vIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIEpTQzo6aW5pdGlhbGl6
ZVRocmVhZGluZygpIHNpbmNlIHRoZQorICAgIC8vIFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCgp
IG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCkgc2lu
Y2UgdGhlCiAgICAgLy8gY29kZSBpbnZva2VkIGJ5IHRoZSBsYXR0ZXIgbmVlZHMgdG8ga25vdyBp
ZiBpdCdzIHJ1bm5pbmcgb24gdGhlIFdlYlRocmVhZC4gU2VlCiAgICAgLy8gPHJkYXI6Ly9wcm9i
bGVtLzg1MDI0ODc+LgotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBXVEY6
OmluaXRpYWxpemVXZWJUaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsK
ICAgICAKQEAgLTYzMyw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBTdGFydFdlYlRocmVhZCgpCiAg
ICAgd2ViVGhyZWFkU3RhcnRlZCA9IFRSVUU7CiAKICAgICAvLyBUaHJlYWRHbG9iYWxEYXRhIHRv
dWNoZXMgQXRvbVN0cmluZywgd2hpY2ggcmVxdWlyZXMgVGhyZWFkaW5nIGluaXRpYWxpemF0aW9u
LgotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKIAogICAgIC8vIEluaXRpYWxpemUgQXRvbVN0cmluZyBvbiB0aGUgbWFpbiB0
aHJlYWQuCiAgICAgV1RGOjpBdG9tU3RyaW5nOjppbml0KCk7CkBAIC02NDMsOCArNjQyLDYgQEAg
c3RhdGljIHZvaWQgU3RhcnRXZWJUaHJlYWQoKQogICAgIFdlYkNvcmU6OlRocmVhZEdsb2JhbERh
dGEmIHVudXNlZCA9IFdlYkNvcmU6OnRocmVhZEdsb2JhbERhdGEoKTsKICAgICBVTlVTRURfUEFS
QU0odW51c2VkKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7Ci0KICAgICAvLyBy
ZWdpc3RlciBjbGFzcyBmb3IgV2ViVGhyZWFkIGRlYWxsb2NhdGlvbgogICAgIFdlYkNvcmVPYmpD
RGVhbGxvY09uV2ViVGhyZWFkKFtXQUtXaW5kb3cgY2xhc3NdKTsKICAgICBXZWJDb3JlT2JqQ0Rl
YWxsb2NXaXRoV2ViVGhyZWFkTG9jayhbV0FLVmlldyBjbGFzc10pOwpJbmRleDogU291cmNlL1dl
YkRyaXZlci9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkRyaXZlci9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFk
IHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAg
ICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjpydW4pOgorCiAyMDIwLTA2LTIzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGEgbG90IG9m
IHVubmVjZXNzYXJ5IGNhbGxzIHRvIFJlZjo6Y29weVJlZigpCkluZGV4OiBTb3VyY2UvV2ViRHJp
dmVyL1dlYkRyaXZlclNlcnZpY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJEcml2ZXIv
V2ViRHJpdmVyU2VydmljZS5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJEcml2
ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDcgQEAg
aW50IFdlYkRyaXZlclNlcnZpY2U6OnJ1bihpbnQgYXJnYywgY2hhcgogICAgICAgICByZXR1cm4g
RVhJVF9GQUlMVVJFOwogICAgIH0KIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7Cisg
ICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYgKCFtX3NlcnZlci5saXN0
ZW4oaG9zdCwgcG9ydCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgorCisgICAgICAgIEluaXRpYWxpemluZyB0aGUgbWFpbiB0aHJlYWQgc2hv
dWxkIGluaXRpYWxpemUgdGhlIG1haW4gcnVuIGxvb3AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXpl
Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJ1bkluaXRpYWxpemF0aW9uQ29kZSk6CisgICAg
ICAgIChXZWJLaXQ6OkluaXRpYWxpemVXZWJLaXQyKToKKyAgICAgICAgKiBTaGFyZWQvV2ViS2l0
MkluaXRpYWxpemUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisK
IDIwMjAtMDYtMjUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcHN0cmVhbSBkYXRlL3RpbWUgcGlja2VyIHN0eWxlCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZpc2lvbiAyNjM1NDkpCisrKyBT
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIEluaXRpYWxpemVXZWJL
aXQyKCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBB
dG9tU3RyaW5nOjppbml0KCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJl
YWRpbmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2Ev
V2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyB2b2lkIHJ1bkluaXRpYWxpemF0
aW9uQ29kZSh2b2lkKiAKICNlbmRpZgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVj
a3NHbG9iYWxseSgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lkIHJ1bkluaXRpYWxp
emF0aW9uQ29kZSh2b2lkKiAKIAogdm9pZCBJbml0aWFsaXplV2ViS2l0MigpCiB7Ci0gICAgLy8g
TWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIGlzIHJ1biBvbmx5IG9uY2UgYW5kIG9u
IHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlrZSBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpCisgICAgLy8gTWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIGlzIHJ1biBvbmx5
IG9uY2UgYW5kIG9uIHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlrZSBpbml0aWFsaXpl
TWFpblRocmVhZCgpCiAgICAgLy8gYXJlIG9ubHkgc2FmZSB0byBjYWxsIG9uIHRoZSBtYWluIHRo
cmVhZC4KICAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7CiAgICAgICAgIGlmIChbTlNUaHJl
YWQgaXNNYWluVGhyZWFkXSB8fCBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRo
SW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uKSkKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDIwLTA2LTI1
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5pdGlhbGl6
aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBIaXN0b3J5
L1dlYkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGlu
aXRpYWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAg
ICAoK1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNo
ZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2Mv
V2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5
IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAg
ICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAg
ICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXplXSk6CisgICAgICAg
ICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdp
bnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJhc2VQbHVnaW5QYWNr
YWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgICgrW1dl
YlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0
aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAgICAgICAoK1tX
ZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJIVE1MVmlld1ByaXZh
dGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVy
ZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3VyY2UubW06Cisg
ICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJdGVyYXRvclByaXZh
dGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAg
KCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5t
bToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorCiAyMDIwLTA2LTI0
ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIE9iamVj
dElkZW50aWZpZXI8Pmluc3RlYWQgb2YgV2ViQ29yZTo6bmV4dFBsYXliYWNrVGFyZ2V0Q2xpZW50
Q29udGV4dElkKCkgaW4gRG9jdW1lbnQuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExp
c3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9pZClpbml0aWFsaXpl
CiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFk
aW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dl
YkNhY2hlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9N
aXNjL1dlYkNhY2hlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3IEBAICsgKHZvaWQp
aW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQkocmV2
aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50
RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCArICh2b2lkKWlu
aXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQkocmV2aXNpb24gMjYzNTQ5
KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0JKHdv
cmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRB
VElPTlNfRU5ECiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogKyAoV2ViSWNvbkRhdGFiYXNlICopc2hhcmVkSWNvbkRh
dGFiYXNlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
UGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAyNjM1NDkpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZp
ZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQoKTsKICAgICBXZWJLaXQ6OnNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVn
aW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdp
bnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTYwLDcgKzYwLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJO
ZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzU0OSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQbHVnaW5WaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNyArMTYzLDcgQEAgLSAoTlBFcnJvcilsb2FkUmVxdWVz
dDooTlNNdXRhYmxlVVJMUmVxdQogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRp
b25zKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvSG9zdGVk
L1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcu
bW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMv
SG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTA2LDcgKzEwNiw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlm
CiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50Lm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsx
MzksNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTIzNDMsNyArMjM0Myw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFs
aXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNzAsNyArNzAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9T
X0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRp
ZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3Vy
Y2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJE
YXRhU291cmNlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsxNTQs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNvdXJjZSBj
bGFzc10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAg
ICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogICAgIH0KIH0KSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQkocmV2
aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiAgICAgLy8gQW5kIHNvbWUgb2YgdGhpcyB3b3JrIGlzIGxpa2VseSByZWR1bmRhbnQg
c2luY2UgK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSBpcyBndWFyYW50ZWVkIHRvIHJ1biBmaXJz
dC4KIAogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYg
KCFvbGRTZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9uSU1QKSB7CiAgICAgICAgIE1ldGhvZCBzZXRD
dXJzb3JNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChbTlNXaW5kb3cgY2xhc3NdLCBA
c2VsZWN0b3IoX3NldEN1cnNvckZvck1vdXNlTG9jYXRpb246KSk7CkBAIC0yNTY2LDcgKzI1NjYs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBbTlNBcHAgcmVnaXN0ZXJTZXJ2aWNlc01lbnVT
ZW5kVHlwZXM6W1tzZWxmIGNsYXNzXSBfc2VsZWN0aW9uUGFzdGVib2FyZFR5cGVzXSByZXR1cm5U
eXBlczpbW3NlbGYgY2xhc3NdIF9pbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVzXV07CiAKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogI2VuZGlmCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0J
KHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4OCw3ICszODgsNyBAQCArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBib29sIGF0dGFjaG1lbnRFbGVtZW50RW5h
YmxlZCA9IE1hY0FwcGxpY2F0aW9uOjppc0FwcGxlTWFpbCgpOwogICAgIGJvb2wgd2ViU1FMRW5h
YmxlZCA9IGZhbHNlOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUmVzb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJSZXNvdXJjZS5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgs
NyArNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJdGVyYXRvci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRleHRJ
dGVyYXRvci5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcg
QEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4o
KTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTYwLDcgKzU1NjAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIAogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwot
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRo
cmVhZCgpOwogI2VuZGlmCiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRp
bmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgs
NyArMTY4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0K
IApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4K
KworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFkIHNob3VsZCBpbml0aWFsaXpl
IHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6V2ViVmlldyk6CisK
IDIwMjAtMDYtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBN
b3ZlIFByZWZpeGVkIFdlYkF1ZGlvIGludGVyZmFjZXMgYmVoaW5kIHRoZWlyIG93biBmZWF0dXJl
IGZsYWcKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjM1
NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgV2ViVmlldzo6c19hbGxvd1NpdGVTcGVjaWZpY0hh
Y2tzID0KIFdlYlZpZXc6OldlYlZpZXcoKQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXpl
TWFpblRocmVhZCgpOwogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdl
cygpKTsKICAgICBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnBlcm1pdFByb2Nlc3NU
b1VzZUNvb2tpZUFQSSh0cnVlKTsKIApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTU2KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjAtMDYtMjYgIEdlb2ZmcmV5IEdh
cmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4g
dGhyZWFkIHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIFRlc3RXZWJLaXRBUEkg
dG8gc3RvcCB1c2luZyBSdW5Mb29wOjppbml0aWFsaXplTWFpbiBkaXJlY3RseS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZlB0ci5jcHA6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29w
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOgorICAgICAgICAoQXBwbGljYXRpb25NYW5p
ZmVzdFBhcnNlclRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OkNvbXBsZXhUZXh0Q29udHJvbGxlclRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6Q29udGVudEV4dGVuc2lvblRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRvci5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbToKKyAgICAgICAg
KGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKToKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJvbGxlcik6CisKIDIwMjAtMDYtMjYgIFRha2Fz
aGkgS29tb3JpICA8dGFrYXNoaS5rb21vcmlAc29ueS5jb20+CiAKICAgICAgICAgQWRkIG15c2Vs
ZiB0byBjb250cmlidXRvcnMuanNvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0Nv
bnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
c0NvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3NCw2IEBAIFRlc3RzQ29u
dHJvbGxlcjo6VGVzdHNDb250cm9sbGVyKCkKICAgICAvLyB0aGUgVGhyZWFkUmVzdHJpY3Rpb25W
ZXJpZmllciAtIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjExMgog
ICAgIC8vIFdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCBhbGwgb2JqZWN0cyB0ZXN0ZWQgZWl0aGVy
IGluaXRpYWxpemUgdGhyZWFkaW5nIG9yIGluaGVyaXQgZnJvbQogICAgIC8vIFRocmVhZFNhZmVS
ZWZDb3VudGVkIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBpbml0aWFsaXplIHRocmVhZGluZyBh
dCBhbGwgaGVyZS4KLSAgICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQ
cml2aWxlZ2VzKCkpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKSW5kZXg6IFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1JlZlB0ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvUmVmUHRyLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmUHRyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTg1
LDcgKzU4NSw3IEBAIFRFU1QoV1RGX1JlZlB0ciwgUmVsZWFzZUluTm9uTWFpblRocmVhZCkKIAog
VEVTVChXVEZfUmVmUHRyLCBSZWxlYXNlSW5Ob25NYWluVGhyZWFkRGVzdHJveUluTWFpblRocmVh
ZCkKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQoKTsKICAgICBkb25lID0gZmFsc2U7CiAgICAgVGhyZWFkOjpjcmVhdGUoIiIs
IFtvYmplY3QgPSBNYWluVGhyZWFkU2FmZVJlZkNvdW50ZWRPYmplY3Q6OmNyZWF0ZSgpXSB7IH0p
OwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDcgKzM2LDcgQEAgc3RhdGljIGludCBjb3VudCA9IDEwMDsKIAogVEVTVChXVEZfUnVuTG9v
cCwgRGVhZGxvY2spCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBzdHJ1Y3QgRGlzcGF0Y2hGcm9tRGVzdHJ1
Y3RvclRlc3RlciB7CiAgICAgICAgIH5EaXNwYXRjaEZyb21EZXN0cnVjdG9yVGVzdGVyKCkgewpA
QCAtNzYsNyArNzYsNyBAQCBwcml2YXRlOgogCiBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGlt
ZXIpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAKICAgICBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwogICAgIERl
cml2ZWRPbmVTaG90VGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKQEAgLTEwOCw3ICsxMDgsNyBA
QCBwcml2YXRlOgogCiBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIHsKLSAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKIAogICAgIGJvb2wgdGVzdEZpbmlzaGVkID0gZmFsc2U7CiAgICAgRGVyaXZlZFJlcGVhdGlu
Z1RpbWVyIHRpbWVyKHRlc3RGaW5pc2hlZCk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQWJvcnRhYmxlVGFza1F1ZXVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQWJvcnRhYmxlVGFza1F1ZXVlLmNwcAkocmV2aXNp
b24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Fib3J0YWJs
ZVRhc2tRdWV1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgVEVTVChBYm9y
dGFibGVUYXNrUXVldWUsIEFzeW5jVGFza3MpCiAgICAgQWJvcnRhYmxlVGFza1F1ZXVlIHRhc2tR
dWV1ZTsKICAgICBib29sIHRlc3RGaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgaW50IGN1cnJlbnRT
dGVwIHsgMCB9OwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgYXV0byBiYWNrZ3JvdW5kVGhyZWFkRnVuY3Rpb24g
PSBbJl0oKSB7CiAgICAgICAgIEVYUEVDVF9GQUxTRShpc01haW5UaHJlYWQoKSk7CkBAIC0xMDEs
NyArMTAxLDcgQEAgVEVTVChBYm9ydGFibGVUYXNrUXVldWUsIFN5bmNUYXNrcykKICAgICBib29s
IHRlc3RGaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBkZXN0cnVjdGVkUmVzcG9uc2VGbGFn
IHsgZmFsc2UgfTsKICAgICBpbnQgY3VycmVudFN0ZXAgeyAwIH07Ci0gICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBh
dXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZB
TFNFKGlzTWFpblRocmVhZCgpKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBURVNUKEFib3J0YWJsZVRh
c2tRdWV1ZSwgQWJvcnQpCiAKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAg
IGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gYmFja2dy
b3VuZFRocmVhZEZ1bmN0aW9uID0gWyZdKCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWlu
VGhyZWFkKCkpOwpAQCAtMjQwLDcgKzI0MCw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBB
Ym9ydEJlZm9yZVN5bmMKIHsKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAg
IGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gYmFja2dy
b3VuZFRocmVhZEZ1bmN0aW9uID0gWyZdKCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWlu
VGhyZWFkKCkpOwpAQCAtMjc3LDcgKzI3Nyw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBB
Ym9ydGVkQnlTeW5jVGEKICAgICBib29sIHRlc3RGaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgaW50
IGN1cnJlbnRTdGVwIHsgMCB9OwogICAgIGJvb2wgZGVzdHJ1Y3RlZFJlc3BvbnNlRmxhZyB7IGZh
bHNlIH07Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxp
emVNYWluVGhyZWFkKCk7CiAKICAgICBhdXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsm
XSgpIHsKICAgICAgICAgRVhQRUNUX0ZBTFNFKGlzTWFpblRocmVhZCgpKTsKSW5kZXg6IFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGlj
YXRpb25NYW5pZmVzdFBhcnNlci5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIFNl
dFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgICAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgICAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAKICAgICAgICAgbV9tYW5pZmVzdFVSTCA9IHsgeyB9LCAiaHR0cHM6Ly9leGFt
cGxlLmNvbS9tYW5pZmVzdC5qc29uIiB9OwogICAgICAgICBtX2RvY3VtZW50VVJMID0geyB7IH0s
ICJodHRwczovL2V4YW1wbGUuY29tLyIgfTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCShy
ZXZpc2lvbiAyNjM1NDkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29t
cGxleFRleHRDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwor
ICAgICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgfQogfTsKIApJbmRleDog
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4
dGVuc2lvbnMuY3BwCShyZXZpc2lvbiAyNjM1NDkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3
ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKICAgICAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluKCk7CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICB9CiB9
OwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAkocmV2
aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ROUy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDcgQEAgYm9vbCBkb25lID0gZmFsc2U7CiAK
IFRFU1QoRE5TVGVzdCwgY2FuY2VsUmVzb2x2ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGNvbnN0
IFN0cmluZyBob3N0bmFtZSA9IFN0cmluZygid3d3LndlYmtpdC5vcmciKTsKICAgICB1aW50NjRf
dCBpZGVudGlmaWVyID0gMTsKQEAgLTYzLDcgKzYzLDcgQEAgVEVTVChETlNUZXN0LCBjYW5jZWxS
ZXNvbHZlRE5TKQogCiBURVNUKEROU1Rlc3QsIGNhbm5vdFJlc29sdmVETlMpCiB7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAKICAgICBjb25zdCBTdHJpbmcgaG9zdG5hbWUgPSBTdHJpbmcoIm5vdGF2YWxpZGRvbWFpbi5u
b3RhdmFsaWRkb21haW4iKTsKICAgICB1aW50NjRfdCBpZGVudGlmaWVyID0gMTsKQEAgLTg0LDcg
Kzg0LDcgQEAgVEVTVChETlNUZXN0LCBjYW5ub3RSZXNvbHZlRE5TKQogCiBURVNUKEROU1Rlc3Qs
IHJlc29sdmVETlMpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6
OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBjb25zdCBTdHJpbmcgaG9zdG5hbWUgPSBT
dHJpbmcoInd3dy53ZWJraXQub3JnIik7CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmlsZU1vbml0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRv
ci5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9GaWxlTW9uaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgY2xh
c3MgRmlsZU1vbml0b3JUZXN0IDogcHVibGljIHRlc3Rpbmc6OgogcHVibGljOgogICAgIHZvaWQg
U2V0VXAoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4o
KTsKKyAgICAgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgICAgICAKICAgICAg
ICAgLy8gY3JlYXRlIHRlbXAgZmlsZQogICAgICAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVI
YW5kbGUgaGFuZGxlOwpAQCAtMTQ0LDcgKzE0NCw3IEBAIFRFU1RfRihGaWxlTW9uaXRvclRlc3Qs
IERldGVjdENoYW5nZSkKIHsKICAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3Rz
KHRlbXBGaWxlUGF0aCgpKSk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29y
a1F1ZXVlOjpjcmVhdGUoIlRlc3QgV29yayBRdWV1ZSIpOwogCkBAIC0xODYsNyArMTg2LDcgQEAg
VEVTVF9GKEZpbGVNb25pdG9yVGVzdCwgRGV0ZWN0TXVsdGlwbGVDaAogewogICAgIEVYUEVDVF9U
UlVFKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwog
CiAgICAgYXV0byB0ZXN0UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVl
Iik7CiAKQEAgLTI0Niw3ICsyNDYsNyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3RE
ZWxldGlvbikKIHsKICAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRlbXBG
aWxlUGF0aCgpKSk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29ya1F1ZXVl
OjpjcmVhdGUoIlRlc3QgV29yayBRdWV1ZSIpOwogCkBAIC0yODUsNyArMjg1LDcgQEAgVEVTVF9G
KEZpbGVNb25pdG9yVGVzdCwgRGV0ZWN0Q2hhbmdlQW5kVAogewogICAgIEVYUEVDVF9UUlVFKEZp
bGVTeXN0ZW06OmZpbGVFeGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAg
YXV0byB0ZXN0UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVlIik7CiAK
QEAgLTM0Miw3ICszNDIsNyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3REZWxldGVC
dXROCiB7CiAgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyh0ZW1wRmlsZVBh
dGgoKSkpOwogCi0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBhdXRvIHRlc3RRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3Jl
YXRlKCJUZXN0IFdvcmsgUXVldWUiKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbQko
cmV2aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcg
QEAgc3RhdGljIHZvaWQgY2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lUZQogCiBzdGF0aWMgdm9p
ZCBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpCiB7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAgICAgV2ViQ29yZTo6Y2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3Zl
cnJpZGUoKTsKICAgICBJTl9BUFBfQlJPV1NFUl9QUklWQUNZX0FERElUSU9OUwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402880</attachid>
            <date>2020-06-26 10:38:21 -0700</date>
            <delta_ts>2020-06-26 12:28:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213637-20200626103820.patch</filename>
            <type>text/plain</type>
            <size>35770</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBKYXZhU2NyaXB0Q29yZS5vcmRlcjogUmVtb3ZlZCBzb21lIGRlZnVuY3Qgc3R1ZmYuCisg
ICAgICAgICogc2hlbGwvcGxheXN0YXRpb24vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKHNldHVw
VGVzdFJ1bik6IE1lcmdlZCBpbml0aWFsaXplVGhyZWFkaW5nIGNhbGwgd2l0aAorICAgICAgICBp
bml0aWFsaXplTWFpblRocmVhZCBjYWxsIGJlY2F1c2UgaW5pdGlhbGl6ZU1haW5UaHJlYWQgaXMg
YSBzdXBlcnNldC4KKwogMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBl
LW9mLmpzIGJyb2tlbiBvbiBzMzkweApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLm9yZGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5vcmRlcgkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLm9yZGVyCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw2IEBA
IF9fWk4zV1RGOGZhc3RGcmVlRVB2CiBfX1pOM0pTQzEzQ29kZVByb2ZpbGluZzE1bm90aWZ5QWxs
b2NhdG9yRVBOM1dURjEzTWV0YUFsbG9jYXRvckUKIF9fWk4zSlNDN0pTU3RhY2sxOWluaXRpYWxp
emVUaHJlYWRpbmdFdgogX19aTjNKU0M1TExJbnQxMGluaXRpYWxpemVFdgotX19aTjNXVEYzOWlu
aXRpYWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZEV2Ci1fX1pOM1dURkw0M2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZE9uY2VFdgotX19aTjNXVEY0N2luaXRp
YWxpemVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZFBsYXRmb3JtRXYKIF9fWk4zV1RGMTlp
bml0aWFsaXplR0NUaHJlYWRzRXYKIF9fWk4zV1RGMThGdW5jdGlvbkRpc3BhdGNoZXJDMkV2CiBf
X1pOM1dURjIwaW5pdGlhbGl6ZU1haW5UaHJlYWRFdgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3NoZWxsL3BsYXlzdGF0aW9uL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9u
IDI2MzU0OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9wbGF5c3RhdGlvbi9UZXN0
U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAsMTEgQEAgZXh0ZXJuICJDIiB2
b2lkIHNldHVwVGVzdFJ1bigpCiAgICAgLy8gTmVlZCB0byBpbml0aWFsaXplIFdURiB0aHJlYWRp
bmcgYmVmb3JlIHdlIHN0YXJ0IGFueSB0aHJlYWRzLiBDYW5ub3QgaW5pdGlhbGl6ZSBKU0MKICAg
ICAvLyB0aHJlYWRpbmcgeWV0LCBzaW5jZSB0aGF0IHdvdWxkIGRvIHNvbWV0aGluZ3MgdGhhdCB3
ZSdkIGxpa2UgdG8gZGVmZXIgdW50aWwgYWZ0ZXIgd2UKICAgICAvLyBoYXZlIGEgY2hhbmNlIHRv
IHBhcnNlIG9wdGlvbnMuCi0gICAgV1RGOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgLy8gTmVlZCB0byBvdmVycmlkZSBhbmQg
ZW5hYmxlIHJlc3RyaWN0ZWQgb3B0aW9ucyBiZWZvcmUgd2Ugc3RhcnQgcGFyc2luZyBvcHRpb25z
IGJlbG93LgogICAgIENvbmZpZzo6ZW5hYmxlUmVzdHJpY3RlZE9wdGlvbnMoKTsKIAotICAgIC8v
IEluaXRpYWxpemUgSlNDIGJlZm9yZSBnZXR0aW5nIFZNLgotICAgIFdURjo6aW5pdGlhbGl6ZU1h
aW5UaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKIAogI2lmIEVOQUJM
RShXRUJBU1NFTUJMWSkKSW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV1RGL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA2LTI1ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW5pdGlhbGl6aW5nIHRo
ZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFpbiBydW4gbG9vcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSwgc29t
ZSBjb2RlIGluaXRpYWxpemVkIG9uZSwgc29tZSB0aGUgb3RoZXIsIGFuZCBzb21lIGJvdGg7Cisg
ICAgICAgIGFuZCBzb21lIGNvZGUgdHJpZWQgdG8gaW5pdGlhbGl6ZSBtb3JlIHRoYW4gb25jZTsg
YW5kIHNvbWUgY29kZSB0cmllZAorICAgICAgICB0byBpbml0aWFsaXplIGluIHdheXMgdGhhdCB3
b3VsZCBjcmFzaCBidXQgbHVja2lseSBnb3QgcHJlLWVtcHRlZCBieQorICAgICAgICBvdGhlciBj
b2RlIHRoYXQgaGFkIGFscmVhZHkgaW5pdGlhbGl6ZWQuCisKKyAgICAgICAgSW4gYWRkaXRpb24g
dG8gZ2VuZXJhbCBjb25mdXNpb24sIHRoaXMgc2V0dXAgbWFkZSBpdCBzdWJ0bHkgaGlnaCBzdGFr
ZXMKKyAgICAgICAgdG8gY2FsbCBjZXJ0YWluIGZ1bmN0aW9ucywgbGlrZSBjYWxsT25NYWluVGhy
ZWFkIG9yCisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaCgpLCBiZWNhdXNlIHRoZXkg
bWlnaHQgY3Jhc2ggaWYgdGhlIHJpZ2h0CisgICAgICAgIGluaXRpYWxpemF0aW9uIGhhZCBub3Qg
YmVlbiBwZXJmb3JtZWQuCisKKyAgICAgICAgTGV0J3MgZml4IHRoYXQuCisKKyAgICAgICAgKiB3
dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgIChXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKTog
UmVtb3ZlZCBkZWZ1bmN0IGNvbW1lbnQgYWJvdXQKKyAgICAgICAgaW5pdGlhbGl6ZU1haW5UaHJl
YWRUb1Byb2Nlc3NNYWluVGhyZWFkLiBTaHJhbmsgc2NvcGUgb2YgaW5pdGlhbGl6ZUtleS4KKyAg
ICAgICAgKiB3dGYvUnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxp
emVNYWluKTogRG9uJ3QgY2FsbCBpbml0aWFsaXplTWFpblRocmVhZCBhbnltb3JlCisgICAgICAg
IGJlY2F1c2UgaXQgY2FsbHMgdXMgbm93LiBObyBuZWVkIGZvciBhIHN0b3JlIGZlbmNlIHNpbmNl
IHdlIHJ1biBvbiB0aGUKKyAgICAgICAgbWFpbiB0aHJlYWQgYW5kIHdlIGRvbid0IHN0b3JlIGFu
eXRoaW5nLgorICAgICAgICAoV1RGOjpSdW5Mb29wOjppbml0aWFsaXplV2ViKTogVXBncmFkZSB0
byBSRUxFQVNFX0FTU0VSVC4KKyAgICAgICAgKiB3dGYvUnVuTG9vcC5oOiBSZW1vdmVkIGluY29y
cmVjdCBjb21tZW50LiAoRmFzY2luYXRpbmcgdG8gd29uZGVyIHdoZW4KKyAgICAgICAgaXQgYmVj
YW1lIGluY29ycmVjdC4pCisKIDIwMjAtMDYtMjUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFkZCBhIG5ldyB0ZW1wbGF0ZWQgc3RyaW5nIHR5cGUgdG8gaGVscCB3
cml0ZSBtb3JlIGlkaW9tYXRpYyBwYXJzaW5nIGNvZGUKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL01h
aW5UaHJlYWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3Bw
CShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDksMTMgKzQ5LDEzIEBAIHN0YXRpYyBEZXF1ZTxGdW5jdGlvbjx2b2lk
ICgpPj4mIGZ1bmN0aW8KICAgICByZXR1cm4gZnVuY3Rpb25RdWV1ZTsKIH0KIAotLy8gU2hhcmUg
dGhpcyBpbml0aWFsaXplS2V5IHdpdGggaW5pdGlhbGl6ZU1haW5UaHJlYWQgYW5kIGluaXRpYWxp
emVNYWluVGhyZWFkVG9Qcm9jZXNzTWFpblRocmVhZC4KLXN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBp
bml0aWFsaXplS2V5Owogdm9pZCBpbml0aWFsaXplTWFpblRocmVhZCgpCiB7CisgICAgc3RhdGlj
IHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlh
bGl6ZUtleSwgW10gewogICAgICAgICBpbml0aWFsaXplVGhyZWFkaW5nKCk7CiAgICAgICAgIGlu
aXRpYWxpemVNYWluVGhyZWFkUGxhdGZvcm0oKTsKKyAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6
ZU1haW4oKTsKICAgICB9KTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHJldmlzaW9uIDI2MzU0
OSkKKysrIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwx
MCArNTQsNyBAQCBwcml2YXRlOgogCiB2b2lkIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKIHsK
LSAgICBpZiAoc19tYWluUnVuTG9vcCkKLSAgICAgICAgcmV0dXJuOwotICAgIGluaXRpYWxpemVN
YWluVGhyZWFkKCk7Ci0gICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsKKyAgICBSRUxFQVNFX0FT
U0VSVCghc19tYWluUnVuTG9vcCk7CiAgICAgc19tYWluUnVuTG9vcCA9ICZSdW5Mb29wOjpjdXJy
ZW50KCk7CiB9CiAKQEAgLTgxLDYgKzc4LDcgQEAgUnVuTG9vcCogUnVuTG9vcDo6bWFpbklmRXhp
c3RzKCkKICNpZiBVU0UoV0VCX1RIUkVBRCkKIHZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYigp
CiB7CisgICAgUkVMRUFTRV9BU1NFUlQoIXNfd2ViUnVuTG9vcCk7CiAgICAgc193ZWJSdW5Mb29w
ID0gJlJ1bkxvb3A6OmN1cnJlbnQoKTsKIH0KIApJbmRleDogU291cmNlL1dURi93dGYvUnVuTG9v
cC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw4
ICs1OCw3IEBAIHVzaW5nIFJ1bkxvb3BNb2RlID0gdW5zaWduZWQ7CiBjbGFzcyBSdW5Mb29wIGZp
bmFsIDogcHVibGljIEZ1bmN0aW9uRGlzcGF0Y2hlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUnVuTG9vcCk7CiBwdWJsaWM6Ci0gICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFp
biB0aHJlYWQgKGV4Y2VwdCBmb3IgdGhlIE1hYyBwbGF0Zm9ybSwgd2hlcmUgaXQKLSAgICAvLyBj
YW4gYmUgY2FsbGVkIGZyb20gYW55IHRocmVhZCkuCisgICAgLy8gTXVzdCBiZSBjYWxsZWQgZnJv
bSB0aGUgbWFpbiB0aHJlYWQuCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHN0YXRpYyB2b2lkIGlu
aXRpYWxpemVNYWluKCk7CiAjaWYgVVNFKFdFQl9USFJFQUQpCiAgICAgV1RGX0VYUE9SVF9QUklW
QVRFIHN0YXRpYyB2b2lkIGluaXRpYWxpemVXZWIoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI2MzU0OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE3IEBACisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5j
b20+CisKKyAgICAgICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlh
bGl6ZSB0aGUgbWFpbiBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAg
ICAgIChSdW5XZWJUaHJlYWQpOiBSZW1vdmVkIGNhbGwgdG8gaW5pdGlhbGl6ZU1haW5UaHJlYWQo
KSBiZWNhdXNlIHRoZSBtYWluCisgICAgICAgIHRocmVhZCBjYWxscyBpdCBiZWZvcmUgc3RhcnRp
bmcgdGhlIHdlYiB0aHJlYWQsIHNvIGl0J3MgYSBuby1vcC4gKEFuZCBpZgorICAgICAgICBpdCB3
ZXJlIGFuIG9wLCBpdCB3b3VsZCBiZSBicm9rZW4uKQorICAgICAgICAoU3RhcnRXZWJUaHJlYWQp
OiBNZXJnZWQgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4gYW5kIGluaXRpYWxpemVUaHJlYWRpbmcK
KyAgICAgICAgaW50byBpbml0aWFsaXplTWFpblRocmVhZC4KKwogMjAyMC0wNi0yNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI1NjE2NiwgcjI2MDU5NikgV0tOYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3QuYWxsSFRUUEhl
YWRlckZpZWxkcyBuZWVkcyB0byBjb250YWluIFVzZXItQWdlbnQgYW5kIEFjY2VwdApJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQko
cmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJD
b3JlVGhyZWFkLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01ODQsMTAgKzU4NCw5IEBAIHN0YXRpYyB2
b2lkKiBSdW5XZWJUaHJlYWQodm9pZCopCiB7CiAgICAgRmxvYXRpbmdQb2ludEVudmlyb25tZW50
OjpzaW5nbGV0b24oKS5wcm9wYWdhdGVNYWluVGhyZWFkRW52aXJvbm1lbnQoKTsKIAotICAgIC8v
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKSBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIEpT
Qzo6aW5pdGlhbGl6ZVRocmVhZGluZygpIHNpbmNlIHRoZQorICAgIC8vIFdURjo6aW5pdGlhbGl6
ZVdlYlRocmVhZCgpIG5lZWRzIHRvIGJlIGNhbGxlZCBiZWZvcmUgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCkgc2luY2UgdGhlCiAgICAgLy8gY29kZSBpbnZva2VkIGJ5IHRoZSBsYXR0ZXIgbmVl
ZHMgdG8ga25vdyBpZiBpdCdzIHJ1bm5pbmcgb24gdGhlIFdlYlRocmVhZC4gU2VlCiAgICAgLy8g
PHJkYXI6Ly9wcm9ibGVtLzg1MDI0ODc+LgotICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQo
KTsKICAgICBXVEY6OmluaXRpYWxpemVXZWJUaHJlYWQoKTsKICAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKICAgICAKQEAgLTYzMyw3ICs2MzIsNyBAQCBzdGF0aWMgdm9pZCBTdGFydFdl
YlRocmVhZCgpCiAgICAgd2ViVGhyZWFkU3RhcnRlZCA9IFRSVUU7CiAKICAgICAvLyBUaHJlYWRH
bG9iYWxEYXRhIHRvdWNoZXMgQXRvbVN0cmluZywgd2hpY2ggcmVxdWlyZXMgVGhyZWFkaW5nIGlu
aXRpYWxpemF0aW9uLgotICAgIFdURjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIC8vIEluaXRpYWxpemUgQXRvbVN0cmluZyBv
biB0aGUgbWFpbiB0aHJlYWQuCiAgICAgV1RGOjpBdG9tU3RyaW5nOjppbml0KCk7CkBAIC02NDMs
OCArNjQyLDYgQEAgc3RhdGljIHZvaWQgU3RhcnRXZWJUaHJlYWQoKQogICAgIFdlYkNvcmU6OlRo
cmVhZEdsb2JhbERhdGEmIHVudXNlZCA9IFdlYkNvcmU6OnRocmVhZEdsb2JhbERhdGEoKTsKICAg
ICBVTlVTRURfUEFSQU0odW51c2VkKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7
Ci0KICAgICAvLyByZWdpc3RlciBjbGFzcyBmb3IgV2ViVGhyZWFkIGRlYWxsb2NhdGlvbgogICAg
IFdlYkNvcmVPYmpDRGVhbGxvY09uV2ViVGhyZWFkKFtXQUtXaW5kb3cgY2xhc3NdKTsKICAgICBX
ZWJDb3JlT2JqQ0RlYWxsb2NXaXRoV2ViVGhyZWFkTG9jayhbV0FLVmlldyBjbGFzc10pOwpJbmRl
eDogU291cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkRy
aXZlci9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJEcml2ZXIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXppbmcgdGhl
IG1haW4gdGhyZWFkIHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkRyaXZlclNlcnZp
Y2UuY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpXZWJEcml2ZXJTZXJ2aWNlOjpydW4pOgorCiAy
MDIwLTA2LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIGEgbG90IG9mIHVubmVjZXNzYXJ5IGNhbGxzIHRvIFJlZjo6Y29weVJlZigpCkluZGV4OiBT
b3VyY2UvV2ViRHJpdmVyL1dlYkRyaXZlclNlcnZpY2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNv
dXJjZS9XZWJEcml2ZXIvV2ViRHJpdmVyU2VydmljZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2
LDcgKzk2LDcgQEAgaW50IFdlYkRyaXZlclNlcnZpY2U6OnJ1bihpbnQgYXJnYywgY2hhcgogICAg
ICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogICAgIH0KIAotICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgaWYgKCFt
X3NlcnZlci5saXN0ZW4oaG9zdCwgcG9ydCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNi0yNSAgR2VvZmZyZXkg
R2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAgIEluaXRpYWxpemluZyB0aGUgbWFp
biB0aHJlYWQgc2hvdWxkIGluaXRpYWxpemUgdGhlIG1haW4gcnVuIGxvb3AKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzYzNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYktp
dDJJbml0aWFsaXplQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJ1bkluaXRpYWxpemF0aW9u
Q29kZSk6CisgICAgICAgIChXZWJLaXQ6OkluaXRpYWxpemVXZWJLaXQyKToKKyAgICAgICAgKiBT
aGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXpl
V2ViS2l0Mik6CisKIDIwMjAtMDYtMjUgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcHN0cmVhbSBkYXRlL3RpbWUgcGlja2VyIHN0eWxlCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZpc2lvbiAy
NjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIElu
aXRpYWxpemVXZWJLaXQyKCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWQoKTsKICAgICBBdG9tU3RyaW5nOjppbml0KCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNl
OjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdC9T
aGFyZWQvQ29jb2EvV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCShyZXZpc2lv
biAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6
ZUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHN0YXRpYyB2b2lkIHJ1
bkluaXRpYWxpemF0aW9uQ29kZSh2b2lkKiAKICNlbmRpZgogCiAgICAgSlNDOjppbml0aWFsaXpl
VGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVU
aHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwogCkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyB2b2lk
IHJ1bkluaXRpYWxpemF0aW9uQ29kZSh2b2lkKiAKIAogdm9pZCBJbml0aWFsaXplV2ViS2l0Migp
CiB7Ci0gICAgLy8gTWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2RlIGlzIHJ1biBvbmx5
IG9uY2UgYW5kIG9uIHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlrZSBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpCisgICAgLy8gTWFrZSBzdXJlIHRoZSBpbml0aWFsaXphdGlvbiBjb2Rl
IGlzIHJ1biBvbmx5IG9uY2UgYW5kIG9uIHRoZSBtYWluIHRocmVhZCBzaW5jZSB0aGluZ3MgbGlr
ZSBpbml0aWFsaXplTWFpblRocmVhZCgpCiAgICAgLy8gYXJlIG9ubHkgc2FmZSB0byBjYWxsIG9u
IHRoZSBtYWluIHRocmVhZC4KICAgICBzdGQ6OmNhbGxfb25jZShmbGFnLCBbXSB7CiAgICAgICAg
IGlmIChbTlNUaHJlYWQgaXNNYWluVGhyZWFkXSB8fCBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lv
bjo6Rmlyc3RXaXRoSW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uKSkKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDIwLTA2LTI1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSW5pdGlhbGl6aW5nIHRoZSBtYWluIHRocmVhZCBzaG91bGQgaW5pdGlhbGl6ZSB0aGUgbWFp
biBydW4gbG9vcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEzNjM3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAgICAgKCtbV2ViQmFja0Zv
cndhcmRMaXN0IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVt
Lm1tOgorICAgICAgICAoK1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXplXSk6CisgICAgICAgICog
TWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAg
ICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAgICAgICgrW1dlYkVsZW1l
bnREaWN0aW9uYXJ5IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFz
ZS5tbToKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZp
ZXcubW06CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXpl
XSk6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAg
ICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJh
c2VQbHVnaW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNj
YXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRp
YWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06Cisg
ICAgICAgICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgor
ICAgICAgICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJI
VE1MVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0
aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVz
b3VyY2UubW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJ
dGVyYXRvclByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgor
CiAyMDIwLTA2LTI0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgVXNlIE9iamVjdElkZW50aWZpZXI8Pmluc3RlYWQgb2YgV2ViQ29yZTo6bmV4dFBsYXliYWNr
VGFyZ2V0Q2xpZW50Q29udGV4dElkKCkgaW4gRG9jdW1lbnQuY3BwCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQko
cmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJC
YWNrRm9yd2FyZExpc3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9p
ZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0
aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBX
VEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJIaXN0b3J5SXRlbS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCShyZXZpc2lv
biAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJ
dGVtLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgKyAodm9pZClpbml0aWFs
aXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvTWlzYy9XZWJDYWNoZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9NaXNjL1dlYkNhY2hlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9NaXNjL1dlYkNhY2hlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw3
IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAg
IEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlv
bmFyeS5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlz
Yy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBA
QCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogfQogCkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQkocmV2
aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0
YWJhc2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogKyAoV2ViSWNvbkRhdGFiYXNlICop
c2hhcmVkSWNvbkRhdGFiYXNlCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lv
biAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRz
Y2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcxLDcgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdU
Rjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBXZWJLaXQ6OnNlbmRVc2VyQ2hhbmdlTm90
aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5z
L1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9uIDI2MzU0OSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2Uu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7
CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5n
KCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVN
YWluVGhyZWFkKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
UGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9u
IDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViTmV0c2NhcGVQ
bHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNyArMTYzLDcgQEAgLSAoTlBFcnJv
cilsb2FkUmVxdWVzdDooTlNNdXRhYmxlVVJMUmVxdQogKyAodm9pZClpbml0aWFsaXplCiB7CiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgc2VuZFVzZXJDaGFu
Z2VOb3RpZmljYXRpb25zKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Bs
dWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2Fw
ZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1BsdWdpbnMvSG9zdGVkL1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2luVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTA2LDcgKzEwNiw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAg
IFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZCgpOwogI2VuZGlmCiAgICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkK
QEAgLTEzOSw3ICsxMzksNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNl
bmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQkocmV2aXNpb24gMjYz
NTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTIzNDMsNyArMjM0Myw3IEBAICsgKHZv
aWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHJldmlzaW9uIDI2MzU0
OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViQXJjaGl2ZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtNzAsNyArNzAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAh
UExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJl
YWQoKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkRhdGFTb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJEYXRhU291cmNlLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE1NCw3ICsxNTQsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2Vi
RGF0YVNvdXJjZSBjbGFzc10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVN
YWluKCk7CisgICAgICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICNlbmRpZgogICAg
IH0KIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJIVE1MVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAzMiw3ICsxMDMyLDcgQEAg
KyAodm9pZClpbml0aWFsaXplCiAgICAgLy8gQW5kIHNvbWUgb2YgdGhpcyB3b3JrIGlzIGxpa2Vs
eSByZWR1bmRhbnQgc2luY2UgK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSBpcyBndWFyYW50ZWVk
IHRvIHJ1biBmaXJzdC4KIAogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgp
OwogCiAgICAgaWYgKCFvbGRTZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9uSU1QKSB7CiAgICAgICAg
IE1ldGhvZCBzZXRDdXJzb3JNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChbTlNXaW5k
b3cgY2xhc3NdLCBAc2VsZWN0b3IoX3NldEN1cnNvckZvck1vdXNlTG9jYXRpb246KSk7CkBAIC0y
NTY2LDcgKzI1NjYsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBbTlNBcHAgcmVnaXN0ZXJT
ZXJ2aWNlc01lbnVTZW5kVHlwZXM6W1tzZWxmIGNsYXNzXSBfc2VsZWN0aW9uUGFzdGVib2FyZFR5
cGVzXSByZXR1cm5UeXBlczpbW3NlbGYgY2xhc3NdIF9pbnNlcnRhYmxlUGFzdGVib2FyZFR5cGVz
XV07CiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIH0KIAogI2Vu
ZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2MzU0OSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4OCw3ICszODgs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBib29sIGF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZCA9IE1hY0FwcGxpY2F0aW9uOjppc0FwcGxlTWFpbCgpOwogICAgIGJv
b2wgd2ViU1FMRW5hYmxlZCA9IGZhbHNlOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUmVzb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQkod29ya2luZyBj
b3B5KQpAQCAtNjgsNyArNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsK
ICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlRl
eHRJdGVyYXRvci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlRleHRJdGVyYXRvci5tbQkocmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDcgKzQ4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAjZW5kaWYK
IH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQko
cmV2aXNpb24gMjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NTYwLDcgKzU1NjAsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0
aWFsaXplTWFpblRocmVhZCgpOwogI2VuZGlmCiAKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjpl
bmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwpJbmRleDogU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCShyZXZpc2lvbiAyNjM1NDkpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjgsNyArMTY4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkocmV2aXNpb24g
MjYzNTQ5KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDYtMjUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVu
QGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXppbmcgdGhlIG1haW4gdGhyZWFkIHNob3Vs
ZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6
V2ViVmlldyk6CisKIDIwMjAtMDYtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBNb3ZlIFByZWZpeGVkIFdlYkF1ZGlvIGludGVyZmFjZXMgYmVoaW5kIHRoZWly
IG93biBmZWF0dXJlIGZsYWcKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShy
ZXZpc2lvbiAyNjM1NDkpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgV2ViVmlldzo6c19hbGxvd1Np
dGVTcGVjaWZpY0hhY2tzID0KIFdlYlZpZXc6OldlYlZpZXcoKQogewogICAgIEpTQzo6aW5pdGlh
bGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMo
YWxsUHJpdmlsZWdlcygpKTsKICAgICBXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb246OnBl
cm1pdFByb2Nlc3NUb1VzZUNvb2tpZUFQSSh0cnVlKTsKIApJbmRleDogVG9vbHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjYzNTU2KQorKysgVG9v
bHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjAtMDYtMjYg
IEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBJbml0aWFsaXpp
bmcgdGhlIG1haW4gdGhyZWFkIHNob3VsZCBpbml0aWFsaXplIHRoZSBtYWluIHJ1biBsb29wCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2MzcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIFRl
c3RXZWJLaXRBUEkgdG8gc3RvcCB1c2luZyBSdW5Mb29wOjppbml0aWFsaXplTWFpbiBkaXJlY3Rs
eS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZlB0ci5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0FwcGxpY2F0aW9uTWFuaWZlc3RQYXJzZXIuY3BwOgorICAgICAgICAoQXBw
bGljYXRpb25NYW5pZmVzdFBhcnNlclRlc3Q6OlNldFVwKToKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OkNvbXBsZXhUZXh0Q29udHJvbGxlclRlc3Q6OlNldFVwKToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6Q29udGVudEV4dGVuc2lvblRlc3Q6OlNldFVwKToKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9G
aWxlTW9uaXRvci5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5t
bToKKyAgICAgICAgKGluaXRpYWxpemVJbkFwcEJyb3dzZXJQcml2YWN5VGVzdFNldHRpbmdzKToK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzQ29udHJvbGxlci5jcHA6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpUZXN0c0NvbnRyb2xsZXI6OlRlc3RzQ29udHJvbGxlcik6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChUZXN0Q29u
dHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMjAtMDYtMjYgIFRha2FzaGkgS29tb3JpICA8dGFr
YXNoaS5rb21vcmlAc29ueS5jb20+CiAKICAgICAgICAgQWRkIG15c2VsZiB0byBjb250cmlidXRv
cnMuanNvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHNDb250cm9sbGVyLmNwcAkocmV2
aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0c0NvbnRyb2xsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3NCw2IEBAIFRlc3RzQ29udHJvbGxlcjo6VGVzdHND
b250cm9sbGVyKCkKICAgICAvLyB0aGUgVGhyZWFkUmVzdHJpY3Rpb25WZXJpZmllciAtIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjExMgogICAgIC8vIFdlIHNob3Vs
ZCBtYWtlIHN1cmUgdGhhdCBhbGwgb2JqZWN0cyB0ZXN0ZWQgZWl0aGVyIGluaXRpYWxpemUgdGhy
ZWFkaW5nIG9yIGluaGVyaXQgZnJvbQogICAgIC8vIFRocmVhZFNhZmVSZWZDb3VudGVkIHNvIHRo
YXQgd2UgZG9uJ3QgaGF2ZSB0byBpbml0aWFsaXplIHRocmVhZGluZyBhdCBhbGwgaGVyZS4KLSAg
ICBXVEY6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhy
ZWFkKCk7CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwog
ICAgIEF0b21TdHJpbmc6OmluaXQoKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL1JlZlB0ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvUmVmUHRyLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvUmVmUHRyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTg1LDcgKzU4NSw3IEBAIFRF
U1QoV1RGX1JlZlB0ciwgUmVsZWFzZUluTm9uTWFpblRocmVhZCkKIAogVEVTVChXVEZfUmVmUHRy
LCBSZWxlYXNlSW5Ob25NYWluVGhyZWFkRGVzdHJveUluTWFpblRocmVhZCkKIHsKLSAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsK
ICAgICBkb25lID0gZmFsc2U7CiAgICAgVGhyZWFkOjpjcmVhdGUoIiIsIFtvYmplY3QgPSBNYWlu
VGhyZWFkU2FmZVJlZkNvdW50ZWRPYmplY3Q6OmNyZWF0ZSgpXSB7IH0pOwogICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9SdW5Mb29wLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvUnVuTG9vcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAg
c3RhdGljIGludCBjb3VudCA9IDEwMDsKIAogVEVTVChXVEZfUnVuTG9vcCwgRGVhZGxvY2spCiB7
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAKICAgICBzdHJ1Y3QgRGlzcGF0Y2hGcm9tRGVzdHJ1Y3RvclRlc3RlciB7CiAg
ICAgICAgIH5EaXNwYXRjaEZyb21EZXN0cnVjdG9yVGVzdGVyKCkgewpAQCAtNzYsNyArNzYsNyBA
QCBwcml2YXRlOgogCiBURVNUKFdURl9SdW5Mb29wLCBPbmVTaG90VGltZXIpCiB7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAKICAgICBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwogICAgIERlcml2ZWRPbmVTaG90VGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogCiBU
RVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIHsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGJvb2wg
dGVzdEZpbmlzaGVkID0gZmFsc2U7CiAgICAgRGVyaXZlZFJlcGVhdGluZ1RpbWVyIHRpbWVyKHRl
c3RGaW5pc2hlZCk7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQWJv
cnRhYmxlVGFza1F1ZXVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQWJvcnRhYmxlVGFza1F1ZXVlLmNwcAkocmV2aXNpb24gMjYzNTQ5KQorKysg
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Fib3J0YWJsZVRhc2tRdWV1ZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgVEVTVChBYm9ydGFibGVUYXNrUXVldWUs
IEFzeW5jVGFza3MpCiAgICAgQWJvcnRhYmxlVGFza1F1ZXVlIHRhc2tRdWV1ZTsKICAgICBib29s
IHRlc3RGaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgaW50IGN1cnJlbnRTdGVwIHsgMCB9OwotICAg
IFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVh
ZCgpOwogCiAgICAgYXV0byBiYWNrZ3JvdW5kVGhyZWFkRnVuY3Rpb24gPSBbJl0oKSB7CiAgICAg
ICAgIEVYUEVDVF9GQUxTRShpc01haW5UaHJlYWQoKSk7CkBAIC0xMDEsNyArMTAxLDcgQEAgVEVT
VChBYm9ydGFibGVUYXNrUXVldWUsIFN5bmNUYXNrcykKICAgICBib29sIHRlc3RGaW5pc2hlZCB7
IGZhbHNlIH07CiAgICAgYm9vbCBkZXN0cnVjdGVkUmVzcG9uc2VGbGFnIHsgZmFsc2UgfTsKICAg
ICBpbnQgY3VycmVudFN0ZXAgeyAwIH07Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsK
KyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBhdXRvIGJhY2tncm91bmRU
aHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZBTFNFKGlzTWFpblRocmVh
ZCgpKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBURVNUKEFib3J0YWJsZVRhc2tRdWV1ZSwgQWJvcnQp
CiAKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAgIGJvb2wgdGVzdEZpbmlz
aGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gYmFja2dyb3VuZFRocmVhZEZ1bmN0
aW9uID0gWyZdKCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWluVGhyZWFkKCkpOwpAQCAt
MjQwLDcgKzI0MCw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBBYm9ydEJlZm9yZVN5bmMK
IHsKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAgIGJvb2wgdGVzdEZpbmlz
aGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gYmFja2dyb3VuZFRocmVhZEZ1bmN0
aW9uID0gWyZdKCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWluVGhyZWFkKCkpOwpAQCAt
Mjc3LDcgKzI3Nyw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBBYm9ydGVkQnlTeW5jVGEK
ICAgICBib29sIHRlc3RGaW5pc2hlZCB7IGZhbHNlIH07CiAgICAgaW50IGN1cnJlbnRTdGVwIHsg
MCB9OwogICAgIGJvb2wgZGVzdHJ1Y3RlZFJlc3BvbnNlRmxhZyB7IGZhbHNlIH07Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7
CiAKICAgICBhdXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAg
RVhQRUNUX0ZBTFNFKGlzTWFpblRocmVhZCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBh
cnNlci5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAg
ICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgICAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpbigpOworICAgICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAg
ICAgICAgbV9tYW5pZmVzdFVSTCA9IHsgeyB9LCAiaHR0cHM6Ly9leGFtcGxlLmNvbS9tYW5pZmVz
dC5qc29uIiB9OwogICAgICAgICBtX2RvY3VtZW50VVJMID0geyB7IH0sICJodHRwczovL2V4YW1w
bGUuY29tLyIgfTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAyNjM1NDkp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9s
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGlu
ZygpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgICAgICBXVEY6Omlu
aXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgfQogfTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCShy
ZXZpc2lvbiAyNjM1NDkpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29u
dGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAgIHsKICAgICAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CisgICAg
ICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICB9CiB9OwogCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAkocmV2aXNpb24gMjYzNTQ5KQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ROUy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQxLDcgKzQxLDcgQEAgYm9vbCBkb25lID0gZmFsc2U7CiAKIFRFU1QoRE5TVGVzdCwg
Y2FuY2VsUmVzb2x2ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAg
IFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKIAogICAgIGNvbnN0IFN0cmluZyBob3N0bmFt
ZSA9IFN0cmluZygid3d3LndlYmtpdC5vcmciKTsKICAgICB1aW50NjRfdCBpZGVudGlmaWVyID0g
MTsKQEAgLTYzLDcgKzYzLDcgQEAgVEVTVChETlNUZXN0LCBjYW5jZWxSZXNvbHZlRE5TKQogCiBU
RVNUKEROU1Rlc3QsIGNhbm5vdFJlc29sdmVETlMpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6
ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAKICAgICBjb25zdCBT
dHJpbmcgaG9zdG5hbWUgPSBTdHJpbmcoIm5vdGF2YWxpZGRvbWFpbi5ub3RhdmFsaWRkb21haW4i
KTsKICAgICB1aW50NjRfdCBpZGVudGlmaWVyID0gMTsKQEAgLTg0LDcgKzg0LDcgQEAgVEVTVChE
TlNUZXN0LCBjYW5ub3RSZXNvbHZlRE5TKQogCiBURVNUKEROU1Rlc3QsIHJlc29sdmVETlMpCiB7
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAKICAgICBjb25zdCBTdHJpbmcgaG9zdG5hbWUgPSBTdHJpbmcoInd3dy53ZWJr
aXQub3JnIik7CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7CkluZGV4OiBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmlsZU1vbml0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRvci5jcHAJKHJldmlzaW9u
IDI2MzU0OSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRv
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgRmlsZU1vbml0b3JU
ZXN0IDogcHVibGljIHRlc3Rpbmc6OgogcHVibGljOgogICAgIHZvaWQgU2V0VXAoKSBvdmVycmlk
ZQogICAgIHsKLSAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICAgICAgV1RG
Ojppbml0aWFsaXplTWFpblRocmVhZCgpOwogICAgICAgICAKICAgICAgICAgLy8gY3JlYXRlIHRl
bXAgZmlsZQogICAgICAgICBGaWxlU3lzdGVtOjpQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlOwpA
QCAtMTQ0LDcgKzE0NCw3IEBAIFRFU1RfRihGaWxlTW9uaXRvclRlc3QsIERldGVjdENoYW5nZSkK
IHsKICAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRlbXBGaWxlUGF0aCgp
KSk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6
ZU1haW5UaHJlYWQoKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUo
IlRlc3QgV29yayBRdWV1ZSIpOwogCkBAIC0xODYsNyArMTg2LDcgQEAgVEVTVF9GKEZpbGVNb25p
dG9yVGVzdCwgRGV0ZWN0TXVsdGlwbGVDaAogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06
OmZpbGVFeGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVN
YWluKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgYXV0byB0ZXN0
UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVlIik7CiAKQEAgLTI0Niw3
ICsyNDYsNyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3REZWxldGlvbikKIHsKICAg
ICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRlbXBGaWxlUGF0aCgpKSk7CiAK
LSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOworICAgIFdURjo6aW5pdGlhbGl6ZU1haW5U
aHJlYWQoKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoIlRlc3Qg
V29yayBRdWV1ZSIpOwogCkBAIC0yODUsNyArMjg1LDcgQEAgVEVTVF9GKEZpbGVNb25pdG9yVGVz
dCwgRGV0ZWN0Q2hhbmdlQW5kVAogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmZpbGVF
eGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7
CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOwogCiAgICAgYXV0byB0ZXN0UXVldWUg
PSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVlIik7CiAKQEAgLTM0Miw3ICszNDIs
NyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3REZWxldGVCdXROCiB7CiAgICAgRVhQ
RUNUX1RSVUUoRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyh0ZW1wRmlsZVBhdGgoKSkpOwogCi0gICAg
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFk
KCk7CiAKICAgICBhdXRvIHRlc3RRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJUZXN0IFdvcmsg
UXVldWUiKTsKIApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9J
bkFwcEJyb3dzZXJQcml2YWN5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbQkocmV2aXNpb24gMjYzNTQ5
KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQ
cml2YWN5Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIHZvaWQg
Y2xlYW5VcEluQXBwQnJvd3NlclByaXZhY3lUZQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplSW5B
cHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0aW5ncygpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6
ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAgICAgV2ViQ29yZTo6
Y2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKTsKICAgICBJ
Tl9BUFBfQlJPV1NFUl9QUklWQUNZX0FERElUSU9OUwogfQpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI2MzU0OSkKKysrIFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDUs
NyArNDQ1LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZShpbnQgYXJnYwogICAg
IEF1dG9kcmFpbmVkUG9vbCBwb29sOwogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKKyAgICBXVEY6OmluaXRpYWxpemVNYWlu
VGhyZWFkKCk7CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkp
OwogCiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>