<?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>210845</bug_id>
          
          <creation_ts>2020-04-21 21:55:29 -0700</creation_ts>
          <short_desc>[Cocoa] Build with UChar as char16_t even in builds that use Apple&apos;s internal SDK</short_desc>
          <delta_ts>2020-04-22 21:35:17 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210812</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=209694</see_also>
          <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>
          <dependson>209694</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>toyoshim</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644204</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-21 21:55:29 -0700</bug_when>
    <thetext>[Cocoa] Build with UChar as char16_t even in builds that use Apple&apos;s internal SDK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644208</commentid>
    <comment_count>1</comment_count>
      <attachid>397168</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-21 22:03:26 -0700</bug_when>
    <thetext>Created attachment 397168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644210</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-21 22:05:02 -0700</bug_when>
    <thetext>Almost ready to go. The only remaining problem is that there is a failure with Apple&apos;s internal installhdrs mechanism; will definitely need to fix that before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644482</commentid>
    <comment_count>3</comment_count>
      <attachid>397257</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 13:59:49 -0700</bug_when>
    <thetext>Created attachment 397257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644484</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 14:00:42 -0700</bug_when>
    <thetext>New patch has everything needed now. This includes more than Anders reviewed, but I took the liberty of still leaving his name in as reviewer. Waiting for feedback before I land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644485</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-04-22 14:01:36 -0700</bug_when>
    <thetext>I was 30 seconds too late to complain about not undoing the StringConcatenate.cpp test workaround in this patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644486</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 14:03:36 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #5)
&gt; I was 30 seconds too late to complain about not undoing the
&gt; StringConcatenate.cpp test workaround in this patch...

(For what it&apos;s worth, I had fixed that locally less than 30 seconds after posting the first one.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644501</commentid>
    <comment_count>7</comment_count>
      <attachid>397261</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 14:35:02 -0700</bug_when>
    <thetext>Created attachment 397261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644520</commentid>
    <comment_count>8</comment_count>
      <attachid>397261</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 15:01:27 -0700</bug_when>
    <thetext>Comment on attachment 397261
Patch

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

&gt; Tools/ChangeLog:7
&gt; +2020-04-22  Darin Adler  &lt;darin@apple.com&gt;
&gt; +
&gt; +        [Cocoa] Build with UChar as char16_t even in builds that use Apple&apos;s internal SDK
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=210845
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +

I’ll fix this before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644609</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 18:06:07 -0700</bug_when>
    <thetext>If I don’t get any more comments in the next couple of hours, I’ll land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644663</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-22 21:34:39 -0700</bug_when>
    <thetext>Committed r260554: &lt;https://trac.webkit.org/changeset/260554&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644664</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-22 21:35:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/62230569&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397168</attachid>
            <date>2020-04-21 22:03:26 -0700</date>
            <delta_ts>2020-04-22 13:59:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210845-20200421220324.patch</filename>
            <type>text/plain</type>
            <size>21077</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkZWQ5NzAxYTYyMTlkMzZkMzE3OWFhMWVjMDQzMDc5ZWIzMjBhLi5kNDlhOTFiNzYwYmY1MTgy
MWZhZWU1ZDY2Y2I5ODQ4YzdmYWEyYjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVp
bGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6
IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgorCiAyMDIwLTA0LTIx
ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgYnVpbGQgZml4IGZvciB3YXRjaE9TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYxYWZkZTUyMTdjNTRmMjliY2NhYzZiMTNk
NDZhMTliYzNmNmY3ZjAuLjhkNTU5ZTUxZTFlZTY0OWJjYzI3YzQ2ZWU1ZjMyOGQ0YTc4YTJkMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDQtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQnVpbGQgd2l0aCBVQ2hhciBhcyBjaGFyMTZfdCBl
dmVuIGluIGJ1aWxkcyB0aGF0IHVzZSBBcHBsZSdzIGludGVybmFsIFNESworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNl
LnhjY29uZmlnOiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBTZXQgbWFjcm9zIGhlcmUuIFRoZSBmaWxlIHNheXMg
bm90IHRvIHB1dCB0aGluZ3MgbGlrZSB0aGlzIGluIGl0LAorICAgICAgICBidXQgaW4gcHJhY3Rp
Y2UgdGhpcyBpcyB0aGUgcmlnaHQgcGxhY2UgdG8gcHV0IHNvbWV0aGluZyB0aGF0IHdlIG5lZWQg
c2V0IGNvbnNpc3RlbnRseQorICAgICAgICBmb3IgYWxsIHRoZSBXZWJLaXQgcHJvamVjdHMuCisg
ICAgICAgIC0gVV9ISURFX0RFUFJFQ0FURURfQVBJLCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdXNl
IGl0IGJ5IGFjY2lkZW50LgorICAgICAgICAtIFVfU0hPV19DUExVU1BMVVNfQVBJPTAsIHRvIG1h
a2Ugc3VyZSB3ZSBkb24ndCB1c2UgaXQgYnkgYWNjaWRlbnQuCisgICAgICAgIC0gVUNIQVJfVFlQ
RT1jaGFyMTZfdCB3aGVuIGNvbXBpbGluZyBDKyssIHdoaWNoIGlzIHRoZSBkZWZhdWx0IG9uIG1v
c3QgcGxhdGZvcm1zLAorICAgICAgICAgIGJ1dCBub3QgdGhlIGRlZmF1bHQgaW4gQXBwbGUncyBp
bnRlcm5hbCBTREsuCisgICAgICAgIC0gVV9ESVNBQkxFX1JFTkFNSU5HIHdoZW4gYnVpbGRpbmcg
b24gQXBwbGUgcGxhdGZvcm1zLCBpbXBvcnRhbnQgc28gd2UgY2FuIGxpbmsKKyAgICAgICAgICB0
byBhbiBvbGRlciB2ZXJzaW9uIG9mIElDVSBhbmQgc3RpbGwgbG9hZCB3aXRoIGEgbmV3ZXIgdmVy
c2lvbi4KKworICAgICAgICAqIHd0Zi9VUkxIZWxwZXJzLmNwcDogUmV3b3JrIHRvIG5vdCB1c2Ug
ZGVwcmVjYXRlZCBVU0NSSVBUX0NPREVfTElNSVQuCisgICAgICAgIChXVEY6OlVSTEhlbHBlcnM6
OndoaXRlTGlzdElETlNjcmlwdCk6IEFkZGVkIG92ZXJsb2Fkcy4KKyAgICAgICAgKFdURjo6VVJM
SGVscGVyczo6aW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QpOiBVc2UgYW4gYXJy
YXkgb2YKKyAgICAgICAgVVNjcmlwdENvZGUgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBzdHJpbmdz
LgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJzOjphbGxDaGFyYWN0ZXJzSW5JRE5TY3JpcHRXaGl0
ZUxpc3QpOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUuCisKKyAgICAgICAgKiB3dGYvY29jb2EvTlNV
UkxFeHRyYXMubW06CisgICAgICAgIChXVEY6OmRlY29kZVBlcmNlbnRFc2NhcGVzKTogVXNlIGNy
ZWF0ZUNGU3RyaW5nIGluc3RlYWQgb2YgY29udmVydGluZyB0byBOU3RyaW5nCisgICAgICAgIGFu
ZCB0aGVuIHR5cGVjYXN0aW5nLgorICAgICAgICAoV1RGOjpVUkxCeVRydW5jYXRpbmdPbmVDaGFy
YWN0ZXJCZWZvcmVDb21wb25lbnQpOiBVcGRhdGVkIHRvIHVzZSBhIGNvbnN0ZXhwcgorICAgICAg
ICBpbnN0ZWFkIG9mIGEgbWFjcm8uCisgICAgICAgIChXVEY6OmRhdGFGb3JVUkxDb21wb25lbnRU
eXBlKTogRGl0dG8uCisgICAgICAgIChXVEY6OlVSTEJ5UmVtb3ZpbmdDb21wb25lbnRBbmRTdWJz
ZXF1ZW50Q2hhcmFjdGVyKTogRGl0dG8uCisgICAgICAgIChXVEY6Om9yaWdpbmFsVVJMRGF0YSk6
IERpdHRvLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDYx
OTNhYjVkNGQ0MTMzZDI4Yjk4YTQ0Yzc3MTBhNmViN2IyNGZkMS4uY2M2MjhlMWVlMDU3ODIwM2U2
YmJiMGY2NzIwNjBlM2I4NGYzZTAyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIw
LTA0LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBw
bGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZzogTW92ZSBJQ1UtY29u
ZmlndXJpbmcgbWFjcm9zIHRvIFBsYXRmb3JtLmguCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1bGF0ZUdseXBoT3JpZW50YXRpb25BbmdsZSBj
b25zdCk6CisgICAgICAgIFJlbW92ZSBkZXByZWNhdGVkIFVfRUFfQ09VTlQuCisKIDIwMjAtMDQt
MjEgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04gKHIyNTQ3OTApOiBObyBsb25nZXIgZ2V0IHNtb290aCBzY3JvbGxpbmcgb24gbXVzaWMu
YXBwbGUuY29tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJmMzE5MzM0OWViOGM2MmYyM2Y2ZWJiOTJlMWUyMzAyNzA2
ZjVhZjkuLjUwY2UzZDNkODAwODI4NGNmOWI2M2Q3MmIwZTYxMjc5MDQ5M2I2NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDQtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFtDb2NvYV0gQnVpbGQgd2l0aCBVQ2hhciBhcyBjaGFyMTZfdCBldmVu
IGluIGJ1aWxkcyB0aGF0IHVzZSBBcHBsZSdzIGludGVybmFsIFNESworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODQ1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFy
Z2V0LnhjY29uZmlnOiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4K
KwogMjAyMC0wNC0yMSAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI2MDQ3OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZwppbmRleCBlN2U1YWZhMzRhOTg1YmJkYzhhNWY3MGUwM2UxNzUyNDM2Mjk2MzRlLi4xNDg3
YmVlZDk3ZGQxYmM5ZTc1YzdiNmQ4Y2IwNGUzYzIxYTE0MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDQtMjEgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQnVpbGQgd2l0aCBVQ2hhciBhcyBjaGFy
MTZfdCBldmVuIGluIGJ1aWxkcyB0aGF0IHVzZSBBcHBsZSdzIGludGVybmFsIFNESworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwODQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9XZWJLaXRMZWdhY3kueGNjb25maWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQ
bGF0Zm9ybS5oLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDVhZWJh
N2Y3MWEyMmNjZDQ3NzI2ZGJmOTM4N2I2Mzc3ZjljYWE0MDkuLjc2OWNjNDE3YzI1ZjUxZTliMWFj
NDA5ZTI3NjY5MGZjZGNmNTdlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC02OCw3ICs2OCw3IEBAIEdDQ19JTkxJTkVT
X0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKIEdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwog
R0NDX09CSkNfQ0FMTF9DWFhfQ0RUT1JTID0gWUVTOwogR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hF
QURFUiA9IFlFUzsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoRkVBVFVSRV9ERUZJTkVTKSBVX0hJREVfREVQUkVDQVRFRF9BUEkgVV9ESVNBQkxFX1JF
TkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCAkKGluaGVyaXRlZCk7CitHQ0NfUFJFUFJP
Q0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykg
JChpbmhlcml0ZWQpOwogR0NDX1NUUklDVF9BTElBU0lORyA9IFlFUzsKIEdDQ19USFJFQURTQUZF
X1NUQVRJQ1MgPSBOTzsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2Uv
V1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggZjBhNmYxOWRlZDQ3M2IyZDRi
ODcxM2IyNTEzNjMxMjIyNjNmMmMxMy4uNmNlNzMzMDJkYzRjMDQ1YjU1YjMzMjU4ZWViOWM4MzA2
ZTY1ODA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNjks
NyArNjksNyBAQCBHQ0NfSU5MSU5FU19BUkVfUFJJVkFURV9FWFRFUk4gPSBZRVM7CiBHQ0NfTk9f
Q09NTU9OX0JMT0NLUyA9IFlFUzsKIEdDQ19PQkpDX0NBTExfQ1hYX0NEVE9SUyA9IFlFUzsKIEdD
Q19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklO
SVRJT05TID0gJChERUJVR19ERUZJTkVTKSBVX0RJU0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BM
VVNQTFVTX0FQST0wICQoaW5oZXJpdGVkKTsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMg
PSAkKERFQlVHX0RFRklORVMpICQoaW5oZXJpdGVkKTsKIEdDQ19TVFJJQ1RfQUxJQVNJTkcgPSBZ
RVM7CiBHQ0NfVEhSRUFEU0FGRV9TVEFUSUNTID0gTk87CiBHQ0NfVFJFQVRfV0FSTklOR1NfQVNf
RVJST1JTID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMGVkODIxZTJiYWNiNDY3Y2VkZDE4ZDUyMjg4
MjExNjVjZjBmYTExYy4uZjdhNGNiNWUxZDgyMmY1YmM0YTEyMGRjMjZlMDViOTU4OWNiNjdkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCkBAIC0xMDcsNiArMTA3LDE3IEBACiAjZGVmaW5lIF9fQVNTRVJUX01BQ1JP
U19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlNDT1JFUyAwCiAjZW5kaWYKIAorLyogRklY
TUU6IFRoaXMgZG9lcyBub3QgYmVsb25nIGluIFBsYXRmb3JtLmggYW5kIHNob3VsZCBpbnN0ZWFk
IGJlIGluY2x1ZGVkIGluIGFub3RoZXIgbWVjaGFuaXNtIChjb21waWxlciBvcHRpb24sIHByZWZp
eCBoZWFkZXIsIGNvbmZpZy5oLCBldGMpICovCisvKiBJQ1UgY29uZmlndXJhdGlvbi4gU29tZSBv
ZiB0aGVzZSBtYXRjaCBJQ1UgZGVmYXVsdHMgb24gc29tZSBwbGF0Zm9ybXMsIGJ1dCB3ZSB3b3Vs
ZCBsaWtlIHRoZW0gY29uc2lzdGVudGx5IHNldCBldmVyeXdoZXJlIHdlIGJ1aWxkIFdlYktpdC4g
Ki8KKyNkZWZpbmUgVV9ISURFX0RFUFJFQ0FURURfQVBJIDEKKyNkZWZpbmUgVV9TSE9XX0NQTFVT
UExVU19BUEkgMAorI2lmZGVmIF9fY3BsdXNwbHVzCisjZGVmaW5lIFVDSEFSX1RZUEUgY2hhcjE2
X3QKKyNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVX0RJU0FCTEVfUkVOQU1J
TkcgMQorI2VuZGlmCisKICNpZiBDT01QSUxFUihNU1ZDKQogI3VuZGVmIF9fU1REQ19GT1JNQVRf
TUFDUk9TCiAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9VUkxIZWxwZXJzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuY3BwCmlu
ZGV4IDVlMGZmMTA1ZGRjMTUxMDk4NGViYzRmNmRkODZlNGRmNGU5NmU5N2QuLjM2ZjgwODk4Yzdk
MGZhNDQ1MWEzY2RiNWY3MmM2M2IyNWIyZGZmOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1VSTEhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VSTEhlbHBlcnMuY3BwCkBAIC00
MiwxNSArNDIsMjMgQEAgbmFtZXNwYWNlIFVSTEhlbHBlcnMgewogCiAvLyBOZWVkcyB0byBiZSBi
aWcgZW5vdWdoIHRvIGhvbGQgYW4gSUROLWVuY29kZWQgbmFtZS4KIC8vIEZvciBob3N0IG5hbWVz
IGJpZ2dlciB0aGFuIHRoaXMsIHdlIHdvbid0IGRvIElETiBlbmNvZGluZywgd2hpY2ggaXMgYWxt
b3N0IGNlcnRhaW5seSBPSy4KLWNvbnN0IHVuc2lnbmVkIGhvc3ROYW1lQnVmZmVyTGVuZ3RoID0g
MjA0ODsKLWNvbnN0IHVuc2lnbmVkIHVybEJ5dGVzQnVmZmVyTGVuZ3RoID0gMjA0ODsKK2NvbnN0
ZXhwciB1bnNpZ25lZCBob3N0TmFtZUJ1ZmZlckxlbmd0aCA9IDIwNDg7Citjb25zdGV4cHIgdW5z
aWduZWQgdXJsQnl0ZXNCdWZmZXJMZW5ndGggPSAyMDQ4OwogCi1zdGF0aWMgdWludDMyX3QgSURO
U2NyaXB0V2hpdGVMaXN0WyhVU0NSSVBUX0NPREVfTElNSVQgKyAzMSkgLyAzMl07CisvLyBUaGlz
IG5lZWRzIHRvIGJlIGhpZ2hlciB0aGFuIHRoZSBVU2NyaXB0Q29kZSBmb3IgYW55IG9mIHRoZSBz
Y3JpcHRzIG9uIHRoZSBJRE4gd2hpdGVsaXN0LgorLy8gQXQgb25lIHBvaW50IHdlIHVzZWQgVVND
UklQVF9DT0RFX0xJTUlUIGZyb20gSUNVLCBidXQgdGhlcmUgYXJlIHR3byByZWFzb25zIG5vdCB0
byB1c2UgaXQuCisvLyAxKSBJQ1UgY29uc2lkZXJzIGl0IGRlcHJlY2F0ZWQsIHNvIGJ5IHNldHRp
bmcgVV9ISURFX0RFUFJFQ0FURUQgd2UgY2FuJ3Qgc2VlIGl0LgorLy8gMikgTm8gZ29vZCByZWFz
b24gdG8gbGltaXQgb3Vyc2VsdmVzIHRvIHNjcmlwdHMgdGhhdCBleGlzdGVkIGluIHRoZSBJQ1Ug
aGVhZGVycyB3aGVuCisvLyAgICBXZWJLaXQgd2FzIGNvbXBpbGVkLgorLy8gVGhpcyBpcyBvbmx5
IHJlYWxseSBpbXBvcnRhbnQgZm9yIHBsYXRmb3JtcyB0aGF0IGxvYWQgYW4gZXh0ZXJuYWwgSUNV
IHdoaXRlbGlzdC4KKy8vIE5vdCBpbXBvcnRhbnQgZm9yIHRoZSBjb21waWxlZC1pbiBvbmUuCitj
b25zdGV4cHIgYXV0byBzY3JpcHRDb2RlTGltaXQgPSBzdGF0aWNfY2FzdDxVU2NyaXB0Q29kZT4o
MjU2KTsKKworc3RhdGljIHVpbnQzMl90IElETlNjcmlwdFdoaXRlTGlzdFsoc2NyaXB0Q29kZUxp
bWl0ICsgMzEpIC8gMzJdOwogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQogCi0vLyBDb2NvYSBoYXMg
YW4gaW1wbGVtZW50YXRpb24gdGhhdCB1c2VzIGEgd2hpdGVsaXN0IGluIC9MaWJyYXJ5IG9yIH4v
TGlicmFyeSwKLS8vIGlmIGl0IGV4aXN0cy4KKy8vIENvY29hIGhhcyBhbiBpbXBsZW1lbnRhdGlv
biB0aGF0IHVzZXMgYSB3aGl0ZWxpc3QgaW4gL0xpYnJhcnkgb3Igfi9MaWJyYXJ5LCBpZiBpdCBl
eGlzdHMuCiB2b2lkIGxvYWRJRE5TY3JpcHRXaGl0ZUxpc3QoKQogewogICAgIHN0YXRpYyBzdGQ6
Om9uY2VfZmxhZyBmbGFnOwpAQCAtMjU2LDQyICsyNjQsNTEgQEAgc3RhdGljIGJvb2wgaXNMb29r
YWxpa2VDaGFyYWN0ZXIoY29uc3QgT3B0aW9uYWw8VUNoYXIzMj4mIHByZXZpb3VzQ29kZVBvaW50
LCBVQ2gKICAgICB9CiB9CiAKLXZvaWQgd2hpdGVMaXN0SUROU2NyaXB0KGNvbnN0IGNoYXIqIHNj
cmlwdE5hbWUpCitzdGF0aWMgdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoaW50MzJfdCBzY3JpcHQp
CiB7Ci0gICAgaW50MzJfdCBzY3JpcHQgPSB1X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1ND
UklQVCwgc2NyaXB0TmFtZSk7Ci0gICAgaWYgKHNjcmlwdCA+PSAwICYmIHNjcmlwdCA8IFVTQ1JJ
UFRfQ09ERV9MSU1JVCkgeworICAgIGlmIChzY3JpcHQgPj0gMCAmJiBzY3JpcHQgPCBzY3JpcHRD
b2RlTGltaXQpIHsKICAgICAgICAgc2l6ZV90IGluZGV4ID0gc2NyaXB0IC8gMzI7CiAgICAgICAg
IHVpbnQzMl90IG1hc2sgPSAxIDw8IChzY3JpcHQgJSAzMik7CiAgICAgICAgIElETlNjcmlwdFdo
aXRlTGlzdFtpbmRleF0gfD0gbWFzazsKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkIHdoaXRlTGlz
dElETlNjcmlwdChVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgd2hpdGVMaXN0SUROU2NyaXB0
KHN0YXRpY19jYXN0PGludDMyX3Q+KHNjcmlwdCkpOworfQorCit2b2lkIHdoaXRlTGlzdElETlNj
cmlwdChjb25zdCBjaGFyKiBzY3JpcHROYW1lKQoreworICAgIHdoaXRlTGlzdElETlNjcmlwdCh1
X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgc2NyaXB0TmFtZSkpOworfQorCiB2
b2lkIGluaXRpYWxpemVEZWZhdWx0SUROU2NyaXB0V2hpdGVMaXN0KCkKIHsKLSAgICBjb25zdCBj
aGFyKiBkZWZhdWx0SUROU2NyaXB0V2hpdGVMaXN0WzIwXSA9IHsKLSAgICAgICAgIkNvbW1vbiIs
Ci0gICAgICAgICJJbmhlcml0ZWQiLAotICAgICAgICAiQXJhYmljIiwKLSAgICAgICAgIkFybWVu
aWFuIiwKLSAgICAgICAgIkJvcG9tb2ZvIiwKLSAgICAgICAgIkNhbmFkaWFuX0Fib3JpZ2luYWwi
LAotICAgICAgICAiRGV2YW5hZ2FyaSIsCi0gICAgICAgICJEZXNlcmV0IiwKLSAgICAgICAgIkd1
amFyYXRpIiwKLSAgICAgICAgIkd1cm11a2hpIiwKLSAgICAgICAgIkhhbmd1bCIsCi0gICAgICAg
ICJIYW4iLAotICAgICAgICAiSGVicmV3IiwKLSAgICAgICAgIkhpcmFnYW5hIiwKLSAgICAgICAg
IkthdGFrYW5hX09yX0hpcmFnYW5hIiwKLSAgICAgICAgIkthdGFrYW5hIiwKLSAgICAgICAgIkxh
dGluIiwKLSAgICAgICAgIlRhbWlsIiwKLSAgICAgICAgIlRoYWkiLAotICAgICAgICAiWWkiLAor
ICAgIGNvbnN0ZXhwciBVU2NyaXB0Q29kZSBkZWZhdWx0SUROU2NyaXB0V2hpdGVMaXN0W10gPSB7
CisgICAgICAgIFVTQ1JJUFRfQ09NTU9OLAorICAgICAgICBVU0NSSVBUX0lOSEVSSVRFRCwKKyAg
ICAgICAgVVNDUklQVF9BUkFCSUMsCisgICAgICAgIFVTQ1JJUFRfQVJNRU5JQU4sCisgICAgICAg
IFVTQ1JJUFRfQk9QT01PRk8sCisgICAgICAgIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwK
KyAgICAgICAgVVNDUklQVF9ERVZBTkFHQVJJLAorICAgICAgICBVU0NSSVBUX0RFU0VSRVQsCisg
ICAgICAgIFVTQ1JJUFRfR1VKQVJBVEksCisgICAgICAgIFVTQ1JJUFRfR1VSTVVLSEksCisgICAg
ICAgIFVTQ1JJUFRfSEFOR1VMLAorICAgICAgICBVU0NSSVBUX0hBTiwKKyAgICAgICAgVVNDUklQ
VF9IRUJSRVcsCisgICAgICAgIFVTQ1JJUFRfSElSQUdBTkEsCisgICAgICAgIFVTQ1JJUFRfS0FU
QUtBTkFfT1JfSElSQUdBTkEsCisgICAgICAgIFVTQ1JJUFRfS0FUQUtBTkEsCisgICAgICAgIFVT
Q1JJUFRfTEFUSU4sCisgICAgICAgIFVTQ1JJUFRfVEFNSUwsCisgICAgICAgIFVTQ1JJUFRfVEhB
SSwKKyAgICAgICAgVVNDUklQVF9ZSSwKICAgICB9OwotICAgIGZvciAoY29uc3QgY2hhciogc2Ny
aXB0TmFtZSA6IGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QpCi0gICAgICAgIHdoaXRlTGlzdElE
TlNjcmlwdChzY3JpcHROYW1lKTsKKyAgICBmb3IgKGF1dG8gc2NyaXB0IDogZGVmYXVsdElETlNj
cmlwdFdoaXRlTGlzdCkKKyAgICAgICAgd2hpdGVMaXN0SUROU2NyaXB0KHNjcmlwdCk7CiB9CiAK
IHN0YXRpYyBib29sIGFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdoaXRlTGlzdChjb25zdCBVQ2hh
ciogYnVmZmVyLCBpbnQzMl90IGxlbmd0aCkKQEAgLTMxMiw3ICszMjksNyBAQCBzdGF0aWMgYm9v
bCBhbGxDaGFyYWN0ZXJzSW5JRE5TY3JpcHRXaGl0ZUxpc3QoY29uc3QgVUNoYXIqIGJ1ZmZlciwg
aW50MzJfdCBsZW5ndAogICAgICAgICAgICAgTE9HX0VSUk9SKCJnb3QgbmVnYXRpdmUgbnVtYmVy
IGZvciBzY3JpcHQgY29kZSBmcm9tIElDVTogJWQiLCBzY3JpcHQpOwogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChzY3JpcHQgPj0gVVNDUklQVF9DT0RF
X0xJTUlUKQorICAgICAgICBpZiAoc2NyaXB0ID49IHNjcmlwdENvZGVMaW1pdCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBzaXplX3QgaW5kZXggPSBzY3JpcHQgLyAzMjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL05TVVJMRXh0cmFzLm1tIGIvU291cmNl
L1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KaW5kZXggNDdkZWU2Mjk1NmEzMzQ0ZjY5NTEz
OGZlNjgzYjg0YjZjNzgzMTM5NS4uNDYzMWYyNzY4MTU5MWVjZDI1OGE4NjdhMDEzNmRhZGRjMDJi
NjkwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KKysr
IGIvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0KQEAgLTM2LDEyICszNiwxMiBA
QAogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL2NmL0NGVVJMRXh0cmFzLmg+
CiAKLSNkZWZpbmUgVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEggMjA0OAotCiBuYW1lc3BhY2UgV1RG
IHsKIAogdXNpbmcgbmFtZXNwYWNlIFVSTEhlbHBlcnM7CiAKK2NvbnN0ZXhwciB1bnNpZ25lZCB1
cmxCeXRlc0J1ZmZlckxlbmd0aCA9IDIwNDg7CisKIHN0YXRpYyBCT09MIHJlYWRJRE5TY3JpcHRX
aGl0ZUxpc3RGaWxlKE5TU3RyaW5nICpmaWxlbmFtZSkKIHsKICAgICBpZiAoIWZpbGVuYW1lKQpA
QCAtOTQsMTMgKzk0LDEwIEBAIHZvaWQgbG9hZElETlNjcmlwdFdoaXRlTGlzdCgpCiAgICAgCiBz
dGF0aWMgU3RyaW5nIGRlY29kZVBlcmNlbnRFc2NhcGVzKGNvbnN0IFN0cmluZyYgc3RyaW5nKQog
ewotICAgIE5TU3RyaW5nICpzdWJzdHJpbmcgPSAoTlNTdHJpbmcgKilzdHJpbmc7Ci0gICAgc3Vi
c3RyaW5nID0gQ0ZCcmlkZ2luZ1JlbGVhc2UoQ0ZVUkxDcmVhdGVTdHJpbmdCeVJlcGxhY2luZ1Bl
cmNlbnRFc2NhcGVzKG51bGxwdHIsIChDRlN0cmluZ1JlZilzdWJzdHJpbmcsIENGU1RSKCIiKSkp
OwotCisgICAgTlNTdHJpbmcgKnN1YnN0cmluZyA9IENGQnJpZGdpbmdSZWxlYXNlKENGVVJMQ3Jl
YXRlU3RyaW5nQnlSZXBsYWNpbmdQZXJjZW50RXNjYXBlcyhudWxscHRyLCBzdHJpbmcuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgQ0ZTVFIoIiIpKSk7CiAgICAgaWYgKCFzdWJzdHJpbmcpCiAgICAg
ICAgIHJldHVybiBzdHJpbmc7Ci0KLSAgICByZXR1cm4gKFN0cmluZylzdWJzdHJpbmc7CisgICAg
cmV0dXJuIHN1YnN0cmluZzsKIH0KIAogTlNTdHJpbmcgKmRlY29kZUhvc3ROYW1lKE5TU3RyaW5n
ICpzdHJpbmcpCkBAIC0xMzUsNyArMTMyLDcgQEAgTlNVUkwgKlVSTEJ5VHJ1bmNhdGluZ09uZUNo
YXJhY3RlckJlZm9yZUNvbXBvbmVudChOU1VSTCAqVVJMLCBDRlVSTENvbXBvbmVudFR5cGUKICAg
ICBpZiAoZnJhZ1JnLmxvY2F0aW9uID09IGtDRk5vdEZvdW5kKQogICAgICAgICByZXR1cm4gVVJM
OwogCi0gICAgVmVjdG9yPFVJbnQ4LCBVUkxfQllURVNfQlVGRkVSX0xFTkdUSD4gdXJsQnl0ZXMo
VVJMX0JZVEVTX0JVRkZFUl9MRU5HVEgpOworICAgIFZlY3RvcjxVSW50OCwgdXJsQnl0ZXNCdWZm
ZXJMZW5ndGg+IHVybEJ5dGVzKHVybEJ5dGVzQnVmZmVyTGVuZ3RoKTsKICAgICBDRkluZGV4IG51
bUJ5dGVzID0gQ0ZVUkxHZXRCeXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMLCB1cmxCeXRlcy5k
YXRhKCksIHVybEJ5dGVzLnNpemUoKSk7CiAgICAgaWYgKG51bUJ5dGVzID09IC0xKSB7CiAgICAg
ICAgIG51bUJ5dGVzID0gQ0ZVUkxHZXRCeXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMLCBudWxs
cHRyLCAwKTsKQEAgLTI2OSw3ICsyNjYsNyBAQCBzdGF0aWMgQk9PTCBoYXNRdWVzdGlvbk1hcmtP
bmx5UXVlcnlTdHJpbmcoTlNVUkwgKlVSTCkKIAogTlNEYXRhICpkYXRhRm9yVVJMQ29tcG9uZW50
VHlwZShOU1VSTCAqVVJMLCBDRlVSTENvbXBvbmVudFR5cGUgY29tcG9uZW50VHlwZSkKIHsKLSAg
ICBWZWN0b3I8VUludDgsIFVSTF9CWVRFU19CVUZGRVJfTEVOR1RIPiBhbGxCeXRlc0J1ZmZlcihV
UkxfQllURVNfQlVGRkVSX0xFTkdUSCk7CisgICAgVmVjdG9yPFVJbnQ4LCB1cmxCeXRlc0J1ZmZl
ckxlbmd0aD4gYWxsQnl0ZXNCdWZmZXIodXJsQnl0ZXNCdWZmZXJMZW5ndGgpOwogICAgIENGSW5k
ZXggYnl0ZXNGaWxsZWQgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIGFs
bEJ5dGVzQnVmZmVyLmRhdGEoKSwgYWxsQnl0ZXNCdWZmZXIuc2l6ZSgpKTsKICAgICBpZiAoYnl0
ZXNGaWxsZWQgPT0gLTEpIHsKICAgICAgICAgQ0ZJbmRleCBieXRlc1RvQWxsb2NhdGUgPSBDRlVS
TEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIG51bGxwdHIsIDApOwpAQCAtMzI1LDcg
KzMyMiw3IEBAIHN0YXRpYyBOU1VSTCAqVVJMQnlSZW1vdmluZ0NvbXBvbmVudEFuZFN1YnNlcXVl
bnRDaGFyYWN0ZXIoTlNVUkwgKlVSTCwgQ0ZVUkxDb21wCiAgICAgLy8gUmVtb3ZlIG9uZSBzdWJz
ZXF1ZW50IGNoYXJhY3Rlci4KICAgICByYW5nZS5sZW5ndGgrKzsKIAotICAgIFZlY3RvcjxVSW50
OCwgVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEg+IGJ1ZmZlcihVUkxfQllURVNfQlVGRkVSX0xFTkdU
SCk7CisgICAgVmVjdG9yPFVJbnQ4LCB1cmxCeXRlc0J1ZmZlckxlbmd0aD4gYnVmZmVyKHVybEJ5
dGVzQnVmZmVyTGVuZ3RoKTsKICAgICBDRkluZGV4IG51bUJ5dGVzID0gQ0ZVUkxHZXRCeXRlcygo
X19icmlkZ2UgQ0ZVUkxSZWYpVVJMLCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKICAg
ICBpZiAobnVtQnl0ZXMgPT0gLTEpIHsKICAgICAgICAgbnVtQnl0ZXMgPSBDRlVSTEdldEJ5dGVz
KChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIG51bGxwdHIsIDApOwpAQCAtMzU1LDggKzM1Miw4IEBA
IE5TVVJMICpVUkxCeVJlbW92aW5nVXNlckluZm8oTlNVUkwgKlVSTCkKIAogTlNEYXRhICpvcmln
aW5hbFVSTERhdGEoTlNVUkwgKlVSTCkKIHsKLSAgICBVSW50OCAqYnVmZmVyID0gKFVJbnQ4ICop
bWFsbG9jKFVSTF9CWVRFU19CVUZGRVJfTEVOR1RIKTsKLSAgICBDRkluZGV4IGJ5dGVzRmlsbGVk
ID0gQ0ZVUkxHZXRCeXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMLCBidWZmZXIsIFVSTF9CWVRF
U19CVUZGRVJfTEVOR1RIKTsKKyAgICBVSW50OCAqYnVmZmVyID0gKFVJbnQ4ICopbWFsbG9jKHVy
bEJ5dGVzQnVmZmVyTGVuZ3RoKTsKKyAgICBDRkluZGV4IGJ5dGVzRmlsbGVkID0gQ0ZVUkxHZXRC
eXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYpVVJMLCBidWZmZXIsIHVybEJ5dGVzQnVmZmVyTGVuZ3Ro
KTsKICAgICBpZiAoYnl0ZXNGaWxsZWQgPT0gLTEpIHsKICAgICAgICAgQ0ZJbmRleCBieXRlc1Rv
QWxsb2NhdGUgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIG51bGxwdHIs
IDApOwogICAgICAgICBidWZmZXIgPSAoVUludDggKilyZWFsbG9jKGJ1ZmZlciwgYnl0ZXNUb0Fs
bG9jYXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNv
cmUueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29u
ZmlnCmluZGV4IGEwYWRkMmE1NzFmMDBjNmZhMzliZDUzYmVhZjg2MWRkMTAyYjczNGYuLjZjZjNj
NDFhYTE1ZjZiYzJmNjZmZDdjZGI5MzQ5MzY1MzAyMjJjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZwpAQCAtMjcsNyArMjcsNyBAQAogI2lu
Y2x1ZGUgIldlYktpdFRhcmdldENvbmRpdGlvbmFscy54Y2NvbmZpZyIKIAogR0NDX1BSRUZJWF9I
RUFERVIgPSBXZWJDb3JlUHJlZml4Lmg7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0g
JChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykgQlVJTERJTkdfV0VCS0lUIFVfRElT
QUJMRV9SRU5BTUlORz0xIFVfU0hPV19DUExVU1BMVVNfQVBJPTAgR0xfU0lMRU5DRV9ERVBSRUNB
VElPTj0xIEdMRVNfU0lMRU5DRV9ERVBSRUNBVElPTj0xICQoaW5oZXJpdGVkKTsKK0dDQ19QUkVQ
Uk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVT
KSBCVUlMRElOR19XRUJLSVQgR0xfU0lMRU5DRV9ERVBSRUNBVElPTj0xIEdMRVNfU0lMRU5DRV9E
RVBSRUNBVElPTj0xICQoaW5oZXJpdGVkKTsKIAogV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUiA9
ICQoV0tfUFJJVkFURV9GUkFNRVdPUktTX0RJUl8kKFVTRV9JTlRFUk5BTF9TREspKTsKIFdLX1BS
SVZBVEVfRlJBTUVXT1JLU19ESVJfW3Nkaz1pcGhvbmUqXSA9ICQoUFJPSkVDVF9ESVIpLy4uLy4u
L1dlYktpdExpYnJhcmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLyQoV0tfVEFS
R0VUX0lPU19WRVJTSU9OX01BSk9SKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcAppbmRleCBlZDU3
ZWFiNWE0ZTdhYzEwZmM0ZTc1ZmExMmU4Y2ZjMWI0NTVjMmYzLi43YmUyMGQ4NDEzODFkZTg1ZTAy
NDU0ODhmZTVlZTU5YTZmNzEyYzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCkBAIC0xNjIs
OSArMTYyLDYgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVH
bHlwaE9yaWVudGF0aW9uQW5nbGUoYm9vbCBpc1ZlcnRpY2EKICAgICAgICAgY2FzZSBVX0VBX0ZV
TExXSURUSDoKICAgICAgICAgY2FzZSBVX0VBX1dJREU6CiAgICAgICAgICAgICByZXR1cm4gMDsK
LSAgICAgICAgY2FzZSBVX0VBX0NPVU5UOgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZp
Z3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL0Jhc2VUYXJnZXQueGNjb25maWcKaW5kZXggNmYyOGY3N2M4ZGRmMjRiODBlNWJlZWQ5MTRl
Yzk0ODUxZTVhNjA4Ni4uMzMxYWJhZjU1ZWQ5MTg5Y2Y0ZmM3YTkyMDYxNzE4ZDZjNGEyYWQ3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZp
ZwpAQCAtMzYsNyArMzYsNyBAQCBGUkFNRVdPUktfU0VBUkNIX1BBVEhTW3Nkaz1pcGhvbmUqXSA9
ICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlKSAkKFdLX1BSSVZBVAogU1lTVEVNX0ZSQU1F
V09SS19TRUFSQ0hfUEFUSFMgPSAkKGluaGVyaXRlZCkgJChTREtST09UKSQoU1lTVEVNX0xJQlJB
UllfRElSKS9Qcml2YXRlRnJhbWV3b3JrcyAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIp
L0ZyYW1ld29ya3M7CiAKIEdDQ19QUkVGSVhfSEVBREVSID0gV2ViS2l0MlByZWZpeC5oOwotR0ND
X1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RF
RklORVMpICQoV0tfQ09SRV9QUkVESUNUSU9OX0RFRklORVMpIFVfSElERV9ERVBSRUNBVEVEX0FQ
SSBVX0RJU0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BMVVNQTFVTX0FQST0wIEZSQU1FV09SS19O
QU1FPVdlYktpdDsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoRkVBVFVSRV9ERUZJTkVTKSAkKFdLX0NPUkVfUFJFRElDVElPTl9ERUZJTkVTKSBGUkFN
RVdPUktfTkFNRT1XZWJLaXQ7CiBXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUyA9
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMg
JChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlvbnM7CiBMSUJXRUJSVENf
SEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5j
bHVkZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGM7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktpdExlZ2Fj
eS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dlYktp
dExlZ2FjeS54Y2NvbmZpZwppbmRleCBiZThmNDhkZDNiOGM0MDEyOTExMzljOGNlYWQ4NmFkZDdl
MjI2MmFkLi44YTQ5MTYyNTBhMGE5YWUxNTcxMWMzMDZlMmIwNTM4YmRlMTNiMGEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJLaXRMZWdhY3ku
eGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvV2Vi
S2l0TGVnYWN5LnhjY29uZmlnCkBAIC00OSw3ICs0OSw3IEBAIE9USEVSX0NGTEFHU19DT0NPQV9U
T1VDSF9OTyA9IC1pZnJhbWV3b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJh
bWV3CiBPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVSX0NGTEFHU19D
T0NPQV9UT1VDSCk7CiAKIEdDQ19QUkVGSVhfSEVBREVSID0gbWFjL1dlYktpdFByZWZpeC5oOwot
R0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJF
X0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBVX0hJREVfREVQUkVDQVRFRF9BUEkgVV9ESVNBQkxF
X1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBGUkFNRVdPUktfTkFNRT1XZWJLaXRM
ZWdhY3kgJChpbmhlcml0ZWQpOworR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVC
VUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBGUkFNRVdPUktf
TkFNRT1XZWJLaXRMZWdhY3kgJChpbmhlcml0ZWQpOwogCiBXRUJLSVRBRERJVElPTlNfSEVBREVS
X1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS9X
ZWJLaXRBZGRpdGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJLaXRBZGRpdGlv
bnM7CiBMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElS
KS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS93
ZWJydGM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5jbWFrZSBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDkzZmJlMjBkM2U1NDk0NmVlY2Q2
NDZmNWQzZjEyYzdkY2UwNTc5ZTAuLmVhMTM2MjQ4M2U3ODBlNDE1Y2M4NTQ4Y2M2ZjkxNGIyYTg4
Y2Q4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCisrKyBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0xODAsNSArMTgwLDMgQEAgY2hl
Y2tfdHlwZV9zaXplKCJfX2ludDEyOF90IiBJTlQxMjhfVkFMVUUpCiBpZiAoSEFWRV9JTlQxMjhf
VkFMVUUpCiAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfSU5UMTI4X1QgSU5UMTI4X1ZB
TFVFKQogZW5kaWYgKCkKLQotYWRkX2RlZmluaXRpb25zKC1EVV9TSE9XX0NQTFVTUExVU19BUEk9
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFrZQppbmRleCAwNWI4NThkOWMyZTU4MmQzZTg5YzJi
NjI5M2NmMzk5YWIxODRlYjRiLi4yMzQ0NmQ3MmM2ZjQxZTZhOThlNzk5NDE2MDBjMDM3NjFhYWIz
N2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0pTQ09ubHkuY21ha2UKKysrIGIv
U291cmNlL2NtYWtlL09wdGlvbnNKU0NPbmx5LmNtYWtlCkBAIC05NSw3ICs5NSw0IEBAIGVsc2Ug
KCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChXVEZfREVGQVVMVF9FVkVOVF9MT09QIDAp
CiBlbmRpZiAoKQogCi1pZiAoQVBQTEUpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EVV9ESVNBQkxF
X1JFTkFNSU5HPTEpCi1lbmRpZiAoKQogZmluZF9wYWNrYWdlKElDVSA2MC4yIFJFUVVJUkVEIENP
TVBPTkVOVFMgZGF0YSBpMThuIHVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNN
YWMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQppbmRleCBjMWQ5NWQ2ZTg3
ZWQ5YTc5NzZlZmFhNDE2ODZjNzM4MTA5NzM0YTdkLi4xZjBiNDkwY2RjNTgyNzhhYmM4MzFjZTg3
Y2MwOTNhZDcxODVmZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQpAQCAtMTE5LDUgKzExOSw0IEBA
IHNldChKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEUgU0hBUkVEKQogc2V0KFdlYkNvcmVfTElC
UkFSWV9UWVBFIFNIQVJFRCkKIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfTElCUkFSWV9UWVBFIFNI
QVJFRCkKIAotYWRkX2RlZmluaXRpb25zKC1EVV9ESVNBQkxFX1JFTkFNSU5HPTEpCiBmaW5kX3Bh
Y2thZ2UoSUNVIDYwLjIgUkVRVUlSRUQgQ09NUE9ORU5UUyBkYXRhIGkxOG4gdWMpCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMWM0NzE3NTgyZmY5ODc3YzEyOGY2YjFj
NGEzNjU2ZmUzODY2NGY5Ni4uMGE0NDQzOTE5NzVhZGE5MWY0MjMxMDZmZjNjYzc3YWIyNWQ5YTMz
MyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1
c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNDb21tb24uY21ha2U6IE1vdmUg
SUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgorICAgICAgICAqIFNvdXJjZS9j
bWFrZS9PcHRpb25zSlNDT25seS5jbWFrZTogRGl0dG8uCisgICAgICAgICogU291cmNlL2NtYWtl
L09wdGlvbnNNYWMuY21ha2U6IERpdHRvLgorCiAyMDIwLTA0LTIxICBBZHJpYW4gUGVyZXogZGUg
Q2FzdHJvICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bQ01ha2VdIE1ha2Ug
Z3RrLXVuaXgtcHJpbnQgYSBjb21wb25lbnQgb2YgRmluZEdUSy5jbWFrZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397257</attachid>
            <date>2020-04-22 13:59:49 -0700</date>
            <delta_ts>2020-04-22 14:35:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210845-20200422135948.patch</filename>
            <type>text/plain</type>
            <size>34302</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkZWQ5NzAxYTYyMTlkMzZkMzE3OWFhMWVjMDQzMDc5ZWIzMjBhLi4xYWFiYzRlZDg4OTRmZmEx
ZGE0NzI5ZjYwMDg0NmRhY2Q5OTU5YzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVp
bGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
OiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKwogMjAyMC0wNC0y
MSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIGJ1aWxkIGZpeCBmb3Igd2F0Y2hPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA2MWFmZGU1MjE3YzU0ZjI5YmNjYWM2YjEz
ZDQ2YTE5YmMzZjZmN2YwLi5lYmE1N2Q5Y2JlZjZkODcwNWQzNDlkYjA5MWI1ZjAxN2MyZGI3MGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTIyICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3Qg
ZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFNldCBtYWNyb3MgaGVyZS4gVGhlIGZpbGUgc2F5
cyBub3QgdG8gcHV0IHRoaW5ncyBsaWtlIHRoaXMgaW4gaXQsCisgICAgICAgIGJ1dCBpbiBwcmFj
dGljZSB0aGlzIGlzIHRoZSByaWdodCBwbGFjZSB0byBwdXQgc29tZXRoaW5nIHRoYXQgd2UgbmVl
ZCBzZXQgY29uc2lzdGVudGx5CisgICAgICAgIGZvciBhbGwgdGhlIFdlYktpdCBwcm9qZWN0cy4K
KyAgICAgICAgLSBVX0hJREVfREVQUkVDQVRFRF9BUEksIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB1
c2UgaXQgYnkgYWNjaWRlbnQuCisgICAgICAgIC0gVV9TSE9XX0NQTFVTUExVU19BUEk9MCwgdG8g
bWFrZSBzdXJlIHdlIGRvbid0IHVzZSBpdCBieSBhY2NpZGVudC4KKyAgICAgICAgLSBVQ0hBUl9U
WVBFPWNoYXIxNl90IHdoZW4gY29tcGlsaW5nIEMrKywgd2hpY2ggaXMgdGhlIGRlZmF1bHQgb24g
bW9zdCBwbGF0Zm9ybXMsCisgICAgICAgICAgYnV0IG5vdCB0aGUgZGVmYXVsdCBpbiBBcHBsZSdz
IGludGVybmFsIFNESy4KKyAgICAgICAgLSBVX0RJU0FCTEVfUkVOQU1JTkcgd2hlbiBidWlsZGlu
ZyBvbiBBcHBsZSBwbGF0Zm9ybXMsIGltcG9ydGFudCBzbyB3ZSBjYW4gbGluaworICAgICAgICAg
IHRvIGFuIG9sZGVyIHZlcnNpb24gb2YgSUNVIGFuZCBzdGlsbCBsb2FkIHdpdGggYSBuZXdlciB2
ZXJzaW9uLgorCisgICAgICAgICogd3RmL1VSTC5jcHA6CisgICAgICAgIChXVEY6OlVSTDo6aG9z
dEFuZFBvcnQgY29uc3QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5zaWduZWQg
dG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQgYXMgYSBu
dW1iZXIgYnkgbWFrZVN0cmluZy4KKworICAgICAgICAqIHd0Zi9VUkxIZWxwZXJzLmNwcDogUmV3
b3JrIHRvIG5vdCB1c2UgZGVwcmVjYXRlZCBVU0NSSVBUX0NPREVfTElNSVQuCisgICAgICAgIChX
VEY6OlVSTEhlbHBlcnM6OndoaXRlTGlzdElETlNjcmlwdCk6IEFkZGVkIG92ZXJsb2Fkcy4KKyAg
ICAgICAgKFdURjo6VVJMSGVscGVyczo6aW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxp
c3QpOiBVc2UgYW4gYXJyYXkgb2YKKyAgICAgICAgVVNjcmlwdENvZGUgaW5zdGVhZCBvZiBhbiBh
cnJheSBvZiBzdHJpbmdzLgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJzOjphbGxDaGFyYWN0ZXJz
SW5JRE5TY3JpcHRXaGl0ZUxpc3QpOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUuCisKKyAgICAgICAg
KiB3dGYvY29jb2EvTlNVUkxFeHRyYXMubW06CisgICAgICAgIChXVEY6OmRlY29kZVBlcmNlbnRF
c2NhcGVzKTogVXNlIGNyZWF0ZUNGU3RyaW5nIGluc3RlYWQgb2YgY29udmVydGluZyB0byBOU3Ry
aW5nCisgICAgICAgIGFuZCB0aGVuIHR5cGVjYXN0aW5nLgorICAgICAgICAoV1RGOjpVUkxCeVRy
dW5jYXRpbmdPbmVDaGFyYWN0ZXJCZWZvcmVDb21wb25lbnQpOiBVcGRhdGVkIHRvIHVzZSBhIGNv
bnN0ZXhwcgorICAgICAgICBpbnN0ZWFkIG9mIGEgbWFjcm8uCisgICAgICAgIChXVEY6OmRhdGFG
b3JVUkxDb21wb25lbnRUeXBlKTogRGl0dG8uCisgICAgICAgIChXVEY6OlVSTEJ5UmVtb3ZpbmdD
b21wb25lbnRBbmRTdWJzZXF1ZW50Q2hhcmFjdGVyKTogRGl0dG8uCisgICAgICAgIChXVEY6Om9y
aWdpbmFsVVJMRGF0YSk6IERpdHRvLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1
NkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZDYxOTNhYjVkNGQ0MTMzZDI4Yjk4YTQ0Yzc3MTBhNmViN2IyNGZkMS4uN2Nj
YTc3OWVjNzgwYzU3ZDdmODI1YjZkZDJmYzZjYmI5Njg2Y2E5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDIwLTA0LTIyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWls
ZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25m
aWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgorCisgICAgICAg
ICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJTb2NrZXQ6OmNvbm5lY3QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5zaWdu
ZWQgdG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQgYXMg
YSBudW1iZXIgYnkgbWFrZVN0cmluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlR2x5cGhPcmllbnRhdGlvbkFuZ2xlIGNvbnN0KToK
KyAgICAgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgVV9FQV9DT1VOVC4KKwogMjAyMC0wNC0yMSAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjI1NDc5MCk6IE5vIGxvbmdlciBnZXQgc21vb3RoIHNjcm9sbGluZyBvbiBtdXNpYy5hcHBsZS5j
b20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggYmYzMTkzMzQ5ZWI4YzYyZjIzZjZlYmI5MmUxZTIzMDI3MDZmNWFmOS4u
YzA1NGVjZjY3OGJkZmY5ZDI1MTk4ZjE2MDgwMWY1NDk3ODA1NmRkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVp
bGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0Lnhj
Y29uZmlnOiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKworICAg
ICAgICAqIFBsYXRmb3JtL3VuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuaDogUmVtb3ZlZCB1bm5l
ZWRlZCBpbmNsdWRlcy4KKyAgICAgICAgVGhpcyBzaWRlc3RlcHMgYSBwcm9ibGVtIHdpdGggQXBw
bGUncyBpbnRlcm5hbCBJbnN0YWxsQVBJIHRvb2wgdGhhdCBoYXBwZW5zCisgICAgICAgIGlmIFN0
cmluZ1ZpZXcuaCBpcyBpbmNsdWRlZCBhbmQgUGxhdGZvcm0uaCBpcyBub3QgaW5jbHVkZWQgZmly
c3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oOiBSZW1vdmVk
IHVubmVlZGVkIGluY2x1ZGVzLCBhbmQgdXNlZAorICAgICAgICAjcHJhZ21hIG9uY2UuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmg6IE1vdmVkIG1vc3Qg
dGhpbmdzIG91dCBvZiB0aGUgaGVhZGVyLAorICAgICAgICBzaW5jZSB0aGV5IGRvbid0IG5lZWQg
dG8gYmUgdGhlcmUuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZl
ci5tbTogTW92ZWQgdGhlbSBoZXJlIGluY2x1ZGluZyB1c2luZyBhCisgICAgICAgIGNsYXNzIGV4
dGVuc2lvbiBmb3IgdGhlIGRhdGEgbWVtYmVyIG9mIFdLUHJlZmVyZW5jZU9ic2VydmVyLgorCisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hldXJp
c3RpY1BhcmFtZXRlcnMuaDoKKyAgICAgICAgUmVtb3ZlZCB1bm5lZWRlZCBXVEYgcHJlZml4Lgor
CiAyMDIwLTA0LTIxICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYwNDc4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCmluZGV4IGU3ZTVhZmEzNGE5ODViYmRjOGE1ZjcwZTAzZTE3NTI0MzYyOTYzNGUuLjRkZTQ2
MDY5ZmVmMzhkN2NlNWI1NjYxNDAwMjkxMzNiYTRkYzI0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wNC0yMSAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIx
Nl90IGV2ZW4gaW4gYnVpbGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9XZWJLaXRMZWdhY3kueGNjb25maWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQ
bGF0Zm9ybS5oLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDVhZWJh
N2Y3MWEyMmNjZDQ3NzI2ZGJmOTM4N2I2Mzc3ZjljYWE0MDkuLjc2OWNjNDE3YzI1ZjUxZTliMWFj
NDA5ZTI3NjY5MGZjZGNmNTdlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC02OCw3ICs2OCw3IEBAIEdDQ19JTkxJTkVT
X0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKIEdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwog
R0NDX09CSkNfQ0FMTF9DWFhfQ0RUT1JTID0gWUVTOwogR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hF
QURFUiA9IFlFUzsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoRkVBVFVSRV9ERUZJTkVTKSBVX0hJREVfREVQUkVDQVRFRF9BUEkgVV9ESVNBQkxFX1JF
TkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCAkKGluaGVyaXRlZCk7CitHQ0NfUFJFUFJP
Q0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykg
JChpbmhlcml0ZWQpOwogR0NDX1NUUklDVF9BTElBU0lORyA9IFlFUzsKIEdDQ19USFJFQURTQUZF
X1NUQVRJQ1MgPSBOTzsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2Uv
V1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggZjBhNmYxOWRlZDQ3M2IyZDRi
ODcxM2IyNTEzNjMxMjIyNjNmMmMxMy4uNmNlNzMzMDJkYzRjMDQ1YjU1YjMzMjU4ZWViOWM4MzA2
ZTY1ODA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNjks
NyArNjksNyBAQCBHQ0NfSU5MSU5FU19BUkVfUFJJVkFURV9FWFRFUk4gPSBZRVM7CiBHQ0NfTk9f
Q09NTU9OX0JMT0NLUyA9IFlFUzsKIEdDQ19PQkpDX0NBTExfQ1hYX0NEVE9SUyA9IFlFUzsKIEdD
Q19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklO
SVRJT05TID0gJChERUJVR19ERUZJTkVTKSBVX0RJU0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BM
VVNQTFVTX0FQST0wICQoaW5oZXJpdGVkKTsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMg
PSAkKERFQlVHX0RFRklORVMpICQoaW5oZXJpdGVkKTsKIEdDQ19TVFJJQ1RfQUxJQVNJTkcgPSBZ
RVM7CiBHQ0NfVEhSRUFEU0FGRV9TVEFUSUNTID0gTk87CiBHQ0NfVFJFQVRfV0FSTklOR1NfQVNf
RVJST1JTID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMGVkODIxZTJiYWNiNDY3Y2VkZDE4ZDUyMjg4
MjExNjVjZjBmYTExYy4uZjdhNGNiNWUxZDgyMmY1YmM0YTEyMGRjMjZlMDViOTU4OWNiNjdkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCkBAIC0xMDcsNiArMTA3LDE3IEBACiAjZGVmaW5lIF9fQVNTRVJUX01BQ1JP
U19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlNDT1JFUyAwCiAjZW5kaWYKIAorLyogRklY
TUU6IFRoaXMgZG9lcyBub3QgYmVsb25nIGluIFBsYXRmb3JtLmggYW5kIHNob3VsZCBpbnN0ZWFk
IGJlIGluY2x1ZGVkIGluIGFub3RoZXIgbWVjaGFuaXNtIChjb21waWxlciBvcHRpb24sIHByZWZp
eCBoZWFkZXIsIGNvbmZpZy5oLCBldGMpICovCisvKiBJQ1UgY29uZmlndXJhdGlvbi4gU29tZSBv
ZiB0aGVzZSBtYXRjaCBJQ1UgZGVmYXVsdHMgb24gc29tZSBwbGF0Zm9ybXMsIGJ1dCB3ZSB3b3Vs
ZCBsaWtlIHRoZW0gY29uc2lzdGVudGx5IHNldCBldmVyeXdoZXJlIHdlIGJ1aWxkIFdlYktpdC4g
Ki8KKyNkZWZpbmUgVV9ISURFX0RFUFJFQ0FURURfQVBJIDEKKyNkZWZpbmUgVV9TSE9XX0NQTFVT
UExVU19BUEkgMAorI2lmZGVmIF9fY3BsdXNwbHVzCisjZGVmaW5lIFVDSEFSX1RZUEUgY2hhcjE2
X3QKKyNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVX0RJU0FCTEVfUkVOQU1J
TkcgMQorI2VuZGlmCisKICNpZiBDT01QSUxFUihNU1ZDKQogI3VuZGVmIF9fU1REQ19GT1JNQVRf
TUFDUk9TCiAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9VUkwuY3BwIGIvU291cmNlL1dURi93dGYvVVJMLmNwcAppbmRleCAyYzUwNGJjZGE4
YmQzMmI3OGIzOTRhZDIyZjA3OTEyYTgzMjEwMWQ3Li42MTBkMWM0NjhiYjI0MGI4YzM5Mjc5NTU4
Mjc1OGRiZGQyOGZmNTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCBPcHRpb25hbDx1aW50
MTZfdD4gVVJMOjpwb3J0KCkgY29uc3QKIFN0cmluZyBVUkw6Omhvc3RBbmRQb3J0KCkgY29uc3QK
IHsKICAgICBpZiAoYXV0byBwb3J0ID0gdGhpcy0+cG9ydCgpKQotICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZyhob3N0KCksICc6Jywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHBvcnQudmFsdWUoKSkp
OworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhob3N0KCksICc6JywgcG9ydC52YWx1ZSgpKTsK
ICAgICByZXR1cm4gaG9zdCgpLnRvU3RyaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1VSTEhlbHBlcnMuY3BwIGIvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKaW5k
ZXggNWUwZmYxMDVkZGMxNTEwOTg0ZWJjNGY2ZGQ4NmU0ZGY0ZTk2ZTk3ZC4uMzZmODA4OThjN2Qw
ZmE0NDUxYTNjZGI1ZjcyYzYzYjI1YjJkZmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VVJMSGVscGVycy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKQEAgLTQy
LDE1ICs0MiwyMyBAQCBuYW1lc3BhY2UgVVJMSGVscGVycyB7CiAKIC8vIE5lZWRzIHRvIGJlIGJp
ZyBlbm91Z2ggdG8gaG9sZCBhbiBJRE4tZW5jb2RlZCBuYW1lLgogLy8gRm9yIGhvc3QgbmFtZXMg
YmlnZ2VyIHRoYW4gdGhpcywgd2Ugd29uJ3QgZG8gSUROIGVuY29kaW5nLCB3aGljaCBpcyBhbG1v
c3QgY2VydGFpbmx5IE9LLgotY29uc3QgdW5zaWduZWQgaG9zdE5hbWVCdWZmZXJMZW5ndGggPSAy
MDQ4OwotY29uc3QgdW5zaWduZWQgdXJsQnl0ZXNCdWZmZXJMZW5ndGggPSAyMDQ4OworY29uc3Rl
eHByIHVuc2lnbmVkIGhvc3ROYW1lQnVmZmVyTGVuZ3RoID0gMjA0ODsKK2NvbnN0ZXhwciB1bnNp
Z25lZCB1cmxCeXRlc0J1ZmZlckxlbmd0aCA9IDIwNDg7CiAKLXN0YXRpYyB1aW50MzJfdCBJRE5T
Y3JpcHRXaGl0ZUxpc3RbKFVTQ1JJUFRfQ09ERV9MSU1JVCArIDMxKSAvIDMyXTsKKy8vIFRoaXMg
bmVlZHMgdG8gYmUgaGlnaGVyIHRoYW4gdGhlIFVTY3JpcHRDb2RlIGZvciBhbnkgb2YgdGhlIHNj
cmlwdHMgb24gdGhlIElETiB3aGl0ZWxpc3QuCisvLyBBdCBvbmUgcG9pbnQgd2UgdXNlZCBVU0NS
SVBUX0NPREVfTElNSVQgZnJvbSBJQ1UsIGJ1dCB0aGVyZSBhcmUgdHdvIHJlYXNvbnMgbm90IHRv
IHVzZSBpdC4KKy8vIDEpIElDVSBjb25zaWRlcnMgaXQgZGVwcmVjYXRlZCwgc28gYnkgc2V0dGlu
ZyBVX0hJREVfREVQUkVDQVRFRCB3ZSBjYW4ndCBzZWUgaXQuCisvLyAyKSBObyBnb29kIHJlYXNv
biB0byBsaW1pdCBvdXJzZWx2ZXMgdG8gc2NyaXB0cyB0aGF0IGV4aXN0ZWQgaW4gdGhlIElDVSBo
ZWFkZXJzIHdoZW4KKy8vICAgIFdlYktpdCB3YXMgY29tcGlsZWQuCisvLyBUaGlzIGlzIG9ubHkg
cmVhbGx5IGltcG9ydGFudCBmb3IgcGxhdGZvcm1zIHRoYXQgbG9hZCBhbiBleHRlcm5hbCBJQ1Ug
d2hpdGVsaXN0LgorLy8gTm90IGltcG9ydGFudCBmb3IgdGhlIGNvbXBpbGVkLWluIG9uZS4KK2Nv
bnN0ZXhwciBhdXRvIHNjcmlwdENvZGVMaW1pdCA9IHN0YXRpY19jYXN0PFVTY3JpcHRDb2RlPigy
NTYpOworCitzdGF0aWMgdWludDMyX3QgSUROU2NyaXB0V2hpdGVMaXN0WyhzY3JpcHRDb2RlTGlt
aXQgKyAzMSkgLyAzMl07CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCiAKLS8vIENvY29hIGhhcyBh
biBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSB3aGl0ZWxpc3QgaW4gL0xpYnJhcnkgb3Igfi9M
aWJyYXJ5LAotLy8gaWYgaXQgZXhpc3RzLgorLy8gQ29jb2EgaGFzIGFuIGltcGxlbWVudGF0aW9u
IHRoYXQgdXNlcyBhIHdoaXRlbGlzdCBpbiAvTGlicmFyeSBvciB+L0xpYnJhcnksIGlmIGl0IGV4
aXN0cy4KIHZvaWQgbG9hZElETlNjcmlwdFdoaXRlTGlzdCgpCiB7CiAgICAgc3RhdGljIHN0ZDo6
b25jZV9mbGFnIGZsYWc7CkBAIC0yNTYsNDIgKzI2NCw1MSBAQCBzdGF0aWMgYm9vbCBpc0xvb2th
bGlrZUNoYXJhY3Rlcihjb25zdCBPcHRpb25hbDxVQ2hhcjMyPiYgcHJldmlvdXNDb2RlUG9pbnQs
IFVDaAogICAgIH0KIH0KIAotdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoY29uc3QgY2hhciogc2Ny
aXB0TmFtZSkKK3N0YXRpYyB2b2lkIHdoaXRlTGlzdElETlNjcmlwdChpbnQzMl90IHNjcmlwdCkK
IHsKLSAgICBpbnQzMl90IHNjcmlwdCA9IHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NS
SVBULCBzY3JpcHROYW1lKTsKLSAgICBpZiAoc2NyaXB0ID49IDAgJiYgc2NyaXB0IDwgVVNDUklQ
VF9DT0RFX0xJTUlUKSB7CisgICAgaWYgKHNjcmlwdCA+PSAwICYmIHNjcmlwdCA8IHNjcmlwdENv
ZGVMaW1pdCkgewogICAgICAgICBzaXplX3QgaW5kZXggPSBzY3JpcHQgLyAzMjsKICAgICAgICAg
dWludDMyX3QgbWFzayA9IDEgPDwgKHNjcmlwdCAlIDMyKTsKICAgICAgICAgSUROU2NyaXB0V2hp
dGVMaXN0W2luZGV4XSB8PSBtYXNrOwogICAgIH0KIH0KIAorc3RhdGljIHZvaWQgd2hpdGVMaXN0
SUROU2NyaXB0KFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICB3aGl0ZUxpc3RJRE5TY3JpcHQo
c3RhdGljX2Nhc3Q8aW50MzJfdD4oc2NyaXB0KSk7Cit9CisKK3ZvaWQgd2hpdGVMaXN0SUROU2Ny
aXB0KGNvbnN0IGNoYXIqIHNjcmlwdE5hbWUpCit7CisgICAgd2hpdGVMaXN0SUROU2NyaXB0KHVf
Z2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NSSVBULCBzY3JpcHROYW1lKSk7Cit9CisKIHZv
aWQgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKQogewotICAgIGNvbnN0IGNo
YXIqIGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3RbMjBdID0gewotICAgICAgICAiQ29tbW9uIiwK
LSAgICAgICAgIkluaGVyaXRlZCIsCi0gICAgICAgICJBcmFiaWMiLAotICAgICAgICAiQXJtZW5p
YW4iLAotICAgICAgICAiQm9wb21vZm8iLAotICAgICAgICAiQ2FuYWRpYW5fQWJvcmlnaW5hbCIs
Ci0gICAgICAgICJEZXZhbmFnYXJpIiwKLSAgICAgICAgIkRlc2VyZXQiLAotICAgICAgICAiR3Vq
YXJhdGkiLAotICAgICAgICAiR3VybXVraGkiLAotICAgICAgICAiSGFuZ3VsIiwKLSAgICAgICAg
IkhhbiIsCi0gICAgICAgICJIZWJyZXciLAotICAgICAgICAiSGlyYWdhbmEiLAotICAgICAgICAi
S2F0YWthbmFfT3JfSGlyYWdhbmEiLAotICAgICAgICAiS2F0YWthbmEiLAotICAgICAgICAiTGF0
aW4iLAotICAgICAgICAiVGFtaWwiLAotICAgICAgICAiVGhhaSIsCi0gICAgICAgICJZaSIsCisg
ICAgY29uc3RleHByIFVTY3JpcHRDb2RlIGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3RbXSA9IHsK
KyAgICAgICAgVVNDUklQVF9DT01NT04sCisgICAgICAgIFVTQ1JJUFRfSU5IRVJJVEVELAorICAg
ICAgICBVU0NSSVBUX0FSQUJJQywKKyAgICAgICAgVVNDUklQVF9BUk1FTklBTiwKKyAgICAgICAg
VVNDUklQVF9CT1BPTU9GTywKKyAgICAgICAgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAor
ICAgICAgICBVU0NSSVBUX0RFVkFOQUdBUkksCisgICAgICAgIFVTQ1JJUFRfREVTRVJFVCwKKyAg
ICAgICAgVVNDUklQVF9HVUpBUkFUSSwKKyAgICAgICAgVVNDUklQVF9HVVJNVUtISSwKKyAgICAg
ICAgVVNDUklQVF9IQU5HVUwsCisgICAgICAgIFVTQ1JJUFRfSEFOLAorICAgICAgICBVU0NSSVBU
X0hFQlJFVywKKyAgICAgICAgVVNDUklQVF9ISVJBR0FOQSwKKyAgICAgICAgVVNDUklQVF9LQVRB
S0FOQV9PUl9ISVJBR0FOQSwKKyAgICAgICAgVVNDUklQVF9LQVRBS0FOQSwKKyAgICAgICAgVVND
UklQVF9MQVRJTiwKKyAgICAgICAgVVNDUklQVF9UQU1JTCwKKyAgICAgICAgVVNDUklQVF9USEFJ
LAorICAgICAgICBVU0NSSVBUX1lJLAogICAgIH07Ci0gICAgZm9yIChjb25zdCBjaGFyKiBzY3Jp
cHROYW1lIDogZGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdCkKLSAgICAgICAgd2hpdGVMaXN0SURO
U2NyaXB0KHNjcmlwdE5hbWUpOworICAgIGZvciAoYXV0byBzY3JpcHQgOiBkZWZhdWx0SUROU2Ny
aXB0V2hpdGVMaXN0KQorICAgICAgICB3aGl0ZUxpc3RJRE5TY3JpcHQoc2NyaXB0KTsKIH0KIAog
c3RhdGljIGJvb2wgYWxsQ2hhcmFjdGVyc0luSUROU2NyaXB0V2hpdGVMaXN0KGNvbnN0IFVDaGFy
KiBidWZmZXIsIGludDMyX3QgbGVuZ3RoKQpAQCAtMzEyLDcgKzMyOSw3IEBAIHN0YXRpYyBib29s
IGFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdoaXRlTGlzdChjb25zdCBVQ2hhciogYnVmZmVyLCBp
bnQzMl90IGxlbmd0CiAgICAgICAgICAgICBMT0dfRVJST1IoImdvdCBuZWdhdGl2ZSBudW1iZXIg
Zm9yIHNjcmlwdCBjb2RlIGZyb20gSUNVOiAlZCIsIHNjcmlwdCk7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHNjcmlwdCA+PSBVU0NSSVBUX0NPREVf
TElNSVQpCisgICAgICAgIGlmIChzY3JpcHQgPj0gc2NyaXB0Q29kZUxpbWl0KQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IHNjcmlwdCAvIDMyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQppbmRleCA0N2RlZTYyOTU2YTMzNDRmNjk1MTM4
ZmU2ODNiODRiNmM3ODMxMzk1Li40NjMxZjI3NjgxNTkxZWNkMjU4YTg2N2EwMTM2ZGFkZGMwMmI2
OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQpAQCAtMzYsMTIgKzM2LDEyIEBA
CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvY2YvQ0ZVUkxFeHRyYXMuaD4K
IAotI2RlZmluZSBVUkxfQllURVNfQlVGRkVSX0xFTkdUSCAyMDQ4Ci0KIG5hbWVzcGFjZSBXVEYg
ewogCiB1c2luZyBuYW1lc3BhY2UgVVJMSGVscGVyczsKIAorY29uc3RleHByIHVuc2lnbmVkIHVy
bEJ5dGVzQnVmZmVyTGVuZ3RoID0gMjA0ODsKKwogc3RhdGljIEJPT0wgcmVhZElETlNjcmlwdFdo
aXRlTGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1lKQogewogICAgIGlmICghZmlsZW5hbWUpCkBA
IC05NCwxMyArOTQsMTAgQEAgdm9pZCBsb2FkSUROU2NyaXB0V2hpdGVMaXN0KCkKICAgICAKIHN0
YXRpYyBTdHJpbmcgZGVjb2RlUGVyY2VudEVzY2FwZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7
Ci0gICAgTlNTdHJpbmcgKnN1YnN0cmluZyA9IChOU1N0cmluZyAqKXN0cmluZzsKLSAgICBzdWJz
dHJpbmcgPSBDRkJyaWRnaW5nUmVsZWFzZShDRlVSTENyZWF0ZVN0cmluZ0J5UmVwbGFjaW5nUGVy
Y2VudEVzY2FwZXMobnVsbHB0ciwgKENGU3RyaW5nUmVmKXN1YnN0cmluZywgQ0ZTVFIoIiIpKSk7
Ci0KKyAgICBOU1N0cmluZyAqc3Vic3RyaW5nID0gQ0ZCcmlkZ2luZ1JlbGVhc2UoQ0ZVUkxDcmVh
dGVTdHJpbmdCeVJlcGxhY2luZ1BlcmNlbnRFc2NhcGVzKG51bGxwdHIsIHN0cmluZy5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBDRlNUUigiIikpKTsKICAgICBpZiAoIXN1YnN0cmluZykKICAgICAg
ICAgcmV0dXJuIHN0cmluZzsKLQotICAgIHJldHVybiAoU3RyaW5nKXN1YnN0cmluZzsKKyAgICBy
ZXR1cm4gc3Vic3RyaW5nOwogfQogCiBOU1N0cmluZyAqZGVjb2RlSG9zdE5hbWUoTlNTdHJpbmcg
KnN0cmluZykKQEAgLTEzNSw3ICsxMzIsNyBAQCBOU1VSTCAqVVJMQnlUcnVuY2F0aW5nT25lQ2hh
cmFjdGVyQmVmb3JlQ29tcG9uZW50KE5TVVJMICpVUkwsIENGVVJMQ29tcG9uZW50VHlwZQogICAg
IGlmIChmcmFnUmcubG9jYXRpb24gPT0ga0NGTm90Rm91bmQpCiAgICAgICAgIHJldHVybiBVUkw7
CiAKLSAgICBWZWN0b3I8VUludDgsIFVSTF9CWVRFU19CVUZGRVJfTEVOR1RIPiB1cmxCeXRlcyhV
UkxfQllURVNfQlVGRkVSX0xFTkdUSCk7CisgICAgVmVjdG9yPFVJbnQ4LCB1cmxCeXRlc0J1ZmZl
ckxlbmd0aD4gdXJsQnl0ZXModXJsQnl0ZXNCdWZmZXJMZW5ndGgpOwogICAgIENGSW5kZXggbnVt
Qnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIHVybEJ5dGVzLmRh
dGEoKSwgdXJsQnl0ZXMuc2l6ZSgpKTsKICAgICBpZiAobnVtQnl0ZXMgPT0gLTEpIHsKICAgICAg
ICAgbnVtQnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIG51bGxw
dHIsIDApOwpAQCAtMjY5LDcgKzI2Niw3IEBAIHN0YXRpYyBCT09MIGhhc1F1ZXN0aW9uTWFya09u
bHlRdWVyeVN0cmluZyhOU1VSTCAqVVJMKQogCiBOU0RhdGEgKmRhdGFGb3JVUkxDb21wb25lbnRU
eXBlKE5TVVJMICpVUkwsIENGVVJMQ29tcG9uZW50VHlwZSBjb21wb25lbnRUeXBlKQogewotICAg
IFZlY3RvcjxVSW50OCwgVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEg+IGFsbEJ5dGVzQnVmZmVyKFVS
TF9CWVRFU19CVUZGRVJfTEVOR1RIKTsKKyAgICBWZWN0b3I8VUludDgsIHVybEJ5dGVzQnVmZmVy
TGVuZ3RoPiBhbGxCeXRlc0J1ZmZlcih1cmxCeXRlc0J1ZmZlckxlbmd0aCk7CiAgICAgQ0ZJbmRl
eCBieXRlc0ZpbGxlZCA9IENGVVJMR2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgYWxs
Qnl0ZXNCdWZmZXIuZGF0YSgpLCBhbGxCeXRlc0J1ZmZlci5zaXplKCkpOwogICAgIGlmIChieXRl
c0ZpbGxlZCA9PSAtMSkgewogICAgICAgICBDRkluZGV4IGJ5dGVzVG9BbGxvY2F0ZSA9IENGVVJM
R2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwgMCk7CkBAIC0zMjUsNyAr
MzIyLDcgQEAgc3RhdGljIE5TVVJMICpVUkxCeVJlbW92aW5nQ29tcG9uZW50QW5kU3Vic2VxdWVu
dENoYXJhY3RlcihOU1VSTCAqVVJMLCBDRlVSTENvbXAKICAgICAvLyBSZW1vdmUgb25lIHN1YnNl
cXVlbnQgY2hhcmFjdGVyLgogICAgIHJhbmdlLmxlbmd0aCsrOwogCi0gICAgVmVjdG9yPFVJbnQ4
LCBVUkxfQllURVNfQlVGRkVSX0xFTkdUSD4gYnVmZmVyKFVSTF9CWVRFU19CVUZGRVJfTEVOR1RI
KTsKKyAgICBWZWN0b3I8VUludDgsIHVybEJ5dGVzQnVmZmVyTGVuZ3RoPiBidWZmZXIodXJsQnl0
ZXNCdWZmZXJMZW5ndGgpOwogICAgIENGSW5kZXggbnVtQnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChf
X2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOwogICAg
IGlmIChudW1CeXRlcyA9PSAtMSkgewogICAgICAgICBudW1CeXRlcyA9IENGVVJMR2V0Qnl0ZXMo
KF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwgMCk7CkBAIC0zNTUsOCArMzUyLDggQEAg
TlNVUkwgKlVSTEJ5UmVtb3ZpbmdVc2VySW5mbyhOU1VSTCAqVVJMKQogCiBOU0RhdGEgKm9yaWdp
bmFsVVJMRGF0YShOU1VSTCAqVVJMKQogewotICAgIFVJbnQ4ICpidWZmZXIgPSAoVUludDggKilt
YWxsb2MoVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEgpOwotICAgIENGSW5kZXggYnl0ZXNGaWxsZWQg
PSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlciwgVVJMX0JZVEVT
X0JVRkZFUl9MRU5HVEgpOworICAgIFVJbnQ4ICpidWZmZXIgPSAoVUludDggKiltYWxsb2ModXJs
Qnl0ZXNCdWZmZXJMZW5ndGgpOworICAgIENGSW5kZXggYnl0ZXNGaWxsZWQgPSBDRlVSTEdldEJ5
dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlciwgdXJsQnl0ZXNCdWZmZXJMZW5ndGgp
OwogICAgIGlmIChieXRlc0ZpbGxlZCA9PSAtMSkgewogICAgICAgICBDRkluZGV4IGJ5dGVzVG9B
bGxvY2F0ZSA9IENGVVJMR2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwg
MCk7CiAgICAgICAgIGJ1ZmZlciA9IChVSW50OCAqKXJlYWxsb2MoYnVmZmVyLCBieXRlc1RvQWxs
b2NhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25m
aWcKaW5kZXggYTBhZGQyYTU3MWYwMGM2ZmEzOWJkNTNiZWFmODYxZGQxMDJiNzM0Zi4uNmNmM2M0
MWFhMTVmNmJjMmY2NmZkN2NkYjkzNDkzNjUzMDIyMmMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5j
bHVkZSAiV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnIgogCiBHQ0NfUFJFRklYX0hF
QURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAk
KERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBCVUlMRElOR19XRUJLSVQgVV9ESVNB
QkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBHTF9TSUxFTkNFX0RFUFJFQ0FU
SU9OPTEgR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOworR0NDX1BSRVBS
T0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMp
IEJVSUxESU5HX1dFQktJVCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgR0xFU19TSUxFTkNFX0RF
UFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOwogCiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSID0g
JChXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSXyQoVVNFX0lOVEVSTkFMX1NESykpOwogV0tfUFJJ
VkFURV9GUkFNRVdPUktTX0RJUl9bc2RrPWlwaG9uZSpdID0gJChQUk9KRUNUX0RJUikvLi4vLi4v
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvJChXS19UQVJH
RVRfSU9TX1ZFUlNJT05fTUFKT1IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZTZkOTQ1ZDRmMWNjNDZjMjk2MTYxODQ4YjZiMGZi
ZDg3MDcxMmZhLi44OWYzZDg0MWE4YzZhNTkxNGRjNmI1NDI2NWZmMzJhNjA2NDRkZjljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAt
MjU3LDcgKzI1Nyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6Y29ubmVjdChjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByCiAgICAgaWYgKCFwb3J0QWxs
b3dlZChtX3VybCkpIHsKICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgICAgIGlmIChtX3Vy
bC5wb3J0KCkpCi0gICAgICAgICAgICBtZXNzYWdlID0gbWFrZVN0cmluZygiV2ViU29ja2V0IHBv
cnQgIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fdXJsLnBvcnQoKS52YWx1ZSgpKSwgIiBibG9j
a2VkIik7CisgICAgICAgICAgICBtZXNzYWdlID0gbWFrZVN0cmluZygiV2ViU29ja2V0IHBvcnQg
IiwgbV91cmwucG9ydCgpLnZhbHVlKCksICIgYmxvY2tlZCIpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCB3aXRob3V0IHBvcnQgYmxvY2tlZCJfczsKICAg
ICAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAKaW5kZXggZWQ1
N2VhYjVhNGU3YWMxMGZjNGU3NWZhMTJlOGNmYzFiNDU1YzJmMy4uN2JlMjBkODQxMzgxZGU4NWUw
MjQ1NDg4ZmU1ZWU1OWE2ZjcxMmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcApAQCAtMTYy
LDkgKzE2Miw2IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRl
R2x5cGhPcmllbnRhdGlvbkFuZ2xlKGJvb2wgaXNWZXJ0aWNhCiAgICAgICAgIGNhc2UgVV9FQV9G
VUxMV0lEVEg6CiAgICAgICAgIGNhc2UgVV9FQV9XSURFOgogICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgIGNhc2UgVV9FQV9DT1VOVDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCmluZGV4IDZmMjhmNzdjOGRkZjI0YjgwZTViZWVkOTE0
ZWM5NDg1MWU1YTYwODYuLjMzMWFiYWY1NWVkOTE4OWNmNGZjN2E5MjA2MTcxOGQ2YzRhMmFkNzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25m
aWcKQEAgLTM2LDcgKzM2LDcgQEAgRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0g
PSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkgJChXS19QUklWQVQKIFNZU1RFTV9GUkFN
RVdPUktfU0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJS
QVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3MgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElS
KS9GcmFtZXdvcmtzOwogCiBHQ0NfUFJFRklYX0hFQURFUiA9IFdlYktpdDJQcmVmaXguaDsKLUdD
Q19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9E
RUZJTkVTKSAkKFdLX0NPUkVfUFJFRElDVElPTl9ERUZJTkVTKSBVX0hJREVfREVQUkVDQVRFRF9B
UEkgVV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBGUkFNRVdPUktf
TkFNRT1XZWJLaXQ7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJ
TkVTKSAkKEZFQVRVUkVfREVGSU5FUykgJChXS19DT1JFX1BSRURJQ1RJT05fREVGSU5FUykgRlJB
TUVXT1JLX05BTUU9V2ViS2l0OwogV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFMg
PSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25z
ICQoU0RLUk9PVCkvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zOwogTElCV0VCUlRD
X0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2lu
Y2x1ZGUvd2VicnRjICQoU0RLUk9PVCkvdXNyL2xvY2FsL2luY2x1ZGUvd2VicnRjOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3VuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCmlu
ZGV4IGU4MjhkNzRlYTUzYjk3MWQzMTM1MzY3MTgxNzIxMGE5YjRiMjUwOGMuLjFjMGQzYTU4OGFk
MGQyMmU3ODNhOTQ2NDQ1YjY1YTQ2YWU3MTE5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCkBAIC0yNyw4ICsyNyw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIldLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgiCi0jaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgKaW5kZXggODYz
ZWQ5NjYwMzkyOTY3ZTNjMzJjZWNmYWIxNGU2OTIzNzljODhkOS4uYmNjN2ZkZmFhNWFjYWE3MDVm
YzVjOTVjNDcwODE3MGY1NDQzMjQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2NwcC9XS1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9jcHAvV0tSZXRhaW5QdHIuaApAQCAtMjMsMTUgKzIzLDExIEBACiAgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXS1JldGFpblB0cl9oCi0jZGVmaW5l
IFdLUmV0YWluUHRyX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8V2ViS2l0L1dLVHlwZS5o
PgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTI2Myw3ICsy
NTksMTAgQEAgdXNpbmcgV2ViS2l0OjpyZXRhaW5XSzsKIAogbmFtZXNwYWNlIFdURiB7CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNTbWFydFB0cjxXS1JldGFpblB0cjxUPj4gewor
dGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBJc1NtYXJ0UHRyOwordGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzU21h
cnRQdHI8V0tSZXRhaW5QdHI8VD4+IHsKICAgICBXVEZfSU5URVJOQUwgc3RhdGljIGNvbnN0IGJv
b2wgdmFsdWUgPSB0cnVlOwogfTsKIApAQCAtMjgwLDUgKzI3OSwzIEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFdLUmV0YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFz
aFRyYWl0czxXCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKLQotI2VuZGlmIC8vIFdLUmV0YWlu
UHRyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVu
Y2VPYnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9i
c2VydmVyLmgKaW5kZXggMmMzZTkxZWNiNTJjODBjMDQ2ZGVkYjg0ZmIyMWI3NGVjMmYwOTMyMi4u
NGY0NDcyYTQyNDY3YTNlNzYwZjdlNDU3MWRiYzYwMWUzNTdiYTdkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmgKQEAgLTIzLDI1
ICsyMyw4IEBACiAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICovCiAKLSNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KLQotQGNsYXNzIFdL
UHJlZmVyZW5jZU9ic2VydmVyOwotCi1fX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0
IikpKQotQGludGVyZmFjZSBXS1VzZXJEZWZhdWx0cyA6IE5TVXNlckRlZmF1bHRzIHsKLUBwcml2
YXRlCi0gICAgTlNTdHJpbmcgKm1fc3VpdGVOYW1lOwotQHB1YmxpYwotICAgIFdLUHJlZmVyZW5j
ZU9ic2VydmVyICptX29ic2VydmVyOwotfQotQGVuZAotCiBfX2F0dHJpYnV0ZV9fKCh2aXNpYmls
aXR5KCJkZWZhdWx0IikpKQotQGludGVyZmFjZSBXS1ByZWZlcmVuY2VPYnNlcnZlciA6IE5TT2Jq
ZWN0IHsKLUBwcml2YXRlCi0gICAgVmVjdG9yPFJldGFpblB0cjxXS1VzZXJEZWZhdWx0cz4+IG1f
dXNlckRlZmF1bHRzOwotfQorQGludGVyZmFjZSBXS1ByZWZlcmVuY2VPYnNlcnZlciA6IE5TT2Jq
ZWN0CiArIChpZClzaGFyZWRJbnN0YW5jZTsKIC0gKHZvaWQpcHJlZmVyZW5jZURpZENoYW5nZToo
TlNTdHJpbmcgKilkb21haW4ga2V5OihOU1N0cmluZyAqKWtleSBlbmNvZGVkVmFsdWU6KE5TU3Ry
aW5nICopZW5jb2RlZFZhbHVlOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmluZGV4IDVmMTVhZDhjNjMwMGNiODdhYjZh
NTBmZjc3NzViMzg3ODYyYzA2NzEuLjMxNmIyZjM5OThlNTZjMDdmYmEwNDg5Y2FiYTU0Yzk5NmNj
MGQ4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVu
Y2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJl
bmNlT2JzZXJ2ZXIubW0KQEAgLTI5LDYgKzI5LDIwIEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9v
bC5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VzZXJEZWZhdWx0c1NQSS5oPgogCitAaW50
ZXJmYWNlIFdLVXNlckRlZmF1bHRzIDogTlNVc2VyRGVmYXVsdHMgeworQHByaXZhdGUKKyAgICBO
U1N0cmluZyAqbV9zdWl0ZU5hbWU7CitAcHVibGljCisgICAgV0tQcmVmZXJlbmNlT2JzZXJ2ZXIg
Km1fb2JzZXJ2ZXI7Cit9CitAZW5kCisKK0BpbnRlcmZhY2UgV0tQcmVmZXJlbmNlT2JzZXJ2ZXIg
KCkgeworQHByaXZhdGUKKyAgICBWZWN0b3I8UmV0YWluUHRyPFdLVXNlckRlZmF1bHRzPj4gbV91
c2VyRGVmYXVsdHM7Cit9CitAZW5kCisKIEBpbXBsZW1lbnRhdGlvbiBXS1VzZXJEZWZhdWx0cwog
CiAtICh2b2lkKV9ub3RpZnlPYnNlcnZlcnNPZkNoYW5nZUZyb21WYWx1ZXNGb3JLZXlzOihOU0Rp
Y3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopb2xkVmFsdWVzIHRvVmFsdWVzRm9yS2V5czooTlNE
aWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKW5ld1ZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlz
dGljUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4v
RnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljUGFyYW1ldGVycy5oCmluZGV4IGViZWEzMTkzNGIw
ZDk5NzhhZDNjYzFlZThlNWExMGYzMDg0MGI5MDUuLjI3MzQ2OTg5MzgxNTc3MWNkM2RhYTc1NTMw
NTE5MGFiMTkwZjYyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
dWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpY1BhcmFtZXRlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWNQYXJhbWV0ZXJzLmgKQEAgLTMxLDggKzMxLDggQEAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBzdHJ1Y3QgRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljUGFyYW1ldGVycyB7Ci0gICAg
V1RGOjpTZWNvbmRzIHJhbXBVcFNwZWVkOwotICAgIFdURjo6U2Vjb25kcyByYW1wRG93blNwZWVk
OworICAgIFNlY29uZHMgcmFtcFVwU3BlZWQ7CisgICAgU2Vjb25kcyByYW1wRG93blNwZWVkOwog
ICAgIGRvdWJsZSB4V2VpZ2h0OwogICAgIGRvdWJsZSB5V2VpZ2h0OwogICAgIGRvdWJsZSBnYW1t
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dl
YktpdExlZ2FjeS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwppbmRleCBiZThmNDhkZDNiOGM0MDEyOTExMzljOGNl
YWQ4NmFkZDdlMjI2MmFkLi44YTQ5MTYyNTBhMGE5YWUxNTcxMWMzMDZlMmIwNTM4YmRlMTNiMGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJL
aXRMZWdhY3kueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCkBAIC00OSw3ICs0OSw3IEBAIE9USEVSX0NGTEFH
U19DT0NPQV9UT1VDSF9OTyA9IC1pZnJhbWV3b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZ
X0RJUikvRnJhbWV3CiBPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVS
X0NGTEFHU19DT0NPQV9UT1VDSCk7CiAKIEdDQ19QUkVGSVhfSEVBREVSID0gbWFjL1dlYktpdFBy
ZWZpeC5oOwotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykg
JChGRUFUVVJFX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBVX0hJREVfREVQUkVDQVRFRF9BUEkg
VV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBGUkFNRVdPUktfTkFN
RT1XZWJLaXRMZWdhY3kgJChpbmhlcml0ZWQpOworR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9O
UyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBG
UkFNRVdPUktfTkFNRT1XZWJLaXRMZWdhY3kgJChpbmhlcml0ZWQpOwogCiBXRUJLSVRBRERJVElP
TlNfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJL
aXRBZGRpdGlvbnM7CiBMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJP
RFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwv
aW5jbHVkZS93ZWJydGM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5j
bWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDkzZmJlMjBkM2U1
NDk0NmVlY2Q2NDZmNWQzZjEyYzdkY2UwNTc5ZTAuLmVhMTM2MjQ4M2U3ODBlNDE1Y2M4NTQ4Y2M2
ZjkxNGIyYTg4Y2Q4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0xODAsNSArMTgw
LDMgQEAgY2hlY2tfdHlwZV9zaXplKCJfX2ludDEyOF90IiBJTlQxMjhfVkFMVUUpCiBpZiAoSEFW
RV9JTlQxMjhfVkFMVUUpCiAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfSU5UMTI4X1Qg
SU5UMTI4X1ZBTFVFKQogZW5kaWYgKCkKLQotYWRkX2RlZmluaXRpb25zKC1EVV9TSE9XX0NQTFVT
UExVU19BUEk9MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFr
ZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFrZQppbmRleCAwNWI4NThkOWMyZTU4
MmQzZTg5YzJiNjI5M2NmMzk5YWIxODRlYjRiLi4yMzQ0NmQ3MmM2ZjQxZTZhOThlNzk5NDE2MDBj
MDM3NjFhYWIzN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0pTQ09ubHkuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNKU0NPbmx5LmNtYWtlCkBAIC05NSw3ICs5NSw0
IEBAIGVsc2UgKCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChXVEZfREVGQVVMVF9FVkVO
VF9MT09QIDApCiBlbmRpZiAoKQogCi1pZiAoQVBQTEUpCi0gICAgYWRkX2RlZmluaXRpb25zKC1E
VV9ESVNBQkxFX1JFTkFNSU5HPTEpCi1lbmRpZiAoKQogZmluZF9wYWNrYWdlKElDVSA2MC4yIFJF
UVVJUkVEIENPTVBPTkVOVFMgZGF0YSBpMThuIHVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNNYWMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQppbmRleCBj
MWQ5NWQ2ZTg3ZWQ5YTc5NzZlZmFhNDE2ODZjNzM4MTA5NzM0YTdkLi4xZjBiNDkwY2RjNTgyNzhh
YmM4MzFjZTg3Y2MwOTNhZDcxODVmZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c01hYy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQpAQCAtMTE5LDUg
KzExOSw0IEBAIHNldChKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEUgU0hBUkVEKQogc2V0KFdl
YkNvcmVfTElCUkFSWV9UWVBFIFNIQVJFRCkKIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfTElCUkFS
WV9UWVBFIFNIQVJFRCkKIAotYWRkX2RlZmluaXRpb25zKC1EVV9ESVNBQkxFX1JFTkFNSU5HPTEp
CiBmaW5kX3BhY2thZ2UoSUNVIDYwLjIgUkVRVUlSRUQgQ09NUE9ORU5UUyBkYXRhIGkxOG4gdWMp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOThi
MjY1ZmM4MzUwYjFmMmM3NzBjNmYzOWFkZWM4YTQ1ZGJkY2FmMy4uNDQ4ZTZkM2U0YjkzMGNiN2M0
ODg1NjM1YjhjMWE5OGQ4NzFkZDI3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIwLTA0LTIxICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIg
YXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0NvbmNhdGVuYXRlLmNwcDoKKyAgICAgICAgKFRlc3RX
ZWJLaXRBUEk6OlRFU1QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5zaWduZWQg
dG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQgYXMgYSBu
dW1iZXIgYnkgbWFrZVN0cmluZy4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1RMU0RlcHJlY2F0aW9uLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6
IERpdHRvLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVGVzdFNP
QXV0aG9yaXphdGlvbi5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBEaXR0by4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRp
Y2F0aW9uUGFuZWwubW06CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogRGl0dG8uCisK
IDIwMjAtMDQtMjEgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjA0MTAuCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdDb25jYXRlbmF0ZS5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdDb25jYXRlbmF0ZS5jcHAKaW5kZXggZGEwOGY0ZmRmNGMw
MmZmM2E3ZGIzNWNlZjQwY2RjMDdmNGM4MzMyMC4uNzM5MTU4ZTkyODZlZGVhZGQ0MmZmMGFjNWM0
MjFiNTMxNjU4YjlkMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
U3RyaW5nQ29uY2F0ZW5hdGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L1N0cmluZ0NvbmNhdGVuYXRlLmNwcApAQCAtODMsMTEgKzgzLDcgQEAgVEVTVChXVEYsIFN0cmlu
Z0NvbmNhdGVuYXRlX1Vuc2lnbmVkKQogICAgIEVYUEVDVF9TVFJFUSgiaGVsbG8gMCB3b3JsZCIs
IG1ha2VTdHJpbmcoImhlbGxvICIsIDB1ICwgIiB3b3JsZCIpLnV0ZjgoKS5kYXRhKCkpOwogCiAg
ICAgRVhQRUNUX1NUUkVRKCJoZWxsbyA0MiB3b3JsZCIsIG1ha2VTdHJpbmcoImhlbGxvICIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KDQyKSAsICIgd29ybGQiKS51dGY4KCkuZGF0YSgpKTsK
LSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgaWYgc3RhdGVtZW50IG9uY2Ugd2UgaGF2ZSBVQ2hh
ciBhcyBjaGFyMTZfdCBpbiBhbGwgY29uZmlndXJhdGlvbnMuCi0gICAgaWYgY29uc3RleHByIChz
dGQ6OmlzX3NhbWVfdjxVQ2hhciwgdWludDE2X3Q+KQotICAgICAgICBFWFBFQ1RfU1RSRVEoImhl
bGxvICogd29ybGQiLCBtYWtlU3RyaW5nKCJoZWxsbyAiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBz
aG9ydD4oNDIpICwgIiB3b3JsZCIpLnV0ZjgoKS5kYXRhKCkpOwotICAgIGVsc2UKLSAgICAgICAg
RVhQRUNUX1NUUkVRKCJoZWxsbyA0MiB3b3JsZCIsIG1ha2VTdHJpbmcoImhlbGxvICIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIHNob3J0Pig0MikgLCAiIHdvcmxkIikudXRmOCgpLmRhdGEoKSk7Cisg
ICAgRVhQRUNUX1NUUkVRKCJoZWxsbyA0MiB3b3JsZCIsIG1ha2VTdHJpbmcoImhlbGxvICIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkIHNob3J0Pig0MikgLCAiIHdvcmxkIikudXRmOCgpLmRhdGEoKSk7
CiAgICAgRVhQRUNUX1NUUkVRKCJoZWxsbyA0IHdvcmxkIiwgbWFrZVN0cmluZygiaGVsbG8gIiwg
c2l6ZW9mKGludCkgLCAiIHdvcmxkIikudXRmOCgpLmRhdGEoKSk7IC8vIHNpemVfdAogICAgIEVY
UEVDVF9TVFJFUSgiaGVsbG8gNCB3b3JsZCIsIG1ha2VTdHJpbmcoImhlbGxvICIsIG9mZnNldG9m
KFMsIGkpICwgIiB3b3JsZCIpLnV0ZjgoKS5kYXRhKCkpOyAvLyBzaXplX3QKICAgICBFWFBFQ1Rf
U1RSRVEoImhlbGxvIDMyMzU4Mzk3NDIgd29ybGQiLCBtYWtlU3RyaW5nKCJoZWxsbyAiLCBzdGF0
aWNfY2FzdDxzaXplX3Q+KDB4YzBkZWZlZmUpLCAiIHdvcmxkIikudXRmOCgpLmRhdGEoKSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJl
Y2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXBy
ZWNhdGlvbi5tbQppbmRleCA5NDBlZjk1MDY2Mzc3ODBkOTAxZDExNzQ3MzdiNzc5ODU4YTQxOTNh
Li5lZTIwNTJmNGM5YzM2NTYzMzUyNDlmZmI0ZTUxYmM3YjFkYzJjZDFlIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1RMU0RlcHJlY2F0aW9uLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRpb24u
bW0KQEAgLTMxMCw3ICszMTAsNyBAQCBURVNUKFRMU1ZlcnNpb24sIEJhY2tGb3J3YXJkTmVnb3Rp
YXRlZExlZ2FjeVRMUykKICAgICAgICAgeyAiLyIsIHsgImhlbGxvIiB9IH0KICAgICB9LCBIVFRQ
U2VydmVyOjpQcm90b2NvbDo6SHR0cHNXaXRoTGVnYWN5VExTKTsKICAgICBIVFRQU2VydmVyIG1p
eGVkQ29udGVudFNlcnZlcih7Ci0gICAgICAgIHsgIi8iLCB7IHt7ICJDb250ZW50LVR5cGUiLCAi
dGV4dC9odG1sIiB9fSwgbWFrZVN0cmluZygiPGltZyBzcmM9J2h0dHBzOi8vMTI3LjAuMC4xOiIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihpbnNlY3VyZVNlcnZlci5wb3J0KCkpLCAiLyc+PC9pbWc+
IikgfSB9LAorICAgICAgICB7ICIvIiwgeyB7eyAiQ29udGVudC1UeXBlIiwgInRleHQvaHRtbCIg
fX0sIG1ha2VTdHJpbmcoIjxpbWcgc3JjPSdodHRwczovLzEyNy4wLjAuMToiLCBpbnNlY3VyZVNl
cnZlci5wb3J0KCksICIvJz48L2ltZz4iKSB9IH0sCiAgICAgfSwgSFRUUFNlcnZlcjo6UHJvdG9j
b2w6Okh0dHBzKTsKIAogICAgIGF1dG8gW3dlYlZpZXcsIGRlbGVnYXRlXSA9IHdlYlZpZXdXaXRo
TmF2aWdhdGlvbkRlbGVnYXRlKCk7CkBAIC0zNDQsNyArMzQ0LDcgQEAgVEVTVChUTFNWZXJzaW9u
LCBTdWJyZXNvdXJjZSkKICAgICB9LCBIVFRQU2VydmVyOjpQcm90b2NvbDo6SHR0cHNXaXRoTGVn
YWN5VExTKTsKIAogICAgIEhUVFBTZXJ2ZXIgbW9kZXJuVExTU2VydmVyKHsKLSAgICAgICAgeyAi
LyIsIHsgbWFrZVN0cmluZygiPHNjcmlwdD5mZXRjaCgnaHR0cHM6Ly8xMjcuMC4wLjE6Iiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KGxlZ2FjeVRMU1NlcnZlci5wb3J0KCkpLCAiLycse21vZGU6J25v
LWNvcnMnfSk8L3NjcmlwdD4iKSB9IH0sCisgICAgICAgIHsgIi8iLCB7IG1ha2VTdHJpbmcoIjxz
Y3JpcHQ+ZmV0Y2goJ2h0dHBzOi8vMTI3LjAuMC4xOiIsIGxlZ2FjeVRMU1NlcnZlci5wb3J0KCks
ICIvJyx7bW9kZTonbm8tY29ycyd9KTwvc2NyaXB0PiIpIH0gfSwKICAgICAgICAgeyAiL3BhZ2VX
aXRob3V0U3VicmVzb3VyY2UiLCB7ICJoZWxsbyIgfX0KICAgICB9LCBIVFRQU2VydmVyOjpQcm90
b2NvbDo6SHR0cHMpOwogICAgIApAQCAtMzc4LDcgKzM3OCw3IEBAIFRFU1QoVExTVmVyc2lvbiwg
QmFja0ZvcndhcmRIYXNPbmx5U2VjdXJlQ29udGVudCkKICAgICAgICAgeyAiLyIsIHsgImhlbGxv
IiB9IH0KICAgICB9KTsKICAgICBIVFRQU2VydmVyIG1peGVkQ29udGVudFNlcnZlcih7Ci0gICAg
ICAgIHsgIi8iLCB7IHt7ICJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIiB9fSwgbWFrZVN0cmlu
ZygiPGltZyBzcmM9J2h0dHA6Ly8xMjcuMC4wLjE6Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGlu
c2VjdXJlU2VydmVyLnBvcnQoKSksICIvJz48L2ltZz4iKSB9IH0sCisgICAgICAgIHsgIi8iLCB7
IHt7ICJDb250ZW50LVR5cGUiLCAidGV4dC9odG1sIiB9fSwgbWFrZVN0cmluZygiPGltZyBzcmM9
J2h0dHA6Ly8xMjcuMC4wLjE6IiwgaW5zZWN1cmVTZXJ2ZXIucG9ydCgpLCAiLyc+PC9pbWc+Iikg
fSB9LAogICAgIH0sIEhUVFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRwcyk7CiAKICAgICBhdXRvIFt3
ZWJWaWV3LCBkZWxlZ2F0ZV0gPSB3ZWJWaWV3V2l0aE5hdmlnYXRpb25EZWxlZ2F0ZSgpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UZXN0U09BdXRo
b3JpemF0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UZXN0
U09BdXRob3JpemF0aW9uLm1tCmluZGV4IDlhOWI0NjZiODcwMjU3ZmU0NTdkODA4YjZkZWZjNzll
YzBlOWM2YjQuLjg2ZGQxMWUxNjdlYWMzYTFkMTcxZGIyYjZlYzBmMDJlZGMzMGViOWQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvVGVzdFNPQXV0aG9y
aXphdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Rl
c3RTT0F1dGhvcml6YXRpb24ubW0KQEAgLTI1NTEsNyArMjU1MSw3IEBAIFRFU1QoU09BdXRob3Jp
emF0aW9uU3ViRnJhbWUsIEludGVyY2VwdGlvbkVycm9yV2l0aFJlZmVycmVyKQogICAgIGF1dG8g
ZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFNPQXV0aG9yaXphdGlvbkRlbGVnYXRlIGFsbG9jXSBp
bml0XSk7CiAgICAgY29uZmlndXJlU09BdXRob3JpemF0aW9uV2ViVmlldyh3ZWJWaWV3LmdldCgp
LCBkZWxlZ2F0ZS5nZXQoKSk7CiAKLSAgICBhdXRvIG9yaWdpbiA9IG1ha2VTdHJpbmcoImh0dHA6
Ly8xMjcuMC4wLjE6Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNlcnZlci5wb3J0KCkpKTsKKyAg
ICBhdXRvIG9yaWdpbiA9IG1ha2VTdHJpbmcoImh0dHA6Ly8xMjcuMC4wLjE6Iiwgc2VydmVyLnBv
cnQoKSk7CiAgICAgW3dlYlZpZXcgX2xvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdp
dGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6KGlkKW9yaWdpbl1dIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHM6Tk9dOwogICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOihpZClvcmlnaW5dOwogICAg
IFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAiU09BdXRob3JpemF0aW9uRGlkU3RhcnQiXTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0
aGVudGljYXRpb25QYW5lbC5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5tbQppbmRleCAzNzE0ZDFmZjQ5ZDUwMjJlOTVl
ZDJmMWQ0NzExMjMyMmQ2ODZkYjZjLi42YjgyZGJhNDg0NmU5N2VkZTc5MTEwYWQ3MGVlZTY0ZGNm
NjNlYjcwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCkBAIC02ODgsNyAr
Njg4LDcgQEAgVEVTVChXZWJBdXRoZW50aWNhdGlvblBhbmVsLCBTdWJGcmFtZURlc3RydWN0aW9u
SGlkQ2FuY2VsKQogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbVGVzdFdlYkF1dGhlbnRp
Y2F0aW9uUGFuZWxVSURlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CiAKLSAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNV
UkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOihpZCltYWtlU3Ry
aW5nKCJodHRwOi8vbG9jYWxob3N0OiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzZXJ2ZXIucG9y
dCgpKSldXV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzooaWQpbWFrZVN0cmluZygiaHR0cDovL2xvY2Fs
aG9zdDoiLCBzZXJ2ZXIucG9ydCgpKV1dXTsKICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0
aW9uUGFuZWxSYW4pOwogICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInRoZUZyYW1l
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhlRnJhbWUpIiBjb21wbGV0aW9uSGFuZGxlcjpuaWxd
OwogICAgIFV0aWw6OnJ1bigmd2ViQXV0aGVudGljYXRpb25QYW5lbEZhaWxlZCk7CmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMWM0NzE3NTgyZmY5ODc3YzEyOGY2YjFj
NGEzNjU2ZmUzODY2NGY5Ni4uMzZmZGFkMWQ4ZTc0Zjc0NjJjZWJhNDg1MTQ3M2M2ZjhmZDRmNjJh
NSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDIwLTA0LTIyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1
c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJs
c3Nvbi4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlOiBNb3Zl
IElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKyAgICAgICAgKiBTb3VyY2Uv
Y21ha2UvT3B0aW9uc0pTQ09ubHkuY21ha2U6IERpdHRvLgorICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9PcHRpb25zTWFjLmNtYWtlOiBEaXR0by4KKwogMjAyMC0wNC0yMSAgQWRyaWFuIFBlcmV6IGRl
IENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW0NNYWtlXSBNYWtl
IGd0ay11bml4LXByaW50IGEgY29tcG9uZW50IG9mIEZpbmRHVEsuY21ha2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397261</attachid>
            <date>2020-04-22 14:35:02 -0700</date>
            <delta_ts>2020-04-22 14:35:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210845-20200422143501.patch</filename>
            <type>text/plain</type>
            <size>35122</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
MjJkZWQ5NzAxYTYyMTlkMzZkMzE3OWFhMWVjMDQzMDc5ZWIzMjBhLi4xYWFiYzRlZDg4OTRmZmEx
ZGE0NzI5ZjYwMDg0NmRhY2Q5OTU5YzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVp
bGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
OiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKwogMjAyMC0wNC0y
MSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIGJ1aWxkIGZpeCBmb3Igd2F0Y2hPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA2MWFmZGU1MjE3YzU0ZjI5YmNjYWM2YjEz
ZDQ2YTE5YmMzZjZmN2YwLi5lYmE1N2Q5Y2JlZjZkODcwNWQzNDlkYjA5MWI1ZjAxN2MyZGI3MGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIwLTA0LTIyICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3Qg
ZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IFNldCBtYWNyb3MgaGVyZS4gVGhlIGZpbGUgc2F5
cyBub3QgdG8gcHV0IHRoaW5ncyBsaWtlIHRoaXMgaW4gaXQsCisgICAgICAgIGJ1dCBpbiBwcmFj
dGljZSB0aGlzIGlzIHRoZSByaWdodCBwbGFjZSB0byBwdXQgc29tZXRoaW5nIHRoYXQgd2UgbmVl
ZCBzZXQgY29uc2lzdGVudGx5CisgICAgICAgIGZvciBhbGwgdGhlIFdlYktpdCBwcm9qZWN0cy4K
KyAgICAgICAgLSBVX0hJREVfREVQUkVDQVRFRF9BUEksIHRvIG1ha2Ugc3VyZSB3ZSBkb24ndCB1
c2UgaXQgYnkgYWNjaWRlbnQuCisgICAgICAgIC0gVV9TSE9XX0NQTFVTUExVU19BUEk9MCwgdG8g
bWFrZSBzdXJlIHdlIGRvbid0IHVzZSBpdCBieSBhY2NpZGVudC4KKyAgICAgICAgLSBVQ0hBUl9U
WVBFPWNoYXIxNl90IHdoZW4gY29tcGlsaW5nIEMrKywgd2hpY2ggaXMgdGhlIGRlZmF1bHQgb24g
bW9zdCBwbGF0Zm9ybXMsCisgICAgICAgICAgYnV0IG5vdCB0aGUgZGVmYXVsdCBpbiBBcHBsZSdz
IGludGVybmFsIFNESy4KKyAgICAgICAgLSBVX0RJU0FCTEVfUkVOQU1JTkcgd2hlbiBidWlsZGlu
ZyBvbiBBcHBsZSBwbGF0Zm9ybXMsIGltcG9ydGFudCBzbyB3ZSBjYW4gbGluaworICAgICAgICAg
IHRvIGFuIG9sZGVyIHZlcnNpb24gb2YgSUNVIGFuZCBzdGlsbCBsb2FkIHdpdGggYSBuZXdlciB2
ZXJzaW9uLgorCisgICAgICAgICogd3RmL1VSTC5jcHA6CisgICAgICAgIChXVEY6OlVSTDo6aG9z
dEFuZFBvcnQgY29uc3QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5zaWduZWQg
dG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQgYXMgYSBu
dW1iZXIgYnkgbWFrZVN0cmluZy4KKworICAgICAgICAqIHd0Zi9VUkxIZWxwZXJzLmNwcDogUmV3
b3JrIHRvIG5vdCB1c2UgZGVwcmVjYXRlZCBVU0NSSVBUX0NPREVfTElNSVQuCisgICAgICAgIChX
VEY6OlVSTEhlbHBlcnM6OndoaXRlTGlzdElETlNjcmlwdCk6IEFkZGVkIG92ZXJsb2Fkcy4KKyAg
ICAgICAgKFdURjo6VVJMSGVscGVyczo6aW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxp
c3QpOiBVc2UgYW4gYXJyYXkgb2YKKyAgICAgICAgVVNjcmlwdENvZGUgaW5zdGVhZCBvZiBhbiBh
cnJheSBvZiBzdHJpbmdzLgorICAgICAgICAoV1RGOjpVUkxIZWxwZXJzOjphbGxDaGFyYWN0ZXJz
SW5JRE5TY3JpcHRXaGl0ZUxpc3QpOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUuCisKKyAgICAgICAg
KiB3dGYvY29jb2EvTlNVUkxFeHRyYXMubW06CisgICAgICAgIChXVEY6OmRlY29kZVBlcmNlbnRF
c2NhcGVzKTogVXNlIGNyZWF0ZUNGU3RyaW5nIGluc3RlYWQgb2YgY29udmVydGluZyB0byBOU3Ry
aW5nCisgICAgICAgIGFuZCB0aGVuIHR5cGVjYXN0aW5nLgorICAgICAgICAoV1RGOjpVUkxCeVRy
dW5jYXRpbmdPbmVDaGFyYWN0ZXJCZWZvcmVDb21wb25lbnQpOiBVcGRhdGVkIHRvIHVzZSBhIGNv
bnN0ZXhwcgorICAgICAgICBpbnN0ZWFkIG9mIGEgbWFjcm8uCisgICAgICAgIChXVEY6OmRhdGFG
b3JVUkxDb21wb25lbnRUeXBlKTogRGl0dG8uCisgICAgICAgIChXVEY6OlVSTEJ5UmVtb3ZpbmdD
b21wb25lbnRBbmRTdWJzZXF1ZW50Q2hhcmFjdGVyKTogRGl0dG8uCisgICAgICAgIChXVEY6Om9y
aWdpbmFsVVJMRGF0YSk6IERpdHRvLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1
NkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZDYxOTNhYjVkNGQ0MTMzZDI4Yjk4YTQ0Yzc3MTBhNmViN2IyNGZkMS4uN2Nj
YTc3OWVjNzgwYzU3ZDdmODI1YjZkZDJmYzZjYmI5Njg2Y2E5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDIwLTA0LTIyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWls
ZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25m
aWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQbGF0Zm9ybS5oLgorCisgICAgICAg
ICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJTb2NrZXQ6OmNvbm5lY3QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5zaWdu
ZWQgdG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQgYXMg
YSBudW1iZXIgYnkgbWFrZVN0cmluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlR2x5cGhPcmllbnRhdGlvbkFuZ2xlIGNvbnN0KToK
KyAgICAgICAgUmVtb3ZlIGRlcHJlY2F0ZWQgVV9FQV9DT1VOVC4KKwogMjAyMC0wNC0yMSAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjI1NDc5MCk6IE5vIGxvbmdlciBnZXQgc21vb3RoIHNjcm9sbGluZyBvbiBtdXNpYy5hcHBsZS5j
b20KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggYmYzMTkzMzQ5ZWI4YzYyZjIzZjZlYmI5MmUxZTIzMDI3MDZmNWFmOS4u
YzA1NGVjZjY3OGJkZmY5ZDI1MTk4ZjE2MDgwMWY1NDk3ODA1NmRkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90IGV2ZW4gaW4gYnVp
bGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0Lnhj
Y29uZmlnOiBNb3ZlIElDVS1jb25maWd1cmluZyBtYWNyb3MgdG8gUGxhdGZvcm0uaC4KKworICAg
ICAgICAqIFBsYXRmb3JtL3VuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMuaDogUmVtb3ZlZCB1bm5l
ZWRlZCBpbmNsdWRlcy4KKyAgICAgICAgVGhpcyBzaWRlc3RlcHMgYSBwcm9ibGVtIHdpdGggQXBw
bGUncyBpbnRlcm5hbCBJbnN0YWxsQVBJIHRvb2wgdGhhdCBoYXBwZW5zCisgICAgICAgIGlmIFN0
cmluZ1ZpZXcuaCBpcyBpbmNsdWRlZCBhbmQgUGxhdGZvcm0uaCBpcyBub3QgaW5jbHVkZWQgZmly
c3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oOiBSZW1vdmVk
IHVubmVlZGVkIGluY2x1ZGVzLCBhbmQgdXNlZAorICAgICAgICAjcHJhZ21hIG9uY2UuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmg6IE1vdmVkIG1vc3Qg
dGhpbmdzIG91dCBvZiB0aGUgaGVhZGVyLAorICAgICAgICBzaW5jZSB0aGV5IGRvbid0IG5lZWQg
dG8gYmUgdGhlcmUuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVuY2VPYnNlcnZl
ci5tbTogTW92ZWQgdGhlbSBoZXJlIGluY2x1ZGluZyB1c2luZyBhCisgICAgICAgIGNsYXNzIGV4
dGVuc2lvbiBmb3IgdGhlIGRhdGEgbWVtYmVyIG9mIFdLUHJlZmVyZW5jZU9ic2VydmVyLgorCisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9mdWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hldXJp
c3RpY1BhcmFtZXRlcnMuaDoKKyAgICAgICAgUmVtb3ZlZCB1bm5lZWRlZCBXVEYgcHJlZml4Lgor
CiAyMDIwLTA0LTIxICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYwNDc4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCmluZGV4IGU3ZTVhZmEzNGE5ODViYmRjOGE1ZjcwZTAzZTE3NTI0MzYyOTYzNGUuLjRkZTQ2
MDY5ZmVmMzhkN2NlNWI1NjYxNDAwMjkxMzNiYTRkYzI0NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wNC0yMSAgRGFyaW4gQWRsZXIgIDxkYXJp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIx
Nl90IGV2ZW4gaW4gYnVpbGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9XZWJLaXRMZWdhY3kueGNjb25maWc6IE1vdmUgSUNVLWNvbmZpZ3VyaW5nIG1hY3JvcyB0byBQ
bGF0Zm9ybS5oLgorCiAyMDIwLTA0LTIxICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgRml4IE1BQ0NBVEFMWVNUIGJ1aWxkIGZhaWx1cmVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmluZGV4IDVhZWJh
N2Y3MWEyMmNjZDQ3NzI2ZGJmOTM4N2I2Mzc3ZjljYWE0MDkuLjc2OWNjNDE3YzI1ZjUxZTliMWFj
NDA5ZTI3NjY5MGZjZGNmNTdlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC02OCw3ICs2OCw3IEBAIEdDQ19JTkxJTkVT
X0FSRV9QUklWQVRFX0VYVEVSTiA9IFlFUzsKIEdDQ19OT19DT01NT05fQkxPQ0tTID0gWUVTOwog
R0NDX09CSkNfQ0FMTF9DWFhfQ0RUT1JTID0gWUVTOwogR0NDX1BSRUNPTVBJTEVfUFJFRklYX0hF
QURFUiA9IFlFUzsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklO
RVMpICQoRkVBVFVSRV9ERUZJTkVTKSBVX0hJREVfREVQUkVDQVRFRF9BUEkgVV9ESVNBQkxFX1JF
TkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCAkKGluaGVyaXRlZCk7CitHQ0NfUFJFUFJP
Q0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJTkVTKSAkKEZFQVRVUkVfREVGSU5FUykg
JChpbmhlcml0ZWQpOwogR0NDX1NUUklDVF9BTElBU0lORyA9IFlFUzsKIEdDQ19USFJFQURTQUZF
X1NUQVRJQ1MgPSBOTzsKIEdDQ19UUkVBVF9XQVJOSU5HU19BU19FUlJPUlMgPSBZRVM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2Uv
V1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggZjBhNmYxOWRlZDQ3M2IyZDRi
ODcxM2IyNTEzNjMxMjIyNjNmMmMxMy4uNmNlNzMzMDJkYzRjMDQ1YjU1YjMzMjU4ZWViOWM4MzA2
ZTY1ODA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtNjks
NyArNjksNyBAQCBHQ0NfSU5MSU5FU19BUkVfUFJJVkFURV9FWFRFUk4gPSBZRVM7CiBHQ0NfTk9f
Q09NTU9OX0JMT0NLUyA9IFlFUzsKIEdDQ19PQkpDX0NBTExfQ1hYX0NEVE9SUyA9IFlFUzsKIEdD
Q19QUkVDT01QSUxFX1BSRUZJWF9IRUFERVIgPSBZRVM7Ci1HQ0NfUFJFUFJPQ0VTU09SX0RFRklO
SVRJT05TID0gJChERUJVR19ERUZJTkVTKSBVX0RJU0FCTEVfUkVOQU1JTkc9MSBVX1NIT1dfQ1BM
VVNQTFVTX0FQST0wICQoaW5oZXJpdGVkKTsKK0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMg
PSAkKERFQlVHX0RFRklORVMpICQoaW5oZXJpdGVkKTsKIEdDQ19TVFJJQ1RfQUxJQVNJTkcgPSBZ
RVM7CiBHQ0NfVEhSRUFEU0FGRV9TVEFUSUNTID0gTk87CiBHQ0NfVFJFQVRfV0FSTklOR1NfQVNf
RVJST1JTID0gWUVTOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggMGVkODIxZTJiYWNiNDY3Y2VkZDE4ZDUyMjg4
MjExNjVjZjBmYTExYy4uZjdhNGNiNWUxZDgyMmY1YmM0YTEyMGRjMjZlMDViOTU4OWNiNjdkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybS5oCkBAIC0xMDcsNiArMTA3LDE3IEBACiAjZGVmaW5lIF9fQVNTRVJUX01BQ1JP
U19ERUZJTkVfVkVSU0lPTlNfV0lUSE9VVF9VTkRFUlNDT1JFUyAwCiAjZW5kaWYKIAorLyogRklY
TUU6IFRoaXMgZG9lcyBub3QgYmVsb25nIGluIFBsYXRmb3JtLmggYW5kIHNob3VsZCBpbnN0ZWFk
IGJlIGluY2x1ZGVkIGluIGFub3RoZXIgbWVjaGFuaXNtIChjb21waWxlciBvcHRpb24sIHByZWZp
eCBoZWFkZXIsIGNvbmZpZy5oLCBldGMpICovCisvKiBJQ1UgY29uZmlndXJhdGlvbi4gU29tZSBv
ZiB0aGVzZSBtYXRjaCBJQ1UgZGVmYXVsdHMgb24gc29tZSBwbGF0Zm9ybXMsIGJ1dCB3ZSB3b3Vs
ZCBsaWtlIHRoZW0gY29uc2lzdGVudGx5IHNldCBldmVyeXdoZXJlIHdlIGJ1aWxkIFdlYktpdC4g
Ki8KKyNkZWZpbmUgVV9ISURFX0RFUFJFQ0FURURfQVBJIDEKKyNkZWZpbmUgVV9TSE9XX0NQTFVT
UExVU19BUEkgMAorI2lmZGVmIF9fY3BsdXNwbHVzCisjZGVmaW5lIFVDSEFSX1RZUEUgY2hhcjE2
X3QKKyNlbmRpZgorI2lmIFBMQVRGT1JNKENPQ09BKQorI2RlZmluZSBVX0RJU0FCTEVfUkVOQU1J
TkcgMQorI2VuZGlmCisKICNpZiBDT01QSUxFUihNU1ZDKQogI3VuZGVmIF9fU1REQ19GT1JNQVRf
TUFDUk9TCiAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9VUkwuY3BwIGIvU291cmNlL1dURi93dGYvVVJMLmNwcAppbmRleCAyYzUwNGJjZGE4
YmQzMmI3OGIzOTRhZDIyZjA3OTEyYTgzMjEwMWQ3Li42MTBkMWM0NjhiYjI0MGI4YzM5Mjc5NTU4
Mjc1OGRiZGQyOGZmNTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9VUkwuY3BwCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1VSTC5jcHAKQEAgLTE0OSw3ICsxNDksNyBAQCBPcHRpb25hbDx1aW50
MTZfdD4gVVJMOjpwb3J0KCkgY29uc3QKIFN0cmluZyBVUkw6Omhvc3RBbmRQb3J0KCkgY29uc3QK
IHsKICAgICBpZiAoYXV0byBwb3J0ID0gdGhpcy0+cG9ydCgpKQotICAgICAgICByZXR1cm4gbWFr
ZVN0cmluZyhob3N0KCksICc6Jywgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHBvcnQudmFsdWUoKSkp
OworICAgICAgICByZXR1cm4gbWFrZVN0cmluZyhob3N0KCksICc6JywgcG9ydC52YWx1ZSgpKTsK
ICAgICByZXR1cm4gaG9zdCgpLnRvU3RyaW5nKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1VSTEhlbHBlcnMuY3BwIGIvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKaW5k
ZXggNWUwZmYxMDVkZGMxNTEwOTg0ZWJjNGY2ZGQ4NmU0ZGY0ZTk2ZTk3ZC4uMzZmODA4OThjN2Qw
ZmE0NDUxYTNjZGI1ZjcyYzYzYjI1YjJkZmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VVJMSGVscGVycy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvVVJMSGVscGVycy5jcHAKQEAgLTQy
LDE1ICs0MiwyMyBAQCBuYW1lc3BhY2UgVVJMSGVscGVycyB7CiAKIC8vIE5lZWRzIHRvIGJlIGJp
ZyBlbm91Z2ggdG8gaG9sZCBhbiBJRE4tZW5jb2RlZCBuYW1lLgogLy8gRm9yIGhvc3QgbmFtZXMg
YmlnZ2VyIHRoYW4gdGhpcywgd2Ugd29uJ3QgZG8gSUROIGVuY29kaW5nLCB3aGljaCBpcyBhbG1v
c3QgY2VydGFpbmx5IE9LLgotY29uc3QgdW5zaWduZWQgaG9zdE5hbWVCdWZmZXJMZW5ndGggPSAy
MDQ4OwotY29uc3QgdW5zaWduZWQgdXJsQnl0ZXNCdWZmZXJMZW5ndGggPSAyMDQ4OworY29uc3Rl
eHByIHVuc2lnbmVkIGhvc3ROYW1lQnVmZmVyTGVuZ3RoID0gMjA0ODsKK2NvbnN0ZXhwciB1bnNp
Z25lZCB1cmxCeXRlc0J1ZmZlckxlbmd0aCA9IDIwNDg7CiAKLXN0YXRpYyB1aW50MzJfdCBJRE5T
Y3JpcHRXaGl0ZUxpc3RbKFVTQ1JJUFRfQ09ERV9MSU1JVCArIDMxKSAvIDMyXTsKKy8vIFRoaXMg
bmVlZHMgdG8gYmUgaGlnaGVyIHRoYW4gdGhlIFVTY3JpcHRDb2RlIGZvciBhbnkgb2YgdGhlIHNj
cmlwdHMgb24gdGhlIElETiB3aGl0ZWxpc3QuCisvLyBBdCBvbmUgcG9pbnQgd2UgdXNlZCBVU0NS
SVBUX0NPREVfTElNSVQgZnJvbSBJQ1UsIGJ1dCB0aGVyZSBhcmUgdHdvIHJlYXNvbnMgbm90IHRv
IHVzZSBpdC4KKy8vIDEpIElDVSBjb25zaWRlcnMgaXQgZGVwcmVjYXRlZCwgc28gYnkgc2V0dGlu
ZyBVX0hJREVfREVQUkVDQVRFRCB3ZSBjYW4ndCBzZWUgaXQuCisvLyAyKSBObyBnb29kIHJlYXNv
biB0byBsaW1pdCBvdXJzZWx2ZXMgdG8gc2NyaXB0cyB0aGF0IGV4aXN0ZWQgaW4gdGhlIElDVSBo
ZWFkZXJzIHdoZW4KKy8vICAgIFdlYktpdCB3YXMgY29tcGlsZWQuCisvLyBUaGlzIGlzIG9ubHkg
cmVhbGx5IGltcG9ydGFudCBmb3IgcGxhdGZvcm1zIHRoYXQgbG9hZCBhbiBleHRlcm5hbCBJQ1Ug
d2hpdGVsaXN0LgorLy8gTm90IGltcG9ydGFudCBmb3IgdGhlIGNvbXBpbGVkLWluIG9uZS4KK2Nv
bnN0ZXhwciBhdXRvIHNjcmlwdENvZGVMaW1pdCA9IHN0YXRpY19jYXN0PFVTY3JpcHRDb2RlPigy
NTYpOworCitzdGF0aWMgdWludDMyX3QgSUROU2NyaXB0V2hpdGVMaXN0WyhzY3JpcHRDb2RlTGlt
aXQgKyAzMSkgLyAzMl07CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCiAKLS8vIENvY29hIGhhcyBh
biBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSB3aGl0ZWxpc3QgaW4gL0xpYnJhcnkgb3Igfi9M
aWJyYXJ5LAotLy8gaWYgaXQgZXhpc3RzLgorLy8gQ29jb2EgaGFzIGFuIGltcGxlbWVudGF0aW9u
IHRoYXQgdXNlcyBhIHdoaXRlbGlzdCBpbiAvTGlicmFyeSBvciB+L0xpYnJhcnksIGlmIGl0IGV4
aXN0cy4KIHZvaWQgbG9hZElETlNjcmlwdFdoaXRlTGlzdCgpCiB7CiAgICAgc3RhdGljIHN0ZDo6
b25jZV9mbGFnIGZsYWc7CkBAIC0yNTYsNDIgKzI2NCw1MSBAQCBzdGF0aWMgYm9vbCBpc0xvb2th
bGlrZUNoYXJhY3Rlcihjb25zdCBPcHRpb25hbDxVQ2hhcjMyPiYgcHJldmlvdXNDb2RlUG9pbnQs
IFVDaAogICAgIH0KIH0KIAotdm9pZCB3aGl0ZUxpc3RJRE5TY3JpcHQoY29uc3QgY2hhciogc2Ny
aXB0TmFtZSkKK3N0YXRpYyB2b2lkIHdoaXRlTGlzdElETlNjcmlwdChpbnQzMl90IHNjcmlwdCkK
IHsKLSAgICBpbnQzMl90IHNjcmlwdCA9IHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NS
SVBULCBzY3JpcHROYW1lKTsKLSAgICBpZiAoc2NyaXB0ID49IDAgJiYgc2NyaXB0IDwgVVNDUklQ
VF9DT0RFX0xJTUlUKSB7CisgICAgaWYgKHNjcmlwdCA+PSAwICYmIHNjcmlwdCA8IHNjcmlwdENv
ZGVMaW1pdCkgewogICAgICAgICBzaXplX3QgaW5kZXggPSBzY3JpcHQgLyAzMjsKICAgICAgICAg
dWludDMyX3QgbWFzayA9IDEgPDwgKHNjcmlwdCAlIDMyKTsKICAgICAgICAgSUROU2NyaXB0V2hp
dGVMaXN0W2luZGV4XSB8PSBtYXNrOwogICAgIH0KIH0KIAorc3RhdGljIHZvaWQgd2hpdGVMaXN0
SUROU2NyaXB0KFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICB3aGl0ZUxpc3RJRE5TY3JpcHQo
c3RhdGljX2Nhc3Q8aW50MzJfdD4oc2NyaXB0KSk7Cit9CisKK3ZvaWQgd2hpdGVMaXN0SUROU2Ny
aXB0KGNvbnN0IGNoYXIqIHNjcmlwdE5hbWUpCit7CisgICAgd2hpdGVMaXN0SUROU2NyaXB0KHVf
Z2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NSSVBULCBzY3JpcHROYW1lKSk7Cit9CisKIHZv
aWQgaW5pdGlhbGl6ZURlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3QoKQogewotICAgIGNvbnN0IGNo
YXIqIGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3RbMjBdID0gewotICAgICAgICAiQ29tbW9uIiwK
LSAgICAgICAgIkluaGVyaXRlZCIsCi0gICAgICAgICJBcmFiaWMiLAotICAgICAgICAiQXJtZW5p
YW4iLAotICAgICAgICAiQm9wb21vZm8iLAotICAgICAgICAiQ2FuYWRpYW5fQWJvcmlnaW5hbCIs
Ci0gICAgICAgICJEZXZhbmFnYXJpIiwKLSAgICAgICAgIkRlc2VyZXQiLAotICAgICAgICAiR3Vq
YXJhdGkiLAotICAgICAgICAiR3VybXVraGkiLAotICAgICAgICAiSGFuZ3VsIiwKLSAgICAgICAg
IkhhbiIsCi0gICAgICAgICJIZWJyZXciLAotICAgICAgICAiSGlyYWdhbmEiLAotICAgICAgICAi
S2F0YWthbmFfT3JfSGlyYWdhbmEiLAotICAgICAgICAiS2F0YWthbmEiLAotICAgICAgICAiTGF0
aW4iLAotICAgICAgICAiVGFtaWwiLAotICAgICAgICAiVGhhaSIsCi0gICAgICAgICJZaSIsCisg
ICAgY29uc3RleHByIFVTY3JpcHRDb2RlIGRlZmF1bHRJRE5TY3JpcHRXaGl0ZUxpc3RbXSA9IHsK
KyAgICAgICAgVVNDUklQVF9DT01NT04sCisgICAgICAgIFVTQ1JJUFRfSU5IRVJJVEVELAorICAg
ICAgICBVU0NSSVBUX0FSQUJJQywKKyAgICAgICAgVVNDUklQVF9BUk1FTklBTiwKKyAgICAgICAg
VVNDUklQVF9CT1BPTU9GTywKKyAgICAgICAgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAor
ICAgICAgICBVU0NSSVBUX0RFVkFOQUdBUkksCisgICAgICAgIFVTQ1JJUFRfREVTRVJFVCwKKyAg
ICAgICAgVVNDUklQVF9HVUpBUkFUSSwKKyAgICAgICAgVVNDUklQVF9HVVJNVUtISSwKKyAgICAg
ICAgVVNDUklQVF9IQU5HVUwsCisgICAgICAgIFVTQ1JJUFRfSEFOLAorICAgICAgICBVU0NSSVBU
X0hFQlJFVywKKyAgICAgICAgVVNDUklQVF9ISVJBR0FOQSwKKyAgICAgICAgVVNDUklQVF9LQVRB
S0FOQV9PUl9ISVJBR0FOQSwKKyAgICAgICAgVVNDUklQVF9LQVRBS0FOQSwKKyAgICAgICAgVVND
UklQVF9MQVRJTiwKKyAgICAgICAgVVNDUklQVF9UQU1JTCwKKyAgICAgICAgVVNDUklQVF9USEFJ
LAorICAgICAgICBVU0NSSVBUX1lJLAogICAgIH07Ci0gICAgZm9yIChjb25zdCBjaGFyKiBzY3Jp
cHROYW1lIDogZGVmYXVsdElETlNjcmlwdFdoaXRlTGlzdCkKLSAgICAgICAgd2hpdGVMaXN0SURO
U2NyaXB0KHNjcmlwdE5hbWUpOworICAgIGZvciAoYXV0byBzY3JpcHQgOiBkZWZhdWx0SUROU2Ny
aXB0V2hpdGVMaXN0KQorICAgICAgICB3aGl0ZUxpc3RJRE5TY3JpcHQoc2NyaXB0KTsKIH0KIAog
c3RhdGljIGJvb2wgYWxsQ2hhcmFjdGVyc0luSUROU2NyaXB0V2hpdGVMaXN0KGNvbnN0IFVDaGFy
KiBidWZmZXIsIGludDMyX3QgbGVuZ3RoKQpAQCAtMzEyLDcgKzMyOSw3IEBAIHN0YXRpYyBib29s
IGFsbENoYXJhY3RlcnNJbklETlNjcmlwdFdoaXRlTGlzdChjb25zdCBVQ2hhciogYnVmZmVyLCBp
bnQzMl90IGxlbmd0CiAgICAgICAgICAgICBMT0dfRVJST1IoImdvdCBuZWdhdGl2ZSBudW1iZXIg
Zm9yIHNjcmlwdCBjb2RlIGZyb20gSUNVOiAlZCIsIHNjcmlwdCk7CiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKHNjcmlwdCA+PSBVU0NSSVBUX0NPREVf
TElNSVQpCisgICAgICAgIGlmIChzY3JpcHQgPj0gc2NyaXB0Q29kZUxpbWl0KQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHNpemVfdCBpbmRleCA9IHNjcmlwdCAvIDMyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTlNVUkxFeHRyYXMubW0gYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQppbmRleCA0N2RlZTYyOTU2YTMzNDRmNjk1MTM4
ZmU2ODNiODRiNmM3ODMxMzk1Li40NjMxZjI3NjgxNTkxZWNkMjU4YTg2N2EwMTM2ZGFkZGMwMmI2
OTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9OU1VSTEV4dHJhcy5tbQpAQCAtMzYsMTIgKzM2LDEyIEBA
CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAjaW1wb3J0IDx3dGYvY2YvQ0ZVUkxFeHRyYXMuaD4K
IAotI2RlZmluZSBVUkxfQllURVNfQlVGRkVSX0xFTkdUSCAyMDQ4Ci0KIG5hbWVzcGFjZSBXVEYg
ewogCiB1c2luZyBuYW1lc3BhY2UgVVJMSGVscGVyczsKIAorY29uc3RleHByIHVuc2lnbmVkIHVy
bEJ5dGVzQnVmZmVyTGVuZ3RoID0gMjA0ODsKKwogc3RhdGljIEJPT0wgcmVhZElETlNjcmlwdFdo
aXRlTGlzdEZpbGUoTlNTdHJpbmcgKmZpbGVuYW1lKQogewogICAgIGlmICghZmlsZW5hbWUpCkBA
IC05NCwxMyArOTQsMTAgQEAgdm9pZCBsb2FkSUROU2NyaXB0V2hpdGVMaXN0KCkKICAgICAKIHN0
YXRpYyBTdHJpbmcgZGVjb2RlUGVyY2VudEVzY2FwZXMoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7
Ci0gICAgTlNTdHJpbmcgKnN1YnN0cmluZyA9IChOU1N0cmluZyAqKXN0cmluZzsKLSAgICBzdWJz
dHJpbmcgPSBDRkJyaWRnaW5nUmVsZWFzZShDRlVSTENyZWF0ZVN0cmluZ0J5UmVwbGFjaW5nUGVy
Y2VudEVzY2FwZXMobnVsbHB0ciwgKENGU3RyaW5nUmVmKXN1YnN0cmluZywgQ0ZTVFIoIiIpKSk7
Ci0KKyAgICBOU1N0cmluZyAqc3Vic3RyaW5nID0gQ0ZCcmlkZ2luZ1JlbGVhc2UoQ0ZVUkxDcmVh
dGVTdHJpbmdCeVJlcGxhY2luZ1BlcmNlbnRFc2NhcGVzKG51bGxwdHIsIHN0cmluZy5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBDRlNUUigiIikpKTsKICAgICBpZiAoIXN1YnN0cmluZykKICAgICAg
ICAgcmV0dXJuIHN0cmluZzsKLQotICAgIHJldHVybiAoU3RyaW5nKXN1YnN0cmluZzsKKyAgICBy
ZXR1cm4gc3Vic3RyaW5nOwogfQogCiBOU1N0cmluZyAqZGVjb2RlSG9zdE5hbWUoTlNTdHJpbmcg
KnN0cmluZykKQEAgLTEzNSw3ICsxMzIsNyBAQCBOU1VSTCAqVVJMQnlUcnVuY2F0aW5nT25lQ2hh
cmFjdGVyQmVmb3JlQ29tcG9uZW50KE5TVVJMICpVUkwsIENGVVJMQ29tcG9uZW50VHlwZQogICAg
IGlmIChmcmFnUmcubG9jYXRpb24gPT0ga0NGTm90Rm91bmQpCiAgICAgICAgIHJldHVybiBVUkw7
CiAKLSAgICBWZWN0b3I8VUludDgsIFVSTF9CWVRFU19CVUZGRVJfTEVOR1RIPiB1cmxCeXRlcyhV
UkxfQllURVNfQlVGRkVSX0xFTkdUSCk7CisgICAgVmVjdG9yPFVJbnQ4LCB1cmxCeXRlc0J1ZmZl
ckxlbmd0aD4gdXJsQnl0ZXModXJsQnl0ZXNCdWZmZXJMZW5ndGgpOwogICAgIENGSW5kZXggbnVt
Qnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIHVybEJ5dGVzLmRh
dGEoKSwgdXJsQnl0ZXMuc2l6ZSgpKTsKICAgICBpZiAobnVtQnl0ZXMgPT0gLTEpIHsKICAgICAg
ICAgbnVtQnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIG51bGxw
dHIsIDApOwpAQCAtMjY5LDcgKzI2Niw3IEBAIHN0YXRpYyBCT09MIGhhc1F1ZXN0aW9uTWFya09u
bHlRdWVyeVN0cmluZyhOU1VSTCAqVVJMKQogCiBOU0RhdGEgKmRhdGFGb3JVUkxDb21wb25lbnRU
eXBlKE5TVVJMICpVUkwsIENGVVJMQ29tcG9uZW50VHlwZSBjb21wb25lbnRUeXBlKQogewotICAg
IFZlY3RvcjxVSW50OCwgVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEg+IGFsbEJ5dGVzQnVmZmVyKFVS
TF9CWVRFU19CVUZGRVJfTEVOR1RIKTsKKyAgICBWZWN0b3I8VUludDgsIHVybEJ5dGVzQnVmZmVy
TGVuZ3RoPiBhbGxCeXRlc0J1ZmZlcih1cmxCeXRlc0J1ZmZlckxlbmd0aCk7CiAgICAgQ0ZJbmRl
eCBieXRlc0ZpbGxlZCA9IENGVVJMR2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgYWxs
Qnl0ZXNCdWZmZXIuZGF0YSgpLCBhbGxCeXRlc0J1ZmZlci5zaXplKCkpOwogICAgIGlmIChieXRl
c0ZpbGxlZCA9PSAtMSkgewogICAgICAgICBDRkluZGV4IGJ5dGVzVG9BbGxvY2F0ZSA9IENGVVJM
R2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwgMCk7CkBAIC0zMjUsNyAr
MzIyLDcgQEAgc3RhdGljIE5TVVJMICpVUkxCeVJlbW92aW5nQ29tcG9uZW50QW5kU3Vic2VxdWVu
dENoYXJhY3RlcihOU1VSTCAqVVJMLCBDRlVSTENvbXAKICAgICAvLyBSZW1vdmUgb25lIHN1YnNl
cXVlbnQgY2hhcmFjdGVyLgogICAgIHJhbmdlLmxlbmd0aCsrOwogCi0gICAgVmVjdG9yPFVJbnQ4
LCBVUkxfQllURVNfQlVGRkVSX0xFTkdUSD4gYnVmZmVyKFVSTF9CWVRFU19CVUZGRVJfTEVOR1RI
KTsKKyAgICBWZWN0b3I8VUludDgsIHVybEJ5dGVzQnVmZmVyTGVuZ3RoPiBidWZmZXIodXJsQnl0
ZXNCdWZmZXJMZW5ndGgpOwogICAgIENGSW5kZXggbnVtQnl0ZXMgPSBDRlVSTEdldEJ5dGVzKChf
X2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOwogICAg
IGlmIChudW1CeXRlcyA9PSAtMSkgewogICAgICAgICBudW1CeXRlcyA9IENGVVJMR2V0Qnl0ZXMo
KF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwgMCk7CkBAIC0zNTUsOCArMzUyLDggQEAg
TlNVUkwgKlVSTEJ5UmVtb3ZpbmdVc2VySW5mbyhOU1VSTCAqVVJMKQogCiBOU0RhdGEgKm9yaWdp
bmFsVVJMRGF0YShOU1VSTCAqVVJMKQogewotICAgIFVJbnQ4ICpidWZmZXIgPSAoVUludDggKilt
YWxsb2MoVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEgpOwotICAgIENGSW5kZXggYnl0ZXNGaWxsZWQg
PSBDRlVSTEdldEJ5dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlciwgVVJMX0JZVEVT
X0JVRkZFUl9MRU5HVEgpOworICAgIFVJbnQ4ICpidWZmZXIgPSAoVUludDggKiltYWxsb2ModXJs
Qnl0ZXNCdWZmZXJMZW5ndGgpOworICAgIENGSW5kZXggYnl0ZXNGaWxsZWQgPSBDRlVSTEdldEJ5
dGVzKChfX2JyaWRnZSBDRlVSTFJlZilVUkwsIGJ1ZmZlciwgdXJsQnl0ZXNCdWZmZXJMZW5ndGgp
OwogICAgIGlmIChieXRlc0ZpbGxlZCA9PSAtMSkgewogICAgICAgICBDRkluZGV4IGJ5dGVzVG9B
bGxvY2F0ZSA9IENGVVJMR2V0Qnl0ZXMoKF9fYnJpZGdlIENGVVJMUmVmKVVSTCwgbnVsbHB0ciwg
MCk7CiAgICAgICAgIGJ1ZmZlciA9IChVSW50OCAqKXJlYWxsb2MoYnVmZmVyLCBieXRlc1RvQWxs
b2NhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29y
ZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25m
aWcKaW5kZXggYTBhZGQyYTU3MWYwMGM2ZmEzOWJkNTNiZWFmODYxZGQxMDJiNzM0Zi4uNmNmM2M0
MWFhMTVmNmJjMmY2NmZkN2NkYjkzNDkzNjUzMDIyMmMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5j
bHVkZSAiV2ViS2l0VGFyZ2V0Q29uZGl0aW9uYWxzLnhjY29uZmlnIgogCiBHQ0NfUFJFRklYX0hF
QURFUiA9IFdlYkNvcmVQcmVmaXguaDsKLUdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAk
KERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBCVUlMRElOR19XRUJLSVQgVV9ESVNB
QkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBHTF9TSUxFTkNFX0RFUFJFQ0FU
SU9OPTEgR0xFU19TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOworR0NDX1BSRVBS
T0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMp
IEJVSUxESU5HX1dFQktJVCBHTF9TSUxFTkNFX0RFUFJFQ0FUSU9OPTEgR0xFU19TSUxFTkNFX0RF
UFJFQ0FUSU9OPTEgJChpbmhlcml0ZWQpOwogCiBXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSID0g
JChXS19QUklWQVRFX0ZSQU1FV09SS1NfRElSXyQoVVNFX0lOVEVSTkFMX1NESykpOwogV0tfUFJJ
VkFURV9GUkFNRVdPUktTX0RJUl9bc2RrPWlwaG9uZSpdID0gJChQUk9KRUNUX0RJUikvLi4vLi4v
V2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvJChXS19UQVJH
RVRfSU9TX1ZFUlNJT05fTUFKT1IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiZTZkOTQ1ZDRmMWNjNDZjMjk2MTYxODQ4YjZiMGZi
ZDg3MDcxMmZhLi44OWYzZDg0MWE4YzZhNTkxNGRjNmI1NDI2NWZmMzJhNjA2NDRkZjljIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAt
MjU3LDcgKzI1Nyw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFdlYlNvY2tldDo6Y29ubmVjdChjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHByCiAgICAgaWYgKCFwb3J0QWxs
b3dlZChtX3VybCkpIHsKICAgICAgICAgU3RyaW5nIG1lc3NhZ2U7CiAgICAgICAgIGlmIChtX3Vy
bC5wb3J0KCkpCi0gICAgICAgICAgICBtZXNzYWdlID0gbWFrZVN0cmluZygiV2ViU29ja2V0IHBv
cnQgIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fdXJsLnBvcnQoKS52YWx1ZSgpKSwgIiBibG9j
a2VkIik7CisgICAgICAgICAgICBtZXNzYWdlID0gbWFrZVN0cmluZygiV2ViU29ja2V0IHBvcnQg
IiwgbV91cmwucG9ydCgpLnZhbHVlKCksICIgYmxvY2tlZCIpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBtZXNzYWdlID0gIldlYlNvY2tldCB3aXRob3V0IHBvcnQgYmxvY2tlZCJfczsKICAg
ICAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgbWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAKaW5kZXggZWQ1
N2VhYjVhNGU3YWMxMGZjNGU3NWZhMTJlOGNmYzFiNDU1YzJmMy4uN2JlMjBkODQxMzgxZGU4NWUw
MjQ1NDg4ZmU1ZWU1OWE2ZjcxMmM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcApAQCAtMTYy
LDkgKzE2Miw2IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRl
R2x5cGhPcmllbnRhdGlvbkFuZ2xlKGJvb2wgaXNWZXJ0aWNhCiAgICAgICAgIGNhc2UgVV9FQV9G
VUxMV0lEVEg6CiAgICAgICAgIGNhc2UgVV9FQV9XSURFOgogICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgIGNhc2UgVV9FQV9DT1VOVDoKLSAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCmluZGV4IDZmMjhmNzdjOGRkZjI0YjgwZTViZWVkOTE0
ZWM5NDg1MWU1YTYwODYuLjMzMWFiYWY1NWVkOTE4OWNmNGZjN2E5MjA2MTcxOGQ2YzRhMmFkNzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25m
aWcKQEAgLTM2LDcgKzM2LDcgQEAgRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tzZGs9aXBob25lKl0g
PSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkgJChXS19QUklWQVQKIFNZU1RFTV9GUkFN
RVdPUktfU0VBUkNIX1BBVEhTID0gJChpbmhlcml0ZWQpICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJS
QVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3MgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElS
KS9GcmFtZXdvcmtzOwogCiBHQ0NfUFJFRklYX0hFQURFUiA9IFdlYktpdDJQcmVmaXguaDsKLUdD
Q19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9E
RUZJTkVTKSAkKFdLX0NPUkVfUFJFRElDVElPTl9ERUZJTkVTKSBVX0hJREVfREVQUkVDQVRFRF9B
UEkgVV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBGUkFNRVdPUktf
TkFNRT1XZWJLaXQ7CitHQ0NfUFJFUFJPQ0VTU09SX0RFRklOSVRJT05TID0gJChERUJVR19ERUZJ
TkVTKSAkKEZFQVRVUkVfREVGSU5FUykgJChXS19DT1JFX1BSRURJQ1RJT05fREVGSU5FUykgRlJB
TUVXT1JLX05BTUU9V2ViS2l0OwogV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFMg
PSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25z
ICQoU0RLUk9PVCkvdXNyL2xvY2FsL2luY2x1ZGUvV2ViS2l0QWRkaXRpb25zOwogTElCV0VCUlRD
X0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2FsL2lu
Y2x1ZGUvd2VicnRjICQoU0RLUk9PVCkvdXNyL2xvY2FsL2luY2x1ZGUvd2VicnRjOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3VuaXgvRW52aXJvbm1lbnRVdGlsaXRpZXMu
aCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCmlu
ZGV4IGU4MjhkNzRlYTUzYjk3MWQzMTM1MzY3MTgxNzIxMGE5YjRiMjUwOGMuLjFjMGQzYTU4OGFk
MGQyMmU3ODNhOTQ2NDQ1YjY1YTQ2YWU3MTE5ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vdW5peC9FbnZpcm9ubWVudFV0aWxpdGllcy5oCkBAIC0yNyw4ICsyNyw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIldLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgiCi0jaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmgKaW5kZXggODYz
ZWQ5NjYwMzkyOTY3ZTNjMzJjZWNmYWIxNGU2OTIzNzljODhkOS4uYmNjN2ZkZmFhNWFjYWE3MDVm
YzVjOTVjNDcwODE3MGY1NDQzMjQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL2NwcC9XS1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9jcHAvV0tSZXRhaW5QdHIuaApAQCAtMjMsMTUgKzIzLDExIEBACiAgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBXS1JldGFpblB0cl9oCi0jZGVmaW5l
IFdLUmV0YWluUHRyX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8V2ViS2l0L1dLVHlwZS5o
PgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgotI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTI2Myw3ICsy
NTksMTAgQEAgdXNpbmcgV2ViS2l0OjpyZXRhaW5XSzsKIAogbmFtZXNwYWNlIFdURiB7CiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgSXNTbWFydFB0cjxXS1JldGFpblB0cjxUPj4gewor
dGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBJc1NtYXJ0UHRyOwordGVtcGxhdGU8dHlwZW5hbWU+
IHN0cnVjdCBEZWZhdWx0SGFzaDsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElzU21h
cnRQdHI8V0tSZXRhaW5QdHI8VD4+IHsKICAgICBXVEZfSU5URVJOQUwgc3RhdGljIGNvbnN0IGJv
b2wgdmFsdWUgPSB0cnVlOwogfTsKIApAQCAtMjgwLDUgKzI3OSwzIEBAIHRlbXBsYXRlPHR5cGVu
YW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRzPFdLUmV0YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFz
aFRyYWl0czxXCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYKLQotI2VuZGlmIC8vIFdLUmV0YWlu
UHRyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVu
Y2VPYnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9i
c2VydmVyLmgKaW5kZXggMmMzZTkxZWNiNTJjODBjMDQ2ZGVkYjg0ZmIyMWI3NGVjMmYwOTMyMi4u
NGY0NDcyYTQyNDY3YTNlNzYwZjdlNDU3MWRiYzYwMWUzNTdiYTdkNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLmgKQEAgLTIzLDI1
ICsyMyw4IEBACiAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICovCiAKLSNpbXBv
cnQgPHd0Zi9SZXRhaW5QdHIuaD4KLSNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KLQotQGNsYXNzIFdL
UHJlZmVyZW5jZU9ic2VydmVyOwotCi1fX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0
IikpKQotQGludGVyZmFjZSBXS1VzZXJEZWZhdWx0cyA6IE5TVXNlckRlZmF1bHRzIHsKLUBwcml2
YXRlCi0gICAgTlNTdHJpbmcgKm1fc3VpdGVOYW1lOwotQHB1YmxpYwotICAgIFdLUHJlZmVyZW5j
ZU9ic2VydmVyICptX29ic2VydmVyOwotfQotQGVuZAotCiBfX2F0dHJpYnV0ZV9fKCh2aXNpYmls
aXR5KCJkZWZhdWx0IikpKQotQGludGVyZmFjZSBXS1ByZWZlcmVuY2VPYnNlcnZlciA6IE5TT2Jq
ZWN0IHsKLUBwcml2YXRlCi0gICAgVmVjdG9yPFJldGFpblB0cjxXS1VzZXJEZWZhdWx0cz4+IG1f
dXNlckRlZmF1bHRzOwotfQorQGludGVyZmFjZSBXS1ByZWZlcmVuY2VPYnNlcnZlciA6IE5TT2Jq
ZWN0CiArIChpZClzaGFyZWRJbnN0YW5jZTsKIC0gKHZvaWQpcHJlZmVyZW5jZURpZENoYW5nZToo
TlNTdHJpbmcgKilkb21haW4ga2V5OihOU1N0cmluZyAqKWtleSBlbmNvZGVkVmFsdWU6KE5TU3Ry
aW5nICopZW5jb2RlZFZhbHVlOwogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUHJlZmVyZW5jZU9ic2VydmVyLm1tCmluZGV4IDVmMTVhZDhjNjMwMGNiODdhYjZh
NTBmZjc3NzViMzg3ODYyYzA2NzEuLjMxNmIyZjM5OThlNTZjMDdmYmEwNDg5Y2FiYTU0Yzk5NmNj
MGQ4OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ByZWZlcmVu
Y2VPYnNlcnZlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QcmVmZXJl
bmNlT2JzZXJ2ZXIubW0KQEAgLTI5LDYgKzI5LDIwIEBACiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9v
bC5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VzZXJEZWZhdWx0c1NQSS5oPgogCitAaW50
ZXJmYWNlIFdLVXNlckRlZmF1bHRzIDogTlNVc2VyRGVmYXVsdHMgeworQHByaXZhdGUKKyAgICBO
U1N0cmluZyAqbV9zdWl0ZU5hbWU7CitAcHVibGljCisgICAgV0tQcmVmZXJlbmNlT2JzZXJ2ZXIg
Km1fb2JzZXJ2ZXI7Cit9CitAZW5kCisKK0BpbnRlcmZhY2UgV0tQcmVmZXJlbmNlT2JzZXJ2ZXIg
KCkgeworQHByaXZhdGUKKyAgICBWZWN0b3I8UmV0YWluUHRyPFdLVXNlckRlZmF1bHRzPj4gbV91
c2VyRGVmYXVsdHM7Cit9CitAZW5kCisKIEBpbXBsZW1lbnRhdGlvbiBXS1VzZXJEZWZhdWx0cwog
CiAtICh2b2lkKV9ub3RpZnlPYnNlcnZlcnNPZkNoYW5nZUZyb21WYWx1ZXNGb3JLZXlzOihOU0Rp
Y3Rpb25hcnk8TlNTdHJpbmcgKiwgaWQ+ICopb2xkVmFsdWVzIHRvVmFsdWVzRm9yS2V5czooTlNE
aWN0aW9uYXJ5PE5TU3RyaW5nICosIGlkPiAqKW5ld1ZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4vRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlz
dGljUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Z1bGxzY3JlZW4v
RnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljUGFyYW1ldGVycy5oCmluZGV4IGViZWEzMTkzNGIw
ZDk5NzhhZDNjYzFlZThlNWExMGYzMDg0MGI5MDUuLjI3MzQ2OTg5MzgxNTc3MWNkM2RhYTc1NTMw
NTE5MGFiMTkwZjYyNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
dWxsc2NyZWVuL0Z1bGxzY3JlZW5Ub3VjaFNlY2hldXJpc3RpY1BhcmFtZXRlcnMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZnVsbHNjcmVlbi9GdWxsc2NyZWVuVG91Y2hTZWNo
ZXVyaXN0aWNQYXJhbWV0ZXJzLmgKQEAgLTMxLDggKzMxLDggQEAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBzdHJ1Y3QgRnVsbHNjcmVlblRvdWNoU2VjaGV1cmlzdGljUGFyYW1ldGVycyB7Ci0gICAg
V1RGOjpTZWNvbmRzIHJhbXBVcFNwZWVkOwotICAgIFdURjo6U2Vjb25kcyByYW1wRG93blNwZWVk
OworICAgIFNlY29uZHMgcmFtcFVwU3BlZWQ7CisgICAgU2Vjb25kcyByYW1wRG93blNwZWVkOwog
ICAgIGRvdWJsZSB4V2VpZ2h0OwogICAgIGRvdWJsZSB5V2VpZ2h0OwogICAgIGRvdWJsZSBnYW1t
YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL1dl
YktpdExlZ2FjeS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRp
b25zL1dlYktpdExlZ2FjeS54Y2NvbmZpZwppbmRleCBiZThmNDhkZDNiOGM0MDEyOTExMzljOGNl
YWQ4NmFkZDdlMjI2MmFkLi44YTQ5MTYyNTBhMGE5YWUxNTcxMWMzMDZlMmIwNTM4YmRlMTNiMGEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9XZWJL
aXRMZWdhY3kueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvV2ViS2l0TGVnYWN5LnhjY29uZmlnCkBAIC00OSw3ICs0OSw3IEBAIE9USEVSX0NGTEFH
U19DT0NPQV9UT1VDSF9OTyA9IC1pZnJhbWV3b3JrICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZ
X0RJUikvRnJhbWV3CiBPVEhFUl9DUExVU1BMVVNGTEFHUyA9ICQoaW5oZXJpdGVkKSAkKE9USEVS
X0NGTEFHU19DT0NPQV9UT1VDSCk7CiAKIEdDQ19QUkVGSVhfSEVBREVSID0gbWFjL1dlYktpdFBy
ZWZpeC5oOwotR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykg
JChGRUFUVVJFX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBVX0hJREVfREVQUkVDQVRFRF9BUEkg
VV9ESVNBQkxFX1JFTkFNSU5HPTEgVV9TSE9XX0NQTFVTUExVU19BUEk9MCBGUkFNRVdPUktfTkFN
RT1XZWJLaXRMZWdhY3kgJChpbmhlcml0ZWQpOworR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9O
UyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEJVSUxESU5HX1dFQktJVCBG
UkFNRVdPUktfTkFNRT1XZWJLaXRMZWdhY3kgJChpbmhlcml0ZWQpOwogCiBXRUJLSVRBRERJVElP
TlNfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS9XZWJLaXRBZGRpdGlvbnMgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJL
aXRBZGRpdGlvbnM7CiBMSUJXRUJSVENfSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJP
RFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZS93ZWJydGMgJChTREtST09UKS91c3IvbG9jYWwv
aW5jbHVkZS93ZWJydGM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1vbi5j
bWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCmluZGV4IDkzZmJlMjBkM2U1
NDk0NmVlY2Q2NDZmNWQzZjEyYzdkY2UwNTc5ZTAuLmVhMTM2MjQ4M2U3ODBlNDE1Y2M4NTQ4Y2M2
ZjkxNGIyYTg4Y2Q4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9uLmNtYWtlCkBAIC0xODAsNSArMTgw
LDMgQEAgY2hlY2tfdHlwZV9zaXplKCJfX2ludDEyOF90IiBJTlQxMjhfVkFMVUUpCiBpZiAoSEFW
RV9JTlQxMjhfVkFMVUUpCiAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfSU5UMTI4X1Qg
SU5UMTI4X1ZBTFVFKQogZW5kaWYgKCkKLQotYWRkX2RlZmluaXRpb25zKC1EVV9TSE9XX0NQTFVT
UExVU19BUEk9MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFr
ZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zSlNDT25seS5jbWFrZQppbmRleCAwNWI4NThkOWMyZTU4
MmQzZTg5YzJiNjI5M2NmMzk5YWIxODRlYjRiLi4yMzQ0NmQ3MmM2ZjQxZTZhOThlNzk5NDE2MDBj
MDM3NjFhYWIzN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0pTQ09ubHkuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNKU0NPbmx5LmNtYWtlCkBAIC05NSw3ICs5NSw0
IEBAIGVsc2UgKCkKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChXVEZfREVGQVVMVF9FVkVO
VF9MT09QIDApCiBlbmRpZiAoKQogCi1pZiAoQVBQTEUpCi0gICAgYWRkX2RlZmluaXRpb25zKC1E
VV9ESVNBQkxFX1JFTkFNSU5HPTEpCi1lbmRpZiAoKQogZmluZF9wYWNrYWdlKElDVSA2MC4yIFJF
UVVJUkVEIENPTVBPTkVOVFMgZGF0YSBpMThuIHVjKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNNYWMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQppbmRleCBj
MWQ5NWQ2ZTg3ZWQ5YTc5NzZlZmFhNDE2ODZjNzM4MTA5NzM0YTdkLi4xZjBiNDkwY2RjNTgyNzhh
YmM4MzFjZTg3Y2MwOTNhZDcxODVmZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c01hYy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZQpAQCAtMTE5LDUg
KzExOSw0IEBAIHNldChKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX1RZUEUgU0hBUkVEKQogc2V0KFdl
YkNvcmVfTElCUkFSWV9UWVBFIFNIQVJFRCkKIHNldChXZWJDb3JlVGVzdFN1cHBvcnRfTElCUkFS
WV9UWVBFIFNIQVJFRCkKIAotYWRkX2RlZmluaXRpb25zKC1EVV9ESVNBQkxFX1JFTkFNSU5HPTEp
CiBmaW5kX3BhY2thZ2UoSUNVIDYwLjIgUkVRVUlSRUQgQ09NUE9ORU5UUyBkYXRhIGkxOG4gdWMp
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOThi
MjY1ZmM4MzUwYjFmMmM3NzBjNmYzOWFkZWM4YTQ1ZGJkY2FmMy4uNjM0NGMxNjM5MTJhMjNjNjA1
MzhmMjU4YzQ1NzhkNjE2ZjBkYjYxZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIwLTA0LTIyICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGggVUNoYXIg
YXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5hbCBTREsK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDg0NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisyMDIwLTA0LTIxICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEJ1aWxkIHdpdGgg
VUNoYXIgYXMgY2hhcjE2X3QgZXZlbiBpbiBidWlsZHMgdGhhdCB1c2UgQXBwbGUncyBpbnRlcm5h
bCBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MDg0NQorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0NvbmNhdGVuYXRlLmNwcDoKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBHZXQgcmlkIG9mIGFuIG9ic29sZXRlIGNhc3QgdG8gdW5z
aWduZWQgdG8gd29yaworICAgICAgICBhcm91bmQgdWludDE2X3Qgbm90IGJlaW5nIHRyZWF0ZWQg
YXMgYSBudW1iZXIgYnkgbWFrZVN0cmluZy4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9FbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwOgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbToKKyAgICAgICAgKFRl
c3RXZWJLaXRBUEk6OlRFU1QpOiBEaXR0by4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Rlc3RTT0F1dGhvcml6YXRpb24ubW06CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKTogRGl0dG8uCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRD
b2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6VEVTVCk6IERpdHRvLgorCiAyMDIwLTA0LTIxICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYwNDEwLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nQ29uY2F0ZW5hdGUu
Y3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nQ29uY2F0ZW5hdGUuY3Bw
CmluZGV4IGRhMDhmNGZkZjRjMDJmZjNhN2RiMzVjZWY0MGNkYzA3ZjRjODMzMjAuLjczOTE1OGU5
Mjg2ZWRlYWRkNDJmZjBhYzVjNDIxYjUzMTY1OGI5ZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0NvbmNhdGVuYXRlLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdDb25jYXRlbmF0ZS5jcHAKQEAgLTgzLDExICs4Myw3
IEBAIFRFU1QoV1RGLCBTdHJpbmdDb25jYXRlbmF0ZV9VbnNpZ25lZCkKICAgICBFWFBFQ1RfU1RS
RVEoImhlbGxvIDAgd29ybGQiLCBtYWtlU3RyaW5nKCJoZWxsbyAiLCAwdSAsICIgd29ybGQiKS51
dGY4KCkuZGF0YSgpKTsKIAogICAgIEVYUEVDVF9TVFJFUSgiaGVsbG8gNDIgd29ybGQiLCBtYWtl
U3RyaW5nKCJoZWxsbyAiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPig0MikgLCAiIHdvcmxk
IikudXRmOCgpLmRhdGEoKSk7Ci0gICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIGlmIHN0YXRlbWVu
dCBvbmNlIHdlIGhhdmUgVUNoYXIgYXMgY2hhcjE2X3QgaW4gYWxsIGNvbmZpZ3VyYXRpb25zLgot
ICAgIGlmIGNvbnN0ZXhwciAoc3RkOjppc19zYW1lX3Y8VUNoYXIsIHVpbnQxNl90PikKLSAgICAg
ICAgRVhQRUNUX1NUUkVRKCJoZWxsbyAqIHdvcmxkIiwgbWFrZVN0cmluZygiaGVsbG8gIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+KDQyKSAsICIgd29ybGQiKS51dGY4KCkuZGF0YSgpKTsK
LSAgICBlbHNlCi0gICAgICAgIEVYUEVDVF9TVFJFUSgiaGVsbG8gNDIgd29ybGQiLCBtYWtlU3Ry
aW5nKCJoZWxsbyAiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oNDIpICwgIiB3b3JsZCIp
LnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiaGVsbG8gNDIgd29ybGQiLCBtYWtl
U3RyaW5nKCJoZWxsbyAiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBzaG9ydD4oNDIpICwgIiB3b3Js
ZCIpLnV0ZjgoKS5kYXRhKCkpOwogICAgIEVYUEVDVF9TVFJFUSgiaGVsbG8gNCB3b3JsZCIsIG1h
a2VTdHJpbmcoImhlbGxvICIsIHNpemVvZihpbnQpICwgIiB3b3JsZCIpLnV0ZjgoKS5kYXRhKCkp
OyAvLyBzaXplX3QKICAgICBFWFBFQ1RfU1RSRVEoImhlbGxvIDQgd29ybGQiLCBtYWtlU3RyaW5n
KCJoZWxsbyAiLCBvZmZzZXRvZihTLCBpKSAsICIgd29ybGQiKS51dGY4KCkuZGF0YSgpKTsgLy8g
c2l6ZV90CiAgICAgRVhQRUNUX1NUUkVRKCJoZWxsbyAzMjM1ODM5NzQyIHdvcmxkIiwgbWFrZVN0
cmluZygiaGVsbG8gIiwgc3RhdGljX2Nhc3Q8c2l6ZV90PigweGMwZGVmZWZlKSwgIiB3b3JsZCIp
LnV0ZjgoKS5kYXRhKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L0Vudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAKaW5kZXggMzRmNTFmOWJj
ZmIyMWZkMmIzYTY1NDhkYmQ1MzM5NzIwYzhhYjZjZi4uM2ZkMjgzYWY2YTc1Nzg2NjVhYWFkZDk5
ZGI5ZDNiM2RjNWU4ZTRmMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9FbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiVGVzdC5oIgogCiAjaW5jbHVkZSA8V2ViS2l0L0Vudmlyb25tZW50
VXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJIHsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9UTFNEZXByZWNhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvVExTRGVwcmVjYXRpb24ubW0KaW5kZXggOTQwZWY5NTA2NjM3NzgwZDkw
MWQxMTc0NzM3Yjc3OTg1OGE0MTkzYS4uZWUyMDUyZjRjOWMzNjU2MzM1MjQ5ZmZiNGU1MWJjN2Ix
ZGMyY2QxZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9UTFNEZXByZWNhdGlvbi5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dENvY29hL1RMU0RlcHJlY2F0aW9uLm1tCkBAIC0zMTAsNyArMzEwLDcgQEAgVEVTVChUTFNWZXJz
aW9uLCBCYWNrRm9yd2FyZE5lZ290aWF0ZWRMZWdhY3lUTFMpCiAgICAgICAgIHsgIi8iLCB7ICJo
ZWxsbyIgfSB9CiAgICAgfSwgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzV2l0aExlZ2FjeVRM
Uyk7CiAgICAgSFRUUFNlcnZlciBtaXhlZENvbnRlbnRTZXJ2ZXIoewotICAgICAgICB7ICIvIiwg
eyB7eyAiQ29udGVudC1UeXBlIiwgInRleHQvaHRtbCIgfX0sIG1ha2VTdHJpbmcoIjxpbWcgc3Jj
PSdodHRwczovLzEyNy4wLjAuMToiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oaW5zZWN1cmVTZXJ2
ZXIucG9ydCgpKSwgIi8nPjwvaW1nPiIpIH0gfSwKKyAgICAgICAgeyAiLyIsIHsge3sgIkNvbnRl
bnQtVHlwZSIsICJ0ZXh0L2h0bWwiIH19LCBtYWtlU3RyaW5nKCI8aW1nIHNyYz0naHR0cHM6Ly8x
MjcuMC4wLjE6IiwgaW5zZWN1cmVTZXJ2ZXIucG9ydCgpLCAiLyc+PC9pbWc+IikgfSB9LAogICAg
IH0sIEhUVFBTZXJ2ZXI6OlByb3RvY29sOjpIdHRwcyk7CiAKICAgICBhdXRvIFt3ZWJWaWV3LCBk
ZWxlZ2F0ZV0gPSB3ZWJWaWV3V2l0aE5hdmlnYXRpb25EZWxlZ2F0ZSgpOwpAQCAtMzQ0LDcgKzM0
NCw3IEBAIFRFU1QoVExTVmVyc2lvbiwgU3VicmVzb3VyY2UpCiAgICAgfSwgSFRUUFNlcnZlcjo6
UHJvdG9jb2w6Okh0dHBzV2l0aExlZ2FjeVRMUyk7CiAKICAgICBIVFRQU2VydmVyIG1vZGVyblRM
U1NlcnZlcih7Ci0gICAgICAgIHsgIi8iLCB7IG1ha2VTdHJpbmcoIjxzY3JpcHQ+ZmV0Y2goJ2h0
dHBzOi8vMTI3LjAuMC4xOiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihsZWdhY3lUTFNTZXJ2ZXIu
cG9ydCgpKSwgIi8nLHttb2RlOiduby1jb3JzJ30pPC9zY3JpcHQ+IikgfSB9LAorICAgICAgICB7
ICIvIiwgeyBtYWtlU3RyaW5nKCI8c2NyaXB0PmZldGNoKCdodHRwczovLzEyNy4wLjAuMToiLCBs
ZWdhY3lUTFNTZXJ2ZXIucG9ydCgpLCAiLycse21vZGU6J25vLWNvcnMnfSk8L3NjcmlwdD4iKSB9
IH0sCiAgICAgICAgIHsgIi9wYWdlV2l0aG91dFN1YnJlc291cmNlIiwgeyAiaGVsbG8iIH19CiAg
ICAgfSwgSFRUUFNlcnZlcjo6UHJvdG9jb2w6Okh0dHBzKTsKICAgICAKQEAgLTM3OCw3ICszNzgs
NyBAQCBURVNUKFRMU1ZlcnNpb24sIEJhY2tGb3J3YXJkSGFzT25seVNlY3VyZUNvbnRlbnQpCiAg
ICAgICAgIHsgIi8iLCB7ICJoZWxsbyIgfSB9CiAgICAgfSk7CiAgICAgSFRUUFNlcnZlciBtaXhl
ZENvbnRlbnRTZXJ2ZXIoewotICAgICAgICB7ICIvIiwgeyB7eyAiQ29udGVudC1UeXBlIiwgInRl
eHQvaHRtbCIgfX0sIG1ha2VTdHJpbmcoIjxpbWcgc3JjPSdodHRwOi8vMTI3LjAuMC4xOiIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihpbnNlY3VyZVNlcnZlci5wb3J0KCkpLCAiLyc+PC9pbWc+Iikg
fSB9LAorICAgICAgICB7ICIvIiwgeyB7eyAiQ29udGVudC1UeXBlIiwgInRleHQvaHRtbCIgfX0s
IG1ha2VTdHJpbmcoIjxpbWcgc3JjPSdodHRwOi8vMTI3LjAuMC4xOiIsIGluc2VjdXJlU2VydmVy
LnBvcnQoKSwgIi8nPjwvaW1nPiIpIH0gfSwKICAgICB9LCBIVFRQU2VydmVyOjpQcm90b2NvbDo6
SHR0cHMpOwogCiAgICAgYXV0byBbd2ViVmlldywgZGVsZWdhdGVdID0gd2ViVmlld1dpdGhOYXZp
Z2F0aW9uRGVsZWdhdGUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvVGVzdFNPQXV0aG9yaXphdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvVGVzdFNPQXV0aG9yaXphdGlvbi5tbQppbmRleCA5YTliNDY2Yjg3
MDI1N2ZlNDU3ZDgwOGI2ZGVmYzc5ZWMwZTljNmI0Li44NmRkMTFlMTY3ZWFjM2ExZDE3MWRiMmI2
ZWMwZjAyZWRjMzBlYjlkIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1Rlc3RTT0F1dGhvcml6YXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9UZXN0U09BdXRob3JpemF0aW9uLm1tCkBAIC0yNTUxLDcgKzI1
NTEsNyBAQCBURVNUKFNPQXV0aG9yaXphdGlvblN1YkZyYW1lLCBJbnRlcmNlcHRpb25FcnJvcldp
dGhSZWZlcnJlcikKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1Rlc3RTT0F1dGhvcml6
YXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAgIGNvbmZpZ3VyZVNPQXV0aG9yaXphdGlv
bldlYlZpZXcod2ViVmlldy5nZXQoKSwgZGVsZWdhdGUuZ2V0KCkpOwogCi0gICAgYXV0byBvcmln
aW4gPSBtYWtlU3RyaW5nKCJodHRwOi8vMTI3LjAuMC4xOiIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihzZXJ2ZXIucG9ydCgpKSk7CisgICAgYXV0byBvcmlnaW4gPSBtYWtlU3RyaW5nKCJodHRwOi8v
MTI3LjAuMC4xOiIsIHNlcnZlci5wb3J0KCkpOwogICAgIFt3ZWJWaWV3IF9sb2FkUmVxdWVzdDpb
TlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOihpZClvcmln
aW5dXSBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzOk5PXTsKICAgICBbd2ViVmlldyB3YWl0Rm9yTWVz
c2FnZTooaWQpb3JpZ2luXTsKICAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAIlNPQXV0aG9y
aXphdGlvbkRpZFN0YXJ0Il07CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0KaW5k
ZXggMzcxNGQxZmY0OWQ1MDIyZTk1ZWQyZjFkNDcxMTIzMjJkNjg2ZGI2Yy4uNmI4MmRiYTQ4NDZl
OTdlZGU3OTExMGFkNzBlZWU2NGRjZjYzZWI3MCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9fV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLV2ViQXV0aGVudGljYXRp
b25QYW5lbC5tbQpAQCAtNjg4LDcgKzY4OCw3IEBAIFRFU1QoV2ViQXV0aGVudGljYXRpb25QYW5l
bCwgU3ViRnJhbWVEZXN0cnVjdGlvbkhpZENhbmNlbCkKICAgICBhdXRvIGRlbGVnYXRlID0gYWRv
cHROUyhbW1Rlc3RXZWJBdXRoZW50aWNhdGlvblBhbmVsVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdF0p
OwogICAgIFt3ZWJWaWV3IHNldFVJRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwogCi0gICAgW3dl
YlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJM
V2l0aFN0cmluZzooaWQpbWFrZVN0cmluZygiaHR0cDovL2xvY2FsaG9zdDoiLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4oc2VydmVyLnBvcnQoKSkpXV1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6KGlkKW1h
a2VTdHJpbmcoImh0dHA6Ly9sb2NhbGhvc3Q6Iiwgc2VydmVyLnBvcnQoKSldXV07CiAgICAgVXRp
bDo6cnVuKCZ3ZWJBdXRoZW50aWNhdGlvblBhbmVsUmFuKTsKICAgICBbd2ViVmlldyBldmFsdWF0
ZUphdmFTY3JpcHQ6QCJ0aGVGcmFtZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoZUZyYW1lKSIg
Y29tcGxldGlvbkhhbmRsZXI6bmlsXTsKICAgICBVdGlsOjpydW4oJndlYkF1dGhlbnRpY2F0aW9u
UGFuZWxGYWlsZWQpOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDFj
NDcxNzU4MmZmOTg3N2MxMjhmNmIxYzRhMzY1NmZlMzg2NjRmOTYuLjM2ZmRhZDFkOGU3NGY3NDYy
Y2ViYTQ4NTE0NzNjNmY4ZmQ0ZjYyYTUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNC0yMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBCdWlsZCB3aXRoIFVDaGFyIGFzIGNoYXIxNl90
IGV2ZW4gaW4gYnVpbGRzIHRoYXQgdXNlIEFwcGxlJ3MgaW50ZXJuYWwgU0RLCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA4NDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0
aW9uc0NvbW1vbi5jbWFrZTogTW92ZSBJQ1UtY29uZmlndXJpbmcgbWFjcm9zIHRvIFBsYXRmb3Jt
LmguCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNKU0NPbmx5LmNtYWtlOiBEaXR0by4K
KyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc01hYy5jbWFrZTogRGl0dG8uCisKIDIwMjAt
MDQtMjEgIEFkcmlhbiBQZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXVtDTWFrZV0gTWFrZSBndGstdW5peC1wcmludCBhIGNvbXBvbmVudCBvZiBGaW5k
R1RLLmNtYWtlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>