<?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>194311</bug_id>
          
          <creation_ts>2019-02-05 15:18:36 -0800</creation_ts>
          <short_desc>[Payment Request] It should be possible to require a phonetic name for shipping contacts</short_desc>
          <delta_ts>2019-02-06 15:18:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1502538</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-05 15:18:36 -0800</bug_when>
    <thetext>[Payment Request] It should be possible to require a phonetic name for shipping contacts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502539</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-05 15:18:54 -0800</bug_when>
    <thetext>rdar://46733045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502548</commentid>
    <comment_count>2</comment_count>
      <attachid>361228</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-05 15:29:19 -0800</bug_when>
    <thetext>Created attachment 361228
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502553</commentid>
    <comment_count>3</comment_count>
      <attachid>361229</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-05 15:34:28 -0800</bug_when>
    <thetext>Created attachment 361229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502578</commentid>
    <comment_count>4</comment_count>
      <attachid>361229</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-05 16:13:53 -0800</bug_when>
    <thetext>Comment on attachment 361229
Patch

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

&gt; Source/WebCore/DerivedSources.make:1053
&gt; +	$(WebCore)/testing/MockPaymentContactFields.idl \

Oops, tab</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503359</commentid>
    <comment_count>5</comment_count>
      <attachid>361301</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-06 09:39:36 -0800</bug_when>
    <thetext>Created attachment 361301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503382</commentid>
    <comment_count>6</comment_count>
      <attachid>361301</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-06 10:46:53 -0800</bug_when>
    <thetext>Comment on attachment 361301
Patch

Alex reviewed in person. He asked that I added some more test cases, which I&apos;ll do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503478</commentid>
    <comment_count>7</comment_count>
      <attachid>361331</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2019-02-06 14:39:40 -0800</bug_when>
    <thetext>Created attachment 361331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503502</commentid>
    <comment_count>8</comment_count>
      <attachid>361331</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-06 15:18:13 -0800</bug_when>
    <thetext>Comment on attachment 361331
Patch

Clearing flags on attachment: 361331

Committed r241105: &lt;https://trac.webkit.org/changeset/241105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503503</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-02-06 15:18:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361228</attachid>
            <date>2019-02-05 15:29:19 -0800</date>
            <delta_ts>2019-02-05 15:34:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194311-20190205152918.patch</filename>
            <type>text/plain</type>
            <size>57918</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZiMGVlOTQ0M2ZjNGYw
YzI1Njk2MzdlYzBjYThhMDI5ZGNmMzMyMS4uNDM4ZDM1NjdmNzUyZjUzNDU2NDA3MDYxYTllNzQy
MDA2NjE1NzFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAyLTA1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
dCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25ldGljIG5hbWUgZm9yIHNoaXBw
aW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8g
cmVxdWlyZSB0aGF0IGEgc2hpcHBpbmcgY29udGFjdCBoYXMgYSBwaG9uZXRpYyBuYW1lIGluIFBh
eW1lbnQgUmVxdWVzdC4KKyAgICAgICAgVG8gYWNjb21wbGlzaCB0aGlzLCBtb3ZlIHJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzIGZyb20gQXBwbGVQYXlQYXltZW50UmVxdWVzdCB0bworICAg
ICAgICBBcHBsZVBheVJlcXVlc3RCYXNlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgcGFydCBv
ZiBhbiBBcHBsZSBQYXkgcGF5bWVudCBtZXRob2QgZGF0YS4KKworICAgICAgICBTaW5jZSByZXF1
aXJlZCBzaGlwcGluZyBjb250YWN0IGZpZWxkcyBjYW4gbm93IGJlIHNwZWNpZmllZCBib3RoIGlu
CisgICAgICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIGFuZCBQYXltZW50T3B0aW9u
cywgd2UgbWVyZ2UgdGhlIHJlcXVpcmVkIGZpZWxkcyBmcm9tIHRoZXNlCisgICAgICAgIHR3byBz
b3VyY2VzIHN1Y2ggdGhhdCwgZS5nLiwgZW1haWwgaXMgcmVxdWlyZWQgaWYgaXQgaXMgc3BlY2lm
aWVkIGluIGVpdGhlciBwbGFjZS4KKworICAgICAgICBTbyB0aGF0IGNsaWVudHMgY2FuIGRldGVj
dCB0aGlzIG5ldyBmZWF0dXJlLCB0aGUgQVBJIHZlcnNpb24gbnVtYmVyIGlzIGJ1bXBlZCBmcm9t
IDUgdG8gNi4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIHRvIEFwcGxlUGF5UmVxdWVzdFNo
aXBwaW5nQ29udGFjdC5odHRwcy5odG1sIGFuZCBBcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRh
Y3RWMy5odHRwcy5odG1sLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEFuZFZhbGlkYXRlKToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpzdXBwb3J0c1ZlcnNp
b24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lcmdlUGF5bWVudE9wdGlvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hvdyk6CisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUGF5bWVudENvbnRhY3RGaWVsZHM6Ok1vY2tQYXltZW50Q29udGFjdEZpZWxk
cyk6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24pOiBE
ZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgorICAg
ICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGw6CisKIDIwMTktMDItMDQg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgYSBkZWRp
Y2F0ZWQgdHlwZSBpbnN0ZWFkIG9mIGludDMyX3QgZm9yIHBvaW50ZXIgaWRlbnRpZmllcnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggYjliMDQxNzQ3YWU4YWQwOGRhMDNjYjMwOWZlZTljNTY5NjRkZDU5Zi4uM2M0MDE2
MzE2NmQ0NjEwNzVlNGQwZmE2Mjc0MTM0MThiNTFhNTBlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxOS0wMi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW1BheW1lbnQgUmVxdWVzdF0gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBw
aG9uZXRpYyBuYW1lIGZvciBzaGlwcGluZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMw
NDU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oOgor
CiAyMDE5LTAyLTA0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAg
ICAgVXNlIGEgZGVkaWNhdGVkIHR5cGUgaW5zdGVhZCBvZiBpbnQzMl90IGZvciBwb2ludGVyIGlk
ZW50aWZpZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMzNkNjMwY2VjZTQyNWFh
M2Q4ZTNkODExMGQyYThmNDQ0YzkxYjg2ZC4uMjgwMTZkMmM1M2YzMTY0NWQwNDg1YjdkNzJhZDdj
YmQzOThmM2Q5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE5LTAyLTA1ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBb
UGF5bWVudCBSZXF1ZXN0XSBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25l
dGljIG5hbWUgZm9yIHNoaXBwaW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbToKKyAgICAgICAgKFdlYlBh
eW1lbnRDb29yZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKTogRGVsZXRlZC4KKwogMjAx
OS0wMi0wMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIHNldE5lZWRzTGF5b3V0IG9uIHRoZSByb290IG1vcmUgZXhwbGljaXRseSBhYm91dCB0
cmlnZ2VyaW5nIGl0cyBzaWRlLWVmZmVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGJjMzAwOWVmNTBjOTY0YjZlNjc4NGNlODJjMDc2NDljZjc5NDVlZGQuLmYyYTMxMTYwMDQ5
M2RiNTBlNDY1M2ExMDYwMDlmMDUzNTIyZDc1MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTA1MCw2ICsxMDUwLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2Vi
Q29yZSkvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmlkbCBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGlu
Zy9Nb2NrUGF5bWVudEFkZHJlc3MuaWRsIFwKKwkkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb250YWN0RmllbGRzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJv
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50UmVxdWVzdC5oCmluZGV4IGU2ZmI2MDI2YjNkYTEyOTA0ZDJjODc5YjQwNTJhZmRi
NGE0NmI4N2YuLjNmMGI2NmYxNzkzN2FhNDFiNGVjNGZkODFkNzhhODBhMDg2N2FiOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVx
dWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50UmVxdWVzdC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0y
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
Ni0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNDAsOCArNDAsNiBAQCBzdHJ1Y3QgQXBwbGVQYXlQYXltZW50UmVx
dWVzdCA6IEFwcGxlUGF5UmVxdWVzdEJhc2UgewogCiAgICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsK
IAotICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUNvbnRhY3RGaWVsZD4+IHJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzOwotCiAgICAgU2hpcHBpbmdUeXBlIHNoaXBwaW5nVHlwZSB7IFNo
aXBwaW5nVHlwZTo6U2hpcHBpbmcgfTsKICAgICBPcHRpb25hbDxWZWN0b3I8QXBwbGVQYXlTaGlw
cGluZ01ldGhvZD4+IHNoaXBwaW5nTWV0aG9kczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwKaW5kZXgg
MGVjMTkyNzQzMGYwNWJiMWYwYjQxMTdjYzAzMDg5MDQ3YjQwOTkyNy4uYjgyNmJlZTM3NDI0ZWVh
ZGExZGQ0ZDE2ZGE3NDg3OWFlY2EyZDBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDAs
OCArNDAsNiBAQAogCiAgICAgcmVxdWlyZWQgRE9NU3RyaW5nIGN1cnJlbmN5Q29kZTsKIAotICAg
IHNlcXVlbmNlPEFwcGxlUGF5Q29udGFjdEZpZWxkPiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkczsKLQogICAgIEFwcGxlUGF5U2hpcHBpbmdUeXBlIHNoaXBwaW5nVHlwZSA9ICJzaGlwcGlu
ZyI7CiAgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gc2hpcHBpbmdNZXRob2Rz
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVxdWVzdEJhc2UuY3BwCmluZGV4IDgxN2Q5ZmFiMTEzNjM0ZDY0ZWFiNWE3NTBkMGUwODU4
YmM3ZjFmNjEuLmQ2MjZjMDRhMzJmNzVkNzU4Y2EwNTMzZGI0ZGU1YTBlY2E0ZDVmNTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVl
c3RCYXNlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYt
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTc4LDYgKzc4LDEzIEBAIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0PiBjb252ZXJ0QW5kVmFsaWRhdGUodW5zaWduZWQgdmVyc2lvbiwKIAog
ICAgIGlmIChyZXF1ZXN0LmJpbGxpbmdDb250YWN0KQogICAgICAgICByZXN1bHQuc2V0QmlsbGlu
Z0NvbnRhY3QoUGF5bWVudENvbnRhY3Q6OmZyb21BcHBsZVBheVBheW1lbnRDb250YWN0KHZlcnNp
b24sICpyZXF1ZXN0LmJpbGxpbmdDb250YWN0KSk7CisgICAgCisgICAgaWYgKHJlcXVlc3QucmVx
dWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMpIHsKKyAgICAgICAgYXV0byByZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcyA9IGNvbnZlcnRBbmRWYWxpZGF0ZSh2ZXJzaW9uLCAqcmVxdWVzdC5y
ZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyk7CisgICAgICAgIGlmIChyZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcy5oYXNFeGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiByZXF1
aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5yZWxlYXNlRXhjZXB0aW9uKCk7CisgICAgICAgIHJl
c3VsdC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyhyZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcy5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CisgICAgfQogCiAgICAgaWYgKHJlcXVl
c3Quc2hpcHBpbmdDb250YWN0KQogICAgICAgICByZXN1bHQuc2V0U2hpcHBpbmdDb250YWN0KFBh
eW1lbnRDb250YWN0Ojpmcm9tQXBwbGVQYXlQYXltZW50Q29udGFjdCh2ZXJzaW9uLCAqcmVxdWVz
dC5zaGlwcGluZ0NvbnRhY3QpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmgKaW5kZXggMjA1MTE4OWRhOTdkMjc0M2RiM2I5
ZDZjZTkxMWQwZWMxZWYwMDkxZi4uNjhjNjZiODY0MDU2ZGYyOTZhYWU0ZDRjNmIxMTU3OGE4MjUx
MjBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RCYXNlLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBBcHBsZVBheVJlcXVl
c3RCYXNlIHsKICAgICBPcHRpb25hbDxWZWN0b3I8QXBwbGVQYXlDb250YWN0RmllbGQ+PiByZXF1
aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOwogICAgIE9wdGlvbmFsPEFwcGxlUGF5UGF5bWVudENv
bnRhY3Q+IGJpbGxpbmdDb250YWN0OwogCisgICAgT3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5Q29u
dGFjdEZpZWxkPj4gcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiAgICAgT3B0aW9uYWw8
QXBwbGVQYXlQYXltZW50Q29udGFjdD4gc2hpcHBpbmdDb250YWN0OwogCiAgICAgU3RyaW5nIGFw
cGxpY2F0aW9uRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCmluZGV4IDhjMWJmMTk3NTYzNjY1MTA5MDU4YmQ0
MDBjZTA0YjBmMTJmYjMzMWMuLjM0MmI0MDg2OTQ1ZThkMDZkMWUwZDdmODNjMTk5NmQxZmJjOWM2
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RCYXNlLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAKICAgICBzZXF1ZW5jZTxBcHBs
ZVBheUNvbnRhY3RGaWVsZD4gcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczsKICAgICBBcHBs
ZVBheVBheW1lbnRDb250YWN0IGJpbGxpbmdDb250YWN0OwogCisgICAgc2VxdWVuY2U8QXBwbGVQ
YXlDb250YWN0RmllbGQ+IHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOwogICAgIEFwcGxl
UGF5UGF5bWVudENvbnRhY3Qgc2hpcHBpbmdDb250YWN0OwogCiAgICAgRE9NU3RyaW5nIGFwcGxp
Y2F0aW9uRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlTZXNzaW9uLmNwcAppbmRleCAwNmMwZmFlNjdmMzBlNjg3NjYwOGIxZjczZGFiYzk0YmM0
ZTY2YTMzLi5jNjczZmNjYzFiMzA1NzBiN2ZhMmJhZGMyYzAxYjBlM2ZkZDQ1MTM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjI3LDEzICsyMjcsNiBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8QXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZSh1bnNpZ25lZCB2ZQogICAgICAgICBy
ZXR1cm4gbGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICByZXN1bHQuc2V0TGluZUl0
ZW1zKGxpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7CiAKLSAgICBpZiAocGF5bWVudFJl
cXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMpIHsKLSAgICAgICAgYXV0byByZXF1
aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IGNvbnZlcnRBbmRWYWxpZGF0ZSh2ZXJzaW9uLCBX
VEZNb3ZlKCpwYXltZW50UmVxdWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcykpOwot
ICAgICAgICBpZiAocmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMuaGFzRXhjZXB0aW9uKCkp
Ci0gICAgICAgICAgICByZXR1cm4gcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucmVsZWFz
ZUV4Y2VwdGlvbigpOwotICAgICAgICByZXN1bHQuc2V0UmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RG
aWVsZHMocmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucmVsZWFzZVJldHVyblZhbHVlKCkp
OwotICAgIH0KLQogICAgIHJlc3VsdC5zZXRTaGlwcGluZ1R5cGUocGF5bWVudFJlcXVlc3Quc2hp
cHBpbmdUeXBlKTsKIAogICAgIGlmIChwYXltZW50UmVxdWVzdC5zaGlwcGluZ01ldGhvZHMpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dENvb3JkaW5hdG9yQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNjY4MmYzZjlkNWFmM2E0OTIzNDZl
ZjVhNGE5OGRiNWUzZDBmY2M1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCkBAIC0wLDAgKzEsNTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworYm9vbCBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRz
VmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQoreworICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7CisK
KyNpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1YzKQorICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjdXJyZW50VmVyc2lvbiA9IDI7CisjZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9O
X1Y0KQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDM7CisjZWxz
ZQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDY7CisjZW5kaWYK
KworICAgIHJldHVybiB2ZXJzaW9uIDw9IGN1cnJlbnRWZXJzaW9uOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50LmgKaW5kZXggMTcwYTRmM2QzNWMwYzlmMWMyMjcxYTY5MTA3OTFlNjc1MWM5Y2QwNS4uMzVh
YzBkMTMxZGNmYzlkNTFjODZjNjg0ZjlhYTkyNjQ1YTIwZGVjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtNDUsNyArNDUsOCBAQCBzdHJ1Y3QgU2hpcHBpbmdNZXRob2RVcGRhdGU7CiAKIGNs
YXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgdmlydHVhbCBib29s
IHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKSA9IDA7CisgICAgYm9vbCBzdXBwb3J0
c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbik7CisKICAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmlu
Zz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVu
dEhhbmRsZXIuY3BwCmluZGV4IGVhNDRkNWY4ZTE0OTg3NDY3ZDZmMmU5MTI4NDdiYzE4NWVkNzAw
NDIuLmRhNzFjMmZhYzUyYTQwZjM5YzI4MzM4YTgxYmE5NDc3NDY4NGE0NTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEyOSwxNiArMTI5
LDYgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPFZlY3RvcjxBcHBsZVBheVNlc3Npb25QYXltZW50UmVx
dWVzdDo6TGluZUl0ZW0+PiBjb252ZXJ0QW5kVmEKICAgICByZXR1cm4geyBXVEZNb3ZlKHJlc3Vs
dCkgfTsKIH0KIAotc3RhdGljIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpDb250YWN0
RmllbGRzIGNvbnZlcnQoY29uc3QgUGF5bWVudE9wdGlvbnMmIG9wdGlvbnMpCi17Ci0gICAgQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMgcmVzdWx0OwotICAgIHJl
c3VsdC5lbWFpbCA9IG9wdGlvbnMucmVxdWVzdFBheWVyRW1haWw7Ci0gICAgcmVzdWx0Lm5hbWUg
PSBvcHRpb25zLnJlcXVlc3RQYXllck5hbWU7Ci0gICAgcmVzdWx0LnBob25lID0gb3B0aW9ucy5y
ZXF1ZXN0UGF5ZXJQaG9uZTsKLSAgICByZXN1bHQucG9zdGFsQWRkcmVzcyA9IG9wdGlvbnMucmVx
dWVzdFNoaXBwaW5nOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHN0YXRpYyBBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdUeXBlIGNvbnZlcnQoUGF5bWVudFNoaXBwaW5n
VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewpAQCAtMTgyLDYgKzE3MiwxOSBAQCBF
eGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjb252ZXJ0RGF0YShKU0M6
OkpTVmFsdWUmJiBkYXRhKQogICAgIHJldHVybiB7IH07CiB9CiAKK3N0YXRpYyB2b2lkIG1lcmdl
UGF5bWVudE9wdGlvbnMoY29uc3QgUGF5bWVudE9wdGlvbnMmIG9wdGlvbnMsIEFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGF1dG8gcmVxdWlyZWRTaGlwcGlu
Z0NvbnRhY3RGaWVsZHMgPSByZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKCk7
CisgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgfD0gb3B0aW9ucy5yZXF1
ZXN0UGF5ZXJFbWFpbDsKKyAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIHw9
IG9wdGlvbnMucmVxdWVzdFBheWVyTmFtZTsKKyAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcy5waG9uZSB8PSBvcHRpb25zLnJlcXVlc3RQYXllclBob25lOworICAgIHJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MgfD0gb3B0aW9ucy5yZXF1ZXN0U2hpcHBp
bmc7CisgICAgcmVxdWVzdC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyhyZXF1aXJl
ZFNoaXBwaW5nQ29udGFjdEZpZWxkcyk7CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0U2hpcHBp
bmcpCisgICAgICAgIHJlcXVlc3Quc2V0U2hpcHBpbmdUeXBlKGNvbnZlcnQob3B0aW9ucy5zaGlw
cGluZ1R5cGUpKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6c2hvdygpCiB7CiAgICAgYXV0byB2YWxpZGF0ZWRSZXF1ZXN0ID0gY29udmVydEFuZFZhbGlk
YXRlKG1fYXBwbGVQYXlSZXF1ZXN0LT52ZXJzaW9uLCAqbV9hcHBsZVBheVJlcXVlc3QsIHBheW1l
bnRDb29yZGluYXRvcigpKTsKQEAgLTIwMyw5ICsyMDYsNyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaG93KCkKICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZExp
bmVJdGVtcy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAgcmVxdWVzdC5zZXRMaW5lSXRlbXMoY29u
dmVydGVkTGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIAotICAgIHJlcXVlc3Quc2V0
UmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMoY29udmVydChtX3BheW1lbnRSZXF1ZXN0LT5w
YXltZW50T3B0aW9ucygpKSk7Ci0gICAgaWYgKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRPcHRp
b25zKCkucmVxdWVzdFNoaXBwaW5nKQotICAgICAgICByZXF1ZXN0LnNldFNoaXBwaW5nVHlwZShj
b252ZXJ0KG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRPcHRpb25zKCkuc2hpcHBpbmdUeXBlKSk7
CisgICAgbWVyZ2VQYXltZW50T3B0aW9ucyhtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9u
cygpLCByZXF1ZXN0KTsKIAogICAgIGF1dG8gc2hpcHBpbmdNZXRob2RzID0gY29tcHV0ZVNoaXBw
aW5nTWV0aG9kcygpOwogICAgIGlmIChzaGlwcGluZ01ldGhvZHMuaGFzRXhjZXB0aW9uKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlc0NvY29hLnR4dAppbmRleCA1YTAwZDEyYTU4MDAzYWQ1NWE4M2RmMTNmZmM4NWQ4
NjgwYTY3YmRjLi5mODI3NmVjYWZhMWViZTkyNDI2YmRiYWM4ZjQyYmVmZjk0ZmExNmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIw
MTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTU4OCw2ICs1ODgsNyBAQCBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5jcHAKICAgICBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmNwcAogICAgIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuY3BwCiAgICAgTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisgICAgTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50UmVx
dWVzdFZhbGlkYXRvci5tbQogICAgIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Npb24uY3Bw
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA2ZDQ1Mzc0MTVlNjg2YTg4ODViY2E5OWQ3NTY4ZjBiMjQyMDQ4Mzg1Li40YmMwNzZm
NjdiNTU5ZjJlM2QxMTIzMTk5Y2U2ZThmNWQ1NjM1NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTQyLDYgKzI5NDIsOSBA
QAogCQlBMEVFMERGNjE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjIx
NDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5kZXJlckluZm8uaCAqLzsgfTsKIAkJQTBF
RTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEwRUUwREYzMTQ0RjgyNTUwMEY4
MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5jcHAgKi87IH07CiAJCUEwRUUwREY4MTQ0RjgyNTUw
MEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjQxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVi
dWdTaGFkZXJzLmggKi87IH07CisJCUExMDRFQzVBMjIwQTNERTAwMENCRjY3QSAvKiBNb2NrUGF5
bWVudENvbnRhY3RGaWVsZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExMDRFQzU1MjIwQTM5QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVudENvbnRhY3RG
aWVsZHMuaCAqLzsgfTsKKwkJQTEwNEVDNUQyMjBBM0U0QjAwQ0JGNjdBIC8qIEpTTW9ja1BheW1l
bnRDb250YWN0RmllbGRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExMDRFQzVCMjIwQTNFNDMwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFj
dEZpZWxkcy5jcHAgKi87IH07CisJCUExMDRFQzVFMjIwQTNFNEUwMENCRjY3QSAvKiBKU01vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTEwNEVDNUMyMjBBM0U0NDAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250
YWN0RmllbGRzLmggKi87IH07CiAJCUExMDRGMjQ0MTRDNzFGN0EwMDlFMkMyMyAvKiBDYWNoZWRT
VkdEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTEwNEYyNDIxNEM3MUY3QTAwOUUyQzIzIC8qIENhY2hlZFNWR0RvY3VtZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTEwQkI1ODUxNDg0
RTNBNzAwQjJFODdBIC8qIFJlbmRlclNWR1JlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMEJCNTgzMTQ4NEUzQTcwMEIyRTg3QSAvKiBSZW5kZXJT
VkdSZWN0LmggKi87IH07CiAJCUExMEJCNThCMTQ4NEUzQjMwMEIyRTg3QSAvKiBSZW5kZXJTVkdT
aGFwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEw
QkI1ODkxNDg0RTNCMzAwQjJFODdBIC8qIFJlbmRlclNWR1NoYXBlLmggKi87IH07CkBAIC0xMTEz
OSw2ICsxMTE0MiwxMSBAQAogCQlBMEVFMERGMjE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1
Z1JlbmRlcmVySW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHTERl
YnVnUmVuZGVyZXJJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEwRUUwREYz
MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHTERlYnVnU2hhZGVycy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUEwRUUwREY0MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVn
U2hhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHTERlYnVnU2hh
ZGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTA0RUM1MzIyMEEwMTc0MDBD
QkY2N0EgLyogUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUExMDRFQzU1MjIwQTM5QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzU3MjIwQTM5QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVu
dENvbnRhY3RGaWVsZHMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzVCMjIwQTNFNDMwMENCRjY3QSAvKiBK
U01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEx
MDRFQzVDMjIwQTNFNDQwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBMTA0RjI0MTE0QzcxRjdBMDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9j
dW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ2FjaGVkU1ZH
RG9jdW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTA0RjI0MjE0Qzcx
RjdBMDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2FjaGVkU1ZHRG9jdW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTEwQkI1ODIxNDg0RTNBNzAwQjJFODdBIC8qIFJlbmRlclNWR1JlY3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyU1ZHUmVjdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjc0Nyw2ICsxNjc1NSw3IEBACiAJCQkJMUE4QTY0
MzgxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250YWN0LmggKi8sCiAJCQkJMUE1OEU4NkIx
RDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJMUE1OEU4
NkMxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvci5oICovLAorCQkJCUExMDRF
QzUzMjIwQTAxNzQwMENCRjY3QSAvKiBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwICovLAog
CQkJCTFBNThFODYyMUQxOUQzQkYwMEMwRUE3MyAvKiBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQu
aCAqLywKIAkJCQk3Q0Y5MzBFNjFFMDFGOUFEMDBCQUZGQkUgLyogUGF5bWVudEhlYWRlcnMuaCAq
LywKIAkJCQkxQUU5NkE4NzFEMUEwQ0VCMDBCODY3NjggLyogUGF5bWVudE1lcmNoYW50U2Vzc2lv
bi5oICovLApAQCAtMTc4NTcsNiArMTc4NjYsOCBAQAogCQkJCUExNDZEMzFDMUY5OUM5QzIwMEQy
OTE5NiAvKiBNb2NrUGF5bWVudEFkZHJlc3MuaCAqLywKIAkJCQlBMTQ2RDMxRTFGOTlDOUMyMDBE
MjkxOTYgLyogTW9ja1BheW1lbnRBZGRyZXNzLmlkbCAqLywKIAkJCQlBMTQ2RDMyNDFGOTlENjk4
MDBEMjkxOTYgLyogTW9ja1BheW1lbnRDb250YWN0LmggKi8sCisJCQkJQTEwNEVDNTUyMjBBMzlC
NDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oICovLAorCQkJCUExMDRFQzU3
MjIwQTM5QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsICovLAogCQkJ
CUExQUZFREU1MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAq
LywKIAkJCQlBMUFGRURFNDFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRv
ci5oICovLAogCQkJCUExNDZEMzE2MUY5OUI1M0QwMEQyOTE5NiAvKiBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmlkbCAqLywKQEAgLTE3ODk4LDYgKzE3OTA5LDggQEAKIAkJCQkyRDZGM0U5MzFDMUY4
NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXkuaCAqLywKIAkJCQlBMTQ2RDMyMDFGOTlD
QTNFMDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudEFkZHJlc3MuY3BwICovLAogCQkJCUExNDZEMzFG
MUY5OUNBM0QwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5oICovLAorCQkJCUExMDRF
QzVCMjIwQTNFNDMwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgKi8s
CisJCQkJQTEwNEVDNUMyMjBBM0U0NDAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0Rmll
bGRzLmggKi8sCiAJCQkJQTE0NkQzMTkxRjk5QkNCQjAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHAgKi8sCiAJCQkJQTE0NkQzMTgxRjk5QkNCQTAwRDI5MTk2IC8qIEpTTW9j
a1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJCUExQkI4NUI0MjE1OUIzODkwMDY3RTA3RCAv
KiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLApAQCAtMjgyNDksNiArMjgyNjIsNyBAQAogCQkJ
CUExOUFFQTIxMUFBQTgwODYwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUzOEVDOTM0MUY5OUI5RjcwMDREMjJBOCAvKiBKU01vY2tQ
YWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0NkQzMjMxRjk5RDBFRjAwRDI5MTk2
IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTA0RUM1RTIy
MEEzRTRFMDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExNDZEMzFCMUY5OUJDRkIwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRp
bmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQkI4NUI5MjE1OUIzQUUwMDY3RTA3RCAvKiBK
U01vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTQyN0RBNzFFMTM3MzVERkEw
MDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLApAQCAt
MjgyNjQsNiArMjgyNzgsNyBAQAogCQkJCUExNEJCMEEwMUY5ODEzQjgwMDYwNUEzNSAvKiBNb2Nr
UGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0NkQzMjExRjk5Q0IxQTAwRDI5MTk2IC8q
IE1vY2tQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0NkQzMjUxRjk5RDY5
ODAwRDI5MTk2IC8qIE1vY2tQYXltZW50Q29udGFjdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTEw
NEVDNUEyMjBBM0RFMDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTFBRkVERTYxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXltZW50Q29v
cmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQ0JFRjY0MUY5RjExMjkwMDI4REU3QyAv
KiBNb2NrUGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0MDYxOEMxRTJFQ0Ew
QTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTMwMDI1LDcgKzMwMDQwLDYgQEAKIAkJCQkxQTg1QjFFNzBBMUIyNDA1MDBEOEM4N0MgLyogSlNI
VE1MRGlyZWN0b3J5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4NUIyQjcwQTFCMkFD
NzAwRDhDODdDIC8qIEpTSFRNTERpdkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBODVC
MUU5MEExQjI0MDUwMEQ4Qzg3QyAvKiBKU0hUTUxETGlzdEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAotCQkJCTcxRUFEQ0Q4MjIwODdFNzIwMDY1QTQ1RiAvKiBQb2ludGVySUQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBNDk0RTM1MEExMjM1OEIwMEZEQUZDMSAvKiBKU0hUTUxEb2N1bWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUE0OTRCRkIwQTEyMkY0NDAwRkRBRkMxIC8qIEpTSFRNTEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOEU2NUYxMDlGMDk4NDAwMDhBNDhFQyAvKiBKU0hU
TUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaCBpbiBIZWFkZXJzICovLApAQCAtMzEwNzMsNiArMzEw
ODcsNyBAQAogCQkJCTcxQjVBQjI2MjFGMUQ5RjQwMDM3NkU1QyAvKiBQb2ludGVyQ2FwdHVyZUNv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxN0QzRkYzMjE1NTk5RjQwMDM0RTNCOSAv
KiBQb2ludGVyRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQjFGNzE3MEQwMENBQTgwMDRB
RUE2NCAvKiBQb2ludGVyRXZlbnRzSGl0UnVsZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTcxRUFE
Q0Q4MjIwODdFNzIwMDY1QTQ1RiAvKiBQb2ludGVySUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTNG
RjgxM0E3MURCQTg2NDAwMDlCRjAwMSAvKiBQb2ludGVyTG9ja0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg0NzMwRDkyMTI0OEYwQjMwMEQzQTlDOSAvKiBQb2ludExpZ2h0U291cmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzA1OTk3QTEwN0Q5NzUyMDBBNTBBN0MgLyogUG9saWN5
Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjgyMSw2ICszMjgzNiw3IEBACiAJCQkJQTE5
QUVBMjIxQUFBODA4QTAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyRDQxNTBERTFDMUY4NjhDMDAwQTNCQTIgLyogSlNNb2NrUGFn
ZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0NkQzMjIxRjk5RDBFQzAwRDI5MTk2
IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExMDRFQzVE
MjIwQTNFNEIwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlCQ0Y4MDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExQkI4NUI4MjE1OUIzQTQwMDY3RTA3
RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDI3REE3MUQx
MzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNl
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggYjU4MzIyMTY4
ZmY1YWE0ZGIyYzhiM2Q0Y2ZmODllNTNiZTI5Yzk2YS4uZmIwMmJhZjY3NTU1OTA4NDZmYzAyNzlh
MzMzYWNhM2MxZmQwNzA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEVyaWMgU2VpZGVsIDxl
cmljQHdlYmtpdC5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlv
biBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBA
IC0zMTIsNyArMzEyLDYgQEAgY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgZmluYWwgOiBwdWJs
aWMgSW5zcGVjdG9yQ2xpZW50IHsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogCiBjbGFzcyBFbXB0
eVBheW1lbnRDb29yZGluYXRvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQgewotICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdv
cmsoY29uc3QgU3RyaW5nJikgZmluYWwgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CiAgICAgYm9v
bCBjYW5NYWtlUGF5bWVudHMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgY2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwg
V1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5hbCB7IGNh
bGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildIHsgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOyB9KTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk4
NDUzNjNmYTAyOWQ4YjY0MWUyYTVhMGFiMmFiN2VmMWYwNzg4OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgKQEAgLTAs
MCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExF
X1BBWSkKKworI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyA6IHB1
YmxpYyBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6Q29udGFjdEZpZWxkcyB7CisgICAg
TW9ja1BheW1lbnRDb250YWN0RmllbGRzKCkgPSBkZWZhdWx0OworICAgIE1vY2tQYXltZW50Q29u
dGFjdEZpZWxkcyhjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6Q29udGFjdEZp
ZWxkcyYgY29udGFjdEZpZWxkcykKKyAgICAgICAgOiBBcHBsZVBheVNlc3Npb25QYXltZW50UmVx
dWVzdDo6Q29udGFjdEZpZWxkcyB7IGNvbnRhY3RGaWVsZHMgfQorICAgIHsKKyAgICB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVs
ZHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0OTE3MzQ3OGFmMzk5NTc3M2ViOWJlMTQzMGViNjQwYWViMjJiMWMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29u
dGFjdEZpZWxkcy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25k
aXRpb25hbD1BUFBMRV9QQVksCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QsCitdIGRpY3Rpb25h
cnkgTW9ja1BheW1lbnRDb250YWN0RmllbGRzIHsKKyAgICBib29sZWFuIHBvc3RhbEFkZHJlc3Mg
PSBmYWxzZTsKKyAgICBib29sZWFuIHBob25lID0gZmFsc2U7CisgICAgYm9vbGVhbiBlbWFpbCA9
IGZhbHNlOworICAgIGJvb2xlYW4gbmFtZSA9IGZhbHNlOworICAgIGJvb2xlYW4gcGhvbmV0aWNO
YW1lID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5jcHAKaW5kZXggMzgyNDFiN2QwZTY0OTE5OWVlMzdhM2ZhZjVkMWU4YjAx
M2ZhOGViMC4uNjYxZjE4MDU3ZDAxN2E1ZGJkZGRlODk1OGQzMTU4NzE5YjZmNzAyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtNTMsMjEgKzUzLDYgQEAgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6TW9ja1BheW1lbnRDb29y
ZGluYXRvcihQYWdlJiBwYWdlKQogICAgIG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzLmFkZCgi
dmlzYSIpOwogfQogCi1ib29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lv
bih1bnNpZ25lZCB2ZXJzaW9uKQotewotICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAh
RU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1YzKQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
dXJyZW50VmVyc2lvbiA9IDI7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y0KQot
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDM7Ci0jZWxzZQotICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDU7Ci0jZW5kaWYKLQotICAg
IHJldHVybiB2ZXJzaW9uIDw9IGN1cnJlbnRWZXJzaW9uOwotfQotCiBPcHRpb25hbDxTdHJpbmc+
IE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0
cmluZyYgcGF5bWVudE5ldHdvcmspCiB7CiAgICAgYXV0byByZXN1bHQgPSBtX2F2YWlsYWJsZVBh
eW1lbnROZXR3b3Jrcy5maW5kKHBheW1lbnROZXR3b3JrKTsKQEAgLTExOSw2ICsxMDQsOCBAQCBi
b29sIE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnNob3dQYXltZW50VUkoY29uc3QgVVJMJiwgY29u
c3QgVmVjdG9yPFVSTD4mLCBjb25zdAogICAgIGlmIChyZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCgp
LnBrQ29udGFjdCgpKQogICAgICAgICBtX3NoaXBwaW5nQWRkcmVzcyA9IHJlcXVlc3Quc2hpcHBp
bmdDb250YWN0KCkudG9BcHBsZVBheVBheW1lbnRDb250YWN0KHJlcXVlc3QudmVyc2lvbigpKTsK
ICAgICBtX3NoaXBwaW5nTWV0aG9kcyA9IGNvbnZlcnQocmVxdWVzdC5zaGlwcGluZ01ldGhvZHMo
KSk7CisgICAgbV9yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzID0gcmVxdWVzdC5yZXF1aXJl
ZEJpbGxpbmdDb250YWN0RmllbGRzKCk7CisgICAgbV9yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcyA9IHJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMoKTsKIAogICAgIEFT
U0VSVChzaG93Q291bnQgPT0gaGlkZUNvdW50KTsKICAgICArK3Nob3dDb3VudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggOGRlMmE4
NzBlZDRkYTdmZTFkOTBjYjZjMmE2MTIzNzU4M2I3NjEwZi4uYTU0YzIxYTcxMWQ0YzFmYTZkMmU1
M2E2ZGJkNjk1NjJkNTI3NGY1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQXBwbGVQ
YXlMaW5lSXRlbS5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCIKICNpbmNs
dWRlICJNb2NrUGF5bWVudEFkZHJlc3MuaCIKKyNpbmNsdWRlICJNb2NrUGF5bWVudENvbnRhY3RG
aWVsZHMuaCIKICNpbmNsdWRlICJNb2NrUGF5bWVudEVycm9yLmgiCiAjaW5jbHVkZSAiUGF5bWVu
dENvb3JkaW5hdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTU2LDEy
ICs1NywxMyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBs
aW5lSXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJdGVtczsgfQogICAgIGNvbnN0IFZlY3Rv
cjxNb2NrUGF5bWVudEVycm9yPiYgZXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcnM7IH0K
ICAgICBjb25zdCBWZWN0b3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4mIHNoaXBwaW5nTWV0aG9k
cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hpcHBpbmdNZXRob2RzOyB9CisgICAgY29uc3QgTW9ja1Bh
eW1lbnRDb250YWN0RmllbGRzJiByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOyB9CisgICAgY29uc3QgTW9j
a1BheW1lbnRDb250YWN0RmllbGRzJiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcygpIGNv
bnN0IHsgcmV0dXJuIG1fcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7IH0KIAogICAgIHZv
aWQgcmVmKCkgY29uc3QgeyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IHsgfQogCiBwcml2YXRl
OgotICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBmaW5hbDsKICAgICBPcHRpb25h
bDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFsOwog
ICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgZmluYWw7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVu
dHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6OkZ1bmN0
aW9uPHZvaWQoYm9vbCk+JiYpOwpAQCAtODksNiArOTEsOCBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxNb2NrUGF5bWVudEVycm9yPiBtX2Vycm9yczsKICAgICBWZWN0b3I8QXBwbGVQYXlTaGlwcGlu
Z01ldGhvZD4gbV9zaGlwcGluZ01ldGhvZHM7CiAgICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7CisgICAgTW9ja1Bh
eW1lbnRDb250YWN0RmllbGRzIG1fcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczsKKyAgICBN
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMgbV9yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCmluZGV4IDcwMmQ1OTUzYTlhOGQyMGY3Mzg1
MGVlZTFmMDIyOWVhZWI5MzgyZjYuLjc4NTU0NmQyZjRhNDhmYzkwMGY2ZDZlZjc1YzU5MmQ0MTBj
NDVlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29y
ZGluYXRvci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAx
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTct
MjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTM5LDQgKzM5LDYgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgc2Vx
dWVuY2U8QXBwbGVQYXlMaW5lSXRlbT4gbGluZUl0ZW1zOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBzZXF1ZW5jZTxNb2NrUGF5bWVudEVycm9yPiBlcnJvcnM7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIHNlcXVlbmNlPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IHNoaXBwaW5nTWV0aG9kczsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgTW9ja1BheW1lbnRDb250YWN0RmllbGRzIHJlcXVpcmVkQmls
bGluZ0NvbnRhY3RGaWVsZHM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1vY2tQYXltZW50Q29u
dGFjdEZpZWxkcyByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9y
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3IuY3BwCmluZGV4IDNmY2NjYjQ4OGZkNmNjMDVmMDBlMTM2OGQ1YjFkMWUzMThhM2VhMjEu
LmIzNzVjOGU0MjFlOWU2N2I4NGY2OGZiYTRkYzdmMjZlNjU5ZGViYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRp
bmF0b3IuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0y
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNTEsMjEgKzUxLDYgQEAgV2ViUGF5bWVudENvb3JkaW5hdG9yOjp+V2Vi
UGF5bWVudENvb3JkaW5hdG9yKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5yZW1vdmVN
ZXNzYWdlUmVjZWl2ZXIoKnRoaXMpOwogfQogCi1ib29sIFdlYlBheW1lbnRDb29yZGluYXRvcjo6
c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCi17Ci0gICAgQVNTRVJUKHZlcnNpb24g
PiAwKTsKLQotI2lmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjMpCi0gICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMjsKLSNlbGlmICFFTkFCTEUoQVBQTEVfUEFZ
X1NFU1NJT05fVjQpCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0g
MzsKLSNlbHNlCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNTsK
LSNlbmRpZgotCi0gICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247Ci19Ci0KIGNv
bnN0IFdlYlBheW1lbnRDb29yZGluYXRvcjo6QXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzU2V0JiBX
ZWJQYXltZW50Q29vcmRpbmF0b3I6OmF2YWlsYWJsZVBheW1lbnROZXR3b3JrcygpCiB7CiAgICAg
aWYgKG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCmluZGV4IDJm
ZTVlYzdjYjI0ZjQyNGYzMDY1N2FmMWFlMWJjNjZmODU3MDVmYjUuLjY3MTA1NDQwZGRjODIzMzZi
MjFlYzIzZjU3NWVkMjA2NmEzY2ViYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01NSw3ICs1
NSw2IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpQYXltZW50Q29vcmRp
bmF0b3JDbGllbnQuCi0gICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikg
b3ZlcnJpZGU7CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhj
b25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29sIGNhbk1ha2VQYXltZW50cygpIG92ZXJy
aWRlOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5n
JiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5j
dGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCmluZGV4IDA5ZGEyZWU5ZWZmNGMwYTdhN2Vi
ZjIxZTMwYjQ0MDU0ZWVhNmMwNDkuLmVjMGMzNGE2OTU4YmFiNDIzNDFlY2QwNTBhMjI3ZDk4MDhi
ZjU1NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYs
NyArMzYsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIH5XZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQoKTsKIAotICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKSBvdmVycmlkZTsK
ICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmlu
ZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQppbmRleCAz
YjMzZjQ5ZjIxOTBjYTViY2RjZDk0MTkzMGIwY2E2M2JlNmIxYmE0Li5hNTY1NDM1NDFmZjc3OTU0
ZDc1MDZhM2I0NmZmMDFiZTgyMjU2NGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50Lm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNS0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzgsMTEgKzM4LDYgQEAgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xp
ZW50Ojp+V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KCkKIHsKIH0KIAotYm9vbCBXZWJQYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCkKLXsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0KIE9wdGlvbmFsPFN0cmluZz4gV2ViUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50Ojp2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKQogewogICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzQ4Y2JkNTFhMWZmNzg2OGZjODUwMGEyYWUxNDM4
MzY5YmUyY2ZmNS4uM2U4ODdkOWVlN2NjNDdlZGVjYTJhODhmZDFjMmRjMGUxYjRlOTczYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAyLTA1ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxl
LmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJdCBzaG91bGQgYmUgcG9zc2libGUg
dG8gcmVxdWlyZSBhIHBob25ldGljIG5hbWUgZm9yIHNoaXBwaW5nIGNvbnRhY3RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQzMTEKKyAgICAgICAg
PHJkYXI6Ly80NjczMzA0NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBw
aW5nQ29udGFjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250
YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0
dHBzLmh0bWw6CisKIDIwMTktMDItMDQgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtjc3Mtc2Nyb2xsLXNuYXBdIHNjcm9sbC1zbmFwLWFsaWduIG5vdCBob25v
cmVkIG9uIGNoaWxkIHdpdGggbm9uLXZpc2libGUgb3ZlcmZsb3cKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29u
dGFjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDJlODdhM2NhYTlkMjU3ZjI1ZWI5NzcwNjE2ZTRhZWM5ZjdiZjdkMGYuLjg2NGU0NjhiOWFh
ODI3NjdjYjgxZGI3NmQ5ZTkyZDYyNzM0MzZmZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMyw2
ICszLDE2IEBAIFRlc3QgQXBwbGVQYXlSZXF1ZXN0LnNoaXBwaW5nQ29udGFjdC4KIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCitUZXN0IHNldHRpbmcgcmVxdWlyZWQgY29udGFjdCBmaWVs
ZHMgaW4gYSB2ZXJzaW9uIDIgcmVxdWVzdC4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5uYW1lIGlzIHRydWUKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZp
ZWxkcy5lbWFpbCBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgdHJ1ZQorUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBv
c3RhbEFkZHJlc3MgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIGlzIHRydWUKK1BBU1MgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMu
ZW1haWwgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1
aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5waG9uZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3Rh
bEFkZHJlc3MgaXMgdHJ1ZQorCiBUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRh
Y3QgaW4gYSB2ZXJzaW9uIDIgcmVxdWVzdC4KIFBBU1MgcGF5bWVudFJlc3BvbnNlLmRldGFpbHMu
c2hpcHBpbmdDb250YWN0LnBob25lTnVtYmVyIGlzIGV4cGVjdGVkUGhvbmVOdW1iZXIKIFBBU1Mg
cGF5bWVudFJlc3BvbnNlLmRldGFpbHMuc2hpcHBpbmdDb250YWN0LmVtYWlsQWRkcmVzcyBpcyBl
eHBlY3RlZEVtYWlsQWRkcmVzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGlu
Z0NvbnRhY3QuaHR0cHMuaHRtbAppbmRleCAzM2UyMDg5Mzc5YzI4MjI5NDkwOTRkMzQ5MzcxY2Vi
MDY2Yjg3NTU3Li5lMWJkMDNmZjMwNzM4NTQyMjIwYjc4NWRhZjFkZTQzMjllYzkwMmEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVl
c3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMuaHRtbApA
QCAtODIsNiArODIsMzkgQEAgZnVuY3Rpb24gdmFsaWRQYXltZW50T3B0aW9ucygpIHsKIH0KIAog
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIHJlcXVpcmVkIGNv
bnRhY3QgZmllbGRzIGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuIik7CisKKyAgICAgICAgdmFyIHBh
eW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoMiwgdmFsaWRTaGlwcGluZ0NvbnRhY3Qo
KSk7CisgICAgICAgIHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZEJpbGxpbmdDb250YWN0Rmll
bGRzID0gWyJlbWFpbCIsICJuYW1lIiwgInBob25lIiwgInBvc3RhbEFkZHJlc3MiXTsKKyAgICAg
ICAgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWyJl
bWFpbCJdOworCisgICAgICAgIHZhciBwYXltZW50T3B0aW9ucyA9IHZhbGlkUGF5bWVudE9wdGlv
bnMoKTsKKyAgICAgICAgcGF5bWVudE9wdGlvbnMuZW1haWwgPSBmYWxzZTsKKworICAgICAgICB2
YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2
YWxpZFBheW1lbnREZXRhaWxzKCksIHBheW1lbnRPcHRpb25zKTsKKworICAgICAgICBhY3RpdmF0
ZVRoZW4oKCkgPT4geworICAgICAgICAgICAgcGF5bWVudFJlcXVlc3Quc2hvdygpLnRoZW4oKHJl
c3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMubmFtZSIsICJ0cnVl
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwiLCAidHJ1ZSIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5y
ZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25lIiwgInRydWUiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRC
aWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIiwgInRydWUiKTsKKworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJl
ZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGlu
Z0NvbnRhY3RGaWVsZHMuZW1haWwiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFj
dEZpZWxkcy5waG9uZSIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
LnBvc3RhbEFkZHJlc3MiLCAidHJ1ZSIpOworCisgICAgICAgICAgICAgICAgcmVzcG9uc2UuY29t
cGxldGUoInN1Y2Nlc3MiKTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAg
ICB9KTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNj
ZXB0UGF5bWVudCgpOworICAgICAgICB9KTsKKyAgICB9KTsKKyAgICBkZWJ1ZygiIik7CisKICAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgIGRlYnVn
KCJUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRhY3QgaW4gYSB2ZXJzaW9uIDIg
cmVxdWVzdC4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hp
cHBpbmdDb250YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwYmY2NzRhYmJhMmQ0ZjZm
YTM1Y2RiYTdkZThhYWY1MTlmY2VjMjMuLjBmODY1MzZjOGI5YzE2NmE5MDliZjdhMWVkZDVlZTEx
NzYwMThjOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlw
cGluZ0NvbnRhY3RWMy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTMsNiArMywxOCBAQCBUZXN0IEFw
cGxlUGF5UmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CiAKIAorVGVzdCBzZXR0aW5nIHJlcXVpcmVkIGNvbnRhY3QgZmllbGRzIGluIGEgdmVyc2lvbiAz
IHJlcXVlc3QuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
QmlsbGluZ0NvbnRhY3RGaWVsZHMubmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1l
IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRC
aWxsaW5nQ29udGFjdEZpZWxkcy5lbWFpbCBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgdHJ1
ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdD
b250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIGlzIHRy
dWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGlu
Z0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1lIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgaXMg
dHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcy5waG9uZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3Mg
aXMgdHJ1ZQorCiBUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRhY3QgaW4gYSB2
ZXJzaW9uIDMgcmVxdWVzdC4KIFBBU1MgcGF5bWVudFJlc3BvbnNlLmRldGFpbHMuc2hpcHBpbmdD
b250YWN0LnBob25ldGljR2l2ZW5OYW1lIGlzIGV4cGVjdGVkR2l2ZW5OYW1lCiBQQVNTIHBheW1l
bnRSZXNwb25zZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFjdC5waG9uZXRpY0ZhbWlseU5hbWUgaXMg
ZXhwZWN0ZWRGYW1pbHlOYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBp
bmdDb250YWN0VjMuaHR0cHMuaHRtbAppbmRleCBkYTcxODRjZmE2MjM4OTJlZmZjMDk3ODU5YzI2
ZTI1MTY2YjBlZTc0Li5kNGZhYjYzYWYyZTQyNDkyZjU2YTIzMDYxNjM1NjE0ZWYzMTZhMjYyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJl
cXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBz
Lmh0bWwKQEAgLTgyLDYgKzgyLDM4IEBAIGZ1bmN0aW9uIHZhbGlkUGF5bWVudE9wdGlvbnMoKSB7
CiB9CiAKIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIGF3YWl0IG5ldyBQcm9taXNl
KChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGVidWcoIlRlc3Qgc2V0dGluZyByZXF1
aXJlZCBjb250YWN0IGZpZWxkcyBpbiBhIHZlcnNpb24gMyByZXF1ZXN0LiIpOworCisgICAgICAg
IHZhciBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKDMsIHZhbGlkU2hpcHBpbmdD
b250YWN0KCkpOworICAgICAgICBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRCaWxsaW5nQ29u
dGFjdEZpZWxkcyA9IFsiZW1haWwiLCAibmFtZSIsICJwaG9uZXRpY05hbWUiLCAicGhvbmUiLCAi
cG9zdGFsQWRkcmVzcyJdOworICAgICAgICBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlw
cGluZ0NvbnRhY3RGaWVsZHMgPSBbInBob25ldGljTmFtZSJdOworCisgICAgICAgIHZhciBwYXlt
ZW50UmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5
bWVudERldGFpbHMoKSwgdmFsaWRQYXltZW50T3B0aW9ucygpKTsKKworICAgICAgICBhY3RpdmF0
ZVRoZW4oKCkgPT4geworICAgICAgICAgICAgcGF5bWVudFJlcXVlc3Quc2hvdygpLnRoZW4oKHJl
c3BvbnNlKSA9PiB7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMubmFtZSIsICJ0cnVl
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1lIiwgInRydWUi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5lbWFpbCIsICJ0cnVlIik7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJl
cXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmUiLCAidHJ1ZSIpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJp
bGxpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MiLCAidHJ1ZSIpOworCisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcy5waG9uZXRpY05hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcy5lbWFpbCIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0
RmllbGRzLnBob25lIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMu
cG9zdGFsQWRkcmVzcyIsICJ0cnVlIik7CisKKyAgICAgICAgICAgICAgICByZXNwb25zZS5jb21w
bGV0ZSgic3VjY2VzcyIpOworICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAg
IH0pOworCisgICAgICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2Nl
cHRQYXltZW50KCk7CisgICAgICAgIH0pOworICAgIH0pOworICAgIGRlYnVnKCIiKTsKKwogICAg
IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKICAgICAgICAgZGVidWco
IlRlc3Qgc2V0dGluZyBhIGRlZmF1bHQgc2hpcHBpbmcgY29udGFjdCBpbiBhIHZlcnNpb24gMyBy
ZXF1ZXN0LiIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggZjI2Yzg2ODUxYTAzZDNhMmNmNDlkNzhkZDkyNjY3NGU3ZjZlNmZiNC4uYzljNGIwZTY2ZTRk
ZGU5NzRhMTc4ZmIyNDEzYjY2ZjQ3YmQzOGE1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMTI0LDYgKzEyNCw0MyBAQCBQQVNTIG5ldyBQYXltZW50UmVx
dWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hv
dygpCiBTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50
TWV0aG9kLmRhdGEuYmlsbGluZ0NvbnRhY3QgPSA3OwogUEFTUyBuZXcgUGF5bWVudFJlcXVlc3Qo
W3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGlu
IGFuIGludmFsaWQgc3RhdGUuLgogCitUZXN0aW5nIEFwcGxlUGF5UmVxdWVzdC5yZXF1aXJlZFNo
aXBwaW5nQ29udGFjdEZpZWxkcworCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVu
dE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMgPSAnJzsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhv
ZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21p
c2UgIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHBh
eW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJl
cXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gbnVsbDsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJl
cXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBWYWx1ZSBpcyBu
b3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRo
b2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0g
NzsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZh
bGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdp
dGggVHlwZUVycm9yOiBWYWx1ZSBpcyBub3QgYSBzZXF1ZW5jZS4KKworU0VUVVA6IHBheW1lbnRN
ZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzID0geyB9OworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRS
ZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5z
aG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NF
VFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2Qu
ZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IFsnJ107CitQQVNTIHJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxz
KCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KKworU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsg
cGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gW251bGxd
OworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFs
aWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQ
YXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFj
dEZpZWxkcyA9IFt1bmRlZmluZWRdOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBw
YXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5y
ZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IFt7fV07CitQQVNTIHJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyBy
ZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVHlwZSBlcnJv
ci4KKworU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVu
dE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWydpbnZhbGlkJ107
CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxp
ZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KKworVGVzdGluZyBBcHBsZVBheVJlcXVlc3Quc2hpcHBp
bmdDb250YWN0CisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7
IHBheW1lbnRNZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSAnJzsKK1BBU1MgbmV3IFBheW1l
bnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVz
dC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9i
amVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KKworU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2
YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnNoaXBwaW5nQ29udGFjdCA9
IDc7CitQQVNTIG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxp
ZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4uCisKIFRlc3Rp
bmcgQXBwbGVQYXlSZXF1ZXN0LmFwcGxpY2F0aW9uRGF0YQogCiBTRVRVUDogcGF5bWVudE1ldGhv
ZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEuYXBwbGljYXRpb25E
YXRhID0geyB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93ICciRXJyb3IgaW4gdG9TdHJpbmci
JzsgfSB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
UGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwKaW5kZXggOTQ4MjUyMzNhMTIwZDQ0NWJh
ZDU4ZTg0YTViYzA1Yzg1OGY1NjI4Yi4uOWU5NzllOTJjMTRmNDNmNDNlNWMzY2Y0ODlhZmU0ZTI3
ZDE2ODY5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
UGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sCkBAIC0xNDIsNiArMTQyLDM0IEBA
IGFzeW5jIGZ1bmN0aW9uIGdvKCkgewogICAgIGRlYnVnKCIiKQogICAgIGF3YWl0IGxvZ0FuZFNo
b3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50
TWV0aG9kLmRhdGEuYmlsbGluZ0NvbnRhY3QgPSA3OyIsICJuZXcgUGF5bWVudFJlcXVlc3QoW3Bh
eW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCiAg
ICAgZGVidWcoIiIpCisKKyAgICBkZWJ1ZygiVGVzdGluZyBBcHBsZVBheVJlcXVlc3QucmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMiKQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0IGxvZ0Fu
ZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXlt
ZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSAnJzsiLCAicmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERl
dGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dB
bmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5
bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gbnVsbDsiLCAi
cmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBs
b2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsg
cGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gNzsiLCAi
cmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBs
b2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsg
cGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0geyB9OyIs
ICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXlt
ZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0
IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgp
OyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbJydd
OyIsICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQ
YXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQorICAgIGRlYnVnKCIiKQorICAgIGF3
YWl0IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhv
ZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBb
bnVsbF07IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2
YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisg
ICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50
TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxk
cyA9IFt1bmRlZmluZWRdOyIsICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50
TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQorICAgIGRl
YnVnKCIiKQorICAgIGF3YWl0IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZh
bGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0Nv
bnRhY3RGaWVsZHMgPSBbe31dOyIsICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXlt
ZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQorICAg
IGRlYnVnKCIiKQorICAgIGF3YWl0IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9
IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGlu
Z0NvbnRhY3RGaWVsZHMgPSBbJ2ludmFsaWQnXTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVx
dWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hv
dygpIikKKyAgICBkZWJ1ZygiIikKKworICAgIGRlYnVnKCJUZXN0aW5nIEFwcGxlUGF5UmVxdWVz
dC5zaGlwcGluZ0NvbnRhY3QiKQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0IGxvZ0FuZFNob3Vs
ZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0
aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0ID0gJyc7IiwgIm5ldyBQYXltZW50UmVxdWVzdChbcGF5
bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAg
ICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2Qg
PSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnNoaXBwaW5nQ29udGFj
dCA9IDc7IiwgIm5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKICAgICAKICAgICBk
ZWJ1ZygiVGVzdGluZyBBcHBsZVBheVJlcXVlc3QuYXBwbGljYXRpb25EYXRhIikKICAgICBkZWJ1
ZygiIikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361229</attachid>
            <date>2019-02-05 15:34:28 -0800</date>
            <delta_ts>2019-02-06 09:39:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194311-20190205153427.patch</filename>
            <type>text/plain</type>
            <size>56911</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM4YjA5MTNmOGMxZDBj
ZWM4Y2E5OTczZGU2NjI3MWY1OGNkNTE4YS4uZjc4MjVmZTI4ODk2YWYzMGM3Zjc0YTA3MTYzZjM5
ZGEwOWM4ODVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAyLTA1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
dCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25ldGljIG5hbWUgZm9yIHNoaXBw
aW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8g
cmVxdWlyZSB0aGF0IGEgc2hpcHBpbmcgY29udGFjdCBoYXMgYSBwaG9uZXRpYyBuYW1lIGluIFBh
eW1lbnQgUmVxdWVzdC4KKyAgICAgICAgVG8gYWNjb21wbGlzaCB0aGlzLCBtb3ZlIHJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzIGZyb20gQXBwbGVQYXlQYXltZW50UmVxdWVzdCB0bworICAg
ICAgICBBcHBsZVBheVJlcXVlc3RCYXNlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgcGFydCBv
ZiBhbiBBcHBsZSBQYXkgcGF5bWVudCBtZXRob2QgZGF0YS4KKworICAgICAgICBTaW5jZSByZXF1
aXJlZCBzaGlwcGluZyBjb250YWN0IGZpZWxkcyBjYW4gbm93IGJlIHNwZWNpZmllZCBib3RoIGlu
CisgICAgICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIGFuZCBQYXltZW50T3B0aW9u
cywgd2UgbWVyZ2UgdGhlIHJlcXVpcmVkIGZpZWxkcyBmcm9tIHRoZXNlCisgICAgICAgIHR3byBz
b3VyY2VzIHN1Y2ggdGhhdCwgZS5nLiwgZW1haWwgaXMgcmVxdWlyZWQgaWYgaXQgaXMgc3BlY2lm
aWVkIGluIGVpdGhlciBwbGFjZS4KKworICAgICAgICBTbyB0aGF0IGNsaWVudHMgY2FuIGRldGVj
dCB0aGlzIG5ldyBmZWF0dXJlLCB0aGUgQVBJIHZlcnNpb24gbnVtYmVyIGlzIGJ1bXBlZCBmcm9t
IDUgdG8gNi4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIHRvIEFwcGxlUGF5UmVxdWVzdFNo
aXBwaW5nQ29udGFjdC5odHRwcy5odG1sIGFuZCBBcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRh
Y3RWMy5odHRwcy5odG1sLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEFuZFZhbGlkYXRlKToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpzdXBwb3J0c1ZlcnNp
b24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lcmdlUGF5bWVudE9wdGlvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hvdyk6CisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUGF5bWVudENvbnRhY3RGaWVsZHM6Ok1vY2tQYXltZW50Q29udGFjdEZpZWxk
cyk6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24pOiBE
ZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgorICAg
ICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGw6CisKIDIwMTktMDItMDUg
IEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUg
YXV0b21hdGljIGNoZWNraW5nIGFuZCByZWdlbmVyYXRpb25zIG9mIC54Y2ZpbGVsaXN0cyBkdXJp
bmcgYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ2ODhkNTQwYzRkMTgwNGFlNThjYjA1ZGYxMjA1NzU1MGNh
YTViZTAuLjQ1NjNmZTFkMTc2ODExODY1NjJmMzc0NGEyMzBiNjYxOGQ4ZDk5MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMDUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0
byByZXF1aXJlIGEgcGhvbmV0aWMgbmFtZSBmb3Igc2hpcHBpbmcgY29udGFjdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDMxMQorICAgICAgICA8
cmRhcjovLzQ2NzMzMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lv
bik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3IuaDoKKwogMjAxOS0wMi0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXByb2R1Y2libGUgY3Jhc2ggdW5kZXIgV0tTaGFyZVNoZWV0
IHByZXNlbnRXaXRoUGFyYW1ldGVycyB3aGVuIGNhbmNlbGxpbmcgYSBzaGFyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IDZlYTM0ZDM2YjQ5NmZiMjk5NmZjYWIyMmM3ZDhiOTMzZWY0
NzI3ZDAuLmEzZmEyNDk4ZTc5M2QyMjc3NzA3YmU2MDdiNjZhODZmNWI1MTM2MjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMi0wNSAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gSXQg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBwaG9uZXRpYyBuYW1lIGZvciBzaGlwcGlu
ZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMwNDU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ6OnN1cHBvcnRzVmVyc2lvbik6IERlbGV0ZWQuCisKIDIwMTktMDItMDQgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NHXSBFbmFibGUgc2V0QWRkaXRp
b25hbFN1cHBvcnRlZEltYWdlVHlwZXMgZm9yIFdLMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggYmMzMDA5ZWY1MGM5NjRiNmU2Nzg0Y2U4MmMwNzY0OWNmNzk0NWVkZC4uZjJhMzEx
NjAwNDkzZGI1MGU0NjUzYTEwNjAwOWYwNTM1MjJkNzUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0xMDUwLDYgKzEwNTAsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS90ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbCBcCiAgICAgJChXZWJDb3JlKS90
ZXN0aW5nL01vY2tQYXltZW50QWRkcmVzcy5pZGwgXAorCSQoV2ViQ29yZSkvdGVzdGluZy9Nb2Nr
UGF5bWVudENvbnRhY3RGaWVsZHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVu
dEVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKaW5kZXggZTZmYjYwMjZiM2RhMTI5MDRkMmM4NzliNDA1
MmFmZGI0YTQ2Yjg3Zi4uM2YwYjY2ZjE3OTM3YWE0MWI0ZWM0ZmQ4MWQ3OGE4MGEwODY3YWI5YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRSZXF1ZXN0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC00MCw4ICs0MCw2IEBAIHN0cnVjdCBBcHBsZVBheVBheW1l
bnRSZXF1ZXN0IDogQXBwbGVQYXlSZXF1ZXN0QmFzZSB7CiAKICAgICBTdHJpbmcgY3VycmVuY3lD
b2RlOwogCi0gICAgT3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5Q29udGFjdEZpZWxkPj4gcmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7Ci0KICAgICBTaGlwcGluZ1R5cGUgc2hpcHBpbmdUeXBl
IHsgU2hpcHBpbmdUeXBlOjpTaGlwcGluZyB9OwogICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kPj4gc2hpcHBpbmdNZXRob2RzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmlkbApp
bmRleCAwZWMxOTI3NDMwZjA1YmIxZjBiNDExN2NjMDMwODkwNDdiNDA5OTI3Li5iODI2YmVlMzc0
MjRlZWFkYTFkZDRkMTZkYTc0ODc5YWVjYTJkMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00MCw4ICs0MCw2IEBACiAKICAgICByZXF1aXJlZCBET01TdHJpbmcgY3VycmVuY3lDb2RlOwog
Ci0gICAgc2VxdWVuY2U8QXBwbGVQYXlDb250YWN0RmllbGQ+IHJlcXVpcmVkU2hpcHBpbmdDb250
YWN0RmllbGRzOwotCiAgICAgQXBwbGVQYXlTaGlwcGluZ1R5cGUgc2hpcHBpbmdUeXBlID0gInNo
aXBwaW5nIjsKICAgICBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBzaGlwcGluZ01l
dGhvZHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKaW5kZXggODE3ZDlmYWIxMTM2MzRkNjRlYWI1YTc1MGQw
ZTA4NThiYzdmMWY2MS4uZDYyNmMwNGEzMmY3NWQ3NThjYTA1MzNkYjRkZTVhMGVjYTRkNWY1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVl
c3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
UmVxdWVzdEJhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
Ni0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNzgsNiArNzgsMTMgQEAgRXhjZXB0aW9uT3I8QXBwbGVQYXlT
ZXNzaW9uUGF5bWVudFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZSh1bnNpZ25lZCB2ZXJzaW9u
LAogCiAgICAgaWYgKHJlcXVlc3QuYmlsbGluZ0NvbnRhY3QpCiAgICAgICAgIHJlc3VsdC5zZXRC
aWxsaW5nQ29udGFjdChQYXltZW50Q29udGFjdDo6ZnJvbUFwcGxlUGF5UGF5bWVudENvbnRhY3Qo
dmVyc2lvbiwgKnJlcXVlc3QuYmlsbGluZ0NvbnRhY3QpKTsKKyAgICAKKyAgICBpZiAocmVxdWVz
dC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcykgeworICAgICAgICBhdXRvIHJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzID0gY29udmVydEFuZFZhbGlkYXRlKHZlcnNpb24sICpyZXF1
ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKTsKKyAgICAgICAgaWYgKHJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAgICAg
ICAgcmVzdWx0LnNldFJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKHJlcXVpcmVkU2hpcHBp
bmdDb250YWN0RmllbGRzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICB9CiAKICAgICBpZiAo
cmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QpCiAgICAgICAgIHJlc3VsdC5zZXRTaGlwcGluZ0NvbnRh
Y3QoUGF5bWVudENvbnRhY3Q6OmZyb21BcHBsZVBheVBheW1lbnRDb250YWN0KHZlcnNpb24sICpy
ZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAppbmRleCAyMDUxMTg5ZGE5N2QyNzQz
ZGIzYjlkNmNlOTExZDBlYzFlZjAwOTFmLi42OGM2NmI4NjQwNTZkZjI5NmFhZTRkNGM2YjExNTc4
YTgyNTEyMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdEJhc2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEFwcGxlUGF5
UmVxdWVzdEJhc2UgewogICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUNvbnRhY3RGaWVsZD4+
IHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7CiAgICAgT3B0aW9uYWw8QXBwbGVQYXlQYXlt
ZW50Q29udGFjdD4gYmlsbGluZ0NvbnRhY3Q7CiAKKyAgICBPcHRpb25hbDxWZWN0b3I8QXBwbGVQ
YXlDb250YWN0RmllbGQ+PiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsKICAgICBPcHRp
b25hbDxBcHBsZVBheVBheW1lbnRDb250YWN0PiBzaGlwcGluZ0NvbnRhY3Q7CiAKICAgICBTdHJp
bmcgYXBwbGljYXRpb25EYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwKaW5kZXggOGMxYmYxOTc1NjM2NjUxMDkw
NThiZDQwMGNlMDRiMGYxMmZiMzMxYy4uMzQyYjQwODY5NDVlOGQwNmQxZTBkN2Y4M2MxOTk2ZDFm
YmM5YzZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNiArMzMsNyBAQAogICAgIHNlcXVlbmNl
PEFwcGxlUGF5Q29udGFjdEZpZWxkPiByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOwogICAg
IEFwcGxlUGF5UGF5bWVudENvbnRhY3QgYmlsbGluZ0NvbnRhY3Q7CiAKKyAgICBzZXF1ZW5jZTxB
cHBsZVBheUNvbnRhY3RGaWVsZD4gcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiAgICAg
QXBwbGVQYXlQYXltZW50Q29udGFjdCBzaGlwcGluZ0NvbnRhY3Q7CiAKICAgICBET01TdHJpbmcg
YXBwbGljYXRpb25EYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDA2YzBmYWU2N2YzMGU2ODc2NjA4YjFmNzNkYWJj
OTRiYzRlNjZhMzMuLmM2NzNmY2NjMWIzMDU3MGI3ZmEyYmFkYzJjMDFiMGUzZmRkNDUxMzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lv
bi5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yMjcsMTMgKzIyNyw2IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdD4gY29udmVydEFuZFZhbGlkYXRlKHVuc2lnbmVkIHZlCiAgICAg
ICAgIHJldHVybiBsaW5lSXRlbXMucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIHJlc3VsdC5zZXRM
aW5lSXRlbXMobGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIAotICAgIGlmIChwYXlt
ZW50UmVxdWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcykgewotICAgICAgICBhdXRv
IHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gY29udmVydEFuZFZhbGlkYXRlKHZlcnNp
b24sIFdURk1vdmUoKnBheW1lbnRSZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
KSk7Ci0gICAgICAgIGlmIChyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5oYXNFeGNlcHRp
b24oKSkKLSAgICAgICAgICAgIHJldHVybiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5y
ZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJlc3VsdC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyhyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5yZWxlYXNlUmV0dXJuVmFs
dWUoKSk7Ci0gICAgfQotCiAgICAgcmVzdWx0LnNldFNoaXBwaW5nVHlwZShwYXltZW50UmVxdWVz
dC5zaGlwcGluZ1R5cGUpOwogCiAgICAgaWYgKHBheW1lbnRSZXF1ZXN0LnNoaXBwaW5nTWV0aG9k
cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2NjgyZjNmOWQ1YWYzYTQ5
MjM0NmVmNWE0YTk4ZGI1ZTNkMGZjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKQEAgLTAsMCAr
MSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFBheW1lbnRDb29yZGluYXRvckNsaWVudDo6c3Vw
cG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCit7CisgICAgQVNTRVJUKHZlcnNpb24gPiAw
KTsKKworI2lmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjMpCisgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMjsKKyNlbGlmICFFTkFCTEUoQVBQTEVfUEFZX1NF
U1NJT05fVjQpCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMzsK
KyNlbHNlCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNjsKKyNl
bmRpZgorCisgICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNs
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaAppbmRleCAxNzBhNGYzZDM1YzBjOWYxYzIyNzFhNjkxMDc5MWU2NzUxYzljZDA1
Li4zNWFjMGQxMzFkY2ZjOWQ1MWM4NmM2ODRmOWFhOTI2NDVhMjBkZWM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9y
Q2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC00NSw3ICs0NSw4IEBAIHN0cnVjdCBTaGlwcGluZ01ldGhvZFVwZGF0ZTsK
IAogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pID0gMDsKKyAgICBib29sIHN1
cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKTsKKwogICAgIHZpcnR1YWwgT3B0aW9uYWw8
U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAg
dmlydHVhbCBib29sIGNhbk1ha2VQYXltZW50cygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2Fu
TWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29sKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAKaW5kZXggZWE0NGQ1ZjhlMTQ5ODc0NjdkNmYyZTkxMjg0N2JjMTg1
ZWQ3MDA0Mi4uZGE3MWMyZmFjNTJhNDBmMzljMjgzMzhhODFiYTk0Nzc0Njg0YTQ1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTI5LDE2
ICsxMjksNiBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPEFwcGxlUGF5U2Vzc2lvblBheW1l
bnRSZXF1ZXN0OjpMaW5lSXRlbT4+IGNvbnZlcnRBbmRWYQogICAgIHJldHVybiB7IFdURk1vdmUo
cmVzdWx0KSB9OwogfQogCi1zdGF0aWMgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNv
bnRhY3RGaWVsZHMgY29udmVydChjb25zdCBQYXltZW50T3B0aW9ucyYgb3B0aW9ucykKLXsKLSAg
ICBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6Q29udGFjdEZpZWxkcyByZXN1bHQ7Ci0g
ICAgcmVzdWx0LmVtYWlsID0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJFbWFpbDsKLSAgICByZXN1bHQu
bmFtZSA9IG9wdGlvbnMucmVxdWVzdFBheWVyTmFtZTsKLSAgICByZXN1bHQucGhvbmUgPSBvcHRp
b25zLnJlcXVlc3RQYXllclBob25lOwotICAgIHJlc3VsdC5wb3N0YWxBZGRyZXNzID0gb3B0aW9u
cy5yZXF1ZXN0U2hpcHBpbmc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogc3RhdGljIEFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ1R5cGUgY29udmVydChQYXltZW50U2hp
cHBpbmdUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0xODIsNiArMTcyLDE5
IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbnZlcnREYXRh
KEpTQzo6SlNWYWx1ZSYmIGRhdGEpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorc3RhdGljIHZvaWQg
bWVyZ2VQYXltZW50T3B0aW9ucyhjb25zdCBQYXltZW50T3B0aW9ucyYgb3B0aW9ucywgQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgYXV0byByZXF1aXJlZFNo
aXBwaW5nQ29udGFjdEZpZWxkcyA9IHJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMoKTsKKyAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5lbWFpbCB8PSBvcHRpb25z
LnJlcXVlc3RQYXllckVtYWlsOworICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLm5h
bWUgfD0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lOworICAgIHJlcXVpcmVkU2hpcHBpbmdDb250
YWN0RmllbGRzLnBob25lIHw9IG9wdGlvbnMucmVxdWVzdFBheWVyUGhvbmU7CisgICAgcmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRkcmVzcyB8PSBvcHRpb25zLnJlcXVlc3RT
aGlwcGluZzsKKyAgICByZXF1ZXN0LnNldFJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKHJl
cXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKTsKKworICAgIGlmIChvcHRpb25zLnJlcXVlc3RT
aGlwcGluZykKKyAgICAgICAgcmVxdWVzdC5zZXRTaGlwcGluZ1R5cGUoY29udmVydChvcHRpb25z
LnNoaXBwaW5nVHlwZSkpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpzaG93KCkKIHsKICAgICBhdXRvIHZhbGlkYXRlZFJlcXVlc3QgPSBjb252ZXJ0QW5k
VmFsaWRhdGUobV9hcHBsZVBheVJlcXVlc3QtPnZlcnNpb24sICptX2FwcGxlUGF5UmVxdWVzdCwg
cGF5bWVudENvb3JkaW5hdG9yKCkpOwpAQCAtMjAzLDkgKzIwNiw3IEBAIEV4Y2VwdGlvbk9yPHZv
aWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNob3coKQogICAgICAgICByZXR1cm4gY29udmVy
dGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICByZXF1ZXN0LnNldExpbmVJdGVt
cyhjb252ZXJ0ZWRMaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCkpOwogCi0gICAgcmVxdWVz
dC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyhjb252ZXJ0KG1fcGF5bWVudFJlcXVl
c3QtPnBheW1lbnRPcHRpb25zKCkpKTsKLSAgICBpZiAobV9wYXltZW50UmVxdWVzdC0+cGF5bWVu
dE9wdGlvbnMoKS5yZXF1ZXN0U2hpcHBpbmcpCi0gICAgICAgIHJlcXVlc3Quc2V0U2hpcHBpbmdU
eXBlKGNvbnZlcnQobV9wYXltZW50UmVxdWVzdC0+cGF5bWVudE9wdGlvbnMoKS5zaGlwcGluZ1R5
cGUpKTsKKyAgICBtZXJnZVBheW1lbnRPcHRpb25zKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRP
cHRpb25zKCksIHJlcXVlc3QpOwogCiAgICAgYXV0byBzaGlwcGluZ01ldGhvZHMgPSBjb21wdXRl
U2hpcHBpbmdNZXRob2RzKCk7CiAgICAgaWYgKHNoaXBwaW5nTWV0aG9kcy5oYXNFeGNlcHRpb24o
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDA3MjIyODhkYTFjODkzNWE3OGY3ZTE5MjA5
NmE3YWQ4NTcyZTgwNDMuLmEwN2IyNmQwMTVmMTA1YjEwNGY0ZjQwMGNhZGUyNWM3ZjZmN2M3NDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMSw0ICsxLDQgQEAKLS8vIENvcHlyaWdodCAo
QykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHlyaWdo
dCAoQykgMjAxNy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAvLyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTg4LDYgKzU4OCw3IEBAIHBsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAogICAgIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAgICAgTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKICAgICBNb2R1
bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKyAgICBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKICAgICBNb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRSZXF1ZXN0VmFsaWRhdG9yLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vzc2lv
bi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGRhYjExMTQzN2JkNWMzNzk5ZWJmMGJhZDFhNDEyMTAxN2ZkZWYxOTcuLjEw
Y2FlOTIzOWRhMjE3MzVlYTkyOTBhM2U3ODI5MTgzZjhiZDAxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NDIsNiArMjk0
Miw5IEBACiAJCUEwRUUwREY2MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnUmVuZGVyZXJJ
bmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMEVF
MERGMjE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oICovOyB9Owog
CQlBMEVFMERGNzE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjMxNDRGODI1
NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCAqLzsgfTsKIAkJQTBFRTBERjgxNDRG
ODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMEVFMERGNDE0NEY4MjU1MDBGODBCMEQgLyogV2Vi
R0xEZWJ1Z1NoYWRlcnMuaCAqLzsgfTsKKwkJQTEwNEVDNUEyMjBBM0RFMDAwQ0JGNjdBIC8qIE1v
Y2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTEwNEVDNTUyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29u
dGFjdEZpZWxkcy5oICovOyB9OworCQlBMTA0RUM1RDIyMEEzRTRCMDBDQkY2N0EgLyogSlNNb2Nr
UGF5bWVudENvbnRhY3RGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTEwNEVDNUIyMjBBM0U0MzAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRD
b250YWN0RmllbGRzLmNwcCAqLzsgfTsKKwkJQTEwNEVDNUUyMjBBM0U0RTAwQ0JGNjdBIC8qIEpT
TW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMTA0RUM1QzIyMEEzRTQ0MDBDQkY2N0EgLyogSlNNb2NrUGF5bWVu
dENvbnRhY3RGaWVsZHMuaCAqLzsgfTsKIAkJQTEwNEYyNDQxNEM3MUY3QTAwOUUyQzIzIC8qIENh
Y2hlZFNWR0RvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTA0RjI0MjE0QzcxRjdBMDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTBCQjU4
NTE0ODRFM0E3MDBCMkU4N0EgLyogUmVuZGVyU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwQkI1ODMxNDg0RTNBNzAwQjJFODdBIC8qIFJl
bmRlclNWR1JlY3QuaCAqLzsgfTsKIAkJQTEwQkI1OEIxNDg0RTNCMzAwQjJFODdBIC8qIFJlbmRl
clNWR1NoYXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMTBCQjU4OTE0ODRFM0IzMDBCMkU4N0EgLyogUmVuZGVyU1ZHU2hhcGUuaCAqLzsgfTsKQEAg
LTExMTM5LDYgKzExMTQyLDExIEBACiAJCUEwRUUwREYyMTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJH
TERlYnVnUmVuZGVyZXJJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkdMRGVidWdSZW5kZXJlckluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTBF
RTBERjMxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMRGVidWdTaGFkZXJzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTBFRTBERjQxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdM
RGVidWdTaGFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdMRGVi
dWdTaGFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzUzMjIwQTAx
NzQwMENCRjY3QSAvKiBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTEwNEVDNTUyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZp
ZWxkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwNEVDNTcyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwNEVDNUIyMjBBM0U0MzAwQ0JGNjdB
IC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTEwNEVDNUMyMjBBM0U0NDAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMDRGMjQxMTRDNzFGN0EwMDlFMkMyMyAvKiBDYWNoZWRT
VkdEb2N1bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNo
ZWRTVkdEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMDRGMjQy
MTRDNzFGN0EwMDlFMkMyMyAvKiBDYWNoZWRTVkdEb2N1bWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTBCQjU4MjE0ODRFM0E3MDBCMkU4N0EgLyogUmVuZGVyU1ZHUmVjdC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZWN0LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NzQ3LDYgKzE2NzU1LDcgQEAKIAkJCQkx
QThBNjQzODFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3QuaCAqLywKIAkJCQkxQTU4
RTg2QjFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQkx
QTU4RTg2QzFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCisJCQkJ
QTEwNEVDNTMyMjBBMDE3NDAwQ0JGNjdBIC8qIFBheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAg
Ki8sCiAJCQkJMUE1OEU4NjIxRDE5RDNCRjAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRvckNs
aWVudC5oICovLAogCQkJCTdDRjkzMEU2MUUwMUY5QUQwMEJBRkZCRSAvKiBQYXltZW50SGVhZGVy
cy5oICovLAogCQkJCTFBRTk2QTg3MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50TWVyY2hhbnRT
ZXNzaW9uLmggKi8sCkBAIC0xNzg1Myw2ICsxNzg2Miw4IEBACiAJCQkJQTE0NkQzMUMxRjk5QzlD
MjAwRDI5MTk2IC8qIE1vY2tQYXltZW50QWRkcmVzcy5oICovLAogCQkJCUExNDZEMzFFMUY5OUM5
QzIwMEQyOTE5NiAvKiBNb2NrUGF5bWVudEFkZHJlc3MuaWRsICovLAogCQkJCUExNDZEMzI0MUY5
OUQ2OTgwMEQyOTE5NiAvKiBNb2NrUGF5bWVudENvbnRhY3QuaCAqLywKKwkJCQlBMTA0RUM1NTIy
MEEzOUI0MDBDQkY2N0EgLyogTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggKi8sCisJCQkJQTEw
NEVDNTcyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgKi8s
CiAJCQkJQTFBRkVERTUxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwICovLAogCQkJCUExQUZFREU0MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmggKi8sCiAJCQkJQTE0NkQzMTYxRjk5QjUzRDAwRDI5MTk2IC8qIE1vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsICovLApAQCAtMTc4OTQsNiArMTc5MDUsOCBAQAogCQkJCTJENkYzRTkz
MUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5oICovLAogCQkJCUExNDZEMzIw
MUY5OUNBM0UwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5jcHAgKi8sCiAJCQkJQTE0
NkQzMUYxRjk5Q0EzRDAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggKi8sCisJCQkJ
QTEwNEVDNUIyMjBBM0U0MzAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNw
cCAqLywKKwkJCQlBMTA0RUM1QzIyMEEzRTQ0MDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENvbnRh
Y3RGaWVsZHMuaCAqLywKIAkJCQlBMTQ2RDMxOTFGOTlCQ0JCMDBEMjkxOTYgLyogSlNNb2NrUGF5
bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQlBMTQ2RDMxODFGOTlCQ0JBMDBEMjkxOTYgLyog
SlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJQTFCQjg1QjQyMTU5QjM4OTAwNjdF
MDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgKi8sCkBAIC0yODI0OSw2ICsyODI2Miw3IEBA
CiAJCQkJQTE5QUVBMjExQUFBODA4NjAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJTZXR0
aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTM4RUM5MzQxRjk5QjlGNzAwNEQyMkE4IC8qIEpT
TW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyMzFGOTlEMEVGMDBE
MjkxOTYgLyogSlNNb2NrUGF5bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUExMDRF
QzVFMjIwQTNFNEUwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTE0NkQzMUIxRjk5QkNGQjAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRD
b29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFCQjg1QjkyMTU5QjNBRTAwNjdFMDdE
IC8qIEpTTW9ja1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDI3REE3MUUxMzcz
NURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yODI2NCw2ICsyODI3OCw3IEBACiAJCQkJQTE0QkIwQTAxRjk4MTNCODAwNjA1QTM1IC8q
IE1vY2tQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyMTFGOTlDQjFBMDBEMjkx
OTYgLyogTW9ja1BheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyNTFG
OTlENjk4MDBEMjkxOTYgLyogTW9ja1BheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBMTA0RUM1QTIyMEEzREUwMDBDQkY2N0EgLyogTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMUFGRURFNjFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1l
bnRDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFDQkVGNjQxRjlGMTEyOTAwMjhE
RTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwNjE4QzFF
MkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICov
LApAQCAtMzI4MjMsNiArMzI4MzgsNyBAQAogCQkJCUExOUFFQTIyMUFBQTgwOEEwMEI1MkIyNSAv
KiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0
MTUwREUxQzFGODY4QzAwMEEzQkEyIC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUExNDZEMzIyMUY5OUQwRUMwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVz
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMTA0RUM1RDIyMEEzRTRCMDBDQkY2N0EgLyogSlNN
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0NkQzMUEx
Rjk5QkNGODAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBMUJCODVCODIxNTlCM0E0MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9y
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGI1ODMyMjE2OGZmNWFhNGRiMmM4YjNkNGNmZjg5ZTUz
YmUyOWM5NmEuLmZiMDJiYWY2NzU1NTkwODQ2ZmMwMjc5YTMzM2FjYTNjMWZkMDcwOTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAwNiBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzEyLDcgKzMxMiw2IEBAIGNsYXNz
IEVtcHR5SW5zcGVjdG9yQ2xpZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CiAj
aWYgRU5BQkxFKEFQUExFX1BBWSkKIAogY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQgZmluYWwgOiBwdWJsaWMgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKLSAgICBib29sIHN1
cHBvcnRzVmVyc2lvbih1bnNpZ25lZCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICBPcHRp
b25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZpbmFs
IHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgZmlu
YWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVD
YXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25IYW5k
bGVyKGZhbHNlKTsgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb250YWN0RmllbGRzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29udGFjdEZpZWxkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5ODQ1MzYzZmEwMjlkOGI2NDFlMmE1YTBh
YjJhYjdlZjFmMDc4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMgOiBwdWJsaWMgQXBwbGVQYXlTZXNzaW9uUGF5
bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMgeworICAgIE1vY2tQYXltZW50Q29udGFjdEZpZWxk
cygpID0gZGVmYXVsdDsKKyAgICBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMoY29uc3QgQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMmIGNvbnRhY3RGaWVsZHMpCisg
ICAgICAgIDogQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMgeyBj
b250YWN0RmllbGRzIH0KKyAgICB7CisgICAgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDkxNzM0
NzhhZjM5OTU3NzNlYjliZTE0MzBlYjY0MGFlYjIyYjFjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCkBAIC0wLDAg
KzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAorICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorXSBkaWN0aW9uYXJ5IE1vY2tQYXltZW50Q29udGFjdEZp
ZWxkcyB7CisgICAgYm9vbGVhbiBwb3N0YWxBZGRyZXNzID0gZmFsc2U7CisgICAgYm9vbGVhbiBw
aG9uZSA9IGZhbHNlOworICAgIGJvb2xlYW4gZW1haWwgPSBmYWxzZTsKKyAgICBib29sZWFuIG5h
bWUgPSBmYWxzZTsKKyAgICBib29sZWFuIHBob25ldGljTmFtZSA9IGZhbHNlOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4
IDM4MjQxYjdkMGU2NDkxOTllZTM3YTNmYWY1ZDFlOGIwMTNmYThlYjAuLjY2MWYxODA1N2QwMTdh
NWRiZGRkZTg5NThkMzE1ODcxOWI2ZjcwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDIxICs1Myw2IEBAIE1vY2tQ
YXltZW50Q29vcmRpbmF0b3I6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3IoUGFnZSYgcGFnZSkKICAg
ICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5hZGQoInZpc2EiKTsKIH0KIAotYm9vbCBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKLXsK
LSAgICBBU1NFUlQodmVyc2lvbiA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lP
Tl9WMykKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAyOwotI2Vs
aWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WNCkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY3VycmVudFZlcnNpb24gPSAzOwotI2Vsc2UKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y3VycmVudFZlcnNpb24gPSA1OwotI2VuZGlmCi0KLSAgICByZXR1cm4gdmVyc2lvbiA8PSBjdXJy
ZW50VmVyc2lvbjsKLX0KLQogT3B0aW9uYWw8U3RyaW5nPiBNb2NrUGF5bWVudENvb3JkaW5hdG9y
Ojp2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmIHBheW1lbnROZXR3b3JrKQog
ewogICAgIGF1dG8gcmVzdWx0ID0gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MuZmluZChwYXlt
ZW50TmV0d29yayk7CkBAIC0xMTksNiArMTA0LDggQEAgYm9vbCBNb2NrUGF5bWVudENvb3JkaW5h
dG9yOjpzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiwgY29uc3QK
ICAgICBpZiAocmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QoKS5wa0NvbnRhY3QoKSkKICAgICAgICAg
bV9zaGlwcGluZ0FkZHJlc3MgPSByZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCgpLnRvQXBwbGVQYXlQ
YXltZW50Q29udGFjdChyZXF1ZXN0LnZlcnNpb24oKSk7CiAgICAgbV9zaGlwcGluZ01ldGhvZHMg
PSBjb252ZXJ0KHJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCkpOworICAgIG1fcmVxdWlyZWRCaWxs
aW5nQ29udGFjdEZpZWxkcyA9IHJlcXVlc3QucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcygp
OworICAgIG1fcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSByZXF1ZXN0LnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzKCk7CiAKICAgICBBU1NFUlQoc2hvd0NvdW50ID09IGhpZGVD
b3VudCk7CiAgICAgKytzaG93Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5oCmluZGV4IDhkZTJhODcwZWQ0ZGE3ZmUxZDkwY2I2YzJhNjEy
Mzc1ODNiNzYxMGYuLmE1NGMyMWE3MTFkNGMxZmE2ZDJlNTNhNmRiZDY5NTYyZDUyNzRmNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0uaCIKICNpbmNsdWRl
ICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNz
LmgiCisjaW5jbHVkZSAiTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgiCiAjaW5jbHVkZSAiTW9j
a1BheW1lbnRFcnJvci5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC01NiwxMiArNTcsMTMgQEAgcHVibGljOgogICAg
IGNvbnN0IFZlY3RvcjxBcHBsZVBheUxpbmVJdGVtPiYgbGluZUl0ZW1zKCkgY29uc3QgeyByZXR1
cm4gbV9saW5lSXRlbXM7IH0KICAgICBjb25zdCBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4mIGVy
cm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JzOyB9CiAgICAgY29uc3QgVmVjdG9yPEFwcGxl
UGF5U2hpcHBpbmdNZXRob2Q+JiBzaGlwcGluZ01ldGhvZHMoKSBjb25zdCB7IHJldHVybiBtX3No
aXBwaW5nTWV0aG9kczsgfQorICAgIGNvbnN0IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyYgcmVx
dWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZWRCaWxs
aW5nQ29udGFjdEZpZWxkczsgfQorICAgIGNvbnN0IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyYg
cmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMoKSBjb25zdCB7IHJldHVybiBtX3JlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzOyB9CiAKICAgICB2b2lkIHJlZigpIGNvbnN0IHsgfQogICAg
IHZvaWQgZGVyZWYoKSBjb25zdCB7IH0KIAogcHJpdmF0ZToKLSAgICBib29sIHN1cHBvcnRzVmVy
c2lvbih1bnNpZ25lZCkgZmluYWw7CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXlt
ZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXltZW50
cygpIGZpbmFsOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsKQEAg
LTg5LDYgKzkxLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4gbV9l
cnJvcnM7CiAgICAgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG1fc2hpcHBpbmdNZXRo
b2RzOwogICAgIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1fYXZh
aWxhYmxlUGF5bWVudE5ldHdvcmtzOworICAgIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyBtX3Jl
cXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7CisgICAgTW9ja1BheW1lbnRDb250YWN0RmllbGRz
IG1fcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmlkbAppbmRleCA3MDJkNTk1M2E5YThkMjBmNzM4NTBlZWUxZjAyMjllYWViOTM4MmY2Li43
ODU1NDZkMmY0YTQ4ZmM5MDBmNmQ2ZWY3NWM1OTJkNDEwYzQ1ZTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw0ICsz
OSw2IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+
IGxpbmVJdGVtczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8TW9ja1BheW1lbnRF
cnJvcj4gZXJyb3JzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxBcHBsZVBheVNo
aXBwaW5nTWV0aG9kPiBzaGlwcGluZ01ldGhvZHM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1v
Y2tQYXltZW50Q29udGFjdEZpZWxkcyByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMgcmVxdWlyZWRTaGlw
cGluZ0NvbnRhY3RGaWVsZHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCAzZmNjY2I0
ODhmZDZjYzA1ZjAwZTEzNjhkNWIxZDFlMzE4YTNlYTIxLi5iMzc1YzhlNDIxZTllNjdiODRmNjhm
YmE0ZGM3ZjI2ZTY1OWRlYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxLDIxICs1
MSw2IEBAIFdlYlBheW1lbnRDb29yZGluYXRvcjo6fldlYlBheW1lbnRDb29yZGluYXRvcigpCiAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlzKTsK
IH0KIAotYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25l
ZCB2ZXJzaW9uKQotewotICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxFKEFQ
UExFX1BBWV9TRVNTSU9OX1YzKQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVy
c2lvbiA9IDI7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y0KQotICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDM7Ci0jZWxzZQotICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDU7Ci0jZW5kaWYKLQotICAgIHJldHVybiB2
ZXJzaW9uIDw9IGN1cnJlbnRWZXJzaW9uOwotfQotCiBjb25zdCBXZWJQYXltZW50Q29vcmRpbmF0
b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCYgV2ViUGF5bWVudENvb3JkaW5hdG9yOjph
dmFpbGFibGVQYXltZW50TmV0d29ya3MoKQogewogICAgIGlmIChtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9X
ZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCAyZmU1ZWM3Y2IyNGY0MjRmMzA2NTdhZjFh
ZTFiYzY2Zjg1NzA1ZmI1Li42NzEwNTQ0MGRkYzgyMzM2YjIxZWMyM2Y1NzVlZDIwNjZhM2NlYmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVu
dENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dl
YlBheW1lbnRDb29yZGluYXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsNyArNTUsNiBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgLy8gV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LgotICAgIGJvb2wg
c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIG92ZXJyaWRlOwogICAgIE9wdGlvbmFs
PFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7
CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZTsKICAgICB2b2lkIGNhbk1ha2VQ
YXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaAppbmRleCAwOWRhMmVlOWVmZjRjMGE3YTdlYmYyMWUzMGI0NDA1NGVlYTZjMDQ5Li5l
YzBjMzRhNjk1OGJhYjQyMzQxZWNkMDUwYTIyN2Q5ODA4YmY1NTY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDcgKzM2LDYgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICB+V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KCk7CiAKLSAgICBib29sIHN1
cHBvcnRzVmVyc2lvbih1bnNpZ25lZCkgb3ZlcnJpZGU7CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2
YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBib29s
IGNhbk1ha2VQYXltZW50cygpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0
aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2
b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggM2IzM2Y0OWYyMTkwY2E1YmNkY2Q5NDE5
MzBiMGNhNjNiZTZiMWJhNC4uYTU2NTQzNTQxZmY3Nzk1NGQ3NTA2YTNiNDZmZjAxYmU4MjI1NjRm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDEx
ICszOCw2IEBAIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6fldlYlBheW1lbnRDb29yZGlu
YXRvckNsaWVudCgpCiB7CiB9CiAKLWJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Ojpz
dXBwb3J0c1ZlcnNpb24odW5zaWduZWQpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBPcHRp
b25hbDxTdHJpbmc+IFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6dmFsaWRhdGVkUGF5bWVu
dE5ldHdvcmsoY29uc3QgU3RyaW5nJikKIHsKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDc0OTA4YTdmYTA2NTY3YjViZDhlNWRjMmM2MmUyYWNhODAxNDU1YjQuLmMxNGM1MDAwZjQx
YmVmMTM5MTM5NjY4OGIxYjJiNzVmNTQ1ZDc2MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
OS0wMi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1l
bnQgUmVxdWVzdF0gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBwaG9uZXRpYyBu
YW1lIGZvciBzaGlwcGluZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMwNDU+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVz
dFNoaXBwaW5nQ29udGFjdC5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlw
cGluZ0NvbnRhY3RWMy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sOgorCiAyMDE5LTAyLTA1
ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEZpeCBtb2RpZnktY3NzLXByb3BlcnR5LXJhY2UuaHRtbCB0ZXN0IGZhaWx1cmVz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZTg3YTNjYWE5ZDI1N2YyNWViOTc3MDYxNmU0YWVjOWY3
YmY3ZDBmLi44NjRlNDY4YjlhYTgyNzY3Y2I4MWRiNzZkOWU5MmQ2MjczNDM2ZmU1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RT
aGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTMsNiArMywxNiBAQCBUZXN0IEFwcGxlUGF5UmVxdWVzdC5zaGlwcGlu
Z0NvbnRhY3QuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorVGVzdCBzZXR0aW5nIHJl
cXVpcmVkIGNvbnRhY3QgZmllbGRzIGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMu
bmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVp
cmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25lIGlz
IHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxs
aW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMubmFtZSBp
cyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzLmVtYWlsIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgdHJ1
ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKKwogVGVzdCBzZXR0aW5nIGEgZGVm
YXVsdCBzaGlwcGluZyBjb250YWN0IGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuCiBQQVNTIHBheW1l
bnRSZXNwb25zZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFjdC5waG9uZU51bWJlciBpcyBleHBlY3Rl
ZFBob25lTnVtYmVyCiBQQVNTIHBheW1lbnRSZXNwb25zZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFj
dC5lbWFpbEFkZHJlc3MgaXMgZXhwZWN0ZWRFbWFpbEFkZHJlc3MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29u
dGFjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwKaW5kZXggMzNlMjA4OTM3OWMy
ODIyOTQ5MDk0ZDM0OTM3MWNlYjA2NmI4NzU1Ny4uZTFiZDAzZmYzMDczODU0MjIyMGI3ODVkYWYx
ZGU0MzI5ZWM5MDJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdD
b250YWN0Lmh0dHBzLmh0bWwKQEAgLTgyLDYgKzgyLDM5IEBAIGZ1bmN0aW9uIHZhbGlkUGF5bWVu
dE9wdGlvbnMoKSB7CiB9CiAKIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIGF3YWl0
IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGVidWcoIlRlc3Qg
c2V0dGluZyByZXF1aXJlZCBjb250YWN0IGZpZWxkcyBpbiBhIHZlcnNpb24gMiByZXF1ZXN0LiIp
OworCisgICAgICAgIHZhciBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKDIsIHZh
bGlkU2hpcHBpbmdDb250YWN0KCkpOworICAgICAgICBwYXltZW50TWV0aG9kLmRhdGEucmVxdWly
ZWRCaWxsaW5nQ29udGFjdEZpZWxkcyA9IFsiZW1haWwiLCAibmFtZSIsICJwaG9uZSIsICJwb3N0
YWxBZGRyZXNzIl07CisgICAgICAgIHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcyA9IFsiZW1haWwiXTsKKworICAgICAgICB2YXIgcGF5bWVudE9wdGlvbnMg
PSB2YWxpZFBheW1lbnRPcHRpb25zKCk7CisgICAgICAgIHBheW1lbnRPcHRpb25zLmVtYWlsID0g
ZmFsc2U7CisKKyAgICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpLCBwYXltZW50T3B0aW9ucyk7
CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1
ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLmVt
YWlsIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5waG9uZSIsICJ0
cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRkcmVzcyIsICJ0
cnVlIik7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMubmFtZSIsICJ0cnVlIik7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLmVtYWlsIiwgInRydWUiKTsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVx
dWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUiLCAidHJ1ZSIpOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNo
aXBwaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIiwgInRydWUiKTsKKworICAgICAgICAg
ICAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cisg
ICAgZGVidWcoIiIpOworCiAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4gewogICAgICAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIGEgZGVmYXVsdCBzaGlwcGluZyBjb250
YWN0IGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCAwMGJmNjc0YWJiYTJkNGY2ZmEzNWNkYmE3ZGU4YWFmNTE5ZmNlYzIzLi4wZjg2NTM2YzhiOWMx
NjZhOTA5YmY3YTFlZGQ1ZWUxMTc2MDE4YzliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0z
LDYgKzMsMTggQEAgVGVzdCBBcHBsZVBheVJlcXVlc3Quc2hpcHBpbmdDb250YWN0LgogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1Rlc3Qgc2V0dGluZyByZXF1aXJlZCBjb250YWN0IGZp
ZWxkcyBpbiBhIHZlcnNpb24gMyByZXF1ZXN0LgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLm5hbWUgaXMgdHJ1ZQorUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLnBob25ldGljTmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgaXMgdHJ1ZQorUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLnBob25lIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKK1BB
U1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRh
Y3RGaWVsZHMubmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBob25ldGljTmFtZSBpcyB0cnVlCitQ
QVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250
YWN0RmllbGRzLmVtYWlsIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgdHJ1ZQorUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKKwogVGVzdCBzZXR0aW5nIGEgZGVmYXVsdCBzaGlw
cGluZyBjb250YWN0IGluIGEgdmVyc2lvbiAzIHJlcXVlc3QuCiBQQVNTIHBheW1lbnRSZXNwb25z
ZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFjdC5waG9uZXRpY0dpdmVuTmFtZSBpcyBleHBlY3RlZEdp
dmVuTmFtZQogUEFTUyBwYXltZW50UmVzcG9uc2UuZGV0YWlscy5zaGlwcGluZ0NvbnRhY3QucGhv
bmV0aWNGYW1pbHlOYW1lIGlzIGV4cGVjdGVkRmFtaWx5TmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250
YWN0VjMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0Fw
cGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWwKaW5kZXggZGE3MTg0Y2Zh
NjIzODkyZWZmYzA5Nzg1OWMyNmUyNTE2NmIwZWU3NC4uZDRmYWI2M2FmMmU0MjQ5MmY1NmEyMzA2
MTYzNTYxNGVmMzE2YTI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlw
cGluZ0NvbnRhY3RWMy5odHRwcy5odG1sCkBAIC04Miw2ICs4MiwzOCBAQCBmdW5jdGlvbiB2YWxp
ZFBheW1lbnRPcHRpb25zKCkgewogfQogCiBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAg
ICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGRlYnVn
KCJUZXN0IHNldHRpbmcgcmVxdWlyZWQgY29udGFjdCBmaWVsZHMgaW4gYSB2ZXJzaW9uIDMgcmVx
dWVzdC4iKTsKKworICAgICAgICB2YXIgcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhv
ZCgzLCB2YWxpZFNoaXBwaW5nQ29udGFjdCgpKTsKKyAgICAgICAgcGF5bWVudE1ldGhvZC5kYXRh
LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSBbImVtYWlsIiwgIm5hbWUiLCAicGhvbmV0
aWNOYW1lIiwgInBob25lIiwgInBvc3RhbEFkZHJlc3MiXTsKKyAgICAgICAgcGF5bWVudE1ldGhv
ZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWyJwaG9uZXRpY05hbWUiXTsK
KworICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCksIHZhbGlkUGF5bWVudE9wdGlvbnMoKSk7
CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRSZXF1
ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBo
b25ldGljTmFtZSIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1h
aWwiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25lIiwgInRy
dWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIiwgInRy
dWUiKTsKKworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIiwgInRydWUiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1lIiwgInRydWUiKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMuZW1haWwiLCAidHJ1ZSIpOworICAgICAg
ICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1
aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5waG9uZSIsICJ0cnVlIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MiLCAidHJ1ZSIpOworCisgICAgICAgICAg
ICAgICAgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAgICAgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgICAgICB9KTsKKyAgICB9KTsKKyAg
ICBkZWJ1ZygiIik7CisKICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9
PiB7CiAgICAgICAgIGRlYnVnKCJUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRh
Y3QgaW4gYSB2ZXJzaW9uIDMgcmVxdWVzdC4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGYyNmM4Njg1MWEwM2QzYTJjZjQ5ZDc4ZGQ5MjY2NzRlN2Y2
ZTZmYjQuLmM5YzRiMGU2NmU0ZGRlOTc0YTE3OGZiMjQxM2I2NmY0N2JkMzhhNWUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0
dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9QYXltZW50UmVxdWVzdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEyNCw2ICsxMjQsNDMgQEAg
UEFTUyBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRh
aWxzKCkpOyByZXF1ZXN0LnNob3coKQogU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLmJpbGxpbmdDb250YWN0ID0gNzsKIFBBU1Mg
bmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygp
KTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkU3RhdGVFcnJv
cjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KIAorVGVzdGluZyBBcHBsZVBh
eVJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMKKworU0VUVVA6IHBheW1lbnRN
ZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzID0gJyc7CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJl
cXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNo
b3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2Vx
dWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBh
eW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IG51bGw7CitQ
QVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBh
eW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9k
ID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcyA9IDc7CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3Qo
W3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSBy
ZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2Uu
CisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRN
ZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IHsgfTsKK1BBU1MgcmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERl
dGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhv
ZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBb
JyddOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwg
dmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAg
d2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFs
aWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyA9IFtudWxsXTsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChb
cGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5
bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVx
dWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbdW5kZWZpbmVkXTsKK1BBU1MgcmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMo
KSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBl
IGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBw
YXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbe31dOwor
UEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQ
YXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBU
eXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXlt
ZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcyA9IFsnaW52YWxpZCddOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtw
YXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVq
ZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1Rlc3RpbmcgQXBw
bGVQYXlSZXF1ZXN0LnNoaXBwaW5nQ29udGFjdAorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZh
bGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0ID0g
Jyc7CitQQVNTIG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52YWxp
ZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4uCisKK1NFVFVQ
OiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0
YS5zaGlwcGluZ0NvbnRhY3QgPSA3OworUEFTUyBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRN
ZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBw
cm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFs
aWQgc3RhdGUuLgorCiBUZXN0aW5nIEFwcGxlUGF5UmVxdWVzdC5hcHBsaWNhdGlvbkRhdGEKIAog
U0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhv
ZC5kYXRhLmFwcGxpY2F0aW9uRGF0YSA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyAn
IkVycm9yIGluIHRvU3RyaW5nIic7IH0gfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sCmluZGV4
IDk0ODI1MjMzYTEyMGQ0NDViYWQ1OGU4NGE1YmMwNWM4NThmNTYyOGIuLjllOTc5ZTkyYzE0ZjQz
ZjQzZTVjM2NmNDg5YWZlNGUyN2QxNjg2OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbApA
QCAtMTQyLDYgKzE0MiwzNCBAQCBhc3luYyBmdW5jdGlvbiBnbygpIHsKICAgICBkZWJ1ZygiIikK
ICAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLmJpbGxpbmdDb250YWN0ID0gNzsiLCAibmV3
IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsg
cmVxdWVzdC5zaG93KCkiKQogICAgIGRlYnVnKCIiKQorCisgICAgZGVidWcoIlRlc3RpbmcgQXBw
bGVQYXlSZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIikKKyAgICBkZWJ1Zygi
IikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBh
eW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0
RmllbGRzID0gJyc7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRo
b2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWco
IiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQ
YXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFj
dEZpZWxkcyA9IG51bGw7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRN
ZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVi
dWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFs
aWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyA9IDc7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRN
ZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVi
dWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFs
aWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyA9IHsgfTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVu
dE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBk
ZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2
YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzID0gWycnXTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5
bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAg
ICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2Qg
PSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBp
bmdDb250YWN0RmllbGRzID0gW251bGxdOyIsICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCki
KQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1l
dGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRT
aGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbdW5kZWZpbmVkXTsiLCAicmVxdWVzdCA9IG5ldyBQYXlt
ZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVl
c3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3Qo
InBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRh
LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gW3t9XTsiLCAicmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJl
cXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWpl
Y3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5k
YXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWydpbnZhbGlkJ107IiwgInJlcXVl
c3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRh
aWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisKKyAgICBkZWJ1ZygiVGVz
dGluZyBBcHBsZVBheVJlcXVlc3Quc2hpcHBpbmdDb250YWN0IikKKyAgICBkZWJ1ZygiIikKKyAg
ICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRN
ZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnNoaXBwaW5nQ29udGFjdCA9ICcnOyIsICJuZXcg
UGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyBy
ZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVq
ZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2Qu
ZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSA3OyIsICJuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRN
ZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVi
dWcoIiIpCiAgICAgCiAgICAgZGVidWcoIlRlc3RpbmcgQXBwbGVQYXlSZXF1ZXN0LmFwcGxpY2F0
aW9uRGF0YSIpCiAgICAgZGVidWcoIiIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361301</attachid>
            <date>2019-02-06 09:39:36 -0800</date>
            <delta_ts>2019-02-06 14:39:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194311-20190206093935.patch</filename>
            <type>text/plain</type>
            <size>56914</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwOTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM4YjA5MTNmOGMxZDBj
ZWM4Y2E5OTczZGU2NjI3MWY1OGNkNTE4YS4uZjc4MjVmZTI4ODk2YWYzMGM3Zjc0YTA3MTYzZjM5
ZGEwOWM4ODVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAyLTA1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
dCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25ldGljIG5hbWUgZm9yIHNoaXBw
aW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8g
cmVxdWlyZSB0aGF0IGEgc2hpcHBpbmcgY29udGFjdCBoYXMgYSBwaG9uZXRpYyBuYW1lIGluIFBh
eW1lbnQgUmVxdWVzdC4KKyAgICAgICAgVG8gYWNjb21wbGlzaCB0aGlzLCBtb3ZlIHJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzIGZyb20gQXBwbGVQYXlQYXltZW50UmVxdWVzdCB0bworICAg
ICAgICBBcHBsZVBheVJlcXVlc3RCYXNlIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgcGFydCBv
ZiBhbiBBcHBsZSBQYXkgcGF5bWVudCBtZXRob2QgZGF0YS4KKworICAgICAgICBTaW5jZSByZXF1
aXJlZCBzaGlwcGluZyBjb250YWN0IGZpZWxkcyBjYW4gbm93IGJlIHNwZWNpZmllZCBib3RoIGlu
CisgICAgICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIGFuZCBQYXltZW50T3B0aW9u
cywgd2UgbWVyZ2UgdGhlIHJlcXVpcmVkIGZpZWxkcyBmcm9tIHRoZXNlCisgICAgICAgIHR3byBz
b3VyY2VzIHN1Y2ggdGhhdCwgZS5nLiwgZW1haWwgaXMgcmVxdWlyZWQgaWYgaXQgaXMgc3BlY2lm
aWVkIGluIGVpdGhlciBwbGFjZS4KKworICAgICAgICBTbyB0aGF0IGNsaWVudHMgY2FuIGRldGVj
dCB0aGlzIG5ldyBmZWF0dXJlLCB0aGUgQVBJIHZlcnNpb24gbnVtYmVyIGlzIGJ1bXBlZCBmcm9t
IDUgdG8gNi4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2VzIHRvIEFwcGxlUGF5UmVxdWVzdFNo
aXBwaW5nQ29udGFjdC5odHRwcy5odG1sIGFuZCBBcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRh
Y3RWMy5odHRwcy5odG1sLgorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaDoKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsOgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlSZXF1ZXN0QmFzZS5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0QmFzZS5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Np
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEFuZFZhbGlkYXRlKToKKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50OjpzdXBwb3J0c1ZlcnNp
b24pOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1lcmdlUGF5bWVudE9wdGlvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hvdyk6CisgICAg
ICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHA6CisgICAgICAg
ICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUGF5bWVudENvbnRhY3RGaWVsZHM6Ok1vY2tQYXltZW50Q29udGFjdEZpZWxk
cyk6CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24pOiBE
ZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgorICAg
ICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGw6CisKIDIwMTktMDItMDUg
IEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUg
YXV0b21hdGljIGNoZWNraW5nIGFuZCByZWdlbmVyYXRpb25zIG9mIC54Y2ZpbGVsaXN0cyBkdXJp
bmcgYnVpbGRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ2ODhkNTQwYzRkMTgwNGFlNThjYjA1ZGYxMjA1NzU1MGNh
YTViZTAuLjQ1NjNmZTFkMTc2ODExODY1NjJmMzc0NGEyMzBiNjYxOGQ4ZDk5MjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMDUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0
byByZXF1aXJlIGEgcGhvbmV0aWMgbmFtZSBmb3Igc2hpcHBpbmcgY29udGFjdHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDMxMQorICAgICAgICA8
cmRhcjovLzQ2NzMzMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lv
bik6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29v
cmRpbmF0b3IuaDoKKwogMjAxOS0wMi0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXByb2R1Y2libGUgY3Jhc2ggdW5kZXIgV0tTaGFyZVNoZWV0
IHByZXNlbnRXaXRoUGFyYW1ldGVycyB3aGVuIGNhbmNlbGxpbmcgYSBzaGFyZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IDZlYTM0ZDM2YjQ5NmZiMjk5NmZjYWIyMmM3ZDhiOTMzZWY0
NzI3ZDAuLmEzZmEyNDk4ZTc5M2QyMjc3NzA3YmU2MDdiNjZhODZmNWI1MTM2MjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMi0wNSAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gSXQg
c2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBwaG9uZXRpYyBuYW1lIGZvciBzaGlwcGlu
ZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMwNDU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50
Q29vcmRpbmF0b3JDbGllbnQubW06CisgICAgICAgIChXZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ6OnN1cHBvcnRzVmVyc2lvbik6IERlbGV0ZWQuCisKIDIwMTktMDItMDQgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NHXSBFbmFibGUgc2V0QWRkaXRp
b25hbFN1cHBvcnRlZEltYWdlVHlwZXMgZm9yIFdLMQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggYmMzMDA5ZWY1MGM5NjRiNmU2Nzg0Y2U4MmMwNzY0OWNmNzk0NWVkZC4uY2M1YWZh
YTUwYmZjYjk4ZDE2MDA3ZmQwYzg5ZTQxNmE1YjY4YjU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0xMDUwLDYgKzEwNTAsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS90ZXN0aW5nL01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbCBcCiAgICAgJChXZWJDb3JlKS90
ZXN0aW5nL01vY2tQYXltZW50QWRkcmVzcy5pZGwgXAorICAgICQoV2ViQ29yZSkvdGVzdGluZy9N
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9j
a1BheW1lbnRDb29yZGluYXRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5
bWVudEVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRl
cm5hbHMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlQYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0LmgKaW5kZXggZTZmYjYwMjZiM2RhMTI5MDRkMmM4Nzli
NDA1MmFmZGI0YTQ2Yjg3Zi4uM2YwYjY2ZjE3OTM3YWE0MWI0ZWM0ZmQ4MWQ3OGE4MGEwODY3YWI5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBh
eW1lbnRSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRSZXF1ZXN0LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MCw4ICs0MCw2IEBAIHN0cnVjdCBBcHBsZVBheVBh
eW1lbnRSZXF1ZXN0IDogQXBwbGVQYXlSZXF1ZXN0QmFzZSB7CiAKICAgICBTdHJpbmcgY3VycmVu
Y3lDb2RlOwogCi0gICAgT3B0aW9uYWw8VmVjdG9yPEFwcGxlUGF5Q29udGFjdEZpZWxkPj4gcmVx
dWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7Ci0KICAgICBTaGlwcGluZ1R5cGUgc2hpcHBpbmdU
eXBlIHsgU2hpcHBpbmdUeXBlOjpTaGlwcGluZyB9OwogICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kPj4gc2hpcHBpbmdNZXRob2RzOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1ZXN0Lmlk
bAppbmRleCAwZWMxOTI3NDMwZjA1YmIxZjBiNDExN2NjMDMwODkwNDdiNDA5OTI3Li5iODI2YmVl
Mzc0MjRlZWFkYTFkZDRkMTZkYTc0ODc5YWVjYTJkMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGwK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC00MCw4ICs0MCw2IEBACiAKICAgICByZXF1aXJlZCBET01TdHJpbmcgY3VycmVuY3lDb2Rl
OwogCi0gICAgc2VxdWVuY2U8QXBwbGVQYXlDb250YWN0RmllbGQ+IHJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzOwotCiAgICAgQXBwbGVQYXlTaGlwcGluZ1R5cGUgc2hpcHBpbmdUeXBlID0g
InNoaXBwaW5nIjsKICAgICBzZXF1ZW5jZTxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBzaGlwcGlu
Z01ldGhvZHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKaW5kZXggODE3ZDlmYWIxMTM2MzRkNjRlYWI1YTc1
MGQwZTA4NThiYzdmMWY2MS4uZDYyNmMwNGEzMmY3NWQ3NThjYTA1MzNkYjRkZTVhMGVjYTRkNWY1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJl
cXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5UmVxdWVzdEJhc2UuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzgsNiArNzgsMTMgQEAgRXhjZXB0aW9uT3I8QXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0ZSh1bnNpZ25lZCB2ZXJz
aW9uLAogCiAgICAgaWYgKHJlcXVlc3QuYmlsbGluZ0NvbnRhY3QpCiAgICAgICAgIHJlc3VsdC5z
ZXRCaWxsaW5nQ29udGFjdChQYXltZW50Q29udGFjdDo6ZnJvbUFwcGxlUGF5UGF5bWVudENvbnRh
Y3QodmVyc2lvbiwgKnJlcXVlc3QuYmlsbGluZ0NvbnRhY3QpKTsKKyAgICAKKyAgICBpZiAocmVx
dWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcykgeworICAgICAgICBhdXRvIHJlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gY29udmVydEFuZFZhbGlkYXRlKHZlcnNpb24sICpy
ZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKTsKKyAgICAgICAgaWYgKHJlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzLmhhc0V4Y2VwdGlvbigpKQorICAgICAgICAgICAgcmV0
dXJuIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnJlbGVhc2VFeGNlcHRpb24oKTsKKyAg
ICAgICAgcmVzdWx0LnNldFJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKHJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICB9CiAKICAgICBp
ZiAocmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QpCiAgICAgICAgIHJlc3VsdC5zZXRTaGlwcGluZ0Nv
bnRhY3QoUGF5bWVudENvbnRhY3Q6OmZyb21BcHBsZVBheVBheW1lbnRDb250YWN0KHZlcnNpb24s
ICpyZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAppbmRleCAyMDUxMTg5ZGE5N2Qy
NzQzZGIzYjlkNmNlOTExZDBlYzFlZjAwOTFmLi42OGM2NmI4NjQwNTZkZjI5NmFhZTRkNGM2YjEx
NTc4YTgyNTEyMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQzLDYgKzQzLDcgQEAgc3RydWN0IEFwcGxl
UGF5UmVxdWVzdEJhc2UgewogICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUNvbnRhY3RGaWVs
ZD4+IHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7CiAgICAgT3B0aW9uYWw8QXBwbGVQYXlQ
YXltZW50Q29udGFjdD4gYmlsbGluZ0NvbnRhY3Q7CiAKKyAgICBPcHRpb25hbDxWZWN0b3I8QXBw
bGVQYXlDb250YWN0RmllbGQ+PiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsKICAgICBP
cHRpb25hbDxBcHBsZVBheVBheW1lbnRDb250YWN0PiBzaGlwcGluZ0NvbnRhY3Q7CiAKICAgICBT
dHJpbmcgYXBwbGljYXRpb25EYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwKaW5kZXggOGMxYmYxOTc1NjM2NjUx
MDkwNThiZDQwMGNlMDRiMGYxMmZiMzMxYy4uMzQyYjQwODY5NDVlOGQwNmQxZTBkN2Y4M2MxOTk2
ZDFmYmM5YzZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlcXVlc3RCYXNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzMsNiArMzMsNyBAQAogICAgIHNlcXVl
bmNlPEFwcGxlUGF5Q29udGFjdEZpZWxkPiByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOwog
ICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgYmlsbGluZ0NvbnRhY3Q7CiAKKyAgICBzZXF1ZW5j
ZTxBcHBsZVBheUNvbnRhY3RGaWVsZD4gcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiAg
ICAgQXBwbGVQYXlQYXltZW50Q29udGFjdCBzaGlwcGluZ0NvbnRhY3Q7CiAKICAgICBET01TdHJp
bmcgYXBwbGljYXRpb25EYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDA2YzBmYWU2N2YzMGU2ODc2NjA4YjFmNzNk
YWJjOTRiYzRlNjZhMzMuLmM2NzNmY2NjMWIzMDU3MGI3ZmEyYmFkYzJjMDFiMGUzZmRkNDUxMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvbi5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yMjcsMTMgKzIyNyw2IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdD4gY29udmVydEFuZFZhbGlkYXRlKHVuc2lnbmVkIHZlCiAg
ICAgICAgIHJldHVybiBsaW5lSXRlbXMucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIHJlc3VsdC5z
ZXRMaW5lSXRlbXMobGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKIAotICAgIGlmIChw
YXltZW50UmVxdWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcykgewotICAgICAgICBh
dXRvIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gY29udmVydEFuZFZhbGlkYXRlKHZl
cnNpb24sIFdURk1vdmUoKnBheW1lbnRSZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0Rmll
bGRzKSk7Ci0gICAgICAgIGlmIChyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5oYXNFeGNl
cHRpb24oKSkKLSAgICAgICAgICAgIHJldHVybiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxk
cy5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJlc3VsdC5zZXRSZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcyhyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5yZWxlYXNlUmV0dXJu
VmFsdWUoKSk7Ci0gICAgfQotCiAgICAgcmVzdWx0LnNldFNoaXBwaW5nVHlwZShwYXltZW50UmVx
dWVzdC5zaGlwcGluZ1R5cGUpOwogCiAgICAgaWYgKHBheW1lbnRSZXF1ZXN0LnNoaXBwaW5nTWV0
aG9kcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXlt
ZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2NjgyZjNmOWQ1YWYz
YTQ5MjM0NmVmNWE0YTk4ZGI1ZTNkMGZjYzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKQEAgLTAs
MCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5oIgorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFBheW1lbnRDb29yZGluYXRvckNsaWVudDo6
c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCit7CisgICAgQVNTRVJUKHZlcnNpb24g
PiAwKTsKKworI2lmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjMpCisgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMjsKKyNlbGlmICFFTkFCTEUoQVBQTEVfUEFZ
X1NFU1NJT05fVjQpCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0g
MzsKKyNlbHNlCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNjsK
KyNlbmRpZgorCisgICAgcmV0dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRp
bmF0b3JDbGllbnQuaAppbmRleCAxNzBhNGYzZDM1YzBjOWYxYzIyNzFhNjkxMDc5MWU2NzUxYzlj
ZDA1Li4zNWFjMGQxMzFkY2ZjOWQ1MWM4NmM2ODRmOWFhOTI2NDVhMjBkZWM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5h
dG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1
LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC00NSw3ICs0NSw4IEBAIHN0cnVjdCBTaGlwcGluZ01ldGhvZFVwZGF0
ZTsKIAogY2xhc3MgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKIHB1YmxpYzoKLSAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pID0gMDsKKyAgICBib29s
IHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKTsKKwogICAgIHZpcnR1YWwgT3B0aW9u
YWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSA9IDA7CiAg
ICAgdmlydHVhbCBib29sIGNhbk1ha2VQYXltZW50cygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
Y2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiBtZXJjaGFudElkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHAKaW5kZXggZWE0NGQ1ZjhlMTQ5ODc0NjdkNmYyZTkxMjg0N2Jj
MTg1ZWQ3MDA0Mi4uZGE3MWMyZmFjNTJhNDBmMzljMjgzMzhhODFiYTk0Nzc0Njg0YTQ1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTI5
LDE2ICsxMjksNiBAQCBzdGF0aWMgRXhjZXB0aW9uT3I8VmVjdG9yPEFwcGxlUGF5U2Vzc2lvblBh
eW1lbnRSZXF1ZXN0OjpMaW5lSXRlbT4+IGNvbnZlcnRBbmRWYQogICAgIHJldHVybiB7IFdURk1v
dmUocmVzdWx0KSB9OwogfQogCi1zdGF0aWMgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6
OkNvbnRhY3RGaWVsZHMgY29udmVydChjb25zdCBQYXltZW50T3B0aW9ucyYgb3B0aW9ucykKLXsK
LSAgICBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6Q29udGFjdEZpZWxkcyByZXN1bHQ7
Ci0gICAgcmVzdWx0LmVtYWlsID0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJFbWFpbDsKLSAgICByZXN1
bHQubmFtZSA9IG9wdGlvbnMucmVxdWVzdFBheWVyTmFtZTsKLSAgICByZXN1bHQucGhvbmUgPSBv
cHRpb25zLnJlcXVlc3RQYXllclBob25lOwotICAgIHJlc3VsdC5wb3N0YWxBZGRyZXNzID0gb3B0
aW9ucy5yZXF1ZXN0U2hpcHBpbmc7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogc3RhdGljIEFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpTaGlwcGluZ1R5cGUgY29udmVydChQYXltZW50
U2hpcHBpbmdUeXBlIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CkBAIC0xODIsNiArMTcy
LDE5IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbnZlcnRE
YXRhKEpTQzo6SlNWYWx1ZSYmIGRhdGEpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorc3RhdGljIHZv
aWQgbWVyZ2VQYXltZW50T3B0aW9ucyhjb25zdCBQYXltZW50T3B0aW9ucyYgb3B0aW9ucywgQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgYXV0byByZXF1aXJl
ZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IHJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RG
aWVsZHMoKTsKKyAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5lbWFpbCB8PSBvcHRp
b25zLnJlcXVlc3RQYXllckVtYWlsOworICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
Lm5hbWUgfD0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lOworICAgIHJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzLnBob25lIHw9IG9wdGlvbnMucmVxdWVzdFBheWVyUGhvbmU7CisgICAgcmVx
dWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRkcmVzcyB8PSBvcHRpb25zLnJlcXVl
c3RTaGlwcGluZzsKKyAgICByZXF1ZXN0LnNldFJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
KHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKTsKKworICAgIGlmIChvcHRpb25zLnJlcXVl
c3RTaGlwcGluZykKKyAgICAgICAgcmVxdWVzdC5zZXRTaGlwcGluZ1R5cGUoY29udmVydChvcHRp
b25zLnNoaXBwaW5nVHlwZSkpOworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1l
bnRIYW5kbGVyOjpzaG93KCkKIHsKICAgICBhdXRvIHZhbGlkYXRlZFJlcXVlc3QgPSBjb252ZXJ0
QW5kVmFsaWRhdGUobV9hcHBsZVBheVJlcXVlc3QtPnZlcnNpb24sICptX2FwcGxlUGF5UmVxdWVz
dCwgcGF5bWVudENvb3JkaW5hdG9yKCkpOwpAQCAtMjAzLDkgKzIwNiw3IEBAIEV4Y2VwdGlvbk9y
PHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNob3coKQogICAgICAgICByZXR1cm4gY29u
dmVydGVkTGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24oKTsKICAgICByZXF1ZXN0LnNldExpbmVJ
dGVtcyhjb252ZXJ0ZWRMaW5lSXRlbXMucmVsZWFzZVJldHVyblZhbHVlKCkpOwogCi0gICAgcmVx
dWVzdC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyhjb252ZXJ0KG1fcGF5bWVudFJl
cXVlc3QtPnBheW1lbnRPcHRpb25zKCkpKTsKLSAgICBpZiAobV9wYXltZW50UmVxdWVzdC0+cGF5
bWVudE9wdGlvbnMoKS5yZXF1ZXN0U2hpcHBpbmcpCi0gICAgICAgIHJlcXVlc3Quc2V0U2hpcHBp
bmdUeXBlKGNvbnZlcnQobV9wYXltZW50UmVxdWVzdC0+cGF5bWVudE9wdGlvbnMoKS5zaGlwcGlu
Z1R5cGUpKTsKKyAgICBtZXJnZVBheW1lbnRPcHRpb25zKG1fcGF5bWVudFJlcXVlc3QtPnBheW1l
bnRPcHRpb25zKCksIHJlcXVlc3QpOwogCiAgICAgYXV0byBzaGlwcGluZ01ldGhvZHMgPSBjb21w
dXRlU2hpcHBpbmdNZXRob2RzKCk7CiAgICAgaWYgKHNoaXBwaW5nTWV0aG9kcy5oYXNFeGNlcHRp
b24oKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDA3MjIyODhkYTFjODkzNWE3OGY3ZTE5
MjA5NmE3YWQ4NTcyZTgwNDMuLmEwN2IyNmQwMTVmMTA1YjEwNGY0ZjQwMGNhZGUyNWM3ZjZmN2M3
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMSw0ICsxLDQgQEAKLS8vIENvcHlyaWdo
dCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIENvcHly
aWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vCiAv
LyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTg4LDYgKzU4OCw3IEBAIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAogICAgIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuY3BwCiAgICAg
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5jcHAKICAgICBN
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKKyAgICBNb2R1bGVzL2FwcGxl
cGF5L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHAKICAgICBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRSZXF1ZXN0VmFsaWRhdG9yLm1tCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vz
c2lvbi5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGRhYjExMTQzN2JkNWMzNzk5ZWJmMGJhZDFhNDEyMTAxN2ZkZWYxOTcu
LjEwY2FlOTIzOWRhMjE3MzVlYTkyOTBhM2U3ODI5MTgzZjhiZDAxYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NDIsNiAr
Mjk0Miw5IEBACiAJCUEwRUUwREY2MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnUmVuZGVy
ZXJJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MEVFMERGMjE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oICovOyB9
OwogCQlBMEVFMERGNzE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjMxNDRG
ODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCAqLzsgfTsKIAkJQTBFRTBERjgx
NDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMEVFMERGNDE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1NoYWRlcnMuaCAqLzsgfTsKKwkJQTEwNEVDNUEyMjBBM0RFMDAwQ0JGNjdBIC8q
IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTEwNEVDNTUyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50
Q29udGFjdEZpZWxkcy5oICovOyB9OworCQlBMTA0RUM1RDIyMEEzRTRCMDBDQkY2N0EgLyogSlNN
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTEwNEVDNUIyMjBBM0U0MzAwQ0JGNjdBIC8qIEpTTW9ja1BheW1l
bnRDb250YWN0RmllbGRzLmNwcCAqLzsgfTsKKwkJQTEwNEVDNUUyMjBBM0U0RTAwQ0JGNjdBIC8q
IEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTA0RUM1QzIyMEEzRTQ0MDBDQkY2N0EgLyogSlNNb2NrUGF5
bWVudENvbnRhY3RGaWVsZHMuaCAqLzsgfTsKIAkJQTEwNEYyNDQxNEM3MUY3QTAwOUUyQzIzIC8q
IENhY2hlZFNWR0RvY3VtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMTA0RjI0MjE0QzcxRjdBMDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTBC
QjU4NTE0ODRFM0E3MDBCMkU4N0EgLyogUmVuZGVyU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwQkI1ODMxNDg0RTNBNzAwQjJFODdBIC8q
IFJlbmRlclNWR1JlY3QuaCAqLzsgfTsKIAkJQTEwQkI1OEIxNDg0RTNCMzAwQjJFODdBIC8qIFJl
bmRlclNWR1NoYXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTBCQjU4OTE0ODRFM0IzMDBCMkU4N0EgLyogUmVuZGVyU1ZHU2hhcGUuaCAqLzsgfTsK
QEAgLTExMTM5LDYgKzExMTQyLDExIEBACiAJCUEwRUUwREYyMTQ0RjgyNTUwMEY4MEIwRCAvKiBX
ZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkdMRGVidWdSZW5kZXJlckluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTBFRTBERjMxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMRGVidWdTaGFkZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTBFRTBERjQxNDRGODI1NTAwRjgwQjBEIC8qIFdl
YkdMRGVidWdTaGFkZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkdM
RGVidWdTaGFkZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzUzMjIw
QTAxNzQwMENCRjY3QSAvKiBQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTEwNEVDNTUyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFj
dEZpZWxkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwNEVDNTcyMjBBMzlCNDAwQ0JGNjdBIC8qIE1v
Y2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTW9ja1BheW1lbnRDb250YWN0RmllbGRz
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwNEVDNUIyMjBBM0U0MzAwQ0JG
NjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTEwNEVDNUMyMjBBM0U0NDAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0Rmll
bGRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMDRGMjQxMTRDNzFGN0EwMDlFMkMyMyAvKiBDYWNo
ZWRTVkdEb2N1bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
YWNoZWRTVkdEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMDRG
MjQyMTRDNzFGN0EwMDlFMkMyMyAvKiBDYWNoZWRTVkdEb2N1bWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMTBCQjU4MjE0ODRFM0E3MDBCMkU4N0EgLyogUmVuZGVyU1ZHUmVjdC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTVkdSZWN0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NzQ3LDYgKzE2NzU1LDcgQEAKIAkJ
CQkxQThBNjQzODFEMTlGQzUzMDBEMEUwMEYgLyogUGF5bWVudENvbnRhY3QuaCAqLywKIAkJCQkx
QTU4RTg2QjFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJ
CQkxQTU4RTg2QzFEMTlFNDJEMDBDMEVBNzMgLyogUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCisJ
CQkJQTEwNEVDNTMyMjBBMDE3NDAwQ0JGNjdBIC8qIFBheW1lbnRDb29yZGluYXRvckNsaWVudC5j
cHAgKi8sCiAJCQkJMUE1OEU4NjIxRDE5RDNCRjAwQzBFQTczIC8qIFBheW1lbnRDb29yZGluYXRv
ckNsaWVudC5oICovLAogCQkJCTdDRjkzMEU2MUUwMUY5QUQwMEJBRkZCRSAvKiBQYXltZW50SGVh
ZGVycy5oICovLAogCQkJCTFBRTk2QTg3MUQxQTBDRUIwMEI4Njc2OCAvKiBQYXltZW50TWVyY2hh
bnRTZXNzaW9uLmggKi8sCkBAIC0xNzg1Myw2ICsxNzg2Miw4IEBACiAJCQkJQTE0NkQzMUMxRjk5
QzlDMjAwRDI5MTk2IC8qIE1vY2tQYXltZW50QWRkcmVzcy5oICovLAogCQkJCUExNDZEMzFFMUY5
OUM5QzIwMEQyOTE5NiAvKiBNb2NrUGF5bWVudEFkZHJlc3MuaWRsICovLAogCQkJCUExNDZEMzI0
MUY5OUQ2OTgwMEQyOTE5NiAvKiBNb2NrUGF5bWVudENvbnRhY3QuaCAqLywKKwkJCQlBMTA0RUM1
NTIyMEEzOUI0MDBDQkY2N0EgLyogTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggKi8sCisJCQkJ
QTEwNEVDNTcyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwg
Ki8sCiAJCQkJQTFBRkVERTUxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXltZW50Q29vcmRpbmF0
b3IuY3BwICovLAogCQkJCUExQUZFREU0MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENv
b3JkaW5hdG9yLmggKi8sCiAJCQkJQTE0NkQzMTYxRjk5QjUzRDAwRDI5MTk2IC8qIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaWRsICovLApAQCAtMTc4OTQsNiArMTc5MDUsOCBAQAogCQkJCTJENkYz
RTkzMUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5oICovLAogCQkJCUExNDZE
MzIwMUY5OUNBM0UwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5jcHAgKi8sCiAJCQkJ
QTE0NkQzMUYxRjk5Q0EzRDAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggKi8sCisJ
CQkJQTEwNEVDNUIyMjBBM0U0MzAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRz
LmNwcCAqLywKKwkJCQlBMTA0RUM1QzIyMEEzRTQ0MDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENv
bnRhY3RGaWVsZHMuaCAqLywKIAkJCQlBMTQ2RDMxOTFGOTlCQ0JCMDBEMjkxOTYgLyogSlNNb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQlBMTQ2RDMxODFGOTlCQ0JBMDBEMjkxOTYg
LyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJQTFCQjg1QjQyMTU5QjM4OTAw
NjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgKi8sCkBAIC0yODI0OSw2ICsyODI2Miw3
IEBACiAJCQkJQTE5QUVBMjExQUFBODA4NjAwQjUyQjI1IC8qIEpTTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTM4RUM5MzQxRjk5QjlGNzAwNEQyMkE4IC8q
IEpTTW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyMzFGOTlEMEVG
MDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJCUEx
MDRFQzVFMjIwQTNFNEUwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTE0NkQzMUIxRjk5QkNGQjAwRDI5MTk2IC8qIEpTTW9ja1BheW1l
bnRDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFCQjg1QjkyMTU5QjNBRTAwNjdF
MDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDI3REE3MUUx
MzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yODI2NCw2ICsyODI3OCw3IEBACiAJCQkJQTE0QkIwQTAxRjk4MTNCODAwNjA1QTM1
IC8qIE1vY2tQYXltZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyMTFGOTlDQjFBMDBE
MjkxOTYgLyogTW9ja1BheW1lbnRBZGRyZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMy
NTFGOTlENjk4MDBEMjkxOTYgLyogTW9ja1BheW1lbnRDb250YWN0LmggaW4gSGVhZGVycyAqLywK
KwkJCQlBMTA0RUM1QTIyMEEzREUwMDBDQkY2N0EgLyogTW9ja1BheW1lbnRDb250YWN0RmllbGRz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUFGRURFNjFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFDQkVGNjQxRjlGMTEyOTAw
MjhERTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwNjE4
QzFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovLApAQCAtMzI4MjMsNiArMzI4MzgsNyBAQAogCQkJCUExOUFFQTIyMUFBQTgwOEEwMEI1MkIy
NSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ0MTUwREUxQzFGODY4QzAwMEEzQkEyIC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUExNDZEMzIyMUY5OUQwRUMwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRk
cmVzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBMTA0RUM1RDIyMEEzRTRCMDBDQkY2N0EgLyog
SlNNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0NkQz
MUExRjk5QkNGODAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMUJCODVCODIxNTlCM0E0MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVy
cm9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBK
U1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGI1ODMyMjE2OGZmNWFhNGRiMmM4YjNkNGNmZjg5
ZTUzYmUyOWM5NmEuLmZiMDJiYWY2NzU1NTkwODQ2ZmMwMjc5YTMzM2FjYTNjMWZkMDcwOTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xLDYgKzEsNiBAQAogLyoK
ICAqIENvcHlyaWdodCAoQykgMjAwNiBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3JnPgotICog
Q29weXJpZ2h0IChDKSAyMDA4LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtMzEyLDcgKzMxMiw2IEBAIGNs
YXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IGZpbmFsIDogcHVibGljIEluc3BlY3RvckNsaWVudCB7
CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAogY2xhc3MgRW1wdHlQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQgZmluYWwgOiBwdWJsaWMgUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50IHsKLSAgICBib29s
IHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICBP
cHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpIGZp
bmFsIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkg
ZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3Rp
dmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248dm9pZChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWwgeyBjYWxsT25NYWluVGhyZWFkKFtjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSB7IGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsgfSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5ODQ1MzYzZmEwMjlkOGI2NDFlMmE1
YTBhYjJhYjdlZjFmMDc4ODkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3N0cnVjdCBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMgOiBwdWJsaWMgQXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMgeworICAgIE1vY2tQYXltZW50Q29udGFjdEZp
ZWxkcygpID0gZGVmYXVsdDsKKyAgICBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMoY29uc3QgQXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMmIGNvbnRhY3RGaWVsZHMp
CisgICAgICAgIDogQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMg
eyBjb250YWN0RmllbGRzIH0KKyAgICB7CisgICAgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDkx
NzM0NzhhZjM5OTU3NzNlYjliZTE0MzBlYjY0MGFlYjIyYjFjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCkBAIC0w
LDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAor
ICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorXSBkaWN0aW9uYXJ5IE1vY2tQYXltZW50Q29udGFj
dEZpZWxkcyB7CisgICAgYm9vbGVhbiBwb3N0YWxBZGRyZXNzID0gZmFsc2U7CisgICAgYm9vbGVh
biBwaG9uZSA9IGZhbHNlOworICAgIGJvb2xlYW4gZW1haWwgPSBmYWxzZTsKKyAgICBib29sZWFu
IG5hbWUgPSBmYWxzZTsKKyAgICBib29sZWFuIHBob25ldGljTmFtZSA9IGZhbHNlOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmlu
ZGV4IDM4MjQxYjdkMGU2NDkxOTllZTM3YTNmYWY1ZDFlOGIwMTNmYThlYjAuLjY2MWYxODA1N2Qw
MTdhNWRiZGRkZTg5NThkMzE1ODcxOWI2ZjcwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUzLDIxICs1Myw2IEBAIE1v
Y2tQYXltZW50Q29vcmRpbmF0b3I6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3IoUGFnZSYgcGFnZSkK
ICAgICBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3Jrcy5hZGQoInZpc2EiKTsKIH0KIAotYm9vbCBN
b2NrUGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikK
LXsKLSAgICBBU1NFUlQodmVyc2lvbiA+IDApOwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VT
U0lPTl9WMykKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAyOwot
I2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WNCkKLSAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgY3VycmVudFZlcnNpb24gPSAzOwotI2Vsc2UKLSAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY3VycmVudFZlcnNpb24gPSA1OwotI2VuZGlmCi0KLSAgICByZXR1cm4gdmVyc2lvbiA8PSBj
dXJyZW50VmVyc2lvbjsKLX0KLQogT3B0aW9uYWw8U3RyaW5nPiBNb2NrUGF5bWVudENvb3JkaW5h
dG9yOjp2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmIHBheW1lbnROZXR3b3Jr
KQogewogICAgIGF1dG8gcmVzdWx0ID0gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MuZmluZChw
YXltZW50TmV0d29yayk7CkBAIC0xMTksNiArMTA0LDggQEAgYm9vbCBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yOjpzaG93UGF5bWVudFVJKGNvbnN0IFVSTCYsIGNvbnN0IFZlY3RvcjxVUkw+JiwgY29u
c3QKICAgICBpZiAocmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QoKS5wa0NvbnRhY3QoKSkKICAgICAg
ICAgbV9zaGlwcGluZ0FkZHJlc3MgPSByZXF1ZXN0LnNoaXBwaW5nQ29udGFjdCgpLnRvQXBwbGVQ
YXlQYXltZW50Q29udGFjdChyZXF1ZXN0LnZlcnNpb24oKSk7CiAgICAgbV9zaGlwcGluZ01ldGhv
ZHMgPSBjb252ZXJ0KHJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCkpOworICAgIG1fcmVxdWlyZWRC
aWxsaW5nQ29udGFjdEZpZWxkcyA9IHJlcXVlc3QucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxk
cygpOworICAgIG1fcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSByZXF1ZXN0LnJlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzKCk7CiAKICAgICBBU1NFUlQoc2hvd0NvdW50ID09IGhp
ZGVDb3VudCk7CiAgICAgKytzaG93Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5oCmluZGV4IDhkZTJhODcwZWQ0ZGE3ZmUxZDkwY2I2YzJh
NjEyMzc1ODNiNzYxMGYuLmE1NGMyMWE3MTFkNGMxZmE2ZDJlNTNhNmRiZDY5NTYyZDUyNzRmNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0uaCIKICNpbmNs
dWRlICJBcHBsZVBheVNoaXBwaW5nTWV0aG9kLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRy
ZXNzLmgiCisjaW5jbHVkZSAiTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmgiCiAjaW5jbHVkZSAi
TW9ja1BheW1lbnRFcnJvci5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvckNsaWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC01NiwxMiArNTcsMTMgQEAgcHVibGljOgog
ICAgIGNvbnN0IFZlY3RvcjxBcHBsZVBheUxpbmVJdGVtPiYgbGluZUl0ZW1zKCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lSXRlbXM7IH0KICAgICBjb25zdCBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4m
IGVycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3JzOyB9CiAgICAgY29uc3QgVmVjdG9yPEFw
cGxlUGF5U2hpcHBpbmdNZXRob2Q+JiBzaGlwcGluZ01ldGhvZHMoKSBjb25zdCB7IHJldHVybiBt
X3NoaXBwaW5nTWV0aG9kczsgfQorICAgIGNvbnN0IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyYg
cmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZWRC
aWxsaW5nQ29udGFjdEZpZWxkczsgfQorICAgIGNvbnN0IE1vY2tQYXltZW50Q29udGFjdEZpZWxk
cyYgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMoKSBjb25zdCB7IHJldHVybiBtX3JlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzOyB9CiAKICAgICB2b2lkIHJlZigpIGNvbnN0IHsgfQog
ICAgIHZvaWQgZGVyZWYoKSBjb25zdCB7IH0KIAogcHJpdmF0ZToKLSAgICBib29sIHN1cHBvcnRz
VmVyc2lvbih1bnNpZ25lZCkgZmluYWw7CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQ
YXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBmaW5hbDsKICAgICBib29sIGNhbk1ha2VQYXlt
ZW50cygpIGZpbmFsOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmKTsK
QEAgLTg5LDYgKzkxLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4g
bV9lcnJvcnM7CiAgICAgVmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+IG1fc2hpcHBpbmdN
ZXRob2RzOwogICAgIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1f
YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOworICAgIE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyBt
X3JlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7CisgICAgTW9ja1BheW1lbnRDb250YWN0Rmll
bGRzIG1fcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmlkbAppbmRleCA3MDJkNTk1M2E5YThkMjBmNzM4NTBlZWUxZjAyMjllYWViOTM4MmY2
Li43ODU1NDZkMmY0YTQ4ZmM5MDBmNmQ2ZWY3NWM1OTJkNDEwYzQ1ZTc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw0
ICszOSw2IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0
ZW0+IGxpbmVJdGVtczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8TW9ja1BheW1l
bnRFcnJvcj4gZXJyb3JzOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxBcHBsZVBh
eVNoaXBwaW5nTWV0aG9kPiBzaGlwcGluZ01ldGhvZHM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE1vY2tQYXltZW50Q29udGFjdEZpZWxkcyByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMgcmVxdWlyZWRT
aGlwcGluZ0NvbnRhY3RGaWVsZHM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCAzZmNj
Y2I0ODhmZDZjYzA1ZjAwZTEzNjhkNWIxZDFlMzE4YTNlYTIxLi5iMzc1YzhlNDIxZTllNjdiODRm
NjhmYmE0ZGM3ZjI2ZTY1OWRlYmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxLDIx
ICs1MSw2IEBAIFdlYlBheW1lbnRDb29yZGluYXRvcjo6fldlYlBheW1lbnRDb29yZGluYXRvcigp
CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKCp0aGlz
KTsKIH0KIAotYm9vbCBXZWJQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbih1bnNp
Z25lZCB2ZXJzaW9uKQotewotICAgIEFTU0VSVCh2ZXJzaW9uID4gMCk7Ci0KLSNpZiAhRU5BQkxF
KEFQUExFX1BBWV9TRVNTSU9OX1YzKQotICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50
VmVyc2lvbiA9IDI7Ci0jZWxpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y0KQotICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDM7Ci0jZWxzZQotICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDU7Ci0jZW5kaWYKLQotICAgIHJldHVy
biB2ZXJzaW9uIDw9IGN1cnJlbnRWZXJzaW9uOwotfQotCiBjb25zdCBXZWJQYXltZW50Q29vcmRp
bmF0b3I6OkF2YWlsYWJsZVBheW1lbnROZXR3b3Jrc1NldCYgV2ViUGF5bWVudENvb3JkaW5hdG9y
OjphdmFpbGFibGVQYXltZW50TmV0d29ya3MoKQogewogICAgIGlmIChtX2F2YWlsYWJsZVBheW1l
bnROZXR3b3JrcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBh
eS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBs
ZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCAyZmU1ZWM3Y2IyNGY0MjRmMzA2NTdh
ZjFhZTFiYzY2Zjg1NzA1ZmI1Li42NzEwNTQ0MGRkYzgyMzM2YjIxZWMyM2Y1NzVlZDIwNjZhM2Nl
YmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5
bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5
L1dlYlBheW1lbnRDb29yZGluYXRvci5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsNyArNTUsNiBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LgotICAgIGJv
b2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIG92ZXJyaWRlOwogICAgIE9wdGlv
bmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgb3ZlcnJp
ZGU7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZTsKICAgICB2b2lkIGNhbk1h
a2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaAppbmRleCAwOWRhMmVlOWVmZjRjMGE3YTdlYmYyMWUzMGI0NDA1NGVlYTZjMDQ5
Li5lYzBjMzRhNjk1OGJhYjQyMzQxZWNkMDUwYTIyN2Q5ODA4YmY1NTY5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0
b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDcgKzM2LDYgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICB+V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50KCk7CiAKLSAgICBib29s
IHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCkgb3ZlcnJpZGU7CiAgICAgT3B0aW9uYWw8U3RyaW5n
PiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICBi
b29sIGNhbk1ha2VQYXltZW50cygpIG92ZXJyaWRlOwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnRz
V2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgV1RGOjpGdW5jdGlv
bjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRp
bmF0b3JDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQubW0KaW5kZXggM2IzM2Y0OWYyMTkwY2E1YmNkY2Q5
NDE5MzBiMGNhNjNiZTZiMWJhNC4uYTU2NTQzNTQxZmY3Nzk1NGQ3NTA2YTNiNDZmZjAxYmU4MjI1
NjRmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4
LDExICszOCw2IEBAIFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6fldlYlBheW1lbnRDb29y
ZGluYXRvckNsaWVudCgpCiB7CiB9CiAKLWJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
OjpzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBP
cHRpb25hbDxTdHJpbmc+IFdlYlBheW1lbnRDb29yZGluYXRvckNsaWVudDo6dmFsaWRhdGVkUGF5
bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikKIHsKICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDc0OTA4YTdmYTA2NTY3YjViZDhlNWRjMmM2MmUyYWNhODAxNDU1YjQuLmMxNGM1MDAw
ZjQxYmVmMTM5MTM5NjY4OGIxYjJiNzVmNTQ1ZDc2MDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxOS0wMi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1Bh
eW1lbnQgUmVxdWVzdF0gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBwaG9uZXRp
YyBuYW1lIGZvciBzaGlwcGluZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMwNDU+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVx
dWVzdFNoaXBwaW5nQ29udGFjdC5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RT
aGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sOgorCiAyMDE5LTAy
LTA1ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IEZpeCBtb2RpZnktY3NzLXByb3BlcnR5LXJhY2UuaHRtbCB0ZXN0IGZhaWx1
cmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyZTg3YTNjYWE5ZDI1N2YyNWViOTc3MDYxNmU0YWVj
OWY3YmY3ZDBmLi44NjRlNDY4YjlhYTgyNzY3Y2I4MWRiNzZkOWU5MmQ2MjczNDM2ZmU1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVl
c3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTMsNiArMywxNiBAQCBUZXN0IEFwcGxlUGF5UmVxdWVzdC5zaGlw
cGluZ0NvbnRhY3QuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorVGVzdCBzZXR0aW5n
IHJlcXVpcmVkIGNvbnRhY3QgZmllbGRzIGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVs
ZHMubmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJl
cXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25l
IGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRC
aWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMubmFt
ZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzLmVtYWlsIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMg
dHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKKwogVGVzdCBzZXR0aW5nIGEg
ZGVmYXVsdCBzaGlwcGluZyBjb250YWN0IGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuCiBQQVNTIHBh
eW1lbnRSZXNwb25zZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFjdC5waG9uZU51bWJlciBpcyBleHBl
Y3RlZFBob25lTnVtYmVyCiBQQVNTIHBheW1lbnRSZXNwb25zZS5kZXRhaWxzLnNoaXBwaW5nQ29u
dGFjdC5lbWFpbEFkZHJlc3MgaXMgZXhwZWN0ZWRFbWFpbEFkZHJlc3MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5n
Q29udGFjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwKaW5kZXggMzNlMjA4OTM3
OWMyODIyOTQ5MDk0ZDM0OTM3MWNlYjA2NmI4NzU1Ny4uZTFiZDAzZmYzMDczODU0MjIyMGI3ODVk
YWYxZGU0MzI5ZWM5MDJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBp
bmdDb250YWN0Lmh0dHBzLmh0bWwKQEAgLTgyLDYgKzgyLDM5IEBAIGZ1bmN0aW9uIHZhbGlkUGF5
bWVudE9wdGlvbnMoKSB7CiB9CiAKIGFzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIGF3
YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgZGVidWcoIlRl
c3Qgc2V0dGluZyByZXF1aXJlZCBjb250YWN0IGZpZWxkcyBpbiBhIHZlcnNpb24gMiByZXF1ZXN0
LiIpOworCisgICAgICAgIHZhciBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKDIs
IHZhbGlkU2hpcHBpbmdDb250YWN0KCkpOworICAgICAgICBwYXltZW50TWV0aG9kLmRhdGEucmVx
dWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcyA9IFsiZW1haWwiLCAibmFtZSIsICJwaG9uZSIsICJw
b3N0YWxBZGRyZXNzIl07CisgICAgICAgIHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcyA9IFsiZW1haWwiXTsKKworICAgICAgICB2YXIgcGF5bWVudE9wdGlv
bnMgPSB2YWxpZFBheW1lbnRPcHRpb25zKCk7CisgICAgICAgIHBheW1lbnRPcHRpb25zLmVtYWls
ID0gZmFsc2U7CisKKyAgICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1
ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpLCBwYXltZW50T3B0aW9u
cyk7CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRS
ZXF1ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250
YWN0RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRz
LmVtYWlsIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5waG9uZSIs
ICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRkcmVzcyIs
ICJ0cnVlIik7CisKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMubmFtZSIsICJ0cnVl
Iik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLmVtYWlsIiwgInRydWUiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
cmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUiLCAidHJ1ZSIpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJl
ZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIiwgInRydWUiKTsKKworICAgICAg
ICAgICAgICAgIHJlc3BvbnNlLmNvbXBsZXRlKCJzdWNjZXNzIik7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICAgICAgfSk7CisgICAgfSk7
CisgICAgZGVidWcoIiIpOworCiAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVj
dCkgPT4gewogICAgICAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIGEgZGVmYXVsdCBzaGlwcGluZyBj
b250YWN0IGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFj
dFYzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCAwMGJmNjc0YWJiYTJkNGY2ZmEzNWNkYmE3ZGU4YWFmNTE5ZmNlYzIzLi4wZjg2NTM2Yzhi
OWMxNjZhOTA5YmY3YTFlZGQ1ZWUxMTc2MDE4YzliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0zLDYgKzMsMTggQEAgVGVzdCBBcHBsZVBheVJlcXVlc3Quc2hpcHBpbmdDb250YWN0LgogT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKK1Rlc3Qgc2V0dGluZyByZXF1aXJlZCBjb250YWN0
IGZpZWxkcyBpbiBhIHZlcnNpb24gMyByZXF1ZXN0LgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLm5hbWUgaXMgdHJ1ZQor
UEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250
YWN0RmllbGRzLnBob25ldGljTmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwgaXMgdHJ1ZQor
UEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250
YWN0RmllbGRzLnBob25lIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUK
K1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0Nv
bnRhY3RGaWVsZHMubmFtZSBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBob25ldGljTmFtZSBpcyB0cnVl
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzLmVtYWlsIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgdHJ1ZQorUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFj
dEZpZWxkcy5wb3N0YWxBZGRyZXNzIGlzIHRydWUKKwogVGVzdCBzZXR0aW5nIGEgZGVmYXVsdCBz
aGlwcGluZyBjb250YWN0IGluIGEgdmVyc2lvbiAzIHJlcXVlc3QuCiBQQVNTIHBheW1lbnRSZXNw
b25zZS5kZXRhaWxzLnNoaXBwaW5nQ29udGFjdC5waG9uZXRpY0dpdmVuTmFtZSBpcyBleHBlY3Rl
ZEdpdmVuTmFtZQogUEFTUyBwYXltZW50UmVzcG9uc2UuZGV0YWlscy5zaGlwcGluZ0NvbnRhY3Qu
cGhvbmV0aWNGYW1pbHlOYW1lIGlzIGV4cGVjdGVkRmFtaWx5TmFtZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdD
b250YWN0VjMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWwKaW5kZXggZGE3MTg0
Y2ZhNjIzODkyZWZmYzA5Nzg1OWMyNmUyNTE2NmIwZWU3NC4uZDRmYWI2M2FmMmU0MjQ5MmY1NmEy
MzA2MTYzNTYxNGVmMzE2YTI2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
c2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RT
aGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sCkBAIC04Miw2ICs4MiwzOCBAQCBmdW5jdGlvbiB2
YWxpZFBheW1lbnRPcHRpb25zKCkgewogfQogCiBhc3luYyBmdW5jdGlvbiBydW5UZXN0cygpIHsK
KyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGRl
YnVnKCJUZXN0IHNldHRpbmcgcmVxdWlyZWQgY29udGFjdCBmaWVsZHMgaW4gYSB2ZXJzaW9uIDMg
cmVxdWVzdC4iKTsKKworICAgICAgICB2YXIgcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1l
dGhvZCgzLCB2YWxpZFNoaXBwaW5nQ29udGFjdCgpKTsKKyAgICAgICAgcGF5bWVudE1ldGhvZC5k
YXRhLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSBbImVtYWlsIiwgIm5hbWUiLCAicGhv
bmV0aWNOYW1lIiwgInBob25lIiwgInBvc3RhbEFkZHJlc3MiXTsKKyAgICAgICAgcGF5bWVudE1l
dGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWyJwaG9uZXRpY05hbWUi
XTsKKworICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3Bh
eW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCksIHZhbGlkUGF5bWVudE9wdGlvbnMo
KSk7CisKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHBheW1lbnRS
ZXF1ZXN0LnNob3coKS50aGVuKChyZXNwb25zZSkgPT4geworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250
YWN0RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRz
LnBob25ldGljTmFtZSIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMu
ZW1haWwiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25lIiwg
InRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5wb3N0YWxBZGRyZXNzIiwg
InRydWUiKTsKKworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5uYW1lIiwgInRydWUi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1lIiwgInRydWUi
KTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMuZW1haWwiLCAidHJ1ZSIpOworICAg
ICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5y
ZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5waG9uZSIsICJ0cnVlIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MiLCAidHJ1ZSIpOworCisgICAgICAg
ICAgICAgICAgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3MiKTsKKyAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgICAgICB9KTsKKyAgICB9KTsK
KyAgICBkZWJ1ZygiIik7CisKICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0
KSA9PiB7CiAgICAgICAgIGRlYnVnKCJUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNv
bnRhY3QgaW4gYSB2ZXJzaW9uIDMgcmVxdWVzdC4iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3Qu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGYyNmM4Njg1MWEwM2QzYTJjZjQ5ZDc4ZGQ5MjY2NzRl
N2Y2ZTZmYjQuLmM5YzRiMGU2NmU0ZGRlOTc0YTE3OGZiMjQxM2I2NmY0N2JkMzhhNWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBs
ZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEyNCw2ICsxMjQsNDMg
QEAgUEFTUyBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnRE
ZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKQogU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBh
eW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLmJpbGxpbmdDb250YWN0ID0gNzsKIFBB
U1MgbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWls
cygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBJbnZhbGlkU3RhdGVF
cnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlkIHN0YXRlLi4KIAorVGVzdGluZyBBcHBs
ZVBheVJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMKKworU0VUVVA6IHBheW1l
bnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJyc7CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0
LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEg
c2VxdWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7
IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IG51bGw7
CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxp
ZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRo
IFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0
aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNo
aXBwaW5nQ29udGFjdEZpZWxkcyA9IDc7CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVl
c3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3co
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVu
Y2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1l
bnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IHsgfTsKK1BBU1Mg
cmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVu
dERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVy
cm9yOiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1l
dGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMg
PSBbJyddOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9k
XSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlz
ZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0g
dmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcyA9IFtudWxsXTsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVz
dChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygp
IHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorCitTRVRVUDog
cGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEu
cmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbdW5kZWZpbmVkXTsKK1BBU1MgcmVxdWVz
dCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFp
bHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBU
eXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgp
OyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbe31d
OworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFs
aWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0
aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQ
YXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFj
dEZpZWxkcyA9IFsnaW52YWxpZCddOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0
KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkg
cmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1Rlc3Rpbmcg
QXBwbGVQYXlSZXF1ZXN0LnNoaXBwaW5nQ29udGFjdAorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9
IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0
ID0gJyc7CitQQVNTIG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5
bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggSW52
YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4gYW4gaW52YWxpZCBzdGF0ZS4uCisKK1NF
VFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2Qu
ZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSA3OworUEFTUyBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3Rl
ZCBwcm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0IGlzIGluIGFuIGlu
dmFsaWQgc3RhdGUuLgorCiBUZXN0aW5nIEFwcGxlUGF5UmVxdWVzdC5hcHBsaWNhdGlvbkRhdGEK
IAogU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1l
dGhvZC5kYXRhLmFwcGxpY2F0aW9uRGF0YSA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJv
dyAnIkVycm9yIGluIHRvU3RyaW5nIic7IH0gfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy5odG1sCmlu
ZGV4IDk0ODI1MjMzYTEyMGQ0NDViYWQ1OGU4NGE1YmMwNWM4NThmNTYyOGIuLjllOTc5ZTkyYzE0
ZjQzZjQzZTVjM2NmNDg5YWZlNGUyN2QxNjg2OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMuaHRt
bApAQCAtMTQyLDYgKzE0MiwzNCBAQCBhc3luYyBmdW5jdGlvbiBnbygpIHsKICAgICBkZWJ1Zygi
IikKICAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBh
eW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLmJpbGxpbmdDb250YWN0ID0gNzsiLCAi
bmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygp
KTsgcmVxdWVzdC5zaG93KCkiKQogICAgIGRlYnVnKCIiKQorCisgICAgZGVidWcoIlRlc3Rpbmcg
QXBwbGVQYXlSZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzIikKKyAgICBkZWJ1
ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxp
ZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250
YWN0RmllbGRzID0gJyc7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRN
ZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVi
dWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFs
aWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyA9IG51bGw7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAg
ZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0g
dmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcyA9IDc7IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAg
ZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0g
dmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5n
Q29udGFjdEZpZWxkcyA9IHsgfTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5
bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAg
ICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2Qg
PSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBp
bmdDb250YWN0RmllbGRzID0gWycnXTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChb
cGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikK
KyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRo
b2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzID0gW251bGxdOyIsICJyZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1
ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93
KCkiKQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0IGxvZ0FuZFNob3VsZFJlamVjdCgicGF5bWVu
dE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbdW5kZWZpbmVkXTsiLCAicmVxdWVzdCA9IG5ldyBQ
YXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJl
cXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWpl
Y3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5k
YXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gW3t9XTsiLCAicmVxdWVzdCA9IG5l
dyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7
IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRS
ZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhv
ZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWydpbnZhbGlkJ107IiwgInJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnRE
ZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisKKyAgICBkZWJ1Zygi
VGVzdGluZyBBcHBsZVBheVJlcXVlc3Quc2hpcHBpbmdDb250YWN0IikKKyAgICBkZWJ1ZygiIikK
KyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnNoaXBwaW5nQ29udGFjdCA9ICcnOyIsICJu
ZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkp
OyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxk
UmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRo
b2QuZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSA3OyIsICJuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAg
ZGVidWcoIiIpCiAgICAgCiAgICAgZGVidWcoIlRlc3RpbmcgQXBwbGVQYXlSZXF1ZXN0LmFwcGxp
Y2F0aW9uRGF0YSIpCiAgICAgZGVidWcoIiIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361331</attachid>
            <date>2019-02-06 14:39:40 -0800</date>
            <delta_ts>2019-02-06 15:18:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-194311-20190206143939.patch</filename>
            <type>text/plain</type>
            <size>56881</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNkNjU4NGJmZGU3MTAz
ZTk3NmY1OGIxZmMwMjIzN2IzNWU1M2FhMC4uMjEwMmU1MjhjMzc2NTdlN2MxZTY5MzEwNjNiNmFj
MzRiZTFkODYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAyLTA1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBJ
dCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25ldGljIG5hbWUgZm9yIHNoaXBw
aW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0
byByZXF1aXJlIHRoYXQgYSBzaGlwcGluZyBjb250YWN0IGhhcyBhIHBob25ldGljIG5hbWUgaW4g
UGF5bWVudCBSZXF1ZXN0LgorICAgICAgICBUbyBhY2NvbXBsaXNoIHRoaXMsIG1vdmUgcmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgZnJvbSBBcHBsZVBheVBheW1lbnRSZXF1ZXN0IHRvCisg
ICAgICAgIEFwcGxlUGF5UmVxdWVzdEJhc2Ugc28gdGhhdCBpdCBjYW4gYmUgdXNlZCBhcyBwYXJ0
IG9mIGFuIEFwcGxlIFBheSBwYXltZW50IG1ldGhvZCBkYXRhLgorCisgICAgICAgIFNpbmNlIHJl
cXVpcmVkIHNoaXBwaW5nIGNvbnRhY3QgZmllbGRzIGNhbiBub3cgYmUgc3BlY2lmaWVkIGJvdGgg
aW4KKyAgICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgYW5kIFBheW1lbnRPcHRp
b25zLCB3ZSBtZXJnZSB0aGUgcmVxdWlyZWQgZmllbGRzIGZyb20gdGhlc2UKKyAgICAgICAgdHdv
IHNvdXJjZXMgc3VjaCB0aGF0LCBlLmcuLCBlbWFpbCBpcyByZXF1aXJlZCBpZiBpdCBpcyBzcGVj
aWZpZWQgaW4gZWl0aGVyIHBsYWNlLgorCisgICAgICAgIFNvIHRoYXQgY2xpZW50cyBjYW4gZGV0
ZWN0IHRoaXMgbmV3IGZlYXR1cmUsIHRoZSBBUEkgdmVyc2lvbiBudW1iZXIgaXMgYnVtcGVkIGZy
b20gNSB0byA2LgorCisgICAgICAgIEFkZGVkIHRlc3QgY2FzZXMgdG8gQXBwbGVQYXlSZXF1ZXN0
U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwgYW5kIEFwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29u
dGFjdFYzLmh0dHBzLmh0bWwuCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oOgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5pZGw6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnZlcnRBbmRWYWxpZGF0ZSk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVJlcXVlc3RCYXNlLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVJlcXVlc3RCYXNlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0QW5kVmFsaWRhdGUpOgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVy
c2lvbik6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGll
bnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bWVyZ2VQYXltZW50T3B0aW9u
cyk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaG93KToKKyAg
ICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAg
ICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1vY2tQYXltZW50Q29udGFjdEZpZWxkczo6TW9ja1BheW1lbnRDb250YWN0Rmll
bGRzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGw6IEFk
ZGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpzaG93UGF5bWVudFVJKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OnN1cHBvcnRzVmVyc2lvbik6
IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmg6Cisg
ICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbDoKKwogMjAxOS0wMi0w
NiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10g
TW92ZSBsaW5lIGxheW91dCBjb2RlIHRvIGEgZGVkaWNhdGVkIGZpbGUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTZi
YWI2OGFmZDU2OTU2NmI0NTYyNDA1MDdiZmQ5NmQ2ZTZlMzk3ZC4uODYwZThkNWJiN2RjMzhkMjU4
YTNmNWVlNGYzY2Q1ZmZiMDBjZTJmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0w
Mi0wNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQg
UmVxdWVzdF0gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHJlcXVpcmUgYSBwaG9uZXRpYyBuYW1l
IGZvciBzaGlwcGluZyBjb250YWN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk0MzExCisgICAgICAgIDxyZGFyOi8vNDY3MzMwNDU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
QXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0c1ZlcnNpb24pOiBEZWxldGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmg6CisKIDIwMTktMDIt
MDYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjI0MDc4NSk6IFtTT1VQXSBCcm9rZSBjb29raWUgcGVyc2lzdGVudCBzdG9y
YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNmVhMzRkMzZiNDk2ZmIyOTk2ZmNh
YjIyYzdkOGI5MzNlZjQ3MjdkMC4uNTM0ZDk3ZmFmZTYwOWJjZThhNTU3YjkxYTVjY2VmMGY2YTY2
OTQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5
LTAyLTA1ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVu
dCBSZXF1ZXN0XSBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gcmVxdWlyZSBhIHBob25ldGljIG5h
bWUgZm9yIHNoaXBwaW5nIGNvbnRhY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTQzMTEKKyAgICAgICAgPHJkYXI6Ly80NjczMzA0NT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViUGF5bWVu
dENvb3JkaW5hdG9yQ2xpZW50OjpzdXBwb3J0c1ZlcnNpb24pOiBEZWxldGVkLgorCiAyMDE5LTAy
LTA0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDR10g
RW5hYmxlIHNldEFkZGl0aW9uYWxTdXBwb3J0ZWRJbWFnZVR5cGVzIGZvciBXSzEKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGJjMzAwOWVmNTBjOTY0YjZlNjc4NGNlODJjMDc2NDlj
Zjc5NDVlZGQuLmNjNWFmYWE1MGJmY2I5OGQxNjAwN2ZkMGM4OWU0MTZhNWI2OGI1NzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTA1MCw2ICsxMDUwLDcgQEAgSlNfQklORElO
R19JRExTID0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrQ29udGVudEZpbHRlclNldHRp
bmdzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEFkZHJlc3MuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmlkbCBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9T
ZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oCmluZGV4IGU2ZmI2MDI2
YjNkYTEyOTA0ZDJjODc5YjQwNTJhZmRiNGE0NmI4N2YuLjNmMGI2NmYxNzkzN2FhNDFiNGVjNGZk
ODFkNzhhODBhMDg2N2FiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UmVxdWVzdC5oCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDAsOCArNDAsNiBAQCBz
dHJ1Y3QgQXBwbGVQYXlQYXltZW50UmVxdWVzdCA6IEFwcGxlUGF5UmVxdWVzdEJhc2UgewogCiAg
ICAgU3RyaW5nIGN1cnJlbmN5Q29kZTsKIAotICAgIE9wdGlvbmFsPFZlY3RvcjxBcHBsZVBheUNv
bnRhY3RGaWVsZD4+IHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOwotCiAgICAgU2hpcHBp
bmdUeXBlIHNoaXBwaW5nVHlwZSB7IFNoaXBwaW5nVHlwZTo6U2hpcHBpbmcgfTsKICAgICBPcHRp
b25hbDxWZWN0b3I8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4+IHNoaXBwaW5nTWV0aG9kczsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRSZXF1ZXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50UmVxdWVzdC5pZGwKaW5kZXggMGVjMTkyNzQzMGYwNWJiMWYwYjQxMTdjYzAzMDg5MDQ3
YjQwOTkyNy4uYjgyNmJlZTM3NDI0ZWVhZGExZGQ0ZDE2ZGE3NDg3OWFlY2EyZDBhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRSZXF1
ZXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudFJlcXVlc3QuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
Ni0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtNDAsOCArNDAsNiBAQAogCiAgICAgcmVxdWlyZWQgRE9NU3Ry
aW5nIGN1cnJlbmN5Q29kZTsKIAotICAgIHNlcXVlbmNlPEFwcGxlUGF5Q29udGFjdEZpZWxkPiBy
ZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsKLQogICAgIEFwcGxlUGF5U2hpcHBpbmdUeXBl
IHNoaXBwaW5nVHlwZSA9ICJzaGlwcGluZyI7CiAgICAgc2VxdWVuY2U8QXBwbGVQYXlTaGlwcGlu
Z01ldGhvZD4gc2hpcHBpbmdNZXRob2RzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuY3BwCmluZGV4IDgxN2Q5ZmFi
MTEzNjM0ZDY0ZWFiNWE3NTBkMGUwODU4YmM3ZjFmNjEuLmQ2MjZjMDRhMzJmNzVkNzU4Y2EwNTMz
ZGI0ZGU1YTBlY2E0ZDVmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc4LDYgKzc4LDEzIEBAIEV4
Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0PiBjb252ZXJ0QW5kVmFsaWRh
dGUodW5zaWduZWQgdmVyc2lvbiwKIAogICAgIGlmIChyZXF1ZXN0LmJpbGxpbmdDb250YWN0KQog
ICAgICAgICByZXN1bHQuc2V0QmlsbGluZ0NvbnRhY3QoUGF5bWVudENvbnRhY3Q6OmZyb21BcHBs
ZVBheVBheW1lbnRDb250YWN0KHZlcnNpb24sICpyZXF1ZXN0LmJpbGxpbmdDb250YWN0KSk7Cisg
ICAgCisgICAgaWYgKHJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMpIHsKKyAg
ICAgICAgYXV0byByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IGNvbnZlcnRBbmRWYWxp
ZGF0ZSh2ZXJzaW9uLCAqcmVxdWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyk7Cisg
ICAgICAgIGlmIChyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5oYXNFeGNlcHRpb24oKSkK
KyAgICAgICAgICAgIHJldHVybiByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5yZWxlYXNl
RXhjZXB0aW9uKCk7CisgICAgICAgIHJlc3VsdC5zZXRSZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcyhyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5yZWxlYXNlUmV0dXJuVmFsdWUoKSk7
CisgICAgfQogCiAgICAgaWYgKHJlcXVlc3Quc2hpcHBpbmdDb250YWN0KQogICAgICAgICByZXN1
bHQuc2V0U2hpcHBpbmdDb250YWN0KFBheW1lbnRDb250YWN0Ojpmcm9tQXBwbGVQYXlQYXltZW50
Q29udGFjdCh2ZXJzaW9uLCAqcmVxdWVzdC5zaGlwcGluZ0NvbnRhY3QpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmgKaW5k
ZXggMjA1MTE4OWRhOTdkMjc0M2RiM2I5ZDZjZTkxMWQwZWMxZWYwMDkxZi4uNjhjNjZiODY0MDU2
ZGYyOTZhYWU0ZDRjNmIxMTU3OGE4MjUxMjBmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmgKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Myw2ICs0Myw3
IEBAIHN0cnVjdCBBcHBsZVBheVJlcXVlc3RCYXNlIHsKICAgICBPcHRpb25hbDxWZWN0b3I8QXBw
bGVQYXlDb250YWN0RmllbGQ+PiByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOwogICAgIE9w
dGlvbmFsPEFwcGxlUGF5UGF5bWVudENvbnRhY3Q+IGJpbGxpbmdDb250YWN0OwogCisgICAgT3B0
aW9uYWw8VmVjdG9yPEFwcGxlUGF5Q29udGFjdEZpZWxkPj4gcmVxdWlyZWRTaGlwcGluZ0NvbnRh
Y3RGaWVsZHM7CiAgICAgT3B0aW9uYWw8QXBwbGVQYXlQYXltZW50Q29udGFjdD4gc2hpcHBpbmdD
b250YWN0OwogCiAgICAgU3RyaW5nIGFwcGxpY2F0aW9uRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdEJhc2UuaWRsCmluZGV4
IDhjMWJmMTk3NTYzNjY1MTA5MDU4YmQ0MDBjZTA0YjBmMTJmYjMzMWMuLjM0MmI0MDg2OTQ1ZThk
MDZkMWUwZDdmODNjMTk5NmQxZmJjOWM2ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RCYXNlLmlkbApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMz
LDcgQEAKICAgICBzZXF1ZW5jZTxBcHBsZVBheUNvbnRhY3RGaWVsZD4gcmVxdWlyZWRCaWxsaW5n
Q29udGFjdEZpZWxkczsKICAgICBBcHBsZVBheVBheW1lbnRDb250YWN0IGJpbGxpbmdDb250YWN0
OwogCisgICAgc2VxdWVuY2U8QXBwbGVQYXlDb250YWN0RmllbGQ+IHJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzOwogICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qgc2hpcHBpbmdDb250YWN0
OwogCiAgICAgRE9NU3RyaW5nIGFwcGxpY2F0aW9uRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcAppbmRleCAwNmMwZmFlNjdm
MzBlNjg3NjYwOGIxZjczZGFiYzk0YmM0ZTY2YTMzLi5jNjczZmNjYzFiMzA1NzBiN2ZhMmJhZGMy
YzAxYjBlM2ZkZDQ1MTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNS0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjI3LDEzICsyMjcsNiBAQCBzdGF0aWMgRXhj
ZXB0aW9uT3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q+IGNvbnZlcnRBbmRWYWxpZGF0
ZSh1bnNpZ25lZCB2ZQogICAgICAgICByZXR1cm4gbGluZUl0ZW1zLnJlbGVhc2VFeGNlcHRpb24o
KTsKICAgICByZXN1bHQuc2V0TGluZUl0ZW1zKGxpbmVJdGVtcy5yZWxlYXNlUmV0dXJuVmFsdWUo
KSk7CiAKLSAgICBpZiAocGF5bWVudFJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMpIHsKLSAgICAgICAgYXV0byByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IGNvbnZl
cnRBbmRWYWxpZGF0ZSh2ZXJzaW9uLCBXVEZNb3ZlKCpwYXltZW50UmVxdWVzdC5yZXF1aXJlZFNo
aXBwaW5nQ29udGFjdEZpZWxkcykpOwotICAgICAgICBpZiAocmVxdWlyZWRTaGlwcGluZ0NvbnRh
Y3RGaWVsZHMuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICByZXR1cm4gcmVxdWlyZWRTaGlw
cGluZ0NvbnRhY3RGaWVsZHMucmVsZWFzZUV4Y2VwdGlvbigpOwotICAgICAgICByZXN1bHQuc2V0
UmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMocmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMucmVsZWFzZVJldHVyblZhbHVlKCkpOwotICAgIH0KLQogICAgIHJlc3VsdC5zZXRTaGlwcGlu
Z1R5cGUocGF5bWVudFJlcXVlc3Quc2hpcHBpbmdUeXBlKTsKIAogICAgIGlmIChwYXltZW50UmVx
dWVzdC5zaGlwcGluZ01ldGhvZHMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNjY4MmYzZjlkNWFmM2E0OTIzNDZlZjVhNGE5OGRiNWUzZDBmY2M1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JD
bGllbnQuY3BwCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKKworI2lmIEVO
QUJMRShBUFBMRV9QQVkpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQ6OnN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKQoreworICAg
IEFTU0VSVCh2ZXJzaW9uID4gMCk7CisKKyNpZiAhRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Yz
KQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJyZW50VmVyc2lvbiA9IDI7CisjZWxpZiAh
RU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1Y0KQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj
dXJyZW50VmVyc2lvbiA9IDM7CisjZWxzZQorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjdXJy
ZW50VmVyc2lvbiA9IDY7CisjZW5kaWYKKworICAgIHJldHVybiB2ZXJzaW9uIDw9IGN1cnJlbnRW
ZXJzaW9uOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9Q
YXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggMTcwYTRmM2QzNWMwYzlmMWMyMjcx
YTY5MTA3OTFlNjc1MWM5Y2QwNS4uMzVhYzBkMTMxZGNmYzlkNTFjODZjNjg0ZjlhYTkyNjQ1YTIw
ZGVjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50
Q29vcmRpbmF0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvckNsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNS0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNS0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDUsNyArNDUsOCBAQCBzdHJ1Y3QgU2hp
cHBpbmdNZXRob2RVcGRhdGU7CiAKIGNsYXNzIFBheW1lbnRDb29yZGluYXRvckNsaWVudCB7CiBw
dWJsaWM6Ci0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9u
KSA9IDA7CisgICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbik7CisKICAg
ICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3Qg
U3RyaW5nJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmlu
ZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVu
Y3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IGVhNDRkNWY4ZTE0OTg3
NDY3ZDZmMmU5MTI4NDdiYzE4NWVkNzAwNDIuLmRhNzFjMmZhYzUyYTQwZjM5YzI4MzM4YTgxYmE5
NDc3NDY4NGE0NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5k
bGVyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAx
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTEyOSwxNiArMTI5LDYgQEAgc3RhdGljIEV4Y2VwdGlvbk9yPFZlY3RvcjxB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6TGluZUl0ZW0+PiBjb252ZXJ0QW5kVmEKICAg
ICByZXR1cm4geyBXVEZNb3ZlKHJlc3VsdCkgfTsKIH0KIAotc3RhdGljIEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0OjpDb250YWN0RmllbGRzIGNvbnZlcnQoY29uc3QgUGF5bWVudE9wdGlv
bnMmIG9wdGlvbnMpCi17Ci0gICAgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRh
Y3RGaWVsZHMgcmVzdWx0OwotICAgIHJlc3VsdC5lbWFpbCA9IG9wdGlvbnMucmVxdWVzdFBheWVy
RW1haWw7Ci0gICAgcmVzdWx0Lm5hbWUgPSBvcHRpb25zLnJlcXVlc3RQYXllck5hbWU7Ci0gICAg
cmVzdWx0LnBob25lID0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJQaG9uZTsKLSAgICByZXN1bHQucG9z
dGFsQWRkcmVzcyA9IG9wdGlvbnMucmVxdWVzdFNoaXBwaW5nOwotICAgIHJldHVybiByZXN1bHQ7
Ci19Ci0KIHN0YXRpYyBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdUeXBl
IGNvbnZlcnQoUGF5bWVudFNoaXBwaW5nVHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkg
ewpAQCAtMTgyLDYgKzE3MiwxOSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpjb252ZXJ0RGF0YShKU0M6OkpTVmFsdWUmJiBkYXRhKQogICAgIHJldHVybiB7IH07
CiB9CiAKK3N0YXRpYyB2b2lkIG1lcmdlUGF5bWVudE9wdGlvbnMoY29uc3QgUGF5bWVudE9wdGlv
bnMmIG9wdGlvbnMsIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiByZXF1ZXN0KQorewor
ICAgIGF1dG8gcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSByZXF1ZXN0LnJlcXVpcmVk
U2hpcHBpbmdDb250YWN0RmllbGRzKCk7CisgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMuZW1haWwgfD0gb3B0aW9ucy5yZXF1ZXN0UGF5ZXJFbWFpbDsKKyAgICByZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcy5uYW1lIHw9IG9wdGlvbnMucmVxdWVzdFBheWVyTmFtZTsKKyAgICBy
ZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5waG9uZSB8PSBvcHRpb25zLnJlcXVlc3RQYXll
clBob25lOworICAgIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3Mg
fD0gb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmc7CisgICAgcmVxdWVzdC5zZXRSZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcyhyZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyk7CisKKyAgICBp
ZiAob3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcpCisgICAgICAgIHJlcXVlc3Quc2V0U2hpcHBpbmdU
eXBlKGNvbnZlcnQob3B0aW9ucy5zaGlwcGluZ1R5cGUpKTsKK30KKwogRXhjZXB0aW9uT3I8dm9p
ZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hvdygpCiB7CiAgICAgYXV0byB2YWxpZGF0ZWRS
ZXF1ZXN0ID0gY29udmVydEFuZFZhbGlkYXRlKG1fYXBwbGVQYXlSZXF1ZXN0LT52ZXJzaW9uLCAq
bV9hcHBsZVBheVJlcXVlc3QsIHBheW1lbnRDb29yZGluYXRvcigpKTsKQEAgLTIwMyw5ICsyMDYs
NyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaG93KCkKICAg
ICAgICAgcmV0dXJuIGNvbnZlcnRlZExpbmVJdGVtcy5yZWxlYXNlRXhjZXB0aW9uKCk7CiAgICAg
cmVxdWVzdC5zZXRMaW5lSXRlbXMoY29udmVydGVkTGluZUl0ZW1zLnJlbGVhc2VSZXR1cm5WYWx1
ZSgpKTsKIAotICAgIHJlcXVlc3Quc2V0UmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMoY29u
dmVydChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygpKSk7Ci0gICAgaWYgKG1fcGF5
bWVudFJlcXVlc3QtPnBheW1lbnRPcHRpb25zKCkucmVxdWVzdFNoaXBwaW5nKQotICAgICAgICBy
ZXF1ZXN0LnNldFNoaXBwaW5nVHlwZShjb252ZXJ0KG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRP
cHRpb25zKCkuc2hpcHBpbmdUeXBlKSk7CisgICAgbWVyZ2VQYXltZW50T3B0aW9ucyhtX3BheW1l
bnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygpLCByZXF1ZXN0KTsKIAogICAgIGF1dG8gc2hpcHBp
bmdNZXRob2RzID0gY29tcHV0ZVNoaXBwaW5nTWV0aG9kcygpOwogICAgIGlmIChzaGlwcGluZ01l
dGhvZHMuaGFzRXhjZXB0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
Q29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCAwNzIyMjg4
ZGExYzg5MzVhNzhmN2UxOTIwOTZhN2FkODU3MmU4MDQzLi5hMDdiMjZkMDE1ZjEwNWIxMDRmNGY0
MDBjYWRlMjVjN2Y2ZjdjNzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29j
b2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEsNCArMSw0
IEBACi0vLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisvLyBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAvLwogLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU4OCw2ICs1ODgs
NyBAQCBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJDb2Nv
YS5jcHAKICAgICBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmNwcAogICAgIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50
RXZlbnQuY3BwCiAgICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisg
ICAgTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3JDbGllbnQuY3BwCiAgICAgTW9k
dWxlcy9hcHBsZXBheS9QYXltZW50UmVxdWVzdFZhbGlkYXRvci5tbQogICAgIE1vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFNlc3Npb24uY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZmIyMzA4Yjg2ZjQ5MjBmZWIzN2M2MjA2
ZmEwZWUyZmEzYTljMDY4Li40YjhhNjA3OTE3MTkwMWEyMGZmZTBiYTYxMjEzZmJhZTM1YzI0ZmRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0yOTQyLDYgKzI5NDIsOSBAQAogCQlBMEVFMERGNjE0NEY4MjU1MDBGODBCMEQgLyog
V2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTBFRTBERjIxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdSZW5k
ZXJlckluZm8uaCAqLzsgfTsKIAkJQTBFRTBERjcxNDRGODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVi
dWdTaGFkZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEEwRUUwREYzMTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5jcHAgKi87
IH07CiAJCUEwRUUwREY4MTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTBFRTBERjQxNDRG
ODI1NTAwRjgwQjBEIC8qIFdlYkdMRGVidWdTaGFkZXJzLmggKi87IH07CisJCUExMDRFQzVBMjIw
QTNERTAwMENCRjY3QSAvKiBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMDRFQzU1MjIwQTM5QjQwMENCRjY3
QSAvKiBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaCAqLzsgfTsKKwkJQTEwNEVDNUQyMjBBM0U0
QjAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMDRFQzVCMjIwQTNFNDMwMENCRjY3
QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgKi87IH07CisJCUExMDRFQzVFMjIw
QTNFNEUwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwNEVDNUMyMjBBM0U0NDAwQ0JG
NjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggKi87IH07CiAJCUExMDRGMjQ0MTRD
NzFGN0EwMDlFMkMyMyAvKiBDYWNoZWRTVkdEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwNEYyNDIxNEM3MUY3QTAwOUUyQzIzIC8qIENh
Y2hlZFNWR0RvY3VtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQTEwQkI1ODUxNDg0RTNBNzAwQjJFODdBIC8qIFJlbmRlclNWR1JlY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMEJCNTgzMTQ4
NEUzQTcwMEIyRTg3QSAvKiBSZW5kZXJTVkdSZWN0LmggKi87IH07CiAJCUExMEJCNThCMTQ4NEUz
QjMwMEIyRTg3QSAvKiBSZW5kZXJTVkdTaGFwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwQkI1ODkxNDg0RTNCMzAwQjJFODdBIC8qIFJlbmRlclNW
R1NoYXBlLmggKi87IH07CkBAIC0xMTEzOSw2ICsxMTE0MiwxMSBAQAogCQlBMEVFMERGMjE0NEY4
MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1JlbmRlcmVySW5mby5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJHTERlYnVnUmVuZGVyZXJJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUEwRUUwREYzMTQ0RjgyNTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hh
ZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJHTERlYnVn
U2hhZGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEwRUUwREY0MTQ0Rjgy
NTUwMEY4MEIwRCAvKiBXZWJHTERlYnVnU2hhZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJHTERlYnVnU2hhZGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBMTA0RUM1MzIyMEEwMTc0MDBDQkY2N0EgLyogUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBheW1lbnRDb29yZGluYXRvckNsaWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzU1MjIwQTM5QjQwMENCRjY3QSAvKiBN
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja1BheW1lbnRDb250
YWN0RmllbGRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzU3MjIwQTM5
QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tQYXlt
ZW50Q29udGFjdEZpZWxkcy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRF
QzVCMjIwQTNFNDMwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMDRFQzVDMjIwQTNFNDQwMENCRjY3QSAvKiBKU01vY2tQ
YXltZW50Q29udGFjdEZpZWxkcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01vY2tQYXltZW50Q29udGFj
dEZpZWxkcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTA0RjI0MTE0QzcxRjdB
MDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ2FjaGVkU1ZHRG9jdW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMTA0RjI0MjE0QzcxRjdBMDA5RTJDMjMgLyogQ2FjaGVkU1ZHRG9jdW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU1ZHRG9jdW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTEwQkI1ODIxNDg0RTNBNzAwQjJFODdBIC8q
IFJlbmRlclNWR1JlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyU1ZHUmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjc0Nyw2
ICsxNjc1NSw3IEBACiAJCQkJMUE4QTY0MzgxRDE5RkM1MzAwRDBFMDBGIC8qIFBheW1lbnRDb250
YWN0LmggKi8sCiAJCQkJMUE1OEU4NkIxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29yZGlu
YXRvci5jcHAgKi8sCiAJCQkJMUE1OEU4NkMxRDE5RTQyRDAwQzBFQTczIC8qIFBheW1lbnRDb29y
ZGluYXRvci5oICovLAorCQkJCUExMDRFQzUzMjIwQTAxNzQwMENCRjY3QSAvKiBQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuY3BwICovLAogCQkJCTFBNThFODYyMUQxOUQzQkYwMEMwRUE3MyAvKiBQ
YXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCAqLywKIAkJCQk3Q0Y5MzBFNjFFMDFGOUFEMDBCQUZG
QkUgLyogUGF5bWVudEhlYWRlcnMuaCAqLywKIAkJCQkxQUU5NkE4NzFEMUEwQ0VCMDBCODY3Njgg
LyogUGF5bWVudE1lcmNoYW50U2Vzc2lvbi5oICovLApAQCAtMTc4NTMsNiArMTc4NjIsOCBAQAog
CQkJCUExNDZEMzFDMUY5OUM5QzIwMEQyOTE5NiAvKiBNb2NrUGF5bWVudEFkZHJlc3MuaCAqLywK
IAkJCQlBMTQ2RDMxRTFGOTlDOUMyMDBEMjkxOTYgLyogTW9ja1BheW1lbnRBZGRyZXNzLmlkbCAq
LywKIAkJCQlBMTQ2RDMyNDFGOTlENjk4MDBEMjkxOTYgLyogTW9ja1BheW1lbnRDb250YWN0Lmgg
Ki8sCisJCQkJQTEwNEVDNTUyMjBBMzlCNDAwQ0JGNjdBIC8qIE1vY2tQYXltZW50Q29udGFjdEZp
ZWxkcy5oICovLAorCQkJCUExMDRFQzU3MjIwQTM5QjQwMENCRjY3QSAvKiBNb2NrUGF5bWVudENv
bnRhY3RGaWVsZHMuaWRsICovLAogCQkJCUExQUZFREU1MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQlBMUFGRURFNDFGOEJGRjZEMDA4NzAxM0Yg
LyogTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJCUExNDZEMzE2MUY5OUI1M0QwMEQy
OTE5NiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCAqLywKQEAgLTE3ODk0LDYgKzE3OTA1
LDggQEAKIAkJCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXku
aCAqLywKIAkJCQlBMTQ2RDMyMDFGOTlDQTNFMDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudEFkZHJl
c3MuY3BwICovLAogCQkJCUExNDZEMzFGMUY5OUNBM0QwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50
QWRkcmVzcy5oICovLAorCQkJCUExMDRFQzVCMjIwQTNFNDMwMENCRjY3QSAvKiBKU01vY2tQYXlt
ZW50Q29udGFjdEZpZWxkcy5jcHAgKi8sCisJCQkJQTEwNEVDNUMyMjBBM0U0NDAwQ0JGNjdBIC8q
IEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmggKi8sCiAJCQkJQTE0NkQzMTkxRjk5QkNCQjAw
RDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJQTE0NkQzMTgx
Rjk5QkNCQTAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJCUEx
QkI4NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLApAQCAt
MjgyNDksNiArMjgyNjIsNyBAQAogCQkJCUExOUFFQTIxMUFBQTgwODYwMEI1MkIyNSAvKiBKU01v
Y2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzOEVDOTM0MUY5
OUI5RjcwMDREMjJBOCAvKiBKU01vY2tQYWdlT3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTE0NkQzMjMxRjk5RDBFRjAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBMTA0RUM1RTIyMEEzRTRFMDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENv
bnRhY3RGaWVsZHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNDZEMzFCMUY5OUJDRkIwMEQyOTE5
NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUExQkI4
NUI5MjE1OUIzQUUwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQyN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaCBpbiBIZWFkZXJzICovLApAQCAtMjgyNjQsNiArMjgyNzgsNyBAQAogCQkJCUExNEJCMEEw
MUY5ODEzQjgwMDYwNUEzNSAvKiBNb2NrUGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0
NkQzMjExRjk5Q0IxQTAwRDI5MTk2IC8qIE1vY2tQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE0NkQzMjUxRjk5RDY5ODAwRDI5MTk2IC8qIE1vY2tQYXltZW50Q29udGFjdC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQTEwNEVDNUEyMjBBM0RFMDAwQ0JGNjdBIC8qIE1vY2tQYXlt
ZW50Q29udGFjdEZpZWxkcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFBRkVERTYxRjhCRkY2RDAw
ODcwMTNGIC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
Q0JFRjY0MUY5RjExMjkwMDI4REU3QyAvKiBNb2NrUGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE0MDYxOEMxRTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xp
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMyODIzLDYgKzMyODM4LDcgQEAKIAkJCQlBMTlBRUEy
MjFBQUE4MDhBMDBCNTJCMjUgLyogSlNNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTJENDE1MERFMUMxRjg2OEMwMDBBM0JBMiAvKiBKU01vY2tQYWdlT3Zl
cmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMyMjFGOTlEMEVDMDBEMjkxOTYgLyog
SlNNb2NrUGF5bWVudEFkZHJlc3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTEwNEVDNUQyMjBB
M0U0QjAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUExNDZEMzFBMUY5OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRp
bmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFCQjg1QjgyMTU5QjNBNDAwNjdFMDdEIC8q
IEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MjdEQTcxRDEzNzM1
REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBiNTgzMjIxNjhmZjVh
YTRkYjJjOGIzZDRjZmY4OWU1M2JlMjljOTZhLi5mYjAyYmFmNjc1NTU5MDg0NmZjMDI3OWEzMzNh
Y2EzYzFmZDA3MDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAt
MSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgRXJpYyBTZWlkZWwgPGVyaWNA
d2Via2l0Lm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTMx
Miw3ICszMTIsNiBAQCBjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCBmaW5hbCA6IHB1YmxpYyBJ
bnNwZWN0b3JDbGllbnQgewogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAKIGNsYXNzIEVtcHR5UGF5
bWVudENvb3JkaW5hdG9yQ2xpZW50IGZpbmFsIDogcHVibGljIFBheW1lbnRDb29yZGluYXRvckNs
aWVudCB7Ci0gICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpIGZpbmFsIHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgT3B0aW9uYWw8U3RyaW5nPiB2YWxpZGF0ZWRQYXltZW50TmV0d29yayhj
b25zdCBTdHJpbmcmKSBmaW5hbCB7IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KICAgICBib29sIGNh
bk1ha2VQYXltZW50cygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBjYW5NYWtl
UGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBXVEY6
OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsIHsgY2FsbE9u
TWFpblRocmVhZChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0geyBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7IH0pOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTg0NTM2
M2ZhMDI5ZDhiNjQxZTJhNWEwYWIyYWI3ZWYxZjA3ODg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaApAQCAtMCwwICsx
LDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQorCisjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTW9ja1BheW1lbnRDb250YWN0RmllbGRzIDogcHVibGlj
IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpDb250YWN0RmllbGRzIHsKKyAgICBNb2Nr
UGF5bWVudENvbnRhY3RGaWVsZHMoKSA9IGRlZmF1bHQ7CisgICAgTW9ja1BheW1lbnRDb250YWN0
RmllbGRzKGNvbnN0IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpDb250YWN0RmllbGRz
JiBjb250YWN0RmllbGRzKQorICAgICAgICA6IEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0
OjpDb250YWN0RmllbGRzIHsgY29udGFjdEZpZWxkcyB9CisgICAgeworICAgIH0KK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjQ5MTczNDc4YWYzOTk1NzczZWI5YmUxNDMwZWI2NDBhZWIyMmIxYwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0
RmllbGRzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUFQUExFX1BBWSwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGljdGlvbmFyeSBN
b2NrUGF5bWVudENvbnRhY3RGaWVsZHMgeworICAgIGJvb2xlYW4gcG9zdGFsQWRkcmVzcyA9IGZh
bHNlOworICAgIGJvb2xlYW4gcGhvbmUgPSBmYWxzZTsKKyAgICBib29sZWFuIGVtYWlsID0gZmFs
c2U7CisgICAgYm9vbGVhbiBuYW1lID0gZmFsc2U7CisgICAgYm9vbGVhbiBwaG9uZXRpY05hbWUg
PSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNwcAppbmRleCAzODI0MWI3ZDBlNjQ5MTk5ZWUzN2EzZmFmNWQxZThiMDEzZmE4
ZWIwLi42NjFmMTgwNTdkMDE3YTVkYmRkZGU4OTU4ZDMxNTg3MTliNmY3MDI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01
MywyMSArNTMsNiBAQCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpNb2NrUGF5bWVudENvb3JkaW5h
dG9yKFBhZ2UmIHBhZ2UpCiAgICAgbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MuYWRkKCJ2aXNh
Iik7CiB9CiAKLWJvb2wgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVu
c2lnbmVkIHZlcnNpb24pCi17Ci0gICAgQVNTRVJUKHZlcnNpb24gPiAwKTsKLQotI2lmICFFTkFC
TEUoQVBQTEVfUEFZX1NFU1NJT05fVjMpCi0gICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJl
bnRWZXJzaW9uID0gMjsKLSNlbGlmICFFTkFCTEUoQVBQTEVfUEFZX1NFU1NJT05fVjQpCi0gICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gMzsKLSNlbHNlCi0gICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGN1cnJlbnRWZXJzaW9uID0gNTsKLSNlbmRpZgotCi0gICAgcmV0
dXJuIHZlcnNpb24gPD0gY3VycmVudFZlcnNpb247Ci19Ci0KIE9wdGlvbmFsPFN0cmluZz4gTW9j
a1BheW1lbnRDb29yZGluYXRvcjo6dmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5n
JiBwYXltZW50TmV0d29yaykKIHsKICAgICBhdXRvIHJlc3VsdCA9IG1fYXZhaWxhYmxlUGF5bWVu
dE5ldHdvcmtzLmZpbmQocGF5bWVudE5ldHdvcmspOwpAQCAtMTE5LDYgKzEwNCw4IEBAIGJvb2wg
TW9ja1BheW1lbnRDb29yZGluYXRvcjo6c2hvd1BheW1lbnRVSShjb25zdCBVUkwmLCBjb25zdCBW
ZWN0b3I8VVJMPiYsIGNvbnN0CiAgICAgaWYgKHJlcXVlc3Quc2hpcHBpbmdDb250YWN0KCkucGtD
b250YWN0KCkpCiAgICAgICAgIG1fc2hpcHBpbmdBZGRyZXNzID0gcmVxdWVzdC5zaGlwcGluZ0Nv
bnRhY3QoKS50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QocmVxdWVzdC52ZXJzaW9uKCkpOwogICAg
IG1fc2hpcHBpbmdNZXRob2RzID0gY29udmVydChyZXF1ZXN0LnNoaXBwaW5nTWV0aG9kcygpKTsK
KyAgICBtX3JlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSByZXF1ZXN0LnJlcXVpcmVkQmls
bGluZ0NvbnRhY3RGaWVsZHMoKTsKKyAgICBtX3JlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
ID0gcmVxdWVzdC5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcygpOwogCiAgICAgQVNTRVJU
KHNob3dDb3VudCA9PSBoaWRlQ291bnQpOwogICAgICsrc2hvd0NvdW50OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAppbmRleCA4ZGUyYTg3MGVk
NGRhN2ZlMWQ5MGNiNmMyYTYxMjM3NTgzYjc2MTBmLi5hNTRjMjFhNzExZDRjMWZhNmQyZTUzYTZk
YmQ2OTU2MmQ1Mjc0ZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJBcHBsZVBheUxp
bmVJdGVtLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oIgogI2luY2x1ZGUg
Ik1vY2tQYXltZW50QWRkcmVzcy5oIgorI2luY2x1ZGUgIk1vY2tQYXltZW50Q29udGFjdEZpZWxk
cy5oIgogI2luY2x1ZGUgIk1vY2tQYXltZW50RXJyb3IuaCIKICNpbmNsdWRlICJQYXltZW50Q29v
cmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtNTYsMTIgKzU3
LDEzIEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4mIGxpbmVJ
dGVtcygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUl0ZW1zOyB9CiAgICAgY29uc3QgVmVjdG9yPE1v
Y2tQYXltZW50RXJyb3I+JiBlcnJvcnMoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yczsgfQogICAg
IGNvbnN0IFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiYgc2hpcHBpbmdNZXRob2RzKCkg
Y29uc3QgeyByZXR1cm4gbV9zaGlwcGluZ01ldGhvZHM7IH0KKyAgICBjb25zdCBNb2NrUGF5bWVu
dENvbnRhY3RGaWVsZHMmIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMoKSBjb25zdCB7IHJl
dHVybiBtX3JlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHM7IH0KKyAgICBjb25zdCBNb2NrUGF5
bWVudENvbnRhY3RGaWVsZHMmIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczsgfQogCiAgICAgdm9pZCBy
ZWYoKSBjb25zdCB7IH0KICAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9CiAKIHByaXZhdGU6Ci0g
ICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpIGZpbmFsOwogICAgIE9wdGlvbmFsPFN0
cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAg
Ym9vbCBjYW5NYWtlUGF5bWVudHMoKSBmaW5hbDsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50c1dp
dGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFdURjo6RnVuY3Rpb248
dm9pZChib29sKT4mJik7CkBAIC04OSw2ICs5MSw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE1v
Y2tQYXltZW50RXJyb3I+IG1fZXJyb3JzOwogICAgIFZlY3RvcjxBcHBsZVBheVNoaXBwaW5nTWV0
aG9kPiBtX3NoaXBwaW5nTWV0aG9kczsKICAgICBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5z
ZW5zaXRpdmVIYXNoPiBtX2F2YWlsYWJsZVBheW1lbnROZXR3b3JrczsKKyAgICBNb2NrUGF5bWVu
dENvbnRhY3RGaWVsZHMgbV9yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOworICAgIE1vY2tQ
YXltZW50Q29udGFjdEZpZWxkcyBtX3JlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKaW5kZXggNzAyZDU5NTNhOWE4ZDIwZjczODUwZWVl
MWYwMjI5ZWFlYjkzODJmNi4uNzg1NTQ2ZDJmNGE0OGZjOTAwZjZkNmVmNzVjNTkyZDQxMGM0NWU3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzksNCArMzksNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5j
ZTxBcHBsZVBheUxpbmVJdGVtPiBsaW5lSXRlbXM7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNl
cXVlbmNlPE1vY2tQYXltZW50RXJyb3I+IGVycm9yczsKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
c2VxdWVuY2U8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gc2hpcHBpbmdNZXRob2RzOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMgcmVxdWlyZWRCaWxsaW5n
Q29udGFjdEZpZWxkczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTW9ja1BheW1lbnRDb250YWN0
RmllbGRzIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5jcHAKaW5kZXggM2ZjY2NiNDg4ZmQ2Y2MwNWYwMGUxMzY4ZDViMWQxZTMxOGEzZWEyMS4uYjM3
NWM4ZTQyMWU5ZTY3Yjg0ZjY4ZmJhNGRjN2YyNmU2NTlkZWJjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRv
ci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC01MSwyMSArNTEsNiBAQCBXZWJQYXltZW50Q29vcmRpbmF0b3I6On5XZWJQYXlt
ZW50Q29vcmRpbmF0b3IoKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92ZU1lc3Nh
Z2VSZWNlaXZlcigqdGhpcyk7CiB9CiAKLWJvb2wgV2ViUGF5bWVudENvb3JkaW5hdG9yOjpzdXBw
b3J0c1ZlcnNpb24odW5zaWduZWQgdmVyc2lvbikKLXsKLSAgICBBU1NFUlQodmVyc2lvbiA+IDAp
OwotCi0jaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VTU0lPTl9WMykKLSAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAyOwotI2VsaWYgIUVOQUJMRShBUFBMRV9QQVlfU0VT
U0lPTl9WNCkKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSAzOwot
I2Vsc2UKLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY3VycmVudFZlcnNpb24gPSA1OwotI2Vu
ZGlmCi0KLSAgICByZXR1cm4gdmVyc2lvbiA8PSBjdXJyZW50VmVyc2lvbjsKLX0KLQogY29uc3Qg
V2ViUGF5bWVudENvb3JkaW5hdG9yOjpBdmFpbGFibGVQYXltZW50TmV0d29ya3NTZXQmIFdlYlBh
eW1lbnRDb29yZGluYXRvcjo6YXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzKCkKIHsKICAgICBpZiAo
bV9hdmFpbGFibGVQYXltZW50TmV0d29ya3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvQXBwbGVQYXkvV2ViUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggMmZlNWVj
N2NiMjRmNDI0ZjMwNjU3YWYxYWUxYmM2NmY4NTcwNWZiNS4uNjcxMDU0NDBkZGM4MjMzNmIyMWVj
MjNmNTc1ZWQyMDY2YTNjZWJjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0FwcGxlUGF5L1dlYlBheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9BcHBsZVBheS9XZWJQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDcgKzU1LDYg
QEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRv
ckNsaWVudC4KLSAgICBib29sIHN1cHBvcnRzVmVyc2lvbih1bnNpZ25lZCB2ZXJzaW9uKSBvdmVy
cmlkZTsKICAgICBPcHRpb25hbDxTdHJpbmc+IHZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0
IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1l
cmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9u
PHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGlu
YXRvckNsaWVudC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKaW5kZXggMDlkYTJlZTllZmY0YzBhN2E3ZWJmMjFl
MzBiNDQwNTRlZWE2YzA0OS4uZWMwYzM0YTY5NThiYWI0MjM0MWVjZDA1MGEyMjdkOTgwOGJmNTU2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
UGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgKQEAgLTEsNSArMSw1
IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw3ICsz
Niw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgfldlYlBheW1lbnRDb29yZGluYXRvckNsaWVu
dCgpOwogCi0gICAgYm9vbCBzdXBwb3J0c1ZlcnNpb24odW5zaWduZWQpIG92ZXJyaWRlOwogICAg
IE9wdGlvbmFsPFN0cmluZz4gdmFsaWRhdGVkUGF5bWVudE5ldHdvcmsoY29uc3QgU3RyaW5nJikg
b3ZlcnJpZGU7CiAgICAgYm9vbCBjYW5NYWtlUGF5bWVudHMoKSBvdmVycmlkZTsKICAgICB2b2lk
IGNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmlu
ZyYsIFdURjo6RnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50Lm1tCmluZGV4IDNiMzNm
NDlmMjE5MGNhNWJjZGNkOTQxOTMwYjBjYTYzYmU2YjFiYTQuLmE1NjU0MzU0MWZmNzc5NTRkNzUw
NmEzYjQ2ZmYwMWJlODIyNTY0ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBheW1lbnRDb29yZGluYXRvckNsaWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQYXltZW50Q29vcmRpbmF0b3JD
bGllbnQubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTgg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE1LTIw
MTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zOCwxMSArMzgsNiBAQCBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQ6
On5XZWJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQoKQogewogfQogCi1ib29sIFdlYlBheW1lbnRD
b29yZGluYXRvckNsaWVudDo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkKQotewotICAgIHJldHVy
biBmYWxzZTsKLX0KLQogT3B0aW9uYWw8U3RyaW5nPiBXZWJQYXltZW50Q29vcmRpbmF0b3JDbGll
bnQ6OnZhbGlkYXRlZFBheW1lbnROZXR3b3JrKGNvbnN0IFN0cmluZyYpCiB7CiAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YTUwNTQ3N2ZhZWJkOGM4MzcyN2IxNjk0MDU4MzI5NTIx
NmZhODRkLi4xZDQ3OTdmMTc1YmE3ZjUyNTY3ODU4NWY4MzU1NTlhYjcwZjhhOTY0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTktMDItMDUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFtQYXltZW50IFJlcXVlc3RdIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBy
ZXF1aXJlIGEgcGhvbmV0aWMgbmFtZSBmb3Igc2hpcHBpbmcgY29udGFjdHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDMxMQorICAgICAgICA8cmRh
cjovLzQ2NzMzMDQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGlu
Z0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRwcy5odG1sOgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFj
dFYzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRw
cy5odG1sOgorCiAyMDE5LTAyLTA2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBSRUxFQVNFX0FTU0VSVCghbV9kb2N1bWVudC5pc1Jlc29sdmluZ1RyZWVTdHls
ZSgpKSBpbiBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgYXQgV2ViQ29yZTogV2ViQ29yZTo6
U3R5bGVSZXNvbHZlcjo6flN0eWxlUmVzb2x2ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDJlODdh
M2NhYTlkMjU3ZjI1ZWI5NzcwNjE2ZTRhZWM5ZjdiZjdkMGYuLmIzNjQzMzIwYjM1NDU1NmVjY2Q1
YWE5OTU0N2RmNmViNDU0MzQyZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMyw2ICszLDE2IEBA
IFRlc3QgQXBwbGVQYXlSZXF1ZXN0LnNoaXBwaW5nQ29udGFjdC4KIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KIAogCitUZXN0IHNldHRpbmcgcmVxdWlyZWQgY29udGFjdCBmaWVsZHMgaW4gYSB2
ZXJzaW9uIDIgcmVxdWVzdC4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
cmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5uYW1lIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5lbWFp
bCBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJl
ZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25lIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRk
cmVzcyBpcyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVp
cmVkU2hpcHBpbmdDb250YWN0RmllbGRzLm5hbWUgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5lbWFpbCBp
cyB0cnVlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hp
cHBpbmdDb250YWN0RmllbGRzLnBob25lIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJl
c3MgaXMgdHJ1ZQorCiBUZXN0IHNldHRpbmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRhY3QgaW4g
YSB2ZXJzaW9uIDIgcmVxdWVzdC4KIFBBU1MgcGF5bWVudFJlc3BvbnNlLmRldGFpbHMuc2hpcHBp
bmdDb250YWN0LnBob25lTnVtYmVyIGlzIGV4cGVjdGVkUGhvbmVOdW1iZXIKIFBBU1MgcGF5bWVu
dFJlc3BvbnNlLmRldGFpbHMuc2hpcHBpbmdDb250YWN0LmVtYWlsQWRkcmVzcyBpcyBleHBlY3Rl
ZEVtYWlsQWRkcmVzcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRh
Y3QuaHR0cHMuaHRtbAppbmRleCAzM2UyMDg5Mzc5YzI4MjI5NDkwOTRkMzQ5MzcxY2ViMDY2Yjg3
NTU3Li45NTdiZjQzOTk4MmJmMTY4ZDM2NzAxOTdmYThiNWJlM2Y3ZjM4N2I0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlw
cGluZ0NvbnRhY3QuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3QuaHR0cHMuaHRtbApAQCAtODIs
NiArODIsNDAgQEAgZnVuY3Rpb24gdmFsaWRQYXltZW50T3B0aW9ucygpIHsKIH0KIAogYXN5bmMg
ZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgICAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIHJlcXVpcmVkIGNvbnRhY3Qg
ZmllbGRzIGluIGEgdmVyc2lvbiAyIHJlcXVlc3QuIik7CisKKyAgICAgICAgdmFyIHBheW1lbnRN
ZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoMiwgdmFsaWRTaGlwcGluZ0NvbnRhY3QoKSk7Cisg
ICAgICAgIHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzID0g
WyJuYW1lIiwgInBvc3RhbEFkZHJlc3MiXTsKKyAgICAgICAgcGF5bWVudE1ldGhvZC5kYXRhLnJl
cXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWyJlbWFpbCJdOworCisgICAgICAgIHZhciBw
YXltZW50T3B0aW9ucyA9IHZhbGlkUGF5bWVudE9wdGlvbnMoKTsKKyAgICAgICAgcGF5bWVudE9w
dGlvbnMucmVxdWVzdFBheWVyRW1haWwgPSBmYWxzZTsKKyAgICAgICAgcGF5bWVudE9wdGlvbnMu
cmVxdWVzdFBheWVyUGhvbmUgPSBmYWxzZTsKKworICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxz
KCksIHBheW1lbnRPcHRpb25zKTsKKworICAgICAgICBhY3RpdmF0ZVRoZW4oKCkgPT4geworICAg
ICAgICAgICAgcGF5bWVudFJlcXVlc3Quc2hvdygpLnRoZW4oKHJlc3BvbnNlKSA9PiB7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJl
cXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMubmFtZSIsICJ0cnVlIik7CisgICAgICAgICAgICAg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmls
bGluZ0NvbnRhY3RGaWVsZHMuZW1haWwiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgICAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29u
dGFjdEZpZWxkcy5waG9uZSIsICJmYWxzZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0Rmll
bGRzLnBvc3RhbEFkZHJlc3MiLCAidHJ1ZSIpOworCisgICAgICAgICAgICAgICAgc2hvdWxkQmUo
ImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0
RmllbGRzLm5hbWUiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5l
bWFpbCIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBob25lIiwg
ImZhbHNlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3Mi
LCAidHJ1ZSIpOworCisgICAgICAgICAgICAgICAgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nlc3Mi
KTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAgICAg
ICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOwor
ICAgICAgICB9KTsKKyAgICB9KTsKKyAgICBkZWJ1ZygiIik7CisKICAgICBhd2FpdCBuZXcgUHJv
bWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgIGRlYnVnKCJUZXN0IHNldHRpbmcg
YSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRhY3QgaW4gYSB2ZXJzaW9uIDIgcmVxdWVzdC4iKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlS
ZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDAwYmY2NzRhYmJhMmQ0ZjZmYTM1Y2RiYTdkZThhYWY1
MTlmY2VjMjMuLmY1NTcxMzcyODZiOGJlZjdmYmY3ZTU4ZmYwNzg4Yzc4N2I5ODUyMWUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVz
dFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTMsNiArMywxOCBAQCBUZXN0IEFwcGxlUGF5UmVxdWVzdC5z
aGlwcGluZ0NvbnRhY3QuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAorVGVzdCBzZXR0
aW5nIHJlcXVpcmVkIGNvbnRhY3QgZmllbGRzIGluIGEgdmVyc2lvbiAzIHJlcXVlc3QuCitQQVNT
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RG
aWVsZHMubmFtZSBpcyBmYWxzZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzLnBob25ldGljTmFtZSBpcyBmYWxzZQorUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLmVtYWlsIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmUgaXMgZmFsc2UKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxk
cy5wb3N0YWxBZGRyZXNzIGlzIGZhbHNlCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLm5hbWUgaXMgdHJ1ZQorUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZp
ZWxkcy5waG9uZXRpY05hbWUgaXMgdHJ1ZQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5lbWFpbCBpcyB0cnVlCitQQVNT
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0
RmllbGRzLnBob25lIGlzIHRydWUKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMucG9zdGFsQWRkcmVzcyBpcyB0cnVlCisK
IFRlc3Qgc2V0dGluZyBhIGRlZmF1bHQgc2hpcHBpbmcgY29udGFjdCBpbiBhIHZlcnNpb24gMyBy
ZXF1ZXN0LgogUEFTUyBwYXltZW50UmVzcG9uc2UuZGV0YWlscy5zaGlwcGluZ0NvbnRhY3QucGhv
bmV0aWNHaXZlbk5hbWUgaXMgZXhwZWN0ZWRHaXZlbk5hbWUKIFBBU1MgcGF5bWVudFJlc3BvbnNl
LmRldGFpbHMuc2hpcHBpbmdDb250YWN0LnBob25ldGljRmFtaWx5TmFtZSBpcyBleHBlY3RlZEZh
bWlseU5hbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RW
My5odHRwcy5odG1sCmluZGV4IGRhNzE4NGNmYTYyMzg5MmVmZmMwOTc4NTljMjZlMjUxNjZiMGVl
NzQuLjc4NTM1ZjE3NzVlN2MxZmQ2Nzc2ZGU4MjY3OWQwYzU4MTM1Mzk4MDcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBw
aW5nQ29udGFjdFYzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMuaHRtbApAQCAt
ODIsNiArODIsMzcgQEAgZnVuY3Rpb24gdmFsaWRQYXltZW50T3B0aW9ucygpIHsKIH0KIAogYXN5
bmMgZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4geworICAgICAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIHJlcXVpcmVkIGNvbnRh
Y3QgZmllbGRzIGluIGEgdmVyc2lvbiAzIHJlcXVlc3QuIik7CisKKyAgICAgICAgdmFyIHBheW1l
bnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoMywgdmFsaWRTaGlwcGluZ0NvbnRhY3QoKSk7
CisgICAgICAgIHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxk
cyA9IFsicGhvbmV0aWNOYW1lIl07CisKKyAgICAgICAgdmFyIHBheW1lbnRSZXF1ZXN0ID0gbmV3
IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpLCB2
YWxpZFBheW1lbnRPcHRpb25zKCkpOworCisgICAgICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICBwYXltZW50UmVxdWVzdC5zaG93KCkudGhlbigocmVzcG9uc2UpID0+IHsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
cmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcy5uYW1lIiwgImZhbHNlIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
QmlsbGluZ0NvbnRhY3RGaWVsZHMucGhvbmV0aWNOYW1lIiwgImZhbHNlIik7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnJlcXVpcmVk
QmlsbGluZ0NvbnRhY3RGaWVsZHMuZW1haWwiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRCaWxsaW5n
Q29udGFjdEZpZWxkcy5waG9uZSIsICJmYWxzZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZEJpbGxpbmdDb250YWN0
RmllbGRzLnBvc3RhbEFkZHJlc3MiLCAiZmFsc2UiKTsKKworICAgICAgICAgICAgICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcy5uYW1lIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMucGhvbmV0aWNOYW1lIiwgInRydWUiKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMuZW1haWwiLCAidHJ1ZSIpOworICAgICAgICAgICAgICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcy5waG9u
ZSIsICJ0cnVlIik7CisgICAgICAgICAgICAgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLnBvc3RhbEFkZHJl
c3MiLCAidHJ1ZSIpOworCisgICAgICAgICAgICAgICAgcmVzcG9uc2UuY29tcGxldGUoInN1Y2Nl
c3MiKTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKworICAg
ICAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgp
OworICAgICAgICB9KTsKKyAgICB9KTsKKyAgICBkZWJ1ZygiIik7CisKICAgICBhd2FpdCBuZXcg
UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CiAgICAgICAgIGRlYnVnKCJUZXN0IHNldHRp
bmcgYSBkZWZhdWx0IHNoaXBwaW5nIGNvbnRhY3QgaW4gYSB2ZXJzaW9uIDMgcmVxdWVzdC4iKTsK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvUGF5bWVu
dFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wv
YXBwbGVwYXkvUGF5bWVudFJlcXVlc3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGYyNmM4Njg1
MWEwM2QzYTJjZjQ5ZDc4ZGQ5MjY2NzRlN2Y2ZTZmYjQuLmM5YzRiMGU2NmU0ZGRlOTc0YTE3OGZi
MjQxM2I2NmY0N2JkMzhhNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L1BheW1lbnRSZXF1ZXN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXltZW50UmVxdWVzdC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEyNCw2ICsxMjQsNDMgQEAgUEFTUyBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKQogU0VUVVA6
IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRh
LmJpbGxpbmdDb250YWN0ID0gNzsKIFBBU1MgbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0
aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJv
bWlzZSAgd2l0aCBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlk
IHN0YXRlLi4KIAorVGVzdGluZyBBcHBsZVBheVJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRh
Y3RGaWVsZHMKKworU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsg
cGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJyc7CitQ
QVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBh
eW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5
cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9k
ID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBw
aW5nQ29udGFjdEZpZWxkcyA9IG51bGw7CitQQVNTIHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVl
c3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3co
KSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJvcjogVmFsdWUgaXMgbm90IGEgc2VxdWVu
Y2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1l
bnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IDc7CitQQVNTIHJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnRE
ZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIFR5cGVFcnJv
cjogVmFsdWUgaXMgbm90IGEgc2VxdWVuY2UuCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFs
aWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29u
dGFjdEZpZWxkcyA9IHsgfTsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5
bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVj
dGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVu
dE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWly
ZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbJyddOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1l
bnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVz
dC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisK
K1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRo
b2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IFtudWxsXTsKK1BBU1MgcmVx
dWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERl
dGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHByb21pc2UgIHdpdGggVHlwZUVycm9y
OiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhv
ZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBb
dW5kZWZpbmVkXTsKK1BBU1MgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1l
dGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJlamVjdGVkIHBy
b21pc2UgIHdpdGggVHlwZUVycm9yOiBUeXBlIGVycm9yLgorCitTRVRVUDogcGF5bWVudE1ldGhv
ZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlw
cGluZ0NvbnRhY3RGaWVsZHMgPSBbe31dOworUEFTUyByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1
ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93
KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCisKK1NFVFVQ
OiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0
YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IFsnaW52YWxpZCddOworUEFTUyByZXF1
ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50RGV0
YWlscygpKTsgcmVxdWVzdC5zaG93KCkgcmVqZWN0ZWQgcHJvbWlzZSAgd2l0aCBUeXBlRXJyb3I6
IFR5cGUgZXJyb3IuCisKK1Rlc3RpbmcgQXBwbGVQYXlSZXF1ZXN0LnNoaXBwaW5nQ29udGFjdAor
CitTRVRVUDogcGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBwYXltZW50TWV0
aG9kLmRhdGEuc2hpcHBpbmdDb250YWN0ID0gJyc7CitQQVNTIG5ldyBQYXltZW50UmVxdWVzdChb
cGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIHJl
amVjdGVkIHByb21pc2UgIHdpdGggSW52YWxpZFN0YXRlRXJyb3I6IFRoZSBvYmplY3QgaXMgaW4g
YW4gaW52YWxpZCBzdGF0ZS4uCisKK1NFVFVQOiBwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50
TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSA3OworUEFTUyBu
ZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkp
OyByZXF1ZXN0LnNob3coKSByZWplY3RlZCBwcm9taXNlICB3aXRoIEludmFsaWRTdGF0ZUVycm9y
OiBUaGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgorCiBUZXN0aW5nIEFwcGxlUGF5
UmVxdWVzdC5hcHBsaWNhdGlvbkRhdGEKIAogU0VUVVA6IHBheW1lbnRNZXRob2QgPSB2YWxpZFBh
eW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLmFwcGxpY2F0aW9uRGF0YSA9IHsgdG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyAnIkVycm9yIGluIHRvU3RyaW5nIic7IH0gfTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1
ZXN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9QYXlt
ZW50UmVxdWVzdC5odHRwcy5odG1sCmluZGV4IDk0ODI1MjMzYTEyMGQ0NDViYWQ1OGU4NGE1YmMw
NWM4NThmNTYyOGIuLjllOTc5ZTkyYzE0ZjQzZjQzZTVjM2NmNDg5YWZlNGUyN2QxNjg2OTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L1BheW1lbnRSZXF1
ZXN0Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
UGF5bWVudFJlcXVlc3QuaHR0cHMuaHRtbApAQCAtMTQyLDYgKzE0MiwzNCBAQCBhc3luYyBmdW5j
dGlvbiBnbygpIHsKICAgICBkZWJ1ZygiIikKICAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3Qo
InBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRh
LmJpbGxpbmdDb250YWN0ID0gNzsiLCAibmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9k
XSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQogICAgIGRlYnVnKCIi
KQorCisgICAgZGVidWcoIlRlc3RpbmcgQXBwbGVQYXlSZXF1ZXN0LnJlcXVpcmVkU2hpcHBpbmdD
b250YWN0RmllbGRzIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWpl
Y3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5k
YXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJyc7IiwgInJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyBy
ZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVq
ZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2Qu
ZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IG51bGw7IiwgInJlcXVlc3QgPSBu
ZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkp
OyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxk
UmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRo
b2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IDc7IiwgInJlcXVlc3QgPSBu
ZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkp
OyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCisgICAgYXdhaXQgbG9nQW5kU2hvdWxk
UmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXltZW50TWV0aG9kKCk7IHBheW1lbnRNZXRo
b2QuZGF0YS5yZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkcyA9IHsgfTsiLCAicmVxdWVzdCA9
IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFpbHMo
KSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91
bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1l
dGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gWycnXTsiLCAicmVxdWVz
dCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZhbGlkUGF5bWVudERldGFp
bHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRT
aG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVu
dE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gW251bGxdOyIsICJy
ZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFtwYXltZW50TWV0aG9kXSwgdmFsaWRQYXltZW50
RGV0YWlscygpKTsgcmVxdWVzdC5zaG93KCkiKQorICAgIGRlYnVnKCIiKQorICAgIGF3YWl0IGxv
Z0FuZFNob3VsZFJlamVjdCgicGF5bWVudE1ldGhvZCA9IHZhbGlkUGF5bWVudE1ldGhvZCgpOyBw
YXltZW50TWV0aG9kLmRhdGEucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHMgPSBbdW5kZWZp
bmVkXTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0sIHZh
bGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikKKyAg
ICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRN
ZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRz
ID0gW3t9XTsiLCAicmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdChbcGF5bWVudE1ldGhvZF0s
IHZhbGlkUGF5bWVudERldGFpbHMoKSk7IHJlcXVlc3Quc2hvdygpIikKKyAgICBkZWJ1ZygiIikK
KyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBheW1lbnRNZXRob2QgPSB2YWxpZFBheW1l
bnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnJlcXVpcmVkU2hpcHBpbmdDb250YWN0Rmll
bGRzID0gWydpbnZhbGlkJ107IiwgInJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1l
bnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAg
ZGVidWcoIiIpCisKKyAgICBkZWJ1ZygiVGVzdGluZyBBcHBsZVBheVJlcXVlc3Quc2hpcHBpbmdD
b250YWN0IikKKyAgICBkZWJ1ZygiIikKKyAgICBhd2FpdCBsb2dBbmRTaG91bGRSZWplY3QoInBh
eW1lbnRNZXRob2QgPSB2YWxpZFBheW1lbnRNZXRob2QoKTsgcGF5bWVudE1ldGhvZC5kYXRhLnNo
aXBwaW5nQ29udGFjdCA9ICcnOyIsICJuZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2Rd
LCB2YWxpZFBheW1lbnREZXRhaWxzKCkpOyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIp
CisgICAgYXdhaXQgbG9nQW5kU2hvdWxkUmVqZWN0KCJwYXltZW50TWV0aG9kID0gdmFsaWRQYXlt
ZW50TWV0aG9kKCk7IHBheW1lbnRNZXRob2QuZGF0YS5zaGlwcGluZ0NvbnRhY3QgPSA3OyIsICJu
ZXcgUGF5bWVudFJlcXVlc3QoW3BheW1lbnRNZXRob2RdLCB2YWxpZFBheW1lbnREZXRhaWxzKCkp
OyByZXF1ZXN0LnNob3coKSIpCisgICAgZGVidWcoIiIpCiAgICAgCiAgICAgZGVidWcoIlRlc3Rp
bmcgQXBwbGVQYXlSZXF1ZXN0LmFwcGxpY2F0aW9uRGF0YSIpCiAgICAgZGVidWcoIiIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>