<?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>177421</bug_id>
          
          <creation_ts>2017-09-24 18:48:34 -0700</creation_ts>
          <short_desc>JSC build should use unified sources for derived sources</short_desc>
          <delta_ts>2017-09-27 12:19:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1352106</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-24 18:48:34 -0700</bug_when>
    <thetext>JSC build should use unified sources for derived sources</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352109</commentid>
    <comment_count>1</comment_count>
      <attachid>321662</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-24 18:55:28 -0700</bug_when>
    <thetext>Created attachment 321662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352110</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-24 18:57:50 -0700</bug_when>
    <thetext>I chose to not have any special marking to describe derived sources in our Sources.txt files since it seemed unnecessary. I considered prefixing them with a * but I figured that would just be confusing. Having a general rule about putting a comment stating a source is derived would be sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352220</commentid>
    <comment_count>3</comment_count>
      <attachid>321662</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-25 09:35:10 -0700</bug_when>
    <thetext>Comment on attachment 321662
Patch

Looks like windows build is broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352644</commentid>
    <comment_count>4</comment_count>
      <attachid>321813</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-26 07:15:37 -0700</bug_when>
    <thetext>Created attachment 321813
Try without JSCBuiltins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352654</commentid>
    <comment_count>5</comment_count>
      <attachid>321816</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-26 08:16:33 -0700</bug_when>
    <thetext>Created attachment 321816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352658</commentid>
    <comment_count>6</comment_count>
      <attachid>321816</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2017-09-26 08:23:19 -0700</bug_when>
    <thetext>Comment on attachment 321816
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1352664</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-09-26 08:34:24 -0700</bug_when>
    <thetext>Committed r222499: &lt;http://trac.webkit.org/changeset/222499&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353285</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:19:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693016&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321662</attachid>
            <date>2017-09-24 18:55:28 -0700</date>
            <delta_ts>2017-09-26 07:15:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177421-20170924185525.patch</filename>
            <type>text/plain</type>
            <size>67159</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NGRlZWNhY2FkYjA1NzVkZjAxOTUyODhmMDUzMmE4Y2UwMDdhOTgxLi41NDUyOTZkZGI4Y2Y3M2E1
ZWRkZGZhYzYzZmE5NDBjZWQ4ZjU0MTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNy0wOS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBKU0MgYnVpbGQgc2hvdWxkIHVzZSB1bmlmaWVkIHNvdXJjZXMgZm9y
IGRlcml2ZWQgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBtYWtlIGEgY291cGxlIG9mIGNoYW5nZXM6CisKKyAgICAgICAg
MSkgTWFrZSBkZXJpdmVkIHNvdXJjZXMgYWRkZWQgdG8gcmVsZXZhbnQgYnVuZGxlcy4gSSBjaG9z
ZSBydW50aW1lIGZvciBKU0NCdWlsdGlucy5jcHAgc2luY2UgaXQganVzdCBkZWZpbmVzIGEgYnVu
Y2ggb2YgdGV4dCBhbnl3YXkuCisgICAgICAgIDIpIE1vdmUgdGhlIGRlcml2ZWQgbG9jYXRpb24g
b2Ygc29tZSBzb3VyY2VzIGJvdGggZm9yIGNsYXJpdHkgYW5kIGZvciBlYXNlIG9mIHVzZS4KKyAg
ICAgICAgMykgTWFrZSBhdXRvIGdlbmVyYXRvciBzY3JpcHRzIGFibGUgdG8gY3JlYXRlIGRpcmVj
dG9yaWVzIGlmIG5lZWRlZC4KKyAgICAgICAgNCkgTW92ZSBzb21lIHNjcmlwdHMgZnJvbSB0aGUg
dG9wIGxldmVsIG9mIHRoZSBKYXZhU2NyaXB0Q29yZSBkaXJlY3RvcnkgdG8gYSBtb3JlIGFwcHJv
cHJpYXRlIGRpcmVjdG9yeS4KKyAgICAgICAgNSkgTW92ZSBzb21lIENNYWtlIGdlbmVyYXRpb24g
Y29tbWFuZHMgYXJvdW5kIGZvciBjbGFyaXR5LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNjcmlwdHMvbGF6eXdyaXRl
ci5weToKKyAgICAgICAgKExhenlGaWxlV3JpdGVyLmNsb3NlKToKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHk6CisgICAgICAgIChJbmNyZW1lbnRhbEZpbGVXcml0ZXIuY2xvc2Up
OgorICAgICAgICAqIHlhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlczogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzLgorICAgICAgICAqIHlhcnIvZ2Vu
ZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZTogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlLgorCiAyMDE3LTA5LTIyICBL
ZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNwZWN1bGF0
aXZlbHkgY2hhbmdlIGl0ZXJhdGlvbiBwcm90b2NhbGwgdG8gdXNlIHRoZSBzYW1lIG5leHQgZnVu
Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFu
Z2VMb2cKaW5kZXggY2FjZDgyM2MzN2NkMjAxNGU4MDM3NTBiNzM5NGQ1ODFjMmQyMzJmMi4uZjA1
ZjBjOGFmZWI1N2UzYzMxOGJjN2RiNDQxZjk4NzMwM2VjMzJhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxNy0wOS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBKU0MgYnVpbGQgc2hvdWxkIHVzZSB1bmlmaWVkIHNvdXJjZXMgZm9yIGRlcml2ZWQg
c291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHNjcmlwdCBub3cgbmVlZHMgdG8gZGV0ZXJtaW5lIGlmIGEgZmlsZSBpcyBmcm9tIGEgZGVy
aXZlZAorICAgICAgICBzb3VyY2UuICBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9yIHRoZSBDTWFr
ZSBidWlsZCBzaW5jZSB0aGUKKyAgICAgICAgc2NyaXB0IG5lZWRzIHRvIHByb3ZpZGUgYSBsaXN0
IG9mIHRoZSBidW5kbGVkIHNvdXJjZSBmaWxlcy4gSWYgdGhlCisgICAgICAgIHNjcmlwdCBkb2Vz
IG5vdCBwcm92aWRlIHRoZSBmdWxsIHBhdGggZm9yIGRlcml2ZWQgc291cmNlcyB0aGVuCisgICAg
ICAgIENNYWtlIHdpbGwgYmUgdW5hYmxlIHRvIGZpbmQgdGhlbSBhbmQgdGhlIGJ1aWxkIHdpbGwg
ZmFpbC4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxl
cy5yYjoKKwogMjAxNy0wOS0yMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1ha2UgU3RyaW5nQnVpbGRlciBtb3ZhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTQyZDNmODgwMjBlZDhjNTYwMWZmZTQzY2IxMzU3
Yzg2ZDdmYTY0Yy4uMjhhYTEwYmZmMzg5NTJmNGM3YWIxYjFhNmVjYWRlNmQ1ZTE4NmJmZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDAsNiArNDAsOCBAQCBzZXQoSmF2
YVNjcmlwdENvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0ZPUldBUkRJTkdfSEVBREVS
U19ESVJ9IgogICAgICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9IgogICAg
ICIke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3RvciIKKyAgICAi
JHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9ydW50aW1lIgorICAgICIke0RF
UklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIiCiApCiAKIHNldChKYXZhU2Ny
aXB0Q29yZV9TWVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUwpAQCAtMzU2LDI0ICszNTgsMjAgQEAg
R0VORVJBVEVfSEFTSF9MVVQoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3BhcnNlci9LZXl3
b3Jkcy50YWJsZSAke0RFUklWRURfU08KIAogI0dFTkVSQVRPUjogIlJlZ0V4cEppdFRhYmxlcy5o
IjogdGFibGVzIHVzZWQgYnkgWWFycgogYWRkX2N1c3RvbV9jb21tYW5kKAotICAgIE9VVFBVVCAk
e0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1JlZ0V4cEppdFRhYmxlcy5oCi0g
ICAgTUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9jcmVhdGVfcmVn
ZXhfdGFibGVzCi0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX0NVUlJF
TlRfU09VUkNFX0RJUn0vY3JlYXRlX3JlZ2V4X3RhYmxlcyA+ICR7REVSSVZFRF9TT1VSQ0VTX0pB
VkFTQ1JJUFRDT1JFX0RJUn0vUmVnRXhwSml0VGFibGVzLmgKKyAgICBPVVRQVVQgJHtERVJJVkVE
X1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS95YXJyL1JlZ0V4cEppdFRhYmxlcy5oCisgICAg
TUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS95YXJyL2NyZWF0ZV9y
ZWdleF90YWJsZXMKKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VS
UkVOVF9TT1VSQ0VfRElSfS95YXJyL2NyZWF0ZV9yZWdleF90YWJsZXMgJHtERVJJVkVEX1NPVVJD
RVNfSkFWQVNDUklQVENPUkVfRElSfS95YXJyL1JlZ0V4cEppdFRhYmxlcy5oCiAgICAgVkVSQkFU
SU0pCi1saXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9IRUFERVJTICR7REVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUFRDT1JFX0RJUn0vUmVnRXhwSml0VGFibGVzLmgpCi1XRUJLSVRfQUREX1NPVVJD
RV9ERVBFTkRFTkNJRVMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3lhcnIvWWFyclBhdHRl
cm4uY3BwICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vUmVnRXhwSml0VGFi
bGVzLmgpCitsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9IRUFERVJTICR7REVSSVZFRF9TT1VS
Q0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyci9SZWdFeHBKaXRUYWJsZXMuaCkKK1dFQktJVF9B
RERfU09VUkNFX0RFUEVOREVOQ0lFUygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0veWFyci9Z
YXJyUGF0dGVybi5jcHAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS95YXJy
L1JlZ0V4cEppdFRhYmxlcy5oKQogCiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7
REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vWWFyckNhbm9uaWNhbGl6ZVVuaWNv
ZGUuY3BwCi0gICAgTUFJTl9ERVBFTkRFTkNZICR7SkFWQVNDUklQVENPUkVfRElSfS9nZW5lcmF0
ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pB
VkFTQ1JJUFRDT1JFX0RJUn0veWFyci9ZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAKKyAgICBN
QUlOX0RFUEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIvZ2VuZXJhdGVZYXJyQ2Fu
b25pY2FsaXplVW5pY29kZQogICAgIERFUEVORFMgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3VjZC9D
YXNlRm9sZGluZy50eHQKLSAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7SkFWQVND
UklQVENPUkVfRElSfS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICR7SkFWQVNDUklQ
VENPUkVfRElSfS91Y2QvQ2FzZUZvbGRpbmcudHh0ICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCisgICAgQ09NTUFORCAke1BZ
VEhPTl9FWEVDVVRBQkxFfSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyci9nZW5lcmF0ZVlhcnJD
YW5vbmljYWxpemVVbmljb2RlICR7SkFWQVNDUklQVENPUkVfRElSfS91Y2QvQ2FzZUZvbGRpbmcu
dHh0ICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyci9ZYXJyQ2Fub25p
Y2FsaXplVW5pY29kZS5jcHAKICAgICBWRVJCQVRJTSkKIAotbGlzdChBUFBFTkQgSmF2YVNjcmlw
dENvcmVfU09VUkNFUwotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0v
WWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCi0pCi0KICNHRU5FUkFUT1I6ICJLZXl3b3JkTG9v
a3VwLmgiOiBrZXl3b3JkIGRlY2lzaW9uIHRyZWUgdXNlZCBieSB0aGUgbGV4ZXIKIGFkZF9jdXN0
b21fY29tbWFuZCgKICAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVf
RElSfS9LZXl3b3JkTG9va3VwLmgKQEAgLTUyMiw2ICs1MjAsMjAgQEAgc2V0KEphdmFTY3JpcHRD
b3JlX0JVSUxUSU5TX1NPVVJDRVMKICkKIAogYWRkX2N1c3RvbV9jb21tYW5kKAorICAgIE9VVFBV
VCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L3J1bnRpbWUvSlNDQnVpbHRp
bnMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vcnVudGltZS9KU0NC
dWlsdGlucy5oCisgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19E
SVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLnB5CisgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3Jl
X0JVSUxUSU5TX1NPVVJDRVN9ICR7QlVJTFRJTlNfR0VORVJBVE9SX1NDUklQVFN9CisgICAgQ09N
TUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9n
ZW5lcmF0ZS1qcy1idWlsdGlucy5weSAtLWZyYW1ld29yayBKYXZhU2NyaXB0Q29yZSAtLW91dHB1
dC1kaXJlY3RvcnkgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9ydW50aW1l
IC0tY29tYmluZWQgJHtKYXZhU2NyaXB0Q29yZV9CVUlMVElOU19TT1VSQ0VTfQorICAgIFZFUkJB
VElNKQorCitsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9IRUFERVJTCisgICAgJHtERVJJVkVE
X1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmgKKyAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKKyAgICAke0RFUklWRURfU09V
UkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuaAorICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vcnVudGltZS9K
U0NCdWlsdGlucy5oCispCisKK2FkZF9jdXN0b21fY29tbWFuZCgKICAgICBPVVRQVVQgJHtERVJJ
VkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9BaXJPcGNvZGUuaCAke0RFUklWRURfU09V
UkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0Fpck9wY29kZUdlbmVyYXRlZC5oCiAgICAgTUFJTl9E
RVBFTkRFTkNZICR7SkFWQVNDUklQVENPUkVfRElSfS9iMy9haXIvQWlyT3Bjb2RlLm9wY29kZXMK
ICAgICBERVBFTkRTICR7SkFWQVNDUklQVENPUkVfRElSfS9iMy9haXIvb3Bjb2RlX2dlbmVyYXRv
ci5yYgpAQCAtNTM1LDI3ICs1NDcsNiBAQCBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9IRUFE
RVJTCiApCiAKIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJD
RVNfSkFWQVNDUklQVENPUkVfRElSfS9KU0NCdWlsdGlucy5jcHAgJHtERVJJVkVEX1NPVVJDRVNf
SkFWQVNDUklQVENPUkVfRElSfS9KU0NCdWlsdGlucy5oCi0gICAgTUFJTl9ERVBFTkRFTkNZICR7
SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLnB5Ci0gICAg
REVQRU5EUyAke0phdmFTY3JpcHRDb3JlX0JVSUxUSU5TX1NPVVJDRVN9ICR7QlVJTFRJTlNfR0VO
RVJBVE9SX1NDUklQVFN9Ci0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0phdmFT
Y3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucy5weSAtLWZyYW1ld29y
ayBKYXZhU2NyaXB0Q29yZSAtLW91dHB1dC1kaXJlY3RvcnkgJHtERVJJVkVEX1NPVVJDRVNfSkFW
QVNDUklQVENPUkVfRElSfSAtLWNvbWJpbmVkICR7SmF2YVNjcmlwdENvcmVfQlVJTFRJTlNfU09V
UkNFU30KLSAgICBWRVJCQVRJTSkKLQotbGlzdChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNF
UwotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL0lu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZB
U0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNw
cAotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL0lu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NS
SVBUQ09SRV9ESVJ9L0pTQ0J1aWx0aW5zLmNwcAotKQotCi1saXN0KEFQUEVORCBKYXZhU2NyaXB0
Q29yZV9IRUFERVJTCi0gICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9p
bnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKLSAgICAke0RFUklWRURfU09V
UkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzLmgKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3Bl
Y3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pB
VkFTQ1JJUFRDT1JFX0RJUn0vSlNDQnVpbHRpbnMuaAotKQotCi1hZGRfY3VzdG9tX2NvbW1hbmQo
CiAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vSW5qZWN0
ZWRTY3JpcHRTb3VyY2UuaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0lu
amVjdGVkU2NyaXB0U291cmNlLm1pbi5qcwogICAgIE1BSU5fREVQRU5ERU5DWSAke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCiAgICAgREVQRU5E
UyAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS94eGQucGwgJHtKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUn0vanNtaW4ucHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNzg5ZjYwY2Y1OTgyMzMyMzUxZTZmYTRhMzk5YjBhY2M4OTQzOTE5NC4uY2Ix
ODgxMmI0YTc3YThjYTAxNmUxMWY5YTUzZTczZGZjNWVhOTU0MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU2LDEzICs1NiwxMyBAQCBhbGwgOiBcCiAg
ICAgQ29tYmluZWREb21haW5zLmpzb24gXAogICAgIEluaXRCeXRlY29kZXMuYXNtIFwKICAgICBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKLSAgICBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJz
LmggXAotICAgIEpTQ0J1aWx0aW5zLmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmggXAorICAgIHJ1bnRpbWUvSlNDQnVpbHRpbnMuaCBcCiAgICAgTGV4ZXIu
bHV0LmggXAogICAgIEtleXdvcmRMb29rdXAuaCBcCiAgICAgUmVnRXhwSml0VGFibGVzLmggXAog
ICAgIEFpck9wY29kZS5oIFwKLSAgICBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAgXAorICAg
IHlhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwIFwKICAgICBXYXNtT3BzLmggXAogICAg
IFdhc21WYWxpZGF0ZUlubGluZXMuaCBcCiAgICAgV2FzbUIzSVJHZW5lcmF0b3JJbmxpbmVzLmgg
XApAQCAtMTMxLDggKzEzMSw4IEBAIEphdmFTY3JpcHRDb3JlX0JVSUxUSU5TX1NPVVJDRVMgPSBc
CiBKYXZhU2NyaXB0Q29yZV9CVUlMVElOU19ERVBFTkRFTkNJRVNfTElTVCA6ICQoSmF2YVNjcmlw
dENvcmVfU0NSSVBUU19ESVIpL1VwZGF0ZUNvbnRlbnRzLnB5IERlcml2ZWRTb3VyY2VzLm1ha2UK
IAkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvVXBkYXRlQ29udGVudHMu
cHkgJyQoSmF2YVNjcmlwdENvcmVfQlVJTFRJTlNfU09VUkNFUykgJChCVUlMVElOU19HRU5FUkFU
T1JfU0NSSVBUUyknICRACiAKLUpTQ0J1aWx0aW5zLmg6ICQoQlVJTFRJTlNfR0VORVJBVE9SX1ND
UklQVFMpICQoSmF2YVNjcmlwdENvcmVfQlVJTFRJTlNfU09VUkNFUykgSmF2YVNjcmlwdENvcmVf
QlVJTFRJTlNfREVQRU5ERU5DSUVTX0xJU1QKLQkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUikvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHkgLS1jb21iaW5lZCAtLW91dHB1dC1k
aXJlY3RvcnkgLiAtLWZyYW1ld29yayBKYXZhU2NyaXB0Q29yZSAkKEphdmFTY3JpcHRDb3JlX0JV
SUxUSU5TX1NPVVJDRVMpCitydW50aW1lL0pTQ0J1aWx0aW5zLmg6ICQoQlVJTFRJTlNfR0VORVJB
VE9SX1NDUklQVFMpICQoSmF2YVNjcmlwdENvcmVfQlVJTFRJTlNfU09VUkNFUykgSmF2YVNjcmlw
dENvcmVfQlVJTFRJTlNfREVQRU5ERU5DSUVTX0xJU1QKKwkkKFBZVEhPTikgJChKYXZhU2NyaXB0
Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGUtanMtYnVpbHRpbnMucHkgLS1jb21iaW5lZCAtLW91
dHB1dC1kaXJlY3RvcnkgcnVudGltZSAtLWZyYW1ld29yayBKYXZhU2NyaXB0Q29yZSAkKEphdmFT
Y3JpcHRDb3JlX0JVSUxUSU5TX1NPVVJDRVMpCiAKICMgUGVyZmVjdCBoYXNoIGxvb2t1cCB0YWJs
ZXMgZm9yIEphdmFTY3JpcHQgY2xhc3Nlcy4KIApAQCAtMTk2LDcgKzE5Niw3IEBAIExleGVyLmx1
dC5oOiBLZXl3b3Jkcy50YWJsZSAkKEphdmFTY3JpcHRDb3JlKS9jcmVhdGVfaGFzaF90YWJsZQog
CiAjIGNoYXJhY3RlciB0YWJsZXMgZm9yIFlhcnIKIAotUmVnRXhwSml0VGFibGVzLmg6IGNyZWF0
ZV9yZWdleF90YWJsZXMKK1JlZ0V4cEppdFRhYmxlcy5oOiB5YXJyL2NyZWF0ZV9yZWdleF90YWJs
ZXMKIAkkKFBZVEhPTikgJF4gPiAkQAogCiBLZXl3b3JkTG9va3VwLmg6IEtleXdvcmRMb29rdXBH
ZW5lcmF0b3IucHkgS2V5d29yZHMudGFibGUKQEAgLTI4MSw4ICsyODEsOCBAQCBDb21iaW5lZERv
bWFpbnMuanNvbiA6ICQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRlLWNvbWJp
bmVkLWluc3BlY3RvcgogCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9n
ZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAkKElOU1BFQ1RPUl9ET01BSU5TKSA+
IC4vQ29tYmluZWREb21haW5zLmpzb24KIAogIyBJbnNwZWN0b3IgQmFja2VuZCBEaXNwYXRjaGVy
cywgRnJvbnRlbmQgRGlzcGF0Y2hlcnMsIFR5cGUgQnVpbGRlcnMKLUluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnMuaCA6IENvbWJpbmVkRG9tYWlucy5qc29uICQoSU5TUEVDVE9SX0dFTkVSQVRP
Ul9TQ1JJUFRTKQotCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0
cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgLS1mcmFtZXdvcmsgSmF2
YVNjcmlwdENvcmUgLS1vdXRwdXREaXIgLiAuL0NvbWJpbmVkRG9tYWlucy5qc29uCitpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIDogQ29tYmluZWREb21haW5zLmpzb24g
JChJTlNQRUNUT1JfR0VORVJBVE9SX1NDUklQVFMpIGluc3BlY3RvcgorCSQoUFlUSE9OKSAkKEph
dmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkgLS1mcmFtZXdvcmsgSmF2YVNjcmlwdENvcmUgLS1vdXRwdXREaXIgaW5z
cGVjdG9yIC4vQ29tYmluZWREb21haW5zLmpzb24KIAogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCA6
IGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAkKEphdmFTY3JpcHRDb3JlX1NDUklQ
VFNfRElSKS9qc21pbi5weSAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS94eGQucGwKIAll
Y2hvICIvLyMgc291cmNlVVJMPV9fSW5qZWN0ZWRTY3JpcHRfSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMiID4gLi9JbmplY3RlZFNjcmlwdFNvdXJjZS5taW4uanMKQEAgLTI5Myw4ICsyOTMsOCBAQCBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5oIDogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICQoSmF2YVNjcmlwdENvcmVfU0NSSQogQWlyT3Bjb2RlLmg6ICQoSmF2YVNjcmlwdENvcmUpL2Iz
L2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiICQoSmF2YVNjcmlwdENvcmUpL2IzL2Fpci9BaXJPcGNv
ZGUub3Bjb2RlcwogCSQoUlVCWSkgJF4KIAotWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwOiAk
KEphdmFTY3JpcHRDb3JlKS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICQoSmF2YVNj
cmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50eHQKLQkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29y
ZSkvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAkKEphdmFTY3JpcHRDb3JlKS91Y2Qv
Q2FzZUZvbGRpbmcudHh0IC4vWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCit5YXJyL1lhcnJD
YW5vbmljYWxpemVVbmljb2RlLmNwcDogJChKYXZhU2NyaXB0Q29yZSkveWFyci9nZW5lcmF0ZVlh
cnJDYW5vbmljYWxpemVVbmljb2RlICQoSmF2YVNjcmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50
eHQKKwkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZSkveWFyci9nZW5lcmF0ZVlhcnJDYW5vbmlj
YWxpemVVbmljb2RlICQoSmF2YVNjcmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50eHQgLi95YXJy
L1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAogCiBXYXNtT3BzLmg6ICQoSmF2YVNjcmlwdENv
cmUpL3dhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5ICQoSmF2YVNjcmlwdENvcmUpL3dhc20v
Z2VuZXJhdGVXYXNtLnB5ICQoSmF2YVNjcmlwdENvcmUpL3dhc20vd2FzbS5qc29uCiAJJChQWVRI
T04pICQoSmF2YVNjcmlwdENvcmUpL3dhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5ICQoSmF2
YVNjcmlwdENvcmUpL3dhc20vd2FzbS5qc29uIC4vV2FzbU9wcy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDU3NjJmNjhkZjhkNmI0ODNhMDEwN2ZlMzhlODc1YzExZjMzYTkwMTIu
LjMyNmRmZjJiZTZhMGU0ZjcxOGE5M2M0OTk1ZDk2OWNkNGMwNzE4OWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC04MzYsNiArODM2LDcgQEAKIAkJNTM0RTAzNTgxRTUzQkYyRjAw
MjEzRjY0IC8qIEdldHRlclNldHRlckFjY2Vzc0Nhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNEUwMzU3MUU1M0JGMkYwMDIxM0Y2NCAvKiBHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlLmggKi87IH07CiAJCTUzNTI5QTRDMUM0NTdCNzUwMDBCNDlDNiAv
KiBBUElVdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTM1MjlBNEIxQzQ1N0I3NTAwMEI0OUM2IC8qIEFQSVV0aWxzLmggKi87IH07CiAJCTUzNTU1
NzE0MUQ5RDlFQTUwMDZENTgzQiAvKiBXYXNtTWVtb3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzU1NTcxMzFEOUQ5RUE1MDA2RDU4M0IgLyogV2Fz
bU1lbW9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTUzNUMyNDYxMUY3ODkyOEUwMDZFQzQwRSAvKiBjcmVhdGVfcmVnZXhfdGFibGVzIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcxOEY4MjExMTc4RUI0
QjAwMjQ2NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi87IH07CiAJCTUzNkIzMTBDMUY3MUM1
OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkIzMDg3MUY3MUM1MzgwMDM3RkMzMyAvKiBVbmlm
aWVkU291cmNlMTE5LmNwcCAqLzsgfTsKIAkJNTM2QjMxMEQxRjcxQzU5OTAwMzdGQzMzIC8qIFVu
aWZpZWRTb3VyY2UxMjUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTM2QjMwODgxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjUuY3Bw
ICovOyB9OwogCQk1MzZCMzEwRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzZCMzA4
OTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMS5jcHAgKi87IH07CkBAIC05ODUs
MTEgKzk4Niw2IEBACiAJCTUzRTc3N0U0MUU5MkUyNjUwMDdDQkVDNCAvKiBXYXNtTW9kdWxlSW5m
b3JtYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUzRTc3N0UyMUU5MkUyNjUwMDdDQkVDNCAvKiBXYXNtTW9kdWxlSW5mb3JtYXRpb24uaCAqLzsg
fTsKIAkJNTNFOUUwQUMxRUFFODNERjAwRkVFMjUxIC8qIFdhc21NYWNoaW5lVGhyZWFkcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNFOUUwQUExRUFF
ODNERTAwRkVFMjUxIC8qIFdhc21NYWNoaW5lVGhyZWFkcy5oICovOyB9OwogCQk1M0U5RTBBRjFF
QUVDNDU3MDBGRUUyNTEgLyogV2FzbVRpZXJVcENvdW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0U5RTBBRTFFQUVDNDU3MDBGRUUyNTEgLyogV2Fz
bVRpZXJVcENvdW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJNTNGMUI1NDIxRjZBMTRBNTAwRTJEMDQzIC8qIEluc3BlY3RvckZyb250ZW5kRGlz
cGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cnMuY3BwICovOyB9OwotCQk1M0YxQjU0MzFGNkExNEFDMDBFMkQwNDMgLyogSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVj
dHMuY3BwICovOyB9OwotCQk1M0YxQjU0NDFGNkExNEJDMDBFMkQwNDMgLyogSlNDQnVpbHRpbnMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODAx
QTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0aW5zLmNwcCAqLzsgfTsKLQkJNTNGMUI1NDUx
RjZBMTREMDAwRTJEMDQzIC8qIFlhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1QTk0NjE0MUM4RTlGNkYwMEE3
MjA5QSAvKiBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAgKi87IH07Ci0JCTUzRjFCNTQ4MUY2
QTE1NzcwMEUyRDA0MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODExODU2ODMxNzAw
MkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi87IH07CiAJCTUzRjQw
RTg1MUQ1OEY5NzcwMDk5QTFCNiAvKiBXYXNtU2VjdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRjQwRTg0MUQ1OEY5NzcwMDk5QTFCNiAvKiBX
YXNtU2VjdGlvbnMuaCAqLzsgfTsKIAkJNTNGNDBFOEIxRDU5MDFCQjAwOTlBMUI2IC8qIFdhc21G
dW5jdGlvblBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTNGNDBFOEExRDU5MDFCQjAwOTlBMUI2IC8qIFdhc21GdW5jdGlvblBhcnNlci5oICov
OyB9OwogCQk1M0Y0MEU4RDFENTkwMUYyMDA5OUExQjYgLyogV2FzbVBhcnNlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGNDBFOEMxRDU5MDFGMjAw
OTlBMUI2IC8qIFdhc21QYXJzZXIuaCAqLzsgfTsKQEAgLTM0MTUsNyArMzQxMSw3IEBACiAJCTY1
OEQzQTU1MTk2MzgyNjgwMDNDNDVENiAvKiBWTUVudHJ5UmVjb3JkLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBWTUVudHJ5UmVjb3JkLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcub2JqY3BwOyB9OwogCQk2NTk4N0YyQzE2N0ZFODRCMDAzQzJGOEQgLyogREZHT1NS
RXhpdENvbXBpbGF0aW9uSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
RkdPU1JFeGl0Q29tcGlsYXRpb25JbmZvLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGF0
aW9uSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTk4N0YyRjE2ODI4QTdF
MDAzQzJGOEQgLyogVW51c2VkUG9pbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVbnVzZWRQb2ludGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTY1QTk0
NjEzMUM4RTlGMjAwMEE3MjA5QSAvKiBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVZYXJyQ2Fub25pY2Fs
aXplVW5pY29kZTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVBOTQ2MTMxQzhFOUYy
MDAwQTcyMDlBIC8qIGdlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0LnNjcmlwdC5weXRob247IG5hbWUgPSBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2Rl
OyBwYXRoID0geWFyci9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2NUE5NDYxNDFDOEU5RjZGMDBBNzIwOUEgLyogWWFyckNhbm9u
aWNhbGl6ZVVuaWNvZGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
WWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2NUI4MzkyQzFCQUNBOTJBMDA0NEU4MjQgLyogQ2FjaGVkUmVjb3ZlcnkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkUmVjb3ZlcnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjVCODM5MkQxQkFDQTlEMzAwNDRFODI0IC8qIENhY2hlZFJlY292ZXJ5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlY292ZXJ5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5NTksNyArMzk1NSw3IEBACiAJ
CUE3MDlGMkYxMTdBMEFDMkEwMDUxMkU5OCAvKiBDb21tb25TbG93UGF0aHMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tbW9uU2xvd1BhdGhzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcxMjM2RTQxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9w
Y29kZXMzMl82NC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRP
cGNvZGVzMzJfNjQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzE4RjYxQTEx
NzU0QTIxMDAyNDY1QTcgLyogUmVnRXhwSml0VGFibGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlZ0V4cEppdFRhYmxlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlBNzE4RjgyMTExNzhFQjRCMDAyNDY1QTcgLyogY3JlYXRlX3JlZ2V4X3RhYmxlcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBmaWxlRW5jb2RpbmcgPSA0OyBwYXRoID0gY3JlYXRlX3JlZ2V4X3RhYmxlczsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2NUE3IC8qIGNy
ZWF0ZV9yZWdleF90YWJsZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRG
aWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGNy
ZWF0ZV9yZWdleF90YWJsZXM7IHBhdGggPSB5YXJyL2NyZWF0ZV9yZWdleF90YWJsZXM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NU
ZXN0UnVubmVyVXRpbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNDVGVzdFJ1bm5lclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcy
MDI4QjUxNzk3NjAxRTAwOTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NUZXN0UnVubmVyVXRpbHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQTcyMDI4QjkxNzk3NjAzRDAwOTgwMjhDIC8qIEpTRnVuY3Rpb25J
bmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25Jbmxp
bmVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njk1LDExICs0NjkxLDkgQEAK
IAkJMDg2N0Q2OTFGRTg0MDI4RkMwMkFBQzA3IC8qIEphdmFTY3JpcHRDb3JlICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk2NUE5NDYxMzFDOEU5RjIwMDBB
NzIwOUEgLyogZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAqLywKIAkJCQk4NjA0RjRG
MjE0M0E2QzQ0MDBCMjk1RjUgLyogQ2hhbmdlTG9nICovLAogCQkJCUY2OEVCQjhDMDI1NUQ0QzYw
MUZGNjBGNyAvKiBjb25maWcuaCAqLywKIAkJCQlGNjkyQTg1NDAyNTU1OTdEMDFGRjYwRjcgLyog
Y3JlYXRlX2hhc2hfdGFibGUgKi8sCi0JCQkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2NUE3IC8qIGNy
ZWF0ZV9yZWdleF90YWJsZXMgKi8sCiAJCQkJOTM3QjYzQ0MwOUU3NjZEMjAwQTY3MUREIC8qIERl
cml2ZWRTb3VyY2VzLm1ha2UgKi8sCiAJCQkJMEY5MzI3NUExQzIwQkNERjAwQ0Y2NTY0IC8qIGR5
bmJlbmNoLmNwcCAqLywKIAkJCQk2NTI5RkIzMDE4QjJENjM5MDBDNjExMDIgLyogZ2VuZXJhdGUt
Ynl0ZWNvZGUtZmlsZXMgKi8sCkBAIC01NzIyLDcgKzU3MTYsMzkgQEAKIAkJCW5hbWUgPSBhY2Nl
c3NDYXNlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJNTM2QjMwODYxRjcx
QzUzODAwMzdGQzMzIC8qIHVuaWZpZWQtc291Y2VzICovID0geworCQk1MzVDMjQ2NTFGNzg5Mzg5
MDA2RUM0MEUgLyogaW5zcGVjdG9yICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGls
ZHJlbiA9ICgKKwkJCQlBNUVBNzEwRDE5RjZERjgxMDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJu
YXRlQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCisJCQkJQTUzMjQzOTYxODU2QTQ3NTAwMkVENjky
IC8qIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyAqLywKKwkJCQlBNTMyNDM4MTE4NTY4MzE3
MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJCQlBNTMy
NDM4MjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8s
CisJCQkJQTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0
Y2hlcnMuY3BwICovLAorCQkJCUE1MzI0Mzg0MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JG
cm9udGVuZERpc3BhdGNoZXJzLmggKi8sCisJCQkJQTUzMjQzODUxODU2ODMxNzAwMkVENjkyIC8q
IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi8sCisJCQkJQTUzMjQzODYxODU2ODMxNzAw
MkVENjkyIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovLAorCQkJKTsKKwkJCXBhdGgg
PSBpbnNwZWN0b3I7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk1MzVDMjQ2
NjFGNzg5NDUyMDA2RUM0MEUgLyogcnVudGltZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOwor
CQkJY2hpbGRyZW4gPSAoCisJCQkJQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0
aW5zLmNwcCAqLywKKwkJCQlBN0Q4MDFBNzE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMu
aCAqLywKKwkJCSk7CisJCQlwYXRoID0gcnVudGltZTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CisJCX07CisJCTUzNUMyNDY3MUY3ODk0QTIwMDZFQzQwRSAvKiB5YXJyICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk2NUE5NDYxNDFDOEU5RjZGMDBB
NzIwOUEgLyogWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwICovLAorCQkJKTsKKwkJCXBhdGgg
PSB5YXJyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTM2QjMwODYxRjcx
QzUzODAwMzdGQzMzIC8qIHVuaWZpZWQtc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNTM2QjMwREExRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZp
ZWRTb3VyY2UxLmNwcCAqLywKQEAgLTU4NjMsMTMgKzU4ODksMTYgQEAKIAkJCQk1MzZCMzBFNTFG
NzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk4LmNwcCAqLywKIAkJCQk1MzZCMzBERTFG
NzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk5LmNwcCAqLywKIAkJCSk7Ci0JCQlwYXRo
ID0gInVuaWZpZWQtc291Y2VzIjsKKwkJCXBhdGggPSAidW5pZmllZC1zb3VyY2VzIjsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTY1MEZERjhEMDlEMEZDQTcwMDc2OUU1NCAv
KiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAotCQkJCTUzNkIzMDg2MUY3MUM1MzgwMDM3RkMzMyAvKiB1bmlmaWVkLXNvdWNlcyAqLywK
KwkJCQk1MzVDMjQ2NTFGNzg5Mzg5MDA2RUM0MEUgLyogaW5zcGVjdG9yICovLAorCQkJCTUzNUMy
NDY2MUY3ODk0NTIwMDZFQzQwRSAvKiBydW50aW1lICovLAorCQkJCTUzNkIzMDg2MUY3MUM1Mzgw
MDM3RkMzMyAvKiB1bmlmaWVkLXNvdXJjZXMgKi8sCisJCQkJNTM1QzI0NjcxRjc4OTRBMjAwNkVD
NDBFIC8qIHlhcnIgKi8sCiAJCQkJMEY2MTgzMzIxQzQ1RjM1QzAwNzI0NTBCIC8qIEFpck9wY29k
ZS5oICovLAogCQkJCTBGNjE4MzM0MUM0NUYzQjYwMDcyNDUwQiAvKiBBaXJPcGNvZGVHZW5lcmF0
ZWQuaCAqLywKIAkJCQkwRjYxODMzNTFDNDVGM0I2MDA3MjQ1MEIgLyogQWlyT3Bjb2RlVXRpbHMu
aCAqLywKQEAgLTU4ODUsMjMgKzU5MTQsMTMgQEAKIAkJCQk3MEI3OTE5MDFDMDI0NkNFMDAyNDgx
RTIgLyogR2VuZXJhdG9yUHJvdG90eXBlLmx1dC5oICovLAogCQkJCTY1MTRGMjE4MThCM0UxNjcw
MDk4RkY4QiAvKiBJbml0Qnl0ZWNvZGVzLmFzbSAqLywKIAkJCQlBNTEzRTVDNjE4NUY5NDM2MDA3
RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAqLywKLQkJCQlBNUVBNzEwRDE5RjZERjgx
MDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCi0J
CQkJQTUzMjQzOTYxODU2QTQ3NTAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5q
cyAqLywKLQkJCQlBNTMyNDM4MTE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmNwcCAqLywKLQkJCQlBNTMyNDM4MjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCi0JCQkJQTUzMjQzODMxODU2ODMxNzAwMkVENjky
IC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovLAotCQkJCUE1MzI0Mzg0MTg1
NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmggKi8sCiAJCQkJ
RTMzQjNFMjUxQjdBQkQ3NTAwNDhEQjJFIC8qIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbk9iamVj
dC5sdXQuaCAqLywKLQkJCQlBNTMyNDM4NTE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmNwcCAqLywKLQkJCQlBNTMyNDM4NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmggKi8sCiAJCQkJQTE4MTkzRTExQjRFMENEQjAwRkMxMDI5
IC8qIEludGxDb2xsYXRvckNvbnN0cnVjdG9yLmx1dC5oICovLAogCQkJCUExODE5M0UyMUI0RTBD
REIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5cGUubHV0LmggKi8sCiAJCQkJQTE1ODdE
NzMxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGltZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5o
ICovLAogCQkJCUExNTg3RDc0MUI0REMxQzYwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQ
cm90b3R5cGUubHV0LmggKi8sCiAJCQkJQTEyNTg0NkMxQjQ1QTM2MDAwQ0M3RjZDIC8qIEludGxO
dW1iZXJGb3JtYXRDb25zdHJ1Y3Rvci5sdXQuaCAqLywKIAkJCQlBMTI1ODQ2RDFCNDVBMzYwMDBD
QzdGNkMgLyogSW50bE51bWJlckZvcm1hdFByb3RvdHlwZS5sdXQuaCAqLywKLQkJCQlBN0Q4MDFB
NjE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRpbnMuY3BwICovLAotCQkJCUE3RDgwMUE3MTg4
MEQ2QTgwMDI2QzM5QiAvKiBKU0NCdWlsdGlucy5oICovLAogCQkJCTk5NkI3MzBBMUJEOUZBMkMw
MDMzMUI4NCAvKiBKU0RhdGFWaWV3UHJvdG90eXBlLmx1dC5oICovLAogCQkJCTk5NkI3MzBCMUJE
OUZBMkMwMDMzMUI4NCAvKiBKU0dsb2JhbE9iamVjdC5sdXQuaCAqLywKIAkJCQlFMzNGNTA4NjFC
ODQ0OUVGMDA0MTM4NTYgLyogSlNJbnRlcm5hbFByb21pc2VDb25zdHJ1Y3Rvci5sdXQuaCAqLywK
QEAgLTU5MzcsNyArNTk1Niw2IEBACiAJCQkJQUQyRkNDMTMxREI1OUM1OTAwQjNFNzM2IC8qIFdl
YkFzc2VtYmx5UnVudGltZUVycm9yUHJvdG90eXBlLmx1dC5oICovLAogCQkJCUFEMkZDQzE0MURC
NTlDNTkwMEIzRTczNiAvKiBXZWJBc3NlbWJseVRhYmxlQ29uc3RydWN0b3IubHV0LmggKi8sCiAJ
CQkJQUQyRkNDMTUxREI1OUM1OTAwQjNFNzM2IC8qIFdlYkFzc2VtYmx5VGFibGVQcm90b3R5cGUu
bHV0LmggKi8sCi0JCQkJNjVBOTQ2MTQxQzhFOUY2RjAwQTcyMDlBIC8qIFlhcnJDYW5vbmljYWxp
emVVbmljb2RlLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gIkRlcml2ZWQgU291cmNlcyI7CiAJ
CQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmU7CkBAIC02NzY4LDYgKzY3ODYs
OCBAQAogCQk4NkVBQzQ4QzBGOTNFOEI5MDA4RUM5NDggLyogeWFyciAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2NUE3
IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi8sCisJCQkJNjVBOTQ2MTMxQzhFOUYyMDAwQTcyMDlB
IC8qIGdlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgKi8sCiAJCQkJQTU3RDIzRUIxODkx
QjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNzaW9uLmNwcCAqLywKIAkJCQlBNTdEMjNFQzE4
OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJlc3Npb24uaCAqLywKIAkJCQk0NTE1MzlCODEy
REM5OTQ1MDBFRjdBQzQgLyogWWFyci5oICovLApAQCAtODA4MSw2ICs4MTAxLDcgQEAKIAkJCQlD
NEY0QjZGMzFBMDVDOTQ0MDA1Q0FCNzYgLyogY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgaW4g
SGVhZGVycyAqLywKIAkJCQkwRjMwRDdDMDFEOTVENjMyMDA1MzA4OUQgLyogQ1BVLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1REU2RTVCMzBFMTcyOEVDMDAxODA0MDcgLyogY3JlYXRlX2hhc2hfdGFi
bGUgaW4gSGVhZGVycyAqLywKKwkJCQk1MzVDMjQ2MTFGNzg5MjhFMDA2RUM0MEUgLyogY3JlYXRl
X3JlZ2V4X3RhYmxlcyBpbiBIZWFkZXJzICovLAogCQkJCTk5NTlFOTJCMUJEMTdGQTQwMDFBQTQx
MyAvKiBjc3NtaW4ucHkgaW4gSGVhZGVycyAqLywKIAkJCQkyQTExMTI0NjE5MkZDRTc5MDA1RUUx
OEQgLyogQ3VzdG9tR2V0dGVyU2V0dGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQyNkE0QjE0
NjBDRDZFMDAxMzFGOEYgLyogRGF0YUZvcm1hdC5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTE1LDcg
Kzk1MzYsNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gInNldCAtZVxu
XG5jZCAkU1JDUk9PVFxuXG5pZiBbIFwiJHtERVBMT1lNRU5UX0xPQ0FUSU9OfVwiID09IFwiWUVT
XCIgXTsgdGhlblxuICAgIEJVSUxEX1NDUklQVFNfRElSPVwiJHtTREtST09UfS91c3IvbG9jYWwv
aW5jbHVkZS93dGYvU2NyaXB0c1wiXG5lbHNlXG4gICAgQlVJTERfU0NSSVBUU19ESVI9XCIke0JV
SUxUX1BST0RVQ1RTX0RJUn0vdXNyL2xvY2FsL2luY2x1ZGUvd3RmL1NjcmlwdHNcIlxuZmlcblxu
VW5pZmllZFNvdXJjZUNwcEZpbGVDb3VudD0xMzVcblVuaWZpZWRTb3VyY2VNbUZpbGVDb3VudD0x
MzVcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke0JVSUxEX1NDUklQVFNfRElSfS9nZW5lcmF0ZS11
bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiXCIgXCItLWRlcml2ZWQtc291cmNlcy1wYXRoXCIgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmVcIiBcIi0t
bWF4LWNwcC1idW5kbGUtY291bnRcIiBcIiR7VW5pZmllZFNvdXJjZUNwcEZpbGVDb3VudH1cIiBc
Ii0tbWF4LW9iai1jLWJ1bmRsZS1jb3VudFwiIFwiJHtVbmlmaWVkU291cmNlTW1GaWxlQ291bnR9
XCIgXCJTb3VyY2VzLnR4dFwiIFwiU291cmNlc01hYy50eHRcIiA+IC9kZXYvbnVsbFxuIjsKKwkJ
CXNoZWxsU2NyaXB0ID0gInNldCAtZVxuXG5jZCAkU1JDUk9PVFxuXG5pZiBbIFwiJHtERVBMT1lN
RU5UX0xPQ0FUSU9OfVwiID09IFwiWUVTXCIgXTsgdGhlblxuICAgIEJVSUxEX1NDUklQVFNfRElS
PVwiJHtTREtST09UfS91c3IvbG9jYWwvaW5jbHVkZS93dGYvU2NyaXB0c1wiXG5lbHNlXG4gICAg
QlVJTERfU0NSSVBUU19ESVI9XCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vdXNyL2xvY2FsL2luY2x1
ZGUvd3RmL1NjcmlwdHNcIlxuZmlcblxuVW5pZmllZFNvdXJjZUNwcEZpbGVDb3VudD0xMzVcblVu
aWZpZWRTb3VyY2VNbUZpbGVDb3VudD0xMzVcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke0JVSUxE
X1NDUklQVFNfRElSfS9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiXCIgXCItLWRl
cml2ZWQtc291cmNlcy1wYXRoXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJj
ZXMvSmF2YVNjcmlwdENvcmVcIiBcIi0tc291cmNlLXRyZWUtcGF0aFwiIFwiJHtTUkNST09UfVwi
IFwiLS1tYXgtY3BwLWJ1bmRsZS1jb3VudFwiIFwiJHtVbmlmaWVkU291cmNlQ3BwRmlsZUNvdW50
fVwiIFwiLS1tYXgtb2JqLWMtYnVuZGxlLWNvdW50XCIgXCIke1VuaWZpZWRTb3VyY2VNbUZpbGVD
b3VudH1cIiBcIlNvdXJjZXMudHh0XCIgXCJTb3VyY2VzTWFjLnR4dFwiID4gL2Rldi9udWxsXG4i
OwogCQl9OwogCQk1RDI5RDhCRTBFOTg2MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9yIFdlYWsgVlRh
YmxlcyBhbmQgRXh0ZXJuYWxzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBo
YXNlOwpAQCAtOTcyMiwxMCArOTc0Myw2IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFz
ZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk1
M0YxQjU0ODFGNkExNTc3MDBFMkQwNDMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUzRjFCNTQyMUY2QTE0QTUwMEUyRDA0MyAvKiBJbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUzRjFCNTQzMUY2
QTE0QUMwMEUyRDA0MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTNGMUI1NDQxRjZBMTRCQzAwRTJEMDQzIC8qIEpTQ0J1aWx0aW5zLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUzNkIzMTlFMUY3MzVGMTYwMDM3RkMzMyAvKiBMb3dMZXZlbEludGVy
cHJldGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAv
KiB1ZGlzODYuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAv
KiB1ZGlzODZfZGVjb2RlLmMgaW4gU291cmNlcyAqLywKQEAgLTk4NzAsNyArOTg4Nyw2IEBACiAJ
CQkJNTM2QjMxMzYxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U5Ny5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MzZCMzE2QTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk4
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTYzMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlm
aWVkU291cmNlOTkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTNGMUI1NDUxRjZBMTREMDAwRTJE
MDQzIC8qIFlhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbGF6eXdyaXRlci5weSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL2xhenl3cml0ZXIucHkKaW5kZXggZjkzYTJjNjk3Y2Fj
YmQ3NzQxZmU5OThlZjE5MGViMWNkNmYyNDUzOS4uZjhjY2Y5YzY3NWY3NWZjYzkwZTM4MDBmYzY5
YTVhNDQ1OTc3ZjliNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMv
bGF6eXdyaXRlci5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9sYXp5d3Jp
dGVyLnB5CkBAIC0yNiw2ICsyNiw3IEBACiAKICMgQSB3cml0ZXIgdGhhdCBvbmx5IHVwZGF0ZXMg
ZmlsZSBpZiBpdCBhY3R1YWxseSBjaGFuZ2VkLgogCitpbXBvcnQgb3MKIAogY2xhc3MgTGF6eUZp
bGVXcml0ZXI6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVwYXRoLCBmb3JjZV9vdXRwdXQp
OgpAQCAtNTMsNiArNTQsOSBAQCBjbGFzcyBMYXp5RmlsZVdyaXRlcjoKICAgICAgICAgICAgIHBh
c3MKIAogICAgICAgICBpZiB0ZXh0X2NoYW5nZWQgb3Igc2VsZi5mb3JjZV9vdXRwdXQ6CisgICAg
ICAgICAgICBkaXJuYW1lID0gb3MucGF0aC5kaXJuYW1lKHNlbGYuX2ZpbGVwYXRoKQorICAgICAg
ICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlybmFtZSk6CisgICAgICAgICAgICAgICAgb3Mu
bWFrZWRpcnMoZGlybmFtZSkKICAgICAgICAgICAgIG91dF9maWxlID0gb3BlbihzZWxmLl9maWxl
cGF0aCwgInciKQogICAgICAgICAgICAgb3V0X2ZpbGUud3JpdGUoc2VsZi5fb3V0cHV0KQogICAg
ICAgICAgICAgb3V0X2ZpbGUuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL1NvdXJjZXMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGZkNTI2YjI4NDYzMTE1NTAxMTdlNmY0OWVkNjBlZThlOGE1MjhhNzQuLmQ0ZjI4ZmE1MTI0NTYx
OThlOTUyMDZkNDc2OWNiZjhiODYyMzMwOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQK
QEAgLTU0NSw2ICs1NDUsMTEgQEAgaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5jcHAKIGluc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNwcAogaW5zcGVjdG9yL1NjcmlwdERlYnVnU2Vy
dmVyLmNwcAogCisjIERlcml2ZWQgU291cmNlcworaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5jcHAKK2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNw
cAoraW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKKwogaW5zcGVjdG9yL2Fn
ZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29s
ZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApA
QCAtOTE1LDYgKzkyMCw5IEBAIHJ1bnRpbWUvV2Vha01hcFByb3RvdHlwZS5jcHAKIHJ1bnRpbWUv
V2Vha1NldENvbnN0cnVjdG9yLmNwcAogcnVudGltZS9XZWFrU2V0UHJvdG90eXBlLmNwcAogCisj
IERlcml2ZWQgU291cmNlcworcnVudGltZS9KU0NCdWlsdGlucy5jcHAKKwogdG9vbHMvQ2VsbExp
c3QuY3BwCiB0b29scy9Db2RlUHJvZmlsZS5jcHAKIHRvb2xzL0NvZGVQcm9maWxpbmcuY3BwCkBA
IC05ODksMyArOTk3LDYgQEAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCiB5YXJyL1lhcnJKSVQu
Y3BwCiB5YXJyL1lhcnJQYXR0ZXJuLmNwcAogeWFyci9ZYXJyU3ludGF4Q2hlY2tlci5jcHAKKwor
IyBEZXJpdmVkIFNvdXJjZXMKK3lhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhYzkzNzhkYjI3NTczZjljZTY3ZTdmY2FkN2Y1NmI1ZDU2YWQ1MDQ2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAg
QEAKLSMgQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotIyAKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSMgCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0j
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLQotaW1wb3J0IHN5cwotCi10eXBlcyA9IHsK
LSAgICAid29yZGNoYXIiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiZGF0YSI6IFsnXycsICgnMCcs
JzknKSwgKCdBJywgJ1onKSwgKCdhJywneicpXX0sCi0gICAgIndvcmRVbmljb2RlSWdub3JlQ2Fz
ZUNoYXIiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgImRhdGEiOiBbJ18nLCAoJzAnLCAnOScpLCAo
J0EnLCAnWicpLCAoJ2EnLCAneicpLCAweDAxN2YsIDB4MjEyYV19LAotICAgICJub253b3JkY2hh
ciI6IHsgIlVzZVRhYmxlIiA6IFRydWUsICJJbnZlcnNlIjogIndvcmRjaGFyIiwgImRhdGEiOiBb
J2AnLCAoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgnOScpICsgMSwgb3JkKCdBJykgLSAxKSwgKG9y
ZCgnWicpICsgMSwgb3JkKCdfJykgLSAxKSwgKG9yZCgneicpICsgMSwgMHgxMGZmZmYpXX0sCi0g
ICAgIm5vbndvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXIiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwg
IkludmVyc2UiOiAid29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciIsICJkYXRhIjogWydgJywgKDAs
IG9yZCgnMCcpIC0gMSksIChvcmQoJzknKSArIDEsIG9yZCgnQScpIC0gMSksIChvcmQoJ1onKSAr
IDEsIG9yZCgnXycpIC0gMSksIChvcmQoJ3onKSArIDEsIDB4MDE3ZSksICgweDAxODAsIDB4MjEy
OSksICgweDIxMmIsIDB4MTBmZmZmKV19LAotICAgICJuZXdsaW5lIjogeyAiVXNlVGFibGUiIDog
RmFsc2UsICJkYXRhIjogWydcbicsICdccicsIDB4MjAyOCwgMHgyMDI5XX0sCi0gICAgInNwYWNl
cyI6IHsgIlVzZVRhYmxlIiA6IFRydWUsICJkYXRhIjogWycgJywgKCdcdCcsICdccicpLCAweGEw
LCAweDE2ODAsIDB4MTgwZSwgMHgyMDI4LCAweDIwMjksIDB4MjAyZiwgMHgyMDVmLCAweDMwMDAs
ICgweDIwMDAsIDB4MjAwYSksIDB4ZmVmZl19LAotICAgICJub25zcGFjZXMiOiB7ICJVc2VUYWJs
ZSIgOiBUcnVlLCAiSW52ZXJzZSI6ICJzcGFjZXMiLCAiZGF0YSI6IFsoMCwgb3JkKCdcdCcpIC0g
MSksIChvcmQoJ1xyJykgKyAxLCBvcmQoJyAnKSAtIDEpLCAob3JkKCcgJykgKyAxLCAweDAwOWYp
LCAoMHgwMGExLCAweDE2N2YpLCAoMHgxNjgxLCAweDE4MGQpLCAoMHgxODBmLCAweDFmZmYpLCAo
MHgyMDBiLCAweDIwMjcpLCAoMHgyMDJhLCAweDIwMmUpLCAoMHgyMDMwLCAweDIwNWUpLCAoMHgy
MDYwLCAweDJmZmYpLCAoMHgzMDAxLCAweGZlZmUpLCAoMHhmZjAwLCAweDEwZmZmZildfSwKLSAg
ICAiZGlnaXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjogWygnMCcsICc5JyldfSwK
LSAgICAibm9uZGlnaXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJJbnZlcnNlIjogImRpZ2l0
cyIsICJkYXRhIjogWygwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCAweDEwZmZmZild
IH0KLX0KLWVudHJpZXNQZXJMaW5lID0gNTAKLWFycmF5cyA9ICIiOwotZnVuY3Rpb25zID0gIiI7
Ci1lbWl0VGFibGVzID0gKGxlbihzeXMuYXJndikgPCAyIG9yIHN5cy5hcmd2WzFdICE9ICItLW5v
LXRhYmxlcyIpCi0KLWZvciBuYW1lLCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6Ci0gICAgcmFu
Z2VzID0gW107Ci0gICAgc2l6ZSA9IDA7Ci0gICAgZm9yIF9jbGFzcyBpbiBjbGFzc2VzWyJkYXRh
Il06Ci0gICAgICAgIGlmIHR5cGUoX2NsYXNzKSA9PSBzdHI6Ci0gICAgICAgICAgICByYW5nZXMu
YXBwZW5kKChvcmQoX2NsYXNzKSwgb3JkKF9jbGFzcykpKQotICAgICAgICBlbGlmIHR5cGUoX2Ns
YXNzKSA9PSBpbnQ6Ci0gICAgICAgICAgICByYW5nZXMuYXBwZW5kKChfY2xhc3MsIF9jbGFzcykp
Ci0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAobWluLCBtYXgpID0gX2NsYXNzOwotICAgICAg
ICAgICAgaWYgdHlwZShtaW4pID09IHN0cjoKLSAgICAgICAgICAgICAgICBtaW4gPSBvcmQobWlu
KQotICAgICAgICAgICAgaWYgdHlwZShtYXgpID09IHN0cjoKLSAgICAgICAgICAgICAgICBtYXgg
PSBvcmQobWF4KQotICAgICAgICAgICAgaWYgbWF4ID4gMHg3ZiBhbmQgbWluIDw9IDB4N2Y6Ci0g
ICAgICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgobWluLCAweDdmKSkKLSAgICAgICAgICAgICAg
ICBtaW4gPSAweDgwCi0gICAgICAgICAgICByYW5nZXMuYXBwZW5kKChtaW4sbWF4KSkKLSAgICBy
YW5nZXMuc29ydCgpOwotICAgIAotICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNzZXNbIlVzZVRh
YmxlIl0gYW5kIChub3QgIkludmVyc2UiIGluIGNsYXNzZXMpOgotICAgICAgICBhcnJheSA9ICgi
c3RhdGljIGNvbnN0IGNoYXIgXyVzRGF0YVs2NTUzNl0gPSB7XG4iICUgbmFtZSk7Ci0gICAgICAg
IGkgPSAwCi0gICAgICAgIGZvciAobWluLG1heCkgaW4gcmFuZ2VzOgotICAgICAgICAgICAgd2hp
bGUgaSA8IG1pbjoKLSAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBh
cnJheSArPSAoJzAsJykKLSAgICAgICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09
IDApIGFuZCAoaSAhPSAwKToKLSAgICAgICAgICAgICAgICAgICAgYXJyYXkgKz0gKCdcbicpCi0g
ICAgICAgICAgICB3aGlsZSBpIDw9IG1heDoKLSAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAg
ICAgICAgICAgICAgICBpZiAoaSA9PSA2NTUzNik6Ci0gICAgICAgICAgICAgICAgICAgIGFycmF5
ICs9ICgiMSIpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgYXJy
YXkgKz0gKCcxLCcpCi0gICAgICAgICAgICAgICAgaWYgKGkgJSBlbnRyaWVzUGVyTGluZSA9PSAw
KSBhbmQgKGkgIT0gMCk6Ci0gICAgICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnXG4nKQotICAg
ICAgICB3aGlsZSBpIDwgMHhmZmZmOgotICAgICAgICAgICAgYXJyYXkgKz0gKCIwLCIpCi0gICAg
ICAgICAgICBpID0gaSArIDE7Ci0gICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09
IDApIGFuZCAoaSAhPSAwKToKLSAgICAgICAgICAgICAgICBhcnJheSArPSAoJ1xuJykKLSAgICAg
ICAgaWYgaSA9PSAweGZmZmY6Ci0gICAgICAgICAgICBhcnJheSArPSAoIjAiKQotICAgICAgICBh
cnJheSArPSAoIlxufTtcblxuIik7Ci0gICAgICAgIGFycmF5cyArPSBhcnJheQotICAgIAotICAg
ICMgR2VuZXJhdGUgY3JlYXRlRnVuY3Rpb246Ci0gICAgZnVuY3Rpb24gPSAiIjsKLSAgICBmdW5j
dGlvbiArPSAoInN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gJXNDcmVhdGUoKVxuIiAl
IG5hbWUpCi0gICAgZnVuY3Rpb24gKz0gKCJ7XG4iKQotICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNs
YXNzZXNbIlVzZVRhYmxlIl06Ci0gICAgICAgIGlmICJJbnZlcnNlIiBpbiBjbGFzc2VzOgotICAg
ICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFr
ZV91bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KF8lc0RhdGEsIHRydWUpO1xuIiAlIChjbGFzc2VzWyJJ
bnZlcnNlIl0pKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAg
YXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KF8l
c0RhdGEsIGZhbHNlKTtcbiIgJSAobmFtZSkpCi0gICAgZWxzZToKLSAgICAgICAgZnVuY3Rpb24g
Kz0gKCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVy
Q2xhc3M+KCk7XG4iKQotICAgIGhhc05vbkJNUENoYXJhY3RlcnMgPSBGYWxzZQotICAgIGZvciAo
bWluLCBtYXgpIGluIHJhbmdlczoKLSAgICAgICAgaWYgKG1pbiA9PSBtYXgpOgotICAgICAgICAg
ICAgaWYgKG1pbiA+IDEyNyk6Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hh
cmFjdGVyQ2xhc3MtPm1fbWF0Y2hlc1VuaWNvZGUuYXBwZW5kKDB4JTA0eCk7XG4iICUgbWluKQot
ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFy
YWN0ZXJDbGFzcy0+bV9tYXRjaGVzLmFwcGVuZCgweCUwMngpO1xuIiAlIG1pbikKLSAgICAgICAg
ICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIChtaW4gPiAxMjcpIG9yIChtYXggPiAxMjcpOgotICAg
ICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fcmFuZ2VzVW5pY29k
ZS5hcHBlbmQoQ2hhcmFjdGVyUmFuZ2UoMHglMDR4LCAweCUwNHgpKTtcbiIgJSAobWluLCBtYXgp
KQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVy
Q2xhc3MtPm1fcmFuZ2VzLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwMngsIDB4JTAyeCkpO1xu
IiAlIChtaW4sIG1heCkpCi0gICAgICAgIGlmIG1heCA+PSAweDEwMDAwOgotICAgICAgICAgICAg
aGFzTm9uQk1QQ2hhcmFjdGVycyA9IFRydWUKLSAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0
ZXJDbGFzcy0+bV9oYXNOb25CTVBDaGFyYWN0ZXJzID0gJXM7XG4iICUgKCJ0cnVlIiBpZiBoYXNO
b25CTVBDaGFyYWN0ZXJzIGVsc2UgImZhbHNlIikpCi0gICAgZnVuY3Rpb24gKz0gKCIgICAgcmV0
dXJuIGNoYXJhY3RlckNsYXNzO1xuIikKLSAgICBmdW5jdGlvbiArPSAoIn1cblxuIikKLSAgICBm
dW5jdGlvbnMgKz0gZnVuY3Rpb24KLQotaWYgKGxlbihzeXMuYXJndikgPiAxKToKLSAgICBmID0g
b3BlbihzeXMuYXJndlstMV0sICJ3IikKLSAgICBmLndyaXRlKGFycmF5cykKLSAgICBmLndyaXRl
KGZ1bmN0aW9ucykKLSAgICBmLmNsb3NlKCkKLWVsc2U6Ci0gICAgcHJpbnQoYXJyYXlzKQotICAg
IHByaW50KGZ1bmN0aW9ucykKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dl
bmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2Vu
ZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzc4ODYwYTQ2NWE4ZGFmYjFkOWE3ZDNjNzM0YThjNGVkYjE1ZTAyMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Z2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQorKysgL2Rldi9udWxsCkBAIC0xLDIwMCAr
MCwwIEBACi0jISAvdXNyL2Jpbi9weXRob24KLQotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0j
IGFyZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMKLSMgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
LSMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
LSMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0KLSMgVGhpcyB0b29sIHByb2Nlc3NlcyB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJh
c2UgZmlsZSBDYXNlRm9sZGluZy50eHQgdG8gY3JlYXRlCi0jIGNhbm9uaWNhbGl6YXRpb24gdGFi
bGUgYXMgZGVjcmliZWQgaW4gRUNNQVNjcmlwdCA2IHN0YW5kYXJkIGluIHNlY3Rpb24KLSMgIjIx
LjIuMi44LjIgUnVudGltZSBTZW1hbnRpY3M6IENhbm9uaWNhbGl6ZSgpIiwgc3RlcCAyLgotCi1p
bXBvcnQgb3B0cGFyc2UKLWltcG9ydCByZQotaW1wb3J0IHN5cwotZnJvbSBzZXRzIGltcG9ydCBT
ZXQKLQotaGVhZGVyID0gIiIiLyoKLSogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKiBhcmUgbWV0
OgotKgotKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0qIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0qIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKLSogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0qIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0qIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
Ci0qIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotKiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8K
LQotLy8gRE8gTk8gRURJVCEgLSBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnZW5lcmF0ZVlh
cnJDYW5vbmljYWxpemVVbmljb2RlCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJZ
YXJyQ2Fub25pY2FsaXplLmgiCi0KLW5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7Ci0K
LSIiIgotCi1mb290ZXIgPSAiIiJ9IH0gLy8gSlNDOjpZYXJyCi0iIiIKLQotTWF4VW5pY29kZSA9
IDB4MTBmZmZmCi1jb21tb25BbmRTaW1wbGVMaW5lc1JFID0gcmUuY29tcGlsZShyIig/UDxjb2Rl
PlswLTlBLUZdKylccyo7XHMqW0NTXVxzKjtccyooP1A8bWFwcGluZz5bMC05QS1GXSspIiwgcmUu
SUdOT1JFQ0FTRSkKLQotZGVmIG9wZW5PckV4aXQocGF0aCwgbW9kZSk6Ci0gICAgdHJ5OgotICAg
ICAgICByZXR1cm4gb3BlbihwYXRoLCBtb2RlKQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0g
ICAgICAgIHByaW50ICJJL08gZXJyb3Igb3BlbmluZyB7MH0sICh7MX0pOiB7Mn0iLmZvcm1hdChw
YXRoLCBlLmVycm5vLCBlLnN0cmVycm9yKQotICAgICAgICBleGl0KDEpCi0KLWNsYXNzIENhbm9u
aWNhbGl6ZToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2Fub25pY2Fs
R3JvdXBzID0ge307Ci0KLSAgICBkZWYgYWRkTWFwcGluZyhzZWxmLCBjb2RlLCBtYXBwaW5nKToK
LSAgICAgICAgaWYgbWFwcGluZyBub3QgaW4gc2VsZi5jYW5vbmljYWxHcm91cHM6Ci0gICAgICAg
ICAgICBzZWxmLmNhbm9uaWNhbEdyb3Vwc1ttYXBwaW5nXSA9IFtdCi0gICAgICAgIHNlbGYuY2Fu
b25pY2FsR3JvdXBzW21hcHBpbmddLmFwcGVuZChjb2RlKQotICAgICAgICAKLSAgICBkZWYgcmVh
ZENhc2VGb2xkaW5nKHNlbGYsIGZpbGUpOgotICAgICAgICBjb2Rlc1NlZW4gPSBTZXQoKQotICAg
ICAgICBmb3IgbGluZSBpbiBmaWxlOgotICAgICAgICAgICAgbGluZSA9IGxpbmUuc3BsaXQoJyMn
LCAxKVswXQotICAgICAgICAgICAgbGluZSA9IGxpbmUucnN0cmlwKCkKLSAgICAgICAgICAgIGlm
IChub3QgbGVuKGxpbmUpKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAg
ICBmaWVsZHMgPSBjb21tb25BbmRTaW1wbGVMaW5lc1JFLm1hdGNoKGxpbmUpCi0gICAgICAgICAg
ICBpZiAobm90IGZpZWxkcyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAg
ICAgY29kZSA9IGludChmaWVsZHMuZ3JvdXAoJ2NvZGUnKSwgMTYpCi0gICAgICAgICAgICBtYXBw
aW5nID0gaW50KGZpZWxkcy5ncm91cCgnbWFwcGluZycpLCAxNikKLQotICAgICAgICAgICAgY29k
ZXNTZWVuLmFkZChjb2RlKQotICAgICAgICAgICAgc2VsZi5hZGRNYXBwaW5nKGNvZGUsIG1hcHBp
bmcpCi0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTWF4VW5pY29kZSArIDEpOgotICAgICAgICAg
ICAgaWYgaSBpbiBjb2Rlc1NlZW46Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg
ICAgICAgIHNlbGYuYWRkTWFwcGluZyhpLCBpKQotCi0gICAgZGVmIGNyZWF0ZVRhYmxlcyhzZWxm
LCBmaWxlKToKLSAgICAgICAgdHlwZUluZm8gPSBbIiJdICogKE1heFVuaWNvZGUgKyAxKQotICAg
ICAgICBjaGFyYWN0ZXJTZXRzID0gW10KLQotICAgICAgICBmb3IgbWFwcGluZyBpbiBzb3J0ZWQo
c2VsZi5jYW5vbmljYWxHcm91cHMua2V5cygpKToKLSAgICAgICAgICAgIGNoYXJhY3RlcnMgPSBz
ZWxmLmNhbm9uaWNhbEdyb3Vwc1ttYXBwaW5nXQotICAgICAgICAgICAgaWYgbGVuKGNoYXJhY3Rl
cnMpID09IDE6Ci0gICAgICAgICAgICAgICAgdHlwZUluZm9bY2hhcmFjdGVyc1swXV0gPSAiQ2Fu
b25pY2FsaXplVW5pcXVlOjAiCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNo
YXJhY3RlcnMuc29ydCgpCi0gICAgICAgICAgICAgICAgaWYgbGVuKGNoYXJhY3RlcnMpID4gMjoK
LSAgICAgICAgICAgICAgICAgICAgZm9yIGNoIGluIGNoYXJhY3RlcnM6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlSW5mb1tjaF0gPSAiQ2Fub25pY2FsaXplU2V0OiVkIiAlIGxlbihjaGFy
YWN0ZXJTZXRzKQotICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJTZXRzLmFwcGVuZChjaGFy
YWN0ZXJzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGxvdyA9
IGNoYXJhY3RlcnNbMF0KLSAgICAgICAgICAgICAgICAgICAgaGlnaCA9IGNoYXJhY3RlcnNbMV0K
LSAgICAgICAgICAgICAgICAgICAgZGVsdGEgPSBoaWdoIC0gbG93Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIGRlbHRhID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gIkNhbm9u
aWNhbGl6ZUFsdGVybmF0aW5nVW5hbGlnbmVkOjAiIGlmIGxvdyAmIDEgZWxzZSAiQ2Fub25pY2Fs
aXplQWx0ZXJuYXRpbmdBbGlnbmVkOjAiCi0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlSW5m
b1tsb3ddID0gdHlwZQotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9baGlnaF0gPSB0
eXBlCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0
eXBlSW5mb1tsb3ddID0gIkNhbm9uaWNhbGl6ZVJhbmdlTG86JWQiICUgZGVsdGEKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGVJbmZvW2hpZ2hdID0gIkNhbm9uaWNhbGl6ZVJhbmdlSGk6JWQi
ICUgZGVsdGEKLQotICAgICAgICByYW5nZUluZm8gPSBbXQotICAgICAgICBlbmQgPSAwCi0gICAg
ICAgIHdoaWxlIGVuZCA8PSBNYXhVbmljb2RlOgotICAgICAgICAgICAgYmVnaW4gPSBlbmQKLSAg
ICAgICAgICAgIHR5cGUgPSB0eXBlSW5mb1tlbmRdCi0gICAgICAgICAgICB3aGlsZSBlbmQgPCBN
YXhVbmljb2RlIGFuZCB0eXBlSW5mb1tlbmQgKyAxXSA9PSB0eXBlOgotICAgICAgICAgICAgICAg
IGVuZCA9IGVuZCArIDEKLSAgICAgICAgICAgIHJhbmdlSW5mby5hcHBlbmQoeyJiZWdpbiI6IGJl
Z2luLCAiZW5kIjogZW5kLCAidHlwZSI6IHR5cGV9KQotICAgICAgICAgICAgZW5kID0gZW5kICsg
MQotICAgICAgICAKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGNoYXJhY3RlclNldHMpKToK
LSAgICAgICAgICAgIGNoYXJhY3RlcnMgPSAiIgotICAgICAgICAgICAgc2V0ID0gY2hhcmFjdGVy
U2V0c1tpXQotICAgICAgICAgICAgZm9yIGNoIGluIHNldDoKLSAgICAgICAgICAgICAgICBjaGFy
YWN0ZXJzID0gY2hhcmFjdGVycyArICIweHtjaGFyYWN0ZXI6MDR4fSwgIi5mb3JtYXQoY2hhcmFj
dGVyPWNoKQotICAgICAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgVUNoYXIzMiB1bmljb2RlQ2hh
cmFjdGVyU2V0e2luZGV4OmR9W10gPSB7eyB7Y2hhcmFjdGVyc30wIH19O1xuIi5mb3JtYXQoaW5k
ZXg9aSwgY2hhcmFjdGVycz1jaGFyYWN0ZXJzKSkKLQotICAgICAgICBmaWxlLndyaXRlKCJcbiIp
Ci0gICAgICAgIGZpbGUud3JpdGUoInN0YXRpYyBjb25zdCBzaXplX3QgVU5JQ09ERV9DQU5PTklD
QUxJWkFUSU9OX1NFVFMgPSB7c2V0Q291bnQ6ZH07XG4iLmZvcm1hdChzZXRDb3VudD1sZW4oY2hh
cmFjdGVyU2V0cykpKQotICAgICAgICBmaWxlLndyaXRlKCJjb25zdCBVQ2hhcjMyKiBjb25zdCB1
bmljb2RlQ2hhcmFjdGVyU2V0SW5mb1tVTklDT0RFX0NBTk9OSUNBTElaQVRJT05fU0VUU10gPSB7
XG4iKQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihjaGFyYWN0ZXJTZXRzKSk6Ci0gICAg
ICAgICAgICBmaWxlLndyaXRlKCIgICAgdW5pY29kZUNoYXJhY3RlclNldHtzZXROdW1iZXI6ZH0s
XG4iLmZvcm1hdChzZXROdW1iZXI9aSkpCi0KLSAgICAgICAgZmlsZS53cml0ZSgifTtcbiIpCi0g
ICAgICAgIGZpbGUud3JpdGUoIlxuIikKLSAgICAgICAgZmlsZS53cml0ZSgiY29uc3Qgc2l6ZV90
IFVOSUNPREVfQ0FOT05JQ0FMSVpBVElPTl9SQU5HRVMgPSB7cmFuZ2VDb3VudDpkfTtcbiIuZm9y
bWF0KHJhbmdlQ291bnQ9bGVuKHJhbmdlSW5mbykpKQotICAgICAgICBmaWxlLndyaXRlKCJjb25z
dCBDYW5vbmljYWxpemF0aW9uUmFuZ2UgdW5pY29kZVJhbmdlSW5mb1tVTklDT0RFX0NBTk9OSUNB
TElaQVRJT05fUkFOR0VTXSA9IHtcbiIpCi0KLSAgICAgICAgZm9yIGluZm8gaW4gcmFuZ2VJbmZv
OgotICAgICAgICAgICAgdHlwZUFuZFZhbHVlID0gaW5mb1sidHlwZSJdLnNwbGl0KCI6IikKLSAg
ICAgICAgICAgIGZpbGUud3JpdGUoIiAgICB7eyAweHtiZWdpbjowNHh9LCAweHtlbmQ6MDR4fSwg
MHh7dmFsdWU6MDR4fSwge3R5cGV9IH19LFxuIi5mb3JtYXQoYmVnaW49aW5mb1siYmVnaW4iXSwg
ZW5kPWluZm9bImVuZCJdLCB2YWx1ZT1pbnQodHlwZUFuZFZhbHVlWzFdKSwgdHlwZT10eXBlQW5k
VmFsdWVbMF0pKQotCi0gICAgICAgIGZpbGUud3JpdGUoIn07XG4iKQotICAgICAgICBmaWxlLndy
aXRlKCJcbiIpCi0KLSAgICAgICAgCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHBh
cnNlciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZSA9ICJ1c2FnZTogJXByb2cgIDxDYXNl
Rm9sZGluZy50eHQ+IDxZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5oPiIpCi0gICAgKG9wdGlvbnMs
IGFyZ3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgaWYgbGVuKGFyZ3MpICE9IDI6Ci0g
ICAgICAgIHBhcnNlci5lcnJvcigiPENhc2VGb2xkaW5nLnR4dD4gPFlhcnJDYW5vbmljYWxpemVV
bmljb2RlLmg+IikKLQotICAgIGNhc2VGb2xkaW5nVHh0UGF0aCA9IGFyZ3NbMF0KLSAgICBjYW5v
bmljYWxpemVIUGF0aCA9IGFyZ3NbMV0KLSAgICBjYXNlRm9sZGluZ1R4dEZpbGUgPSBvcGVuT3JF
eGl0KGNhc2VGb2xkaW5nVHh0UGF0aCwgInIiKQotICAgIGNhbm9uaWNhbGl6ZUhGaWxlID0gb3Bl
bk9yRXhpdChjYW5vbmljYWxpemVIUGF0aCwgIndiIikKLQotICAgIGNhbm9uaWNhbGl6ZSA9IENh
bm9uaWNhbGl6ZSgpCi0gICAgY2Fub25pY2FsaXplLnJlYWRDYXNlRm9sZGluZyhjYXNlRm9sZGlu
Z1R4dEZpbGUpCi0KLSAgICBjYW5vbmljYWxpemVIRmlsZS53cml0ZShoZWFkZXIpOwotICAgIGNh
bm9uaWNhbGl6ZS5jcmVhdGVUYWJsZXMoY2Fub25pY2FsaXplSEZpbGUpCi0gICAgY2Fub25pY2Fs
aXplSEZpbGUud3JpdGUoZm9vdGVyKTsKLQotICAgIGNhc2VGb2xkaW5nVHh0RmlsZS5jbG9zZSgp
Ci0gICAgY2Fub25pY2FsaXplSEZpbGUuY2xvc2UoKQotCi0gICAgZXhpdCgwKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3Bl
Y3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKaW5kZXgg
ZDZkYWI1MjMxZWRjZmE4MTY0MjkwYjJmOGUyZGJiMTZhOGE2YTYwZC4uNDQ4YWI3YTVlOTZkMDcw
MzlkYWRjNjA0NTQ4MWVkMDAyMzY2ZGE0ZiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5n
cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CkBAIC0yNyw3ICsyNyw3IEBACiAjIFRo
aXMgc2NyaXB0IGdlbmVyYXRlcyBKUywgT2JqZWN0aXZlIEMsIGFuZCBDKysgYmluZGluZ3MgZm9y
IHRoZSBpbnNwZWN0b3IgcHJvdG9jb2wuCiAjIEdlbmVyYXRvcnMgZm9yIGluZGl2aWR1YWwgZmls
ZXMgYXJlIGxvY2F0ZWQgaW4gdGhlIGNvZGVnZW4vIGRpcmVjdG9yeS4KIAotaW1wb3J0IG9zLnBh
dGgKK2ltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgc3RyaW5nCkBAIC0x
MDMsNiArMTAzLDkgQEAgY2xhc3MgSW5jcmVtZW50YWxGaWxlV3JpdGVyOgogICAgICAgICAgICAg
cGFzcwogCiAgICAgICAgIGlmIHRleHRfY2hhbmdlZCBvciBzZWxmLmZvcmNlX291dHB1dDoKKyAg
ICAgICAgICAgIGRpcm5hbWUgPSBvcy5wYXRoLmRpcm5hbWUoc2VsZi5fZmlsZXBhdGgpCisgICAg
ICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihkaXJuYW1lKToKKyAgICAgICAgICAgICAgICBv
cy5tYWtlZGlycyhkaXJuYW1lKQogICAgICAgICAgICAgb3V0X2ZpbGUgPSBvcGVuKHNlbGYuX2Zp
bGVwYXRoLCAidyIpCiAgICAgICAgICAgICBvdXRfZmlsZS53cml0ZShzZWxmLl9vdXRwdXQpCiAg
ICAgICAgICAgICBvdXRfZmlsZS5jbG9zZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9jcmVhdGVfcmVnZXhfdGFibGVzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvY3JlYXRlX3JlZ2V4X3RhYmxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzNkYmJlM2ZiZDQ5NGEyMzgyNGIz
MzQxODk0MmE3YTYxYWI3OGJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3lhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlcwpAQCAtMCwwICsxLDEzNCBAQAorIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLTIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyAKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBh
cmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworaW1wb3J0IG9zCitp
bXBvcnQgc3lzCisKK3R5cGVzID0geworICAgICJ3b3JkY2hhciI6IHsgIlVzZVRhYmxlIiA6IFRy
dWUsICJkYXRhIjogWydfJywgKCcwJywnOScpLCAoJ0EnLCAnWicpLCAoJ2EnLCd6JyldfSwKKyAg
ICAid29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiZGF0
YSI6IFsnXycsICgnMCcsICc5JyksICgnQScsICdaJyksICgnYScsICd6JyksIDB4MDE3ZiwgMHgy
MTJhXX0sCisgICAgIm5vbndvcmRjaGFyIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgIkludmVyc2Ui
OiAid29yZGNoYXIiLCAiZGF0YSI6IFsnYCcsICgwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5Jykg
KyAxLCBvcmQoJ0EnKSAtIDEpLCAob3JkKCdaJykgKyAxLCBvcmQoJ18nKSAtIDEpLCAob3JkKCd6
JykgKyAxLCAweDEwZmZmZildfSwKKyAgICAibm9ud29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciI6
IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiSW52ZXJzZSI6ICJ3b3JkVW5pY29kZUlnbm9yZUNhc2VD
aGFyIiwgImRhdGEiOiBbJ2AnLCAoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgnOScpICsgMSwgb3Jk
KCdBJykgLSAxKSwgKG9yZCgnWicpICsgMSwgb3JkKCdfJykgLSAxKSwgKG9yZCgneicpICsgMSwg
MHgwMTdlKSwgKDB4MDE4MCwgMHgyMTI5KSwgKDB4MjEyYiwgMHgxMGZmZmYpXX0sCisgICAgIm5l
d2xpbmUiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgImRhdGEiOiBbJ1xuJywgJ1xyJywgMHgyMDI4
LCAweDIwMjldfSwKKyAgICAic3BhY2VzIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgImRhdGEiOiBb
JyAnLCAoJ1x0JywgJ1xyJyksIDB4YTAsIDB4MTY4MCwgMHgxODBlLCAweDIwMjgsIDB4MjAyOSwg
MHgyMDJmLCAweDIwNWYsIDB4MzAwMCwgKDB4MjAwMCwgMHgyMDBhKSwgMHhmZWZmXX0sCisgICAg
Im5vbnNwYWNlcyI6IHsgIlVzZVRhYmxlIiA6IFRydWUsICJJbnZlcnNlIjogInNwYWNlcyIsICJk
YXRhIjogWygwLCBvcmQoJ1x0JykgLSAxKSwgKG9yZCgnXHInKSArIDEsIG9yZCgnICcpIC0gMSks
IChvcmQoJyAnKSArIDEsIDB4MDA5ZiksICgweDAwYTEsIDB4MTY3ZiksICgweDE2ODEsIDB4MTgw
ZCksICgweDE4MGYsIDB4MWZmZiksICgweDIwMGIsIDB4MjAyNyksICgweDIwMmEsIDB4MjAyZSks
ICgweDIwMzAsIDB4MjA1ZSksICgweDIwNjAsIDB4MmZmZiksICgweDMwMDEsIDB4ZmVmZSksICgw
eGZmMDAsIDB4MTBmZmZmKV19LAorICAgICJkaWdpdHMiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwg
ImRhdGEiOiBbKCcwJywgJzknKV19LAorICAgICJub25kaWdpdHMiOiB7ICJVc2VUYWJsZSIgOiBG
YWxzZSwgIkludmVyc2UiOiAiZGlnaXRzIiwgImRhdGEiOiBbKDAsIG9yZCgnMCcpIC0gMSksIChv
cmQoJzknKSArIDEsIDB4MTBmZmZmKV0gfQorfQorZW50cmllc1BlckxpbmUgPSA1MAorYXJyYXlz
ID0gIiI7CitmdW5jdGlvbnMgPSAiIjsKK2VtaXRUYWJsZXMgPSAobGVuKHN5cy5hcmd2KSA8IDIg
b3Igc3lzLmFyZ3ZbMV0gIT0gIi0tbm8tdGFibGVzIikKKworZm9yIG5hbWUsIGNsYXNzZXMgaW4g
dHlwZXMuaXRlbXMoKToKKyAgICByYW5nZXMgPSBbXTsKKyAgICBzaXplID0gMDsKKyAgICBmb3Ig
X2NsYXNzIGluIGNsYXNzZXNbImRhdGEiXToKKyAgICAgICAgaWYgdHlwZShfY2xhc3MpID09IHN0
cjoKKyAgICAgICAgICAgIHJhbmdlcy5hcHBlbmQoKG9yZChfY2xhc3MpLCBvcmQoX2NsYXNzKSkp
CisgICAgICAgIGVsaWYgdHlwZShfY2xhc3MpID09IGludDoKKyAgICAgICAgICAgIHJhbmdlcy5h
cHBlbmQoKF9jbGFzcywgX2NsYXNzKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIChtaW4s
IG1heCkgPSBfY2xhc3M7CisgICAgICAgICAgICBpZiB0eXBlKG1pbikgPT0gc3RyOgorICAgICAg
ICAgICAgICAgIG1pbiA9IG9yZChtaW4pCisgICAgICAgICAgICBpZiB0eXBlKG1heCkgPT0gc3Ry
OgorICAgICAgICAgICAgICAgIG1heCA9IG9yZChtYXgpCisgICAgICAgICAgICBpZiBtYXggPiAw
eDdmIGFuZCBtaW4gPD0gMHg3ZjoKKyAgICAgICAgICAgICAgICByYW5nZXMuYXBwZW5kKChtaW4s
IDB4N2YpKQorICAgICAgICAgICAgICAgIG1pbiA9IDB4ODAKKyAgICAgICAgICAgIHJhbmdlcy5h
cHBlbmQoKG1pbixtYXgpKQorICAgIHJhbmdlcy5zb3J0KCk7CisgICAgCisgICAgaWYgZW1pdFRh
YmxlcyBhbmQgY2xhc3Nlc1siVXNlVGFibGUiXSBhbmQgKG5vdCAiSW52ZXJzZSIgaW4gY2xhc3Nl
cyk6CisgICAgICAgIGFycmF5ID0gKCJzdGF0aWMgY29uc3QgY2hhciBfJXNEYXRhWzY1NTM2XSA9
IHtcbiIgJSBuYW1lKTsKKyAgICAgICAgaSA9IDAKKyAgICAgICAgZm9yIChtaW4sbWF4KSBpbiBy
YW5nZXM6CisgICAgICAgICAgICB3aGlsZSBpIDwgbWluOgorICAgICAgICAgICAgICAgIGkgPSBp
ICsgMQorICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnMCwnKQorICAgICAgICAgICAgICAgIGlm
IChpICUgZW50cmllc1BlckxpbmUgPT0gMCkgYW5kIChpICE9IDApOgorICAgICAgICAgICAgICAg
ICAgICBhcnJheSArPSAoJ1xuJykKKyAgICAgICAgICAgIHdoaWxlIGkgPD0gbWF4OgorICAgICAg
ICAgICAgICAgIGkgPSBpICsgMQorICAgICAgICAgICAgICAgIGlmIChpID09IDY1NTM2KToKKyAg
ICAgICAgICAgICAgICAgICAgYXJyYXkgKz0gKCIxIikKKyAgICAgICAgICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgICAgICAgICBhcnJheSArPSAoJzEsJykKKyAgICAgICAgICAgICAgICBpZiAo
aSAlIGVudHJpZXNQZXJMaW5lID09IDApIGFuZCAoaSAhPSAwKToKKyAgICAgICAgICAgICAgICAg
ICAgYXJyYXkgKz0gKCdcbicpCisgICAgICAgIHdoaWxlIGkgPCAweGZmZmY6CisgICAgICAgICAg
ICBhcnJheSArPSAoIjAsIikKKyAgICAgICAgICAgIGkgPSBpICsgMTsKKyAgICAgICAgICAgIGlm
IChpICUgZW50cmllc1BlckxpbmUgPT0gMCkgYW5kIChpICE9IDApOgorICAgICAgICAgICAgICAg
IGFycmF5ICs9ICgnXG4nKQorICAgICAgICBpZiBpID09IDB4ZmZmZjoKKyAgICAgICAgICAgIGFy
cmF5ICs9ICgiMCIpCisgICAgICAgIGFycmF5ICs9ICgiXG59O1xuXG4iKTsKKyAgICAgICAgYXJy
YXlzICs9IGFycmF5CisgICAgCisgICAgIyBHZW5lcmF0ZSBjcmVhdGVGdW5jdGlvbjoKKyAgICBm
dW5jdGlvbiA9ICIiOworICAgIGZ1bmN0aW9uICs9ICgic3RkOjp1bmlxdWVfcHRyPENoYXJhY3Rl
ckNsYXNzPiAlc0NyZWF0ZSgpXG4iICUgbmFtZSkKKyAgICBmdW5jdGlvbiArPSAoIntcbiIpCisg
ICAgaWYgZW1pdFRhYmxlcyBhbmQgY2xhc3Nlc1siVXNlVGFibGUiXToKKyAgICAgICAgaWYgIklu
dmVyc2UiIGluIGNsYXNzZXM6CisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNo
YXJhY3RlckNsYXNzID0gc3RkOjptYWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwg
dHJ1ZSk7XG4iICUgKGNsYXNzZXNbIkludmVyc2UiXSkpCisgICAgICAgIGVsc2U6CisgICAgICAg
ICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3RkOjptYWtlX3Vu
aXF1ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwgZmFsc2UpO1xuIiAlIChuYW1lKSkKKyAgICBl
bHNlOgorICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3Rk
OjptYWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oKTtcbiIpCisgICAgaGFzTm9uQk1QQ2hhcmFj
dGVycyA9IEZhbHNlCisgICAgZm9yIChtaW4sIG1heCkgaW4gcmFuZ2VzOgorICAgICAgICBpZiAo
bWluID09IG1heCk6CisgICAgICAgICAgICBpZiAobWluID4gMTI3KToKKyAgICAgICAgICAgICAg
ICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9tYXRjaGVzVW5pY29kZS5hcHBl
bmQoMHglMDR4KTtcbiIgJSBtaW4pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg
IGZ1bmN0aW9uICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX21hdGNoZXMuYXBwZW5kKDB4JTAy
eCk7XG4iICUgbWluKQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgKG1pbiA+IDEy
Nykgb3IgKG1heCA+IDEyNyk6CisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0
ZXJDbGFzcy0+bV9yYW5nZXNVbmljb2RlLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwNHgsIDB4
JTA0eCkpO1xuIiAlIChtaW4sIG1heCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmdW5j
dGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9yYW5nZXMuYXBwZW5kKENoYXJhY3RlclJh
bmdlKDB4JTAyeCwgMHglMDJ4KSk7XG4iICUgKG1pbiwgbWF4KSkKKyAgICAgICAgaWYgbWF4ID49
IDB4MTAwMDA6CisgICAgICAgICAgICBoYXNOb25CTVBDaGFyYWN0ZXJzID0gVHJ1ZQorICAgIGZ1
bmN0aW9uICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX2hhc05vbkJNUENoYXJhY3RlcnMgPSAl
cztcbiIgJSAoInRydWUiIGlmIGhhc05vbkJNUENoYXJhY3RlcnMgZWxzZSAiZmFsc2UiKSkKKyAg
ICBmdW5jdGlvbiArPSAoIiAgICByZXR1cm4gY2hhcmFjdGVyQ2xhc3M7XG4iKQorICAgIGZ1bmN0
aW9uICs9ICgifVxuXG4iKQorICAgIGZ1bmN0aW9ucyArPSBmdW5jdGlvbgorCitpZiAobGVuKHN5
cy5hcmd2KSA+IDEpOgorICAgIHBhdGggPSBzeXMuYXJndlstMV0KKyAgICBkaXJuYW1lID0gb3Mu
cGF0aC5kaXJuYW1lKHBhdGgpCisgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlybmFtZSk6Cisg
ICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCisgICAgZiA9IG9wZW4ocGF0aCwgInciKQorICAg
IGYud3JpdGUoYXJyYXlzKQorICAgIGYud3JpdGUoZnVuY3Rpb25zKQorICAgIGYuY2xvc2UoKQor
ZWxzZToKKyAgICBwcmludChhcnJheXMpCisgICAgcHJpbnQoZnVuY3Rpb25zKQorCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVV
bmljb2RlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJhdGVZYXJyQ2Fub25pY2Fs
aXplVW5pY29kZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTVkODkyOTY0ZWIwMTBiOTJjZmU3ZDBjOTgxMjdlYjdm
YWJkYjAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2Vu
ZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQpAQCAtMCwwICsxLDIwNCBAQAorIyEgL3Vzci9i
aW4vcHl0aG9uCisKKyMgQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIworIyAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
IyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisjIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIFRoaXMgdG9v
bCBwcm9jZXNzZXMgdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIGZpbGUgQ2FzZUZvbGRp
bmcudHh0IHRvIGNyZWF0ZQorIyBjYW5vbmljYWxpemF0aW9uIHRhYmxlIGFzIGRlY3JpYmVkIGlu
IEVDTUFTY3JpcHQgNiBzdGFuZGFyZCBpbiBzZWN0aW9uCisjICIyMS4yLjIuOC4yIFJ1bnRpbWUg
U2VtYW50aWNzOiBDYW5vbmljYWxpemUoKSIsIHN0ZXAgMi4KKworaW1wb3J0IG9wdHBhcnNlCitp
bXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworZnJvbSBzZXRzIGltcG9ydCBTZXQKKwor
aGVhZGVyID0gIiIiLyoKKyogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKgor
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4gCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLy8g
RE8gTk8gRURJVCEgLSBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnZW5lcmF0ZVlhcnJDYW5v
bmljYWxpemVVbmljb2RlCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJZYXJyQ2Fu
b25pY2FsaXplLmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7CisKKyIiIgor
Citmb290ZXIgPSAiIiJ9IH0gLy8gSlNDOjpZYXJyCisiIiIKKworTWF4VW5pY29kZSA9IDB4MTBm
ZmZmCitjb21tb25BbmRTaW1wbGVMaW5lc1JFID0gcmUuY29tcGlsZShyIig/UDxjb2RlPlswLTlB
LUZdKylccyo7XHMqW0NTXVxzKjtccyooP1A8bWFwcGluZz5bMC05QS1GXSspIiwgcmUuSUdOT1JF
Q0FTRSkKKworZGVmIG9wZW5PckV4aXQocGF0aCwgbW9kZSk6CisgICAgdHJ5OgorICAgICAgICBk
aXJuYW1lID0gb3MucGF0aC5kaXJuYW1lKHBhdGgpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlz
ZGlyKGRpcm5hbWUpOgorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKKyAgICAgICAg
cmV0dXJuIG9wZW4ocGF0aCwgbW9kZSkKKyAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAg
ICBwcmludCAiSS9PIGVycm9yIG9wZW5pbmcgezB9LCAoezF9KTogezJ9Ii5mb3JtYXQocGF0aCwg
ZS5lcnJubywgZS5zdHJlcnJvcikKKyAgICAgICAgZXhpdCgxKQorCitjbGFzcyBDYW5vbmljYWxp
emU6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmNhbm9uaWNhbEdyb3Vw
cyA9IHt9OworCisgICAgZGVmIGFkZE1hcHBpbmcoc2VsZiwgY29kZSwgbWFwcGluZyk6CisgICAg
ICAgIGlmIG1hcHBpbmcgbm90IGluIHNlbGYuY2Fub25pY2FsR3JvdXBzOgorICAgICAgICAgICAg
c2VsZi5jYW5vbmljYWxHcm91cHNbbWFwcGluZ10gPSBbXQorICAgICAgICBzZWxmLmNhbm9uaWNh
bEdyb3Vwc1ttYXBwaW5nXS5hcHBlbmQoY29kZSkKKyAgICAgICAgCisgICAgZGVmIHJlYWRDYXNl
Rm9sZGluZyhzZWxmLCBmaWxlKToKKyAgICAgICAgY29kZXNTZWVuID0gU2V0KCkKKyAgICAgICAg
Zm9yIGxpbmUgaW4gZmlsZToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnNwbGl0KCcjJywgMSlb
MF0KKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgpCisgICAgICAgICAgICBpZiAobm90
IGxlbihsaW5lKSk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgZmll
bGRzID0gY29tbW9uQW5kU2ltcGxlTGluZXNSRS5tYXRjaChsaW5lKQorICAgICAgICAgICAgaWYg
KG5vdCBmaWVsZHMpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGNv
ZGUgPSBpbnQoZmllbGRzLmdyb3VwKCdjb2RlJyksIDE2KQorICAgICAgICAgICAgbWFwcGluZyA9
IGludChmaWVsZHMuZ3JvdXAoJ21hcHBpbmcnKSwgMTYpCisKKyAgICAgICAgICAgIGNvZGVzU2Vl
bi5hZGQoY29kZSkKKyAgICAgICAgICAgIHNlbGYuYWRkTWFwcGluZyhjb2RlLCBtYXBwaW5nKQor
CisgICAgICAgIGZvciBpIGluIHJhbmdlKE1heFVuaWNvZGUgKyAxKToKKyAgICAgICAgICAgIGlm
IGkgaW4gY29kZXNTZWVuOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICBzZWxmLmFkZE1hcHBpbmcoaSwgaSkKKworICAgIGRlZiBjcmVhdGVUYWJsZXMoc2VsZiwgZmls
ZSk6CisgICAgICAgIHR5cGVJbmZvID0gWyIiXSAqIChNYXhVbmljb2RlICsgMSkKKyAgICAgICAg
Y2hhcmFjdGVyU2V0cyA9IFtdCisKKyAgICAgICAgZm9yIG1hcHBpbmcgaW4gc29ydGVkKHNlbGYu
Y2Fub25pY2FsR3JvdXBzLmtleXMoKSk6CisgICAgICAgICAgICBjaGFyYWN0ZXJzID0gc2VsZi5j
YW5vbmljYWxHcm91cHNbbWFwcGluZ10KKyAgICAgICAgICAgIGlmIGxlbihjaGFyYWN0ZXJzKSA9
PSAxOgorICAgICAgICAgICAgICAgIHR5cGVJbmZvW2NoYXJhY3RlcnNbMF1dID0gIkNhbm9uaWNh
bGl6ZVVuaXF1ZTowIgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjaGFyYWN0
ZXJzLnNvcnQoKQorICAgICAgICAgICAgICAgIGlmIGxlbihjaGFyYWN0ZXJzKSA+IDI6CisgICAg
ICAgICAgICAgICAgICAgIGZvciBjaCBpbiBjaGFyYWN0ZXJzOgorICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZUluZm9bY2hdID0gIkNhbm9uaWNhbGl6ZVNldDolZCIgJSBsZW4oY2hhcmFjdGVy
U2V0cykKKyAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0cy5hcHBlbmQoY2hhcmFjdGVy
cykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBsb3cgPSBjaGFy
YWN0ZXJzWzBdCisgICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBjaGFyYWN0ZXJzWzFdCisgICAg
ICAgICAgICAgICAgICAgIGRlbHRhID0gaGlnaCAtIGxvdworICAgICAgICAgICAgICAgICAgICBp
ZiBkZWx0YSA9PSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICJDYW5vbmljYWxp
emVBbHRlcm5hdGluZ1VuYWxpZ25lZDowIiBpZiBsb3cgJiAxIGVsc2UgIkNhbm9uaWNhbGl6ZUFs
dGVybmF0aW5nQWxpZ25lZDowIgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9bbG93
XSA9IHR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVJbmZvW2hpZ2hdID0gdHlwZQor
ICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUlu
Zm9bbG93XSA9ICJDYW5vbmljYWxpemVSYW5nZUxvOiVkIiAlIGRlbHRhCisgICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlSW5mb1toaWdoXSA9ICJDYW5vbmljYWxpemVSYW5nZUhpOiVkIiAlIGRl
bHRhCisKKyAgICAgICAgcmFuZ2VJbmZvID0gW10KKyAgICAgICAgZW5kID0gMAorICAgICAgICB3
aGlsZSBlbmQgPD0gTWF4VW5pY29kZToKKyAgICAgICAgICAgIGJlZ2luID0gZW5kCisgICAgICAg
ICAgICB0eXBlID0gdHlwZUluZm9bZW5kXQorICAgICAgICAgICAgd2hpbGUgZW5kIDwgTWF4VW5p
Y29kZSBhbmQgdHlwZUluZm9bZW5kICsgMV0gPT0gdHlwZToKKyAgICAgICAgICAgICAgICBlbmQg
PSBlbmQgKyAxCisgICAgICAgICAgICByYW5nZUluZm8uYXBwZW5kKHsiYmVnaW4iOiBiZWdpbiwg
ImVuZCI6IGVuZCwgInR5cGUiOiB0eXBlfSkKKyAgICAgICAgICAgIGVuZCA9IGVuZCArIDEKKyAg
ICAgICAgCisgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihjaGFyYWN0ZXJTZXRzKSk6CisgICAg
ICAgICAgICBjaGFyYWN0ZXJzID0gIiIKKyAgICAgICAgICAgIHNldCA9IGNoYXJhY3RlclNldHNb
aV0KKyAgICAgICAgICAgIGZvciBjaCBpbiBzZXQ6CisgICAgICAgICAgICAgICAgY2hhcmFjdGVy
cyA9IGNoYXJhY3RlcnMgKyAiMHh7Y2hhcmFjdGVyOjA0eH0sICIuZm9ybWF0KGNoYXJhY3Rlcj1j
aCkKKyAgICAgICAgICAgIGZpbGUud3JpdGUoImNvbnN0IFVDaGFyMzIgdW5pY29kZUNoYXJhY3Rl
clNldHtpbmRleDpkfVtdID0ge3sge2NoYXJhY3RlcnN9MCB9fTtcbiIuZm9ybWF0KGluZGV4PWks
IGNoYXJhY3RlcnM9Y2hhcmFjdGVycykpCisKKyAgICAgICAgZmlsZS53cml0ZSgiXG4iKQorICAg
ICAgICBmaWxlLndyaXRlKCJzdGF0aWMgY29uc3Qgc2l6ZV90IFVOSUNPREVfQ0FOT05JQ0FMSVpB
VElPTl9TRVRTID0ge3NldENvdW50OmR9O1xuIi5mb3JtYXQoc2V0Q291bnQ9bGVuKGNoYXJhY3Rl
clNldHMpKSkKKyAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgVUNoYXIzMiogY29uc3QgdW5pY29k
ZUNoYXJhY3RlclNldEluZm9bVU5JQ09ERV9DQU5PTklDQUxJWkFUSU9OX1NFVFNdID0ge1xuIikK
KworICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oY2hhcmFjdGVyU2V0cykpOgorICAgICAgICAg
ICAgZmlsZS53cml0ZSgiICAgIHVuaWNvZGVDaGFyYWN0ZXJTZXR7c2V0TnVtYmVyOmR9LFxuIi5m
b3JtYXQoc2V0TnVtYmVyPWkpKQorCisgICAgICAgIGZpbGUud3JpdGUoIn07XG4iKQorICAgICAg
ICBmaWxlLndyaXRlKCJcbiIpCisgICAgICAgIGZpbGUud3JpdGUoImNvbnN0IHNpemVfdCBVTklD
T0RFX0NBTk9OSUNBTElaQVRJT05fUkFOR0VTID0ge3JhbmdlQ291bnQ6ZH07XG4iLmZvcm1hdChy
YW5nZUNvdW50PWxlbihyYW5nZUluZm8pKSkKKyAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgQ2Fu
b25pY2FsaXphdGlvblJhbmdlIHVuaWNvZGVSYW5nZUluZm9bVU5JQ09ERV9DQU5PTklDQUxJWkFU
SU9OX1JBTkdFU10gPSB7XG4iKQorCisgICAgICAgIGZvciBpbmZvIGluIHJhbmdlSW5mbzoKKyAg
ICAgICAgICAgIHR5cGVBbmRWYWx1ZSA9IGluZm9bInR5cGUiXS5zcGxpdCgiOiIpCisgICAgICAg
ICAgICBmaWxlLndyaXRlKCIgICAge3sgMHh7YmVnaW46MDR4fSwgMHh7ZW5kOjA0eH0sIDB4e3Zh
bHVlOjA0eH0sIHt0eXBlfSB9fSxcbiIuZm9ybWF0KGJlZ2luPWluZm9bImJlZ2luIl0sIGVuZD1p
bmZvWyJlbmQiXSwgdmFsdWU9aW50KHR5cGVBbmRWYWx1ZVsxXSksIHR5cGU9dHlwZUFuZFZhbHVl
WzBdKSkKKworICAgICAgICBmaWxlLndyaXRlKCJ9O1xuIikKKyAgICAgICAgZmlsZS53cml0ZSgi
XG4iKQorCisgICAgICAgIAoraWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIg
PSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2UgPSAidXNhZ2U6ICVwcm9nICA8Q2FzZUZvbGRp
bmcudHh0PiA8WWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuaD4iKQorICAgIChvcHRpb25zLCBhcmdz
KSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGlmIGxlbihhcmdzKSAhPSAyOgorICAgICAg
ICBwYXJzZXIuZXJyb3IoIjxDYXNlRm9sZGluZy50eHQ+IDxZYXJyQ2Fub25pY2FsaXplVW5pY29k
ZS5oPiIpCisKKyAgICBjYXNlRm9sZGluZ1R4dFBhdGggPSBhcmdzWzBdCisgICAgY2Fub25pY2Fs
aXplSFBhdGggPSBhcmdzWzFdCisgICAgY2FzZUZvbGRpbmdUeHRGaWxlID0gb3Blbk9yRXhpdChj
YXNlRm9sZGluZ1R4dFBhdGgsICJyIikKKyAgICBjYW5vbmljYWxpemVIRmlsZSA9IG9wZW5PckV4
aXQoY2Fub25pY2FsaXplSFBhdGgsICJ3YiIpCisKKyAgICBjYW5vbmljYWxpemUgPSBDYW5vbmlj
YWxpemUoKQorICAgIGNhbm9uaWNhbGl6ZS5yZWFkQ2FzZUZvbGRpbmcoY2FzZUZvbGRpbmdUeHRG
aWxlKQorCisgICAgY2Fub25pY2FsaXplSEZpbGUud3JpdGUoaGVhZGVyKTsKKyAgICBjYW5vbmlj
YWxpemUuY3JlYXRlVGFibGVzKGNhbm9uaWNhbGl6ZUhGaWxlKQorICAgIGNhbm9uaWNhbGl6ZUhG
aWxlLndyaXRlKGZvb3Rlcik7CisKKyAgICBjYXNlRm9sZGluZ1R4dEZpbGUuY2xvc2UoKQorICAg
IGNhbm9uaWNhbGl6ZUhGaWxlLmNsb3NlKCkKKworICAgIGV4aXQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291
cmNlL1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXgg
ODY3NTNmNzM5NWIyZjMzNTJkZGM5OGJkYjc3YTEyZjQzYTgxMzEwYS4uZTZiNmJhYTkxYmQxODFi
ZTFiNmFkMTYyODAyNzQ1Yjk1YjM1NzFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3Jp
cHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTI5LDEzICsyOSwxNyBA
QCBTQ1JJUFRfTkFNRSA9IEZpbGUuYmFzZW5hbWUoJDApCiBDT01NRU5UX1JFR0VYUCA9IC8jLwog
CiBkZWYgdXNhZ2UKLSAgICBwdXRzICJ1c2FnZTogI3tTQ1JJUFRfTkFNRX0gW29wdGlvbnNdIC1w
IDxkZXNpbmF0aW9uLXBhdGg+IDxzb3VyY2VzLWZpbGU+IgorICAgIHB1dHMgInVzYWdlOiAje1ND
UklQVF9OQU1FfSBbb3B0aW9uc10gPHNvdXJjZXMtZmlsZT4iCiAgICAgcHV0cyAiLS1oZWxwICAg
ICAgICAgICAgICAgICAgICAgICAgICAoLWgpIFByaW50IHRoaXMgbWVzc2FnZSIKICAgICBwdXRz
ICItLXZlcmJvc2UgICAgICAgICAgICAgICAgICAgICAgICgtdikgQWRkcyBleHRyYSBsb2dnaW5n
IHRvIHN0ZGVyci4iCisgICAgcHV0cyAiUmVxdWlyZWQgYXJndW1lbnRzOiIKKyAgICBwdXRzICIt
LXNvdXJjZS10cmVlLXBhdGggICAgICAgICAgICAgICgtcykgUGF0aCB0byB0aGUgcm9vdCBvZiB0
aGUgc291cmNlIGRpcmVjdG9yeS4iCisgICAgcHV0cyAiLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCAg
ICAgICAgICAoLWQpIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgdW5pZmllZCBzb3Vy
Y2UgZmlsZXMgc2hvdWxkIGJlIHBsYWNlZC4iCisgICAgcHV0cworICAgIHB1dHMgIk9wdGlvbmFs
IGFyZ3VtZW50czoiCiAgICAgcHV0cyAiLS1wcmludC1idW5kbGVkLXNvdXJjZXMgICAgICAgICAg
ICAgIFByaW50IGJ1bmRsZWQgc291cmNlcyByYXRoZXIgdGhhbiBnZW5lcmF0aW5nIHNvdXJjZXMi
CiAgICAgcHV0cwogICAgIHB1dHMgIkdlbmVyYXRpb24gb3B0aW9uczoiCi0gICAgcHV0cyAiLS1k
ZXJpdmVkLXNvdXJjZXMtcGF0aCAgICAgICAgICAoLXApIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3
aGVyZSB0aGUgdW5pZmllZCBzb3VyY2UgZmlsZXMgc2hvdWxkIGJlIHBsYWNlZC4gVGhpcyBhcmd1
bWVudCBpcyByZXF1aXJlZC4iCiAgICAgcHV0cyAiLS1tYXgtY3BwLWJ1bmRsZS1jb3VudCAgICAg
ICAgICAgICAgIFNldHMgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgY3BwIGJ1bmRsZXMgdGhh
dCBjYW4gYmUgZ2VuZXJhdGVkIgogICAgIHB1dHMgIi0tbWF4LW9iai1jLWJ1bmRsZS1jb3VudCAg
ICAgICAgICAgICBTZXRzIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIE9iai1DIGJ1bmRsZXMg
dGhhdCBjYW4gYmUgZ2VuZXJhdGVkIgogICAgIGV4aXQgMQpAQCAtNDMsNiArNDcsOCBAQCBlbmQK
IAogTUFYX0JVTkRMRV9TSVpFID0gOAogJGRlcml2ZWRTb3VyY2VzUGF0aCA9IG5pbAorJHVuaWZp
ZWRTb3VyY2VPdXRwdXRQYXRoID0gbmlsCiskc291cmNlVHJlZVBhdGggPSBuaWwKICR2ZXJib3Nl
ID0gZmFsc2UKICRtb2RlID0gOkdlbmVyYXRlQnVuZGxlcwogJG1heENwcEJ1bmRsZUNvdW50ID0g
MTAwMDAwCkBAIC01NCw4ICs2MCw5IEBAIGVuZAogCiBHZXRvcHRMb25nLm5ldyhbJy0taGVscCcs
ICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS12ZXJi
b3NlJywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyct
LWRlcml2ZWQtc291cmNlcy1wYXRoJywgJy1kJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1F
TlRdLAorICAgICAgICAgICAgICAgWyctLXNvdXJjZS10cmVlLXBhdGgnLCAnLXMnLCBHZXRvcHRM
b25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tcHJpbnQtYnVuZGxl
ZC1zb3VyY2VzJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAotICAgICAgICAgICAgICAgWyct
LWRlcml2ZWQtc291cmNlcy1wYXRoJywgJy1wJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1F
TlRdLAogICAgICAgICAgICAgICAgWyctLW1heC1jcHAtYnVuZGxlLWNvdW50JywgR2V0b3B0TG9u
Zzo6UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgWyctLW1heC1vYmotYy1idW5k
bGUtY291bnQnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0pLmVhY2ggewogICAgIHwg
b3B0LCBhcmcgfApAQCAtNjQsMTEgKzcxLDE1IEBAIEdldG9wdExvbmcubmV3KFsnLS1oZWxwJywg
Jy1oJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICB1c2FnZQogICAgIHdoZW4g
Jy0tdmVyYm9zZScKICAgICAgICAgJHZlcmJvc2UgPSB0cnVlCi0gICAgd2hlbiAiLS1wcmludC1i
dW5kbGVkLXNvdXJjZXMiCi0gICAgICAgICRtb2RlID0gOlByaW50QnVuZGxlZFNvdXJjZXMKICAg
ICB3aGVuICctLWRlcml2ZWQtc291cmNlcy1wYXRoJwotICAgICAgICAkZGVyaXZlZFNvdXJjZXNQ
YXRoID0gUGF0aG5hbWUubmV3KGFyZykgKyBQYXRobmFtZS5uZXcoInVuaWZpZWQtc291Y2VzIikK
LSAgICAgICAgRmlsZVV0aWxzLm1rZGlyKCRkZXJpdmVkU291cmNlc1BhdGgpIGlmICEkZGVyaXZl
ZFNvdXJjZXNQYXRoLmV4aXN0PworICAgICAgICAkZGVyaXZlZFNvdXJjZXNQYXRoID0gUGF0aG5h
bWUubmV3KGFyZykKKyAgICAgICAgJHVuaWZpZWRTb3VyY2VPdXRwdXRQYXRoID0gJGRlcml2ZWRT
b3VyY2VzUGF0aCArIFBhdGhuYW1lLm5ldygidW5pZmllZC1zb3VyY2VzIikKKyAgICAgICAgRmls
ZVV0aWxzLm1rZGlyKCR1bmlmaWVkU291cmNlT3V0cHV0UGF0aCkgaWYgISR1bmlmaWVkU291cmNl
T3V0cHV0UGF0aC5leGlzdD8KKyAgICB3aGVuICctLXNvdXJjZS10cmVlLXBhdGgnCisgICAgICAg
ICRzb3VyY2VUcmVlUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpCisgICAgICAgIHVzYWdlIGlmICEk
c291cmNlVHJlZVBhdGguZXhpc3Q/CisgICAgd2hlbiAnLS1wcmludC1idW5kbGVkLXNvdXJjZXMn
CisgICAgICAgICRtb2RlID0gOlByaW50QnVuZGxlZFNvdXJjZXMKICAgICB3aGVuICctLW1heC1j
cHAtYnVuZGxlLWNvdW50JwogICAgICAgICAkbWF4Q3BwQnVuZGxlQ291bnQgPSBhcmcudG9faQog
ICAgIHdoZW4gJy0tbWF4LW9iai1jLWJ1bmRsZS1jb3VudCcKQEAgLTc2LDEwICs4Nyw5IEBAIEdl
dG9wdExvbmcubmV3KFsnLS1oZWxwJywgJy1oJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAog
ICAgIGVuZAogfQogCi1pZiAkbW9kZSA9PSA6R2VuZXJhdGVCdW5kbGVzCi0gICAgdXNhZ2UgaWYg
ISRkZXJpdmVkU291cmNlc1BhdGgKLSAgICBsb2coInB1dHRpbmcgdW5pZmllZCBzb3VyY2VzIGlu
ICN7JGRlcml2ZWRTb3VyY2VzUGF0aH0iKQotZW5kCit1c2FnZSBpZiAhJHVuaWZpZWRTb3VyY2VP
dXRwdXRQYXRoIHx8ICEkc291cmNlVHJlZVBhdGgKK2xvZygicHV0dGluZyB1bmlmaWVkIHNvdXJj
ZXMgaW4gI3skdW5pZmllZFNvdXJjZU91dHB1dFBhdGh9IikKKwogdXNhZ2UgaWYgQVJHVi5sZW5n
dGggPT0gMAogJGdlbmVyYXRlZFNvdXJjZXMgPSBbXQogCkBAIC0xMDQsNiArMTE0LDE5IEBAIGNs
YXNzIFNvdXJjZUZpbGUgPCBQYXRobmFtZQogCiAgICAgICAgIHN1cGVyKGZpbGUpCiAgICAgZW5k
CisKKyAgICBkZWYgZGVyaXZlZD8KKyAgICAgICAgcmV0dXJuIEBkZXJpdmVkIGlmIEBkZXJpdmVk
ICE9IG5pbAorICAgICAgICBAZGVyaXZlZCA9ICEoJHNvdXJjZVRyZWVQYXRoICsgc2VsZikuZXhp
c3Q/CisgICAgZW5kCisKKyAgICBkZWYgZGlzcGxheQorICAgICAgICBpZiAkbW9kZSA9PSA6R2Vu
ZXJhdGVCdW5kbGVzIHx8ICFkZXJpdmVkPworICAgICAgICAgICAgc2VsZi50b19zCisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICgkZGVyaXZlZFNvdXJjZXNQYXRoICsgc2VsZikudG9fcworICAg
ICAgICBlbmQKKyAgICBlbmQKIGVuZAogCiBjbGFzcyBCdW5kbGVNYW5hZ2VyCkBAIC0xMjgsNyAr
MTUxLDcgQEAgY2xhc3MgQnVuZGxlTWFuYWdlcgogICAgICAgICAgICAgcmFpc2UgIm51bWJlciBv
ZiBidW5kbGVzIGZvciAje2V4dGVuc2lvbn0gc291cmNlcywgI3tAYnVuZGxlQ291bnR9LCBleGNl
ZWRlZCBsaW1pdCwgI3tAbWF4Q291bnR9LiBQbGVhc2UgYWRkICN7YnVuZGxlRmlsZU5hbWV9IHRv
IFhjb2RlIHRoZW4gdXBkYXRlIFVuaWZpZWRTb3VyY2Uje2V4dGVuc2lvbi5jYXBpdGFsaXplfUZp
bGVDb3VudCIKICAgICAgICAgZW5kCiAKLSAgICAgICAgYnVuZGxlRmlsZSA9ICRkZXJpdmVkU291
cmNlc1BhdGggKyBidW5kbGVGaWxlTmFtZQorICAgICAgICBidW5kbGVGaWxlID0gJHVuaWZpZWRT
b3VyY2VPdXRwdXRQYXRoICsgYnVuZGxlRmlsZU5hbWUKICAgICAgICAgJGdlbmVyYXRlZFNvdXJj
ZXMgPDwgYnVuZGxlRmlsZQogICAgICAgICBpZiAoIWJ1bmRsZUZpbGUuZXhpc3Q/IHx8IElPOjpy
ZWFkKGJ1bmRsZUZpbGUpICE9IEBjdXJyZW50QnVuZGxlVGV4dCkKICAgICAgICAgICAgIGxvZygi
d3JpdGluZyBidW5kbGUgI3tidW5kbGVGaWxlfSB3aXRoOiBcbiN7QGN1cnJlbnRCdW5kbGVUZXh0
fSIpCkBAIC0xODMsNyArMjA2LDYgQEAgQVJHVi5lYWNoIHsKIAogICAgIGxvZygiZm91bmQgI3tz
b3VyY2VzLmxlbmd0aH0gc291cmNlIGZpbGVzIGluICN7c291cmNlc0ZpbGV9IikKIAotICAgIGN1
cnJlbnREaXJlY3RvcnkgPSBuaWwKICAgICBzb3VyY2VzLnNvcnQuZWFjaCB7CiAgICAgICAgIHwg
ZmlsZSB8CiAKQEAgLTIwMiw0ICsyMjQsNiBAQCBBUkdWLmVhY2ggewogIyBXZSB1c2Ugc3Rkb3V0
IHRvIHJlcG9ydCBvdXIgdW5pZmllZCBzb3VyY2UgbGlzdCB0byBDTWFrZS4KICMgQWRkIHRyYWls
aW5nIHNlbWljb2xvbiBzaW5jZSBDTWFrZSBzZWVtcyBkaXNsaWtlcyBub3QgaGF2aW5nIGl0Lgog
IyBBbHNvLCBtYWtlIHN1cmUgd2UgdXNlIHByaW50IGluc3RlYWQgb2YgcHV0cyBiZWNhdXNlIENN
YWtlIHdpbGwgdGhpbmsgdGhlIFxuIGlzIGEgc291cmNlIGZpbGUgYW5kIGZhaWwgdG8gYnVpbGQu
CisKKyRnZW5lcmF0ZWRTb3VyY2VzLm1hcCEgeyB8cGF0aHwgcGF0aC5kaXNwbGF5IH0gaWYgJG1v
ZGUgPT0gOlByaW50QnVuZGxlZFNvdXJjZXMKIHByaW50KCRnZW5lcmF0ZWRTb3VyY2VzLmpvaW4o
IjsiKSArICI7IikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0TWFjcm9zLmNtYWtlCmluZGV4IGNhNzEyYjI4NmRkNGVmNWQ1
NDA5YzZkZTkxYmM2MDMzYjczNjY3M2IuLjhmNGFjODFjMzU3NzE2NWM1YzUwNzFlOTMxZWNiZDli
YWUwNmQ0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL1dlYktpdE1hY3Jvcy5jbWFrZQpAQCAtMTcsNiArMTcsOCBAQCBtYWNy
byhXRUJLSVRfQ09NUFVURV9TT1VSQ0VTIF9mcmFtZXdvcmspCiAgICAgZW5kaWYgKCkKIAogICAg
IGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAke1dURl9TQ1JJUFRT
X0RJUn0vZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorICAgICAgICAiLS1kZXJp
dmVkLXNvdXJjZXMtcGF0aCIgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vJHtfZnJhbWV3b3JrfSIK
KyAgICAgICAgIi0tc291cmNlLXRyZWUtcGF0aCIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
CiAgICAgICAgICItLXByaW50LWJ1bmRsZWQtc291cmNlcyIKICAgICAgICAgJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L1NvdXJjZXMudHh0CiAgICAgICAgICR7X3BsYXRmb3JtU291cmNlc0Zp
bGV9CkBAIC0zNSw2ICszNyw3IEBAIG1hY3JvKFdFQktJVF9DT01QVVRFX1NPVVJDRVMgX2ZyYW1l
d29yaykKIAogICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAk
e1dURl9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgogICAg
ICAgICAiLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCIgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vJHtf
ZnJhbWV3b3JrfSIKKyAgICAgICAgIi0tc291cmNlLXRyZWUtcGF0aCIgJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9CiAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9Tb3VyY2Vz
LnR4dAogICAgICAgICAke19wbGF0Zm9ybVNvdXJjZXNGaWxlfQogICAgICAgICBSRVNVTFRfVkFS
SUFCTEUgIF9yZXN1bHRUbXAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCBjOGRmMmYxOTFkNzY2MzFmNzQyMTY2NDc5NGIzYzUwYWJhZDkzZjQ1Li5lMWIxYjBiYjY5MmNi
ZWMxYTMzOWM1Yzg2NjRlODhhOTJkZTQwODkzIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDktMjQgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAgICAgICAgSlNDIGJ1aWxkIHNob3VsZCB1c2UgdW5p
ZmllZCBzb3VyY2VzIGZvciBkZXJpdmVkIHNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzQyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdE1hY3Jvcy5jbWFr
ZToKKwogMjAxNy0wOS0yMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dpbl0gV2ViS2l0IGlzIGJ1aWx0IGFzIGEgc3RhdGljIGxpYnJhcnksIGFuZCBu
b3QgYXMgYSBkbGwuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321813</attachid>
            <date>2017-09-26 07:15:37 -0700</date>
            <delta_ts>2017-09-26 08:16:31 -0700</delta_ts>
            <desc>Try without JSCBuiltins</desc>
            <filename>bug-177421-20170926071536.patch</filename>
            <type>text/plain</type>
            <size>69132</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDA1MjdmMTQwNzIzNDVkM2ZhMzliZGVmYTVlZDgwZWRjYTYyOTQ4Li5jOWFmYmI0NDYyMWUzMGIx
MzRiZjcwMjZmZGU1Y2MzMzg0NzU3MzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNy0wOS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBKU0MgYnVpbGQgc2hvdWxkIHVzZSB1bmlmaWVkIHNvdXJjZXMgZm9y
IGRlcml2ZWQgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBtYWtlIGEgY291cGxlIG9mIGNoYW5nZXM6CisKKyAgICAgICAg
MSkgTWFrZSBkZXJpdmVkIHNvdXJjZXMgYWRkZWQgdG8gcmVsZXZhbnQgYnVuZGxlcy4gSSBjaG9z
ZSBydW50aW1lIGZvciBKU0NCdWlsdGlucy5jcHAgc2luY2UgaXQganVzdCBkZWZpbmVzIGEgYnVu
Y2ggb2YgdGV4dCBhbnl3YXkuCisgICAgICAgIDIpIE1vdmUgdGhlIGRlcml2ZWQgbG9jYXRpb24g
b2Ygc29tZSBzb3VyY2VzIGJvdGggZm9yIGNsYXJpdHkgYW5kIGZvciBlYXNlIG9mIHVzZS4KKyAg
ICAgICAgMykgTWFrZSBhdXRvIGdlbmVyYXRvciBzY3JpcHRzIGFibGUgdG8gY3JlYXRlIGRpcmVj
dG9yaWVzIGlmIG5lZWRlZC4KKyAgICAgICAgNCkgTW92ZSBzb21lIHNjcmlwdHMgZnJvbSB0aGUg
dG9wIGxldmVsIG9mIHRoZSBKYXZhU2NyaXB0Q29yZSBkaXJlY3RvcnkgdG8gYSBtb3JlIGFwcHJv
cHJpYXRlIGRpcmVjdG9yeS4KKyAgICAgICAgNSkgTW92ZSBzb21lIENNYWtlIGdlbmVyYXRpb24g
Y29tbWFuZHMgYXJvdW5kIGZvciBjbGFyaXR5LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNjcmlwdHMvbGF6eXdyaXRl
ci5weToKKyAgICAgICAgKExhenlGaWxlV3JpdGVyLmNsb3NlKToKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHk6CisgICAgICAgIChJbmNyZW1lbnRhbEZpbGVXcml0ZXIuY2xvc2Up
OgorICAgICAgICAqIHlhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlczogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzLgorICAgICAgICAqIHlhcnIvZ2Vu
ZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZTogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlLgorCiAyMDE3LTA5LTIzICBP
bGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCiAgICAgICAgIFtFU05l
eHRdIEFzeW5jIGl0ZXJhdGlvbiAtIEltcGxlbWVudCBBc3luYyBHZW5lcmF0b3IgLSBvcHRpbWl6
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFu
Z2VMb2cKaW5kZXggNGIwZGY3Y2M4MmQzODc2MWQ4YTcxMTVmMTEyZGYxN2QzZDVjNGQyNi4uODEw
ODFiMjYyYTMzMjYzYTAyZTJjNzMzNDI4NWZiZTVhNTk0Nzg5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBA
QAorMjAxNy0wOS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBKU0MgYnVpbGQgc2hvdWxkIHVzZSB1bmlmaWVkIHNvdXJjZXMgZm9yIGRlcml2ZWQg
c291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc3NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VGhlIHNjcmlwdCBub3cgbmVlZHMgdG8gZGV0ZXJtaW5lIGlmIGEgZmlsZSBpcyBmcm9tIGEgZGVy
aXZlZAorICAgICAgICBzb3VyY2UuICBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9yIHRoZSBDTWFr
ZSBidWlsZCBzaW5jZSB0aGUKKyAgICAgICAgc2NyaXB0IG5lZWRzIHRvIHByb3ZpZGUgYSBsaXN0
IG9mIHRoZSBidW5kbGVkIHNvdXJjZSBmaWxlcy4gSWYgdGhlCisgICAgICAgIHNjcmlwdCBkb2Vz
IG5vdCBwcm92aWRlIHRoZSBmdWxsIHBhdGggZm9yIGRlcml2ZWQgc291cmNlcyB0aGVuCisgICAg
ICAgIENNYWtlIHdpbGwgYmUgdW5hYmxlIHRvIGZpbmQgdGhlbSBhbmQgdGhlIGJ1aWxkIHdpbGwg
ZmFpbC4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxl
cy5yYjoKKwogMjAxNy0wOS0yMyAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBw
bGUuY29tPgogCiAgICAgICAgIEltYWdlcyBtYXkgcmVuZGVyIHBhcnRpYWwgZnJhbWVzIGV2ZW4g
YWZ0ZXIgbG9hZGluZyBhbGwgdGhlIGVuY29kZWQgZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDk0MmQzZjg4MDIwZWQ4YzU2MDFmZmU0M2NiMTM1N2M4NmQ3ZmE2NGMu
LmY5ZDZiMjMyYjgzNDVmNzRkZTU5ZGRlNjhhNmVkMzcyZWU3ZTA3MzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQwLDYgKzQwLDggQEAgc2V0KEphdmFTY3JpcHRDb3Jl
X0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfSIKICAg
ICAiJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfSIKICAgICAiJHtERVJJVkVE
X1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IiCisgICAgIiR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vcnVudGltZSIKKyAgICAiJHtERVJJVkVEX1NPVVJD
RVNfSkFWQVNDUklQVENPUkVfRElSfS95YXJyIgogKQogCiBzZXQoSmF2YVNjcmlwdENvcmVfU1lT
VEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKQEAgLTM1NiwyNCArMzU4LDIwIEBAIEdFTkVSQVRFX0hB
U0hfTFVUKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9wYXJzZXIvS2V5d29yZHMudGFibGUg
JHtERVJJVkVEX1NPCiAKICNHRU5FUkFUT1I6ICJSZWdFeHBKaXRUYWJsZXMuaCI6IHRhYmxlcyB1
c2VkIGJ5IFlhcnIKIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICBPVVRQVVQgJHtERVJJVkVEX1NP
VVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9SZWdFeHBKaXRUYWJsZXMuaAotICAgIE1BSU5fREVQ
RU5ERU5DWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vY3JlYXRlX3JlZ2V4X3RhYmxlcwot
ICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E
SVJ9L2NyZWF0ZV9yZWdleF90YWJsZXMgPiAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09S
RV9ESVJ9L1JlZ0V4cEppdFRhYmxlcy5oCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pB
VkFTQ1JJUFRDT1JFX0RJUn0veWFyci9SZWdFeHBKaXRUYWJsZXMuaAorICAgIE1BSU5fREVQRU5E
RU5DWSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0veWFyci9jcmVhdGVfcmVnZXhfdGFibGVz
CisgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0NNQUtFX0NVUlJFTlRfU09VUkNF
X0RJUn0veWFyci9jcmVhdGVfcmVnZXhfdGFibGVzICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJ
UFRDT1JFX0RJUn0veWFyci9SZWdFeHBKaXRUYWJsZXMuaAogICAgIFZFUkJBVElNKQotbGlzdChB
UFBFTkQgSmF2YVNjcmlwdENvcmVfSEVBREVSUyAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBU
Q09SRV9ESVJ9L1JlZ0V4cEppdFRhYmxlcy5oKQotV0VCS0lUX0FERF9TT1VSQ0VfREVQRU5ERU5D
SUVTKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS95YXJyL1lhcnJQYXR0ZXJuLmNwcCAke0RF
UklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1JlZ0V4cEppdFRhYmxlcy5oKQorbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfSEVBREVSUyAke0RFUklWRURfU09VUkNFU19KQVZBU0NS
SVBUQ09SRV9ESVJ9L3lhcnIvUmVnRXhwSml0VGFibGVzLmgpCitXRUJLSVRfQUREX1NPVVJDRV9E
RVBFTkRFTkNJRVMoJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3lhcnIvWWFyclBhdHRlcm4u
Y3BwICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyci9SZWdFeHBKaXRU
YWJsZXMuaCkKIAogYWRkX2N1c3RvbV9jb21tYW5kKAotICAgIE9VVFBVVCAke0RFUklWRURfU09V
UkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAotICAg
IE1BSU5fREVQRU5ERU5DWSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vZ2VuZXJhdGVZYXJyQ2Fub25p
Y2FsaXplVW5pY29kZQorICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09S
RV9ESVJ9L3lhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCisgICAgTUFJTl9ERVBFTkRF
TkNZICR7SkFWQVNDUklQVENPUkVfRElSfS95YXJyL2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVu
aWNvZGUKICAgICBERVBFTkRTICR7SkFWQVNDUklQVENPUkVfRElSfS91Y2QvQ2FzZUZvbGRpbmcu
dHh0Ci0gICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
dWNkL0Nhc2VGb2xkaW5nLnR4dCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9
L1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAorICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VU
QUJMRX0gJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXpl
VW5pY29kZSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vdWNkL0Nhc2VGb2xkaW5nLnR4dCAke0RFUklW
RURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNv
ZGUuY3BwCiAgICAgVkVSQkFUSU0pCiAKLWxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NPVVJD
RVMKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L1lhcnJDYW5vbmlj
YWxpemVVbmljb2RlLmNwcAotKQotCiAjR0VORVJBVE9SOiAiS2V5d29yZExvb2t1cC5oIjoga2V5
d29yZCBkZWNpc2lvbiB0cmVlIHVzZWQgYnkgdGhlIGxleGVyCiBhZGRfY3VzdG9tX2NvbW1hbmQo
CiAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vS2V5d29y
ZExvb2t1cC5oCkBAIC01MjIsMzIgKzUyMCwxMiBAQCBzZXQoSmF2YVNjcmlwdENvcmVfQlVJTFRJ
TlNfU09VUkNFUwogKQogCiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7REVSSVZF
RF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQWlyT3Bjb2RlLmggJHtERVJJVkVEX1NPVVJD
RVNfSkFWQVNDUklQVENPUkVfRElSfS9BaXJPcGNvZGVHZW5lcmF0ZWQuaAotICAgIE1BSU5fREVQ
RU5ERU5DWSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYjMvYWlyL0Fpck9wY29kZS5vcGNvZGVzCi0g
ICAgREVQRU5EUyAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYjMvYWlyL29wY29kZV9nZW5lcmF0b3Iu
cmIKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0v
YjMvYWlyL29wY29kZV9nZW5lcmF0b3IucmIgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9B
aXJPcGNvZGUub3Bjb2RlcyBWRVJCQVRJTQotICAgIFdPUktJTkdfRElSRUNUT1JZICR7REVSSVZF
RF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0KLSkKLQotbGlzdChBUFBFTkQgSmF2YVNjcmlw
dENvcmVfSEVBREVSUwotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0v
QWlyT3Bjb2RlLmgKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0Fp
ck9wY29kZUdlbmVyYXRlZC5oCi0pCi0KLWFkZF9jdXN0b21fY29tbWFuZCgKICAgICBPVVRQVVQg
JHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9KU0NCdWlsdGlucy5jcHAgJHtE
RVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9KU0NCdWlsdGlucy5oCiAgICAgTUFJ
Tl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWpzLWJ1
aWx0aW5zLnB5CiAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3JlX0JVSUxUSU5TX1NPVVJDRVN9
ICR7QlVJTFRJTlNfR0VORVJBVE9SX1NDUklQVFN9CiAgICAgQ09NTUFORCAke1BZVEhPTl9FWEVD
VVRBQkxFfSAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlu
cy5weSAtLWZyYW1ld29yayBKYXZhU2NyaXB0Q29yZSAtLW91dHB1dC1kaXJlY3RvcnkgJHtERVJJ
VkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfSAtLWNvbWJpbmVkICR7SmF2YVNjcmlwdENv
cmVfQlVJTFRJTlNfU09VUkNFU30KICAgICBWRVJCQVRJTSkKIAotbGlzdChBUFBFTkQgSmF2YVNj
cmlwdENvcmVfU09VUkNFUwotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKLSAgICAke0RFUklW
RURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmNwcAotICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vaW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKLSAgICAke0RFUklWRURf
U09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0pTQ0J1aWx0aW5zLmNwcAotKQotCiBsaXN0KEFQ
UEVORCBKYXZhU2NyaXB0Q29yZV9IRUFERVJTCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVND
UklQVENPUkVfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKICAg
ICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKQEAgLTU1Niw2ICs1MzQsMTkgQEAgbGlzdChBUFBFTkQg
SmF2YVNjcmlwdENvcmVfSEVBREVSUwogKQogCiBhZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgT1VU
UFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQWlyT3Bjb2RlLmggJHtE
RVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9BaXJPcGNvZGVHZW5lcmF0ZWQuaAor
ICAgIE1BSU5fREVQRU5ERU5DWSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYjMvYWlyL0Fpck9wY29k
ZS5vcGNvZGVzCisgICAgREVQRU5EUyAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vYjMvYWlyL29wY29k
ZV9nZW5lcmF0b3IucmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAke0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vYjMvYWlyL29wY29kZV9nZW5lcmF0b3IucmIgJHtKQVZBU0NSSVBUQ09SRV9E
SVJ9L2IzL2Fpci9BaXJPcGNvZGUub3Bjb2RlcyBWRVJCQVRJTQorICAgIFdPUktJTkdfRElSRUNU
T1JZICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0KKykKKworbGlzdChBUFBF
TkQgSmF2YVNjcmlwdENvcmVfSEVBREVSUworICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJ
UFRDT1JFX0RJUn0vQWlyT3Bjb2RlLmgKKyAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBU
Q09SRV9ESVJ9L0Fpck9wY29kZUdlbmVyYXRlZC5oCispCisKK2FkZF9jdXN0b21fY29tbWFuZCgK
ICAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9JbmplY3Rl
ZFNjcmlwdFNvdXJjZS5oICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UubWluLmpzCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SkFWQVNDUklQ
VENPUkVfRElSfS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKICAgICBERVBFTkRT
ICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L3h4ZC5wbCAke0phdmFTY3JpcHRDb3JlX1ND
UklQVFNfRElSfS9qc21pbi5weQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA3ODlmNjBjZjU5ODIzMzIzNTFlNmZhNGEzOTliMGFjYzg5NDM5MTk0Li5kOTcz
MDZlNWM4NTYwMzk2OTcxNDQ1ZDc5MTM1NDJlMjUzZDU4ZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNTYsMTMgKzU2LDEzIEBAIGFsbCA6IFwKICAg
ICBDb21iaW5lZERvbWFpbnMuanNvbiBcCiAgICAgSW5pdEJ5dGVjb2Rlcy5hc20gXAogICAgIElu
amVjdGVkU2NyaXB0U291cmNlLmggXAotICAgIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
aCBcCisgICAgaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCBcCiAgICAg
SlNDQnVpbHRpbnMuaCBcCiAgICAgTGV4ZXIubHV0LmggXAogICAgIEtleXdvcmRMb29rdXAuaCBc
CiAgICAgUmVnRXhwSml0VGFibGVzLmggXAogICAgIEFpck9wY29kZS5oIFwKLSAgICBZYXJyQ2Fu
b25pY2FsaXplVW5pY29kZS5jcHAgXAorICAgIHlhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUu
Y3BwIFwKICAgICBXYXNtT3BzLmggXAogICAgIFdhc21WYWxpZGF0ZUlubGluZXMuaCBcCiAgICAg
V2FzbUIzSVJHZW5lcmF0b3JJbmxpbmVzLmggXApAQCAtMTk2LDcgKzE5Niw3IEBAIExleGVyLmx1
dC5oOiBLZXl3b3Jkcy50YWJsZSAkKEphdmFTY3JpcHRDb3JlKS9jcmVhdGVfaGFzaF90YWJsZQog
CiAjIGNoYXJhY3RlciB0YWJsZXMgZm9yIFlhcnIKIAotUmVnRXhwSml0VGFibGVzLmg6IGNyZWF0
ZV9yZWdleF90YWJsZXMKK1JlZ0V4cEppdFRhYmxlcy5oOiB5YXJyL2NyZWF0ZV9yZWdleF90YWJs
ZXMKIAkkKFBZVEhPTikgJF4gPiAkQAogCiBLZXl3b3JkTG9va3VwLmg6IEtleXdvcmRMb29rdXBH
ZW5lcmF0b3IucHkgS2V5d29yZHMudGFibGUKQEAgLTI4MSw4ICsyODEsOCBAQCBDb21iaW5lZERv
bWFpbnMuanNvbiA6ICQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRlLWNvbWJp
bmVkLWluc3BlY3RvcgogCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9n
ZW5lcmF0ZS1jb21iaW5lZC1pbnNwZWN0b3ItanNvbi5weSAkKElOU1BFQ1RPUl9ET01BSU5TKSA+
IC4vQ29tYmluZWREb21haW5zLmpzb24KIAogIyBJbnNwZWN0b3IgQmFja2VuZCBEaXNwYXRjaGVy
cywgRnJvbnRlbmQgRGlzcGF0Y2hlcnMsIFR5cGUgQnVpbGRlcnMKLUluc3BlY3RvckZyb250ZW5k
RGlzcGF0Y2hlcnMuaCA6IENvbWJpbmVkRG9tYWlucy5qc29uICQoSU5TUEVDVE9SX0dFTkVSQVRP
Ul9TQ1JJUFRTKQotCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0
cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgLS1mcmFtZXdvcmsgSmF2
YVNjcmlwdENvcmUgLS1vdXRwdXREaXIgLiAuL0NvbWJpbmVkRG9tYWlucy5qc29uCitpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oIDogQ29tYmluZWREb21haW5zLmpzb24g
JChJTlNQRUNUT1JfR0VORVJBVE9SX1NDUklQVFMpIGluc3BlY3RvcgorCSQoUFlUSE9OKSAkKEph
dmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkgLS1mcmFtZXdvcmsgSmF2YVNjcmlwdENvcmUgLS1vdXRwdXREaXIgaW5z
cGVjdG9yIC4vQ29tYmluZWREb21haW5zLmpzb24KIAogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCA6
IGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyAkKEphdmFTY3JpcHRDb3JlX1NDUklQ
VFNfRElSKS9qc21pbi5weSAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS94eGQucGwKIAll
Y2hvICIvLyMgc291cmNlVVJMPV9fSW5qZWN0ZWRTY3JpcHRfSW5qZWN0ZWRTY3JpcHRTb3VyY2Uu
anMiID4gLi9JbmplY3RlZFNjcmlwdFNvdXJjZS5taW4uanMKQEAgLTI5Myw4ICsyOTMsOCBAQCBJ
bmplY3RlZFNjcmlwdFNvdXJjZS5oIDogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpz
ICQoSmF2YVNjcmlwdENvcmVfU0NSSQogQWlyT3Bjb2RlLmg6ICQoSmF2YVNjcmlwdENvcmUpL2Iz
L2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiICQoSmF2YVNjcmlwdENvcmUpL2IzL2Fpci9BaXJPcGNv
ZGUub3Bjb2RlcwogCSQoUlVCWSkgJF4KIAotWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwOiAk
KEphdmFTY3JpcHRDb3JlKS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICQoSmF2YVNj
cmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50eHQKLQkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29y
ZSkvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAkKEphdmFTY3JpcHRDb3JlKS91Y2Qv
Q2FzZUZvbGRpbmcudHh0IC4vWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCit5YXJyL1lhcnJD
YW5vbmljYWxpemVVbmljb2RlLmNwcDogJChKYXZhU2NyaXB0Q29yZSkveWFyci9nZW5lcmF0ZVlh
cnJDYW5vbmljYWxpemVVbmljb2RlICQoSmF2YVNjcmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50
eHQKKwkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZSkveWFyci9nZW5lcmF0ZVlhcnJDYW5vbmlj
YWxpemVVbmljb2RlICQoSmF2YVNjcmlwdENvcmUpL3VjZC9DYXNlRm9sZGluZy50eHQgLi95YXJy
L1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAogCiBXYXNtT3BzLmg6ICQoSmF2YVNjcmlwdENv
cmUpL3dhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5ICQoSmF2YVNjcmlwdENvcmUpL3dhc20v
Z2VuZXJhdGVXYXNtLnB5ICQoSmF2YVNjcmlwdENvcmUpL3dhc20vd2FzbS5qc29uCiAJJChQWVRI
T04pICQoSmF2YVNjcmlwdENvcmUpL3dhc20vZ2VuZXJhdGVXYXNtT3BzSGVhZGVyLnB5ICQoSmF2
YVNjcmlwdENvcmUpL3dhc20vd2FzbS5qc29uIC4vV2FzbU9wcy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDU3NjJmNjhkZjhkNmI0ODNhMDEwN2ZlMzhlODc1YzExZjMzYTkwMTIu
LmZlYjc0MDE0NzRiOTU5NjViNGU2ZTU5YTVlODM3Nzg0MDRiNTRkYzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC04MzYsNiArODM2LDkgQEAKIAkJNTM0RTAzNTgxRTUzQkYyRjAw
MjEzRjY0IC8qIEdldHRlclNldHRlckFjY2Vzc0Nhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNEUwMzU3MUU1M0JGMkYwMDIxM0Y2NCAvKiBHZXR0
ZXJTZXR0ZXJBY2Nlc3NDYXNlLmggKi87IH07CiAJCTUzNTI5QTRDMUM0NTdCNzUwMDBCNDlDNiAv
KiBBUElVdGlscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTM1MjlBNEIxQzQ1N0I3NTAwMEI0OUM2IC8qIEFQSVV0aWxzLmggKi87IH07CiAJCTUzNTU1
NzE0MUQ5RDlFQTUwMDZENTgzQiAvKiBXYXNtTWVtb3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzU1NTcxMzFEOUQ5RUE1MDA2RDU4M0IgLyogV2Fz
bU1lbW9yeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTUzNUMyNDYxMUY3ODkyOEUwMDZFQzQwRSAvKiBjcmVhdGVfcmVnZXhfdGFibGVzIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTcxOEY4MjExMTc4RUI0
QjAwMjQ2NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi87IH07CisJCTUzNUMyNDY5MUY3QTE2
MjQwMDZFQzQwRSAvKiBKU0NCdWlsdGlucy5jcHAgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBN0Q4MDFBNjE4ODBENkE4MDAyNkMzOUIgLyogSlNDQnVpbHRp
bnMuY3BwICovOyB9OworCQk1MzVDMjQ2QzFGN0ExNzc4MDA2RUM0MEUgLyogVW5pZmllZFNvdXJj
ZTEzNi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MzVDMjQ2QjFGN0ExNzc3MDA2RUM0MEUgLyogVW5pZmllZFNvdXJjZTEzNi5jcHAgKi87IH07CiAJ
CTUzNkIzMTBDMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkIzMDg3MUY3MUM1Mzgw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCAqLzsgfTsKIAkJNTM2QjMxMEQxRjcxQzU5
OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMjUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM2QjMwODgxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZp
ZWRTb3VyY2UxMjUuY3BwICovOyB9OwogCQk1MzZCMzEwRTFGNzFDNTk5MDAzN0ZDMzMgLyogVW5p
ZmllZFNvdXJjZTEzMS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MzZCMzA4OTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMS5jcHAg
Ki87IH07CkBAIC05ODUsMTEgKzk4OCw2IEBACiAJCTUzRTc3N0U0MUU5MkUyNjUwMDdDQkVDNCAv
KiBXYXNtTW9kdWxlSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUzRTc3N0UyMUU5MkUyNjUwMDdDQkVDNCAvKiBXYXNtTW9kdWxlSW5m
b3JtYXRpb24uaCAqLzsgfTsKIAkJNTNFOUUwQUMxRUFFODNERjAwRkVFMjUxIC8qIFdhc21NYWNo
aW5lVGhyZWFkcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTNFOUUwQUExRUFFODNERTAwRkVFMjUxIC8qIFdhc21NYWNoaW5lVGhyZWFkcy5oICovOyB9
OwogCQk1M0U5RTBBRjFFQUVDNDU3MDBGRUUyNTEgLyogV2FzbVRpZXJVcENvdW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0U5RTBBRTFFQUVDNDU3
MDBGRUUyNTEgLyogV2FzbVRpZXJVcENvdW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTNGMUI1NDIxRjZBMTRBNTAwRTJEMDQzIC8qIEluc3Bl
Y3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZy
b250ZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9OwotCQk1M0YxQjU0MzFGNkExNEFDMDBFMkQwNDMg
LyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JQcm90b2NvbE9iamVjdHMuY3BwICovOyB9OwotCQk1M0YxQjU0NDFGNkExNEJDMDBFMkQwNDMg
LyogSlNDQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1aWx0aW5zLmNwcCAqLzsg
fTsKLQkJNTNGMUI1NDUxRjZBMTREMDAwRTJEMDQzIC8qIFlhcnJDYW5vbmljYWxpemVVbmljb2Rl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1QTk0
NjE0MUM4RTlGNkYwMEE3MjA5QSAvKiBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAgKi87IH07
Ci0JCTUzRjFCNTQ4MUY2QTE1NzcwMEUyRDA0MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hl
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTUz
MjQzODExODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAg
Ki87IH07CiAJCTUzRjQwRTg1MUQ1OEY5NzcwMDk5QTFCNiAvKiBXYXNtU2VjdGlvbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRjQwRTg0MUQ1OEY5
NzcwMDk5QTFCNiAvKiBXYXNtU2VjdGlvbnMuaCAqLzsgfTsKIAkJNTNGNDBFOEIxRDU5MDFCQjAw
OTlBMUI2IC8qIFdhc21GdW5jdGlvblBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTNGNDBFOEExRDU5MDFCQjAwOTlBMUI2IC8qIFdhc21GdW5j
dGlvblBhcnNlci5oICovOyB9OwogCQk1M0Y0MEU4RDFENTkwMUYyMDA5OUExQjYgLyogV2FzbVBh
cnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNG
NDBFOEMxRDU5MDFGMjAwOTlBMUI2IC8qIFdhc21QYXJzZXIuaCAqLzsgfTsKQEAgLTMxNzMsNiAr
MzE3MSw3IEBACiAJCTUzNTI5QTRCMUM0NTdCNzUwMDBCNDlDNiAvKiBBUElVdGlscy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElVdGlscy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MzU1NTcxMzFEOUQ5RUE1MDA2RDU4M0IgLyogV2FzbU1lbW9yeS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXYXNtTWVtb3J5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUzNTU1NzE1MUQ5REZBMzIwMDZENTgzQiAvKiBXYXNtTWVtb3J5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdhc21NZW1vcnkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MzVDMjQ2QjFGN0ExNzc3MDA2RUM0MEUg
LyogVW5pZmllZFNvdXJjZTEzNi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBVbmlmaWVkU291cmNlMTM2LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTM2QjMwODcxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMTkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTExOS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUzNkIzMDg4MUY3MUM1MzgwMDM3RkMzMyAvKiBVbmlm
aWVkU291cmNlMTI1LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVu
aWZpZWRTb3VyY2UxMjUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MzZCMzA4
OTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVbmlmaWVkU291cmNlMTMxLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTM0MTUsNyArMzQxNCw3IEBACiAJCTY1OEQzQTU1MTk2MzgyNjgw
MDNDNDVENiAvKiBWTUVudHJ5UmVjb3JkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGlu
ZUVuZGluZyA9IDA7IHBhdGggPSBWTUVudHJ5UmVjb3JkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3Bw
OyB9OwogCQk2NTk4N0YyQzE2N0ZFODRCMDAzQzJGOEQgLyogREZHT1NSRXhpdENvbXBpbGF0aW9u
SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdPU1JFeGl0Q29tcGls
YXRpb25JbmZvLmg7IHBhdGggPSBkZmcvREZHT1NSRXhpdENvbXBpbGF0aW9uSW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTk4N0YyRjE2ODI4QTdFMDAzQzJGOEQgLyogVW51
c2VkUG9pbnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVbnVzZWRQb2lu
dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTY1QTk0NjEzMUM4RTlGMjAwMEE3
MjA5QSAvKiBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5z
Y3JpcHQucHl0aG9uOyBwYXRoID0gZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNjVBOTQ2MTMxQzhFOUYyMDAwQTcyMDlBIC8qIGdl
bmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRo
b247IG5hbWUgPSBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlOyBwYXRoID0geWFyci9n
ZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk2NUE5NDYxNDFDOEU5RjZGMDBBNzIwOUEgLyogWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWWFyckNhbm9uaWNhbGl6
ZVVuaWNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NUI4MzkyQzFCQUNB
OTJBMDA0NEU4MjQgLyogQ2FjaGVkUmVjb3ZlcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2FjaGVkUmVjb3ZlcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NjVCODM5MkQxQkFDQTlEMzAwNDRFODI0IC8qIENhY2hlZFJlY292ZXJ5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlY292ZXJ5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5NTksNyArMzk1OCw3IEBACiAJCUE3MDlGMkYxMTdBMEFD
MkEwMDUxMkU5OCAvKiBDb21tb25TbG93UGF0aHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ29tbW9uU2xvd1BhdGhzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTcxMjM2RTQxMTk1RjMzQzAwQkQyMTc0IC8qIEpJVE9wY29kZXMzMl82NC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKSVRPcGNvZGVzMzJfNjQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNzE4RjYxQTExNzU0QTIxMDAyNDY1QTcg
LyogUmVnRXhwSml0VGFibGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
Z0V4cEppdFRhYmxlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBNzE4RjgyMTEx
NzhFQjRCMDAyNDY1QTcgLyogY3JlYXRlX3JlZ2V4X3RhYmxlcyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gdGV4dC5zY3JpcHQucHl0aG9uOyBmaWxlRW5j
b2RpbmcgPSA0OyBwYXRoID0gY3JlYXRlX3JlZ2V4X3RhYmxlczsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJs
ZXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHRleHQu
c2NyaXB0LnB5dGhvbjsgZmlsZUVuY29kaW5nID0gNDsgbmFtZSA9IGNyZWF0ZV9yZWdleF90YWJs
ZXM7IHBhdGggPSB5YXJyL2NyZWF0ZV9yZWdleF90YWJsZXM7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUE3MjAyOEI0MTc5NzYwMUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDVGVzdFJ1bm5lclV0
aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcyMDI4QjUxNzk3NjAxRTAw
OTgwMjhDIC8qIEpTQ1Rlc3RSdW5uZXJVdGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0NUZXN0UnVubmVyVXRpbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTcyMDI4QjkxNzk3NjAzRDAwOTgwMjhDIC8qIEpTRnVuY3Rpb25JbmxpbmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRnVuY3Rpb25JbmxpbmVzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njk1LDExICs0Njk0LDkgQEAKIAkJMDg2N0Q2OTFGRTg0
MDI4RkMwMkFBQzA3IC8qIEphdmFTY3JpcHRDb3JlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk2NUE5NDYxMzFDOEU5RjIwMDBBNzIwOUEgLyogZ2VuZXJh
dGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAqLywKIAkJCQk4NjA0RjRGMjE0M0E2QzQ0MDBCMjk1
RjUgLyogQ2hhbmdlTG9nICovLAogCQkJCUY2OEVCQjhDMDI1NUQ0QzYwMUZGNjBGNyAvKiBjb25m
aWcuaCAqLywKIAkJCQlGNjkyQTg1NDAyNTU1OTdEMDFGRjYwRjcgLyogY3JlYXRlX2hhc2hfdGFi
bGUgKi8sCi0JCQkJQTcxOEY4MjExMTc4RUI0QjAwMjQ2NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJs
ZXMgKi8sCiAJCQkJOTM3QjYzQ0MwOUU3NjZEMjAwQTY3MUREIC8qIERlcml2ZWRTb3VyY2VzLm1h
a2UgKi8sCiAJCQkJMEY5MzI3NUExQzIwQkNERjAwQ0Y2NTY0IC8qIGR5bmJlbmNoLmNwcCAqLywK
IAkJCQk2NTI5RkIzMDE4QjJENjM5MDBDNjExMDIgLyogZ2VuZXJhdGUtYnl0ZWNvZGUtZmlsZXMg
Ki8sCkBAIC01NzIyLDcgKzU3MTksMzcgQEAKIAkJCW5hbWUgPSBhY2Nlc3NDYXNlOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJNTM2QjMwODYxRjcxQzUzODAwMzdGQzMzIC8q
IHVuaWZpZWQtc291Y2VzICovID0geworCQk1MzVDMjQ2NTFGNzg5Mzg5MDA2RUM0MEUgLyogaW5z
cGVjdG9yICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlB
NUVBNzEwRDE5RjZERjgxMDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJuYXRlQmFja2VuZERpc3Bh
dGNoZXJzLmggKi8sCisJCQkJQTUzMjQzOTYxODU2QTQ3NTAwMkVENjkyIC8qIEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5qcyAqLywKKwkJCQlBNTMyNDM4MTE4NTY4MzE3MDAyRUQ2OTIgLyogSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJCQlBNTMyNDM4MjE4NTY4MzE3MDAy
RUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCisJCQkJQTUzMjQzODMx
ODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuY3BwICovLAor
CQkJCUE1MzI0Mzg0MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmggKi8sCisJCQkJQTUzMjQzODUxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvclByb3Rv
Y29sT2JqZWN0cy5jcHAgKi8sCisJCQkJQTUzMjQzODYxODU2ODMxNzAwMkVENjkyIC8qIEluc3Bl
Y3RvclByb3RvY29sT2JqZWN0cy5oICovLAorCQkJKTsKKwkJCXBhdGggPSBpbnNwZWN0b3I7CisJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk1MzVDMjQ2NjFGNzg5NDUyMDA2RUM0
MEUgLyogcnVudGltZSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkpOworCQkJcGF0aCA9IHJ1bnRpbWU7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwor
CQl9OworCQk1MzVDMjQ2NzFGNzg5NEEyMDA2RUM0MEUgLyogeWFyciAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNjVBOTQ2MTQxQzhFOUY2RjAwQTcyMDlB
IC8qIFlhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcCAqLywKKwkJCSk7CisJCQlwYXRoID0geWFy
cjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTUzNkIzMDg2MUY3MUM1Mzgw
MDM3RkMzMyAvKiB1bmlmaWVkLXNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAogCQkJCTUzNkIzMERBMUY3MUM1MzgwMDM3RkMzMyAvKiBVbmlmaWVkU291
cmNlMS5jcHAgKi8sCkBAIC01NzY3LDYgKzU3OTQsNyBAQAogCQkJCTUzNkIzMDk4MUY3MUM1Mzgw
MDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTMzLmNwcCAqLywKIAkJCQk1MzZCMzE5NzFGNzM1RTVC
MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzNC5jcHAgKi8sCiAJCQkJNTM2QjMxOTkxRjczNUU1
RDAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzUuY3BwICovLAorCQkJCTUzNUMyNDZCMUY3QTE3
NzcwMDZFQzQwRSAvKiBVbmlmaWVkU291cmNlMTM2LmNwcCAqLywKIAkJCQk1MzZCMzBGNzFGNzFD
NTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTE0LmNwcCAqLywKIAkJCQk1MzZCMzBGODFGNzFD
NTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTE1LmNwcCAqLywKIAkJCQk1MzZCMzBGMTFGNzFD
NTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTE2LmNwcCAqLywKQEAgLTU4NjMsMTMgKzU4OTEs
MTYgQEAKIAkJCQk1MzZCMzBFNTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk4LmNw
cCAqLywKIAkJCQk1MzZCMzBERTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk5LmNw
cCAqLywKIAkJCSk7Ci0JCQlwYXRoID0gInVuaWZpZWQtc291Y2VzIjsKKwkJCXBhdGggPSAidW5p
ZmllZC1zb3VyY2VzIjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CiAJCTY1MEZE
RjhEMDlEMEZDQTcwMDc2OUU1NCAvKiBEZXJpdmVkIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTUzNkIzMDg2MUY3MUM1MzgwMDM3RkMzMyAv
KiB1bmlmaWVkLXNvdWNlcyAqLywKKwkJCQk1MzVDMjQ2NTFGNzg5Mzg5MDA2RUM0MEUgLyogaW5z
cGVjdG9yICovLAorCQkJCTUzNUMyNDY2MUY3ODk0NTIwMDZFQzQwRSAvKiBydW50aW1lICovLAor
CQkJCTUzNkIzMDg2MUY3MUM1MzgwMDM3RkMzMyAvKiB1bmlmaWVkLXNvdXJjZXMgKi8sCisJCQkJ
NTM1QzI0NjcxRjc4OTRBMjAwNkVDNDBFIC8qIHlhcnIgKi8sCiAJCQkJMEY2MTgzMzIxQzQ1RjM1
QzAwNzI0NTBCIC8qIEFpck9wY29kZS5oICovLAogCQkJCTBGNjE4MzM0MUM0NUYzQjYwMDcyNDUw
QiAvKiBBaXJPcGNvZGVHZW5lcmF0ZWQuaCAqLywKIAkJCQkwRjYxODMzNTFDNDVGM0I2MDA3MjQ1
MEIgLyogQWlyT3Bjb2RlVXRpbHMuaCAqLywKQEAgLTU4ODUsMTUgKzU5MTYsNyBAQAogCQkJCTcw
Qjc5MTkwMUMwMjQ2Q0UwMDI0ODFFMiAvKiBHZW5lcmF0b3JQcm90b3R5cGUubHV0LmggKi8sCiAJ
CQkJNjUxNEYyMTgxOEIzRTE2NzAwOThGRjhCIC8qIEluaXRCeXRlY29kZXMuYXNtICovLAogCQkJ
CUE1MTNFNUM2MTg1Rjk0MzYwMDdFOTVBRCAvKiBJbmplY3RlZFNjcmlwdFNvdXJjZS5oICovLAot
CQkJCUE1RUE3MTBEMTlGNkRGODEwMDk4RjVFQyAvKiBJbnNwZWN0b3JBbHRlcm5hdGVCYWNrZW5k
RGlzcGF0Y2hlcnMuaCAqLywKLQkJCQlBNTMyNDM5NjE4NTZBNDc1MDAyRUQ2OTIgLyogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzICovLAotCQkJCUE1MzI0MzgxMTg1NjgzMTcwMDJFRDY5MiAv
KiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovLAotCQkJCUE1MzI0MzgyMTg1Njgz
MTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLywKLQkJCQlBNTMy
NDM4MzE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAg
Ki8sCi0JCQkJQTUzMjQzODQxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlz
cGF0Y2hlcnMuaCAqLywKIAkJCQlFMzNCM0UyNTFCN0FCRDc1MDA0OERCMkUgLyogSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uT2JqZWN0Lmx1dC5oICovLAotCQkJCUE1MzI0Mzg1MTg1NjgzMTcwMDJF
RDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwICovLAotCQkJCUE1MzI0Mzg2MTg1
NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLywKIAkJCQlBMTgx
OTNFMTFCNEUwQ0RCMDBGQzEwMjkgLyogSW50bENvbGxhdG9yQ29uc3RydWN0b3IubHV0LmggKi8s
CiAJCQkJQTE4MTkzRTIxQjRFMENEQjAwRkMxMDI5IC8qIEludGxDb2xsYXRvclByb3RvdHlwZS5s
dXQuaCAqLywKIAkJCQlBMTU4N0Q3MzFCNERDMUM2MDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9y
bWF0Q29uc3RydWN0b3IubHV0LmggKi8sCkBAIC01OTM3LDcgKzU5NjAsNiBAQAogCQkJCUFEMkZD
QzEzMURCNTlDNTkwMEIzRTczNiAvKiBXZWJBc3NlbWJseVJ1bnRpbWVFcnJvclByb3RvdHlwZS5s
dXQuaCAqLywKIAkJCQlBRDJGQ0MxNDFEQjU5QzU5MDBCM0U3MzYgLyogV2ViQXNzZW1ibHlUYWJs
ZUNvbnN0cnVjdG9yLmx1dC5oICovLAogCQkJCUFEMkZDQzE1MURCNTlDNTkwMEIzRTczNiAvKiBX
ZWJBc3NlbWJseVRhYmxlUHJvdG90eXBlLmx1dC5oICovLAotCQkJCTY1QTk0NjE0MUM4RTlGNkYw
MEE3MjA5QSAvKiBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAgKi8sCiAJCQkpOwogCQkJbmFt
ZSA9ICJEZXJpdmVkIFNvdXJjZXMiOwogCQkJcGF0aCA9IERlcml2ZWRTb3VyY2VzL0phdmFTY3Jp
cHRDb3JlOwpAQCAtNjc2OCw2ICs2NzkwLDggQEAKIAkJODZFQUM0OEMwRjkzRThCOTAwOEVDOTQ4
IC8qIHlhcnIgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUE3MThGODIxMTE3OEVCNEIwMDI0NjVBNyAvKiBjcmVhdGVfcmVnZXhfdGFibGVzICovLAorCQkJ
CTY1QTk0NjEzMUM4RTlGMjAwMEE3MjA5QSAvKiBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmlj
b2RlICovLAogCQkJCUE1N0QyM0VCMTg5MUI1NTQwMDMxQzdGQSAvKiBSZWd1bGFyRXhwcmVzc2lv
bi5jcHAgKi8sCiAJCQkJQTU3RDIzRUMxODkxQjU1NDAwMzFDN0ZBIC8qIFJlZ3VsYXJFeHByZXNz
aW9uLmggKi8sCiAJCQkJNDUxNTM5QjgxMkRDOTk0NTAwRUY3QUM0IC8qIFlhcnIuaCAqLywKQEAg
LTgwODEsNiArODEwNSw3IEBACiAJCQkJQzRGNEI2RjMxQTA1Qzk0NDAwNUNBQjc2IC8qIGNwcF9n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5IGluIEhlYWRlcnMgKi8sCiAJCQkJMEYzMEQ3QzAxRDk1RDYz
MjAwNTMwODlEIC8qIENQVS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNURFNkU1QjMwRTE3MjhFQzAw
MTgwNDA3IC8qIGNyZWF0ZV9oYXNoX3RhYmxlIGluIEhlYWRlcnMgKi8sCisJCQkJNTM1QzI0NjEx
Rjc4OTI4RTAwNkVDNDBFIC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgaW4gSGVhZGVycyAqLywKIAkJ
CQk5OTU5RTkyQjFCRDE3RkE0MDAxQUE0MTMgLyogY3NzbWluLnB5IGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkExMTEyNDYxOTJGQ0U3OTAwNUVFMThEIC8qIEN1c3RvbUdldHRlclNldHRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEY0MjZBNEIxNDYwQ0Q2RTAwMTMxRjhGIC8qIERhdGFGb3JtYXQuaCBp
biBIZWFkZXJzICovLApAQCAtODU5NSw2ICs4NjIwLDcgQEAKIAkJCQlCQzE4QzQxQjBFMTZGNUNE
MDBCMzQ0NjAgLyogSlNDYWxsYmFja09iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0
MUMwRTE2RjVDRDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTY1N0NGNDU5MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTM1QzI0NjkxRjdBMTYyNDAwNkVDNDBFIC8qIEpTQ0J1aWx0aW5zLmNw
cCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDgwMUE5MTg4MEQ2QTgwMDI2QzM5QiAvKiBKU0NCdWls
dGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMTY3REEwRTE5QkNDOTAwODA2NkREIC8qIEpT
Q2VsbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5NzQ5NzExNjg3QURFNDAwQTRGRjZBIC8qIEpT
Q2VsbElubGluZXMuaCBpbiBIZWFkZXJzICovLApAQCAtOTUxNSw3ICs5NTQxLDcgQEAKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJCXNoZWxsUGF0
aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJzZXQgLWVcblxuY2QgJFNSQ1JPT1Rcblxu
aWYgWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9PSBcIllFU1wiIF07IHRoZW5cbiAgICBC
VUlMRF9TQ1JJUFRTX0RJUj1cIiR7U0RLUk9PVH0vdXNyL2xvY2FsL2luY2x1ZGUvd3RmL1Njcmlw
dHNcIlxuZWxzZVxuICAgIEJVSUxEX1NDUklQVFNfRElSPVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9
L3Vzci9sb2NhbC9pbmNsdWRlL3d0Zi9TY3JpcHRzXCJcbmZpXG5cblVuaWZpZWRTb3VyY2VDcHBG
aWxlQ291bnQ9MTM1XG5VbmlmaWVkU291cmNlTW1GaWxlQ291bnQ9MTM1XG5cbi91c3IvYmluL2Vu
diBydWJ5IFwiJHtCVUlMRF9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVu
ZGxlcy5yYlwiIFwiLS1kZXJpdmVkLXNvdXJjZXMtcGF0aFwiIFwiJHtCVUlMVF9QUk9EVUNUU19E
SVJ9L0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlXCIgXCItLW1heC1jcHAtYnVuZGxlLWNv
dW50XCIgXCIke1VuaWZpZWRTb3VyY2VDcHBGaWxlQ291bnR9XCIgXCItLW1heC1vYmotYy1idW5k
bGUtY291bnRcIiBcIiR7VW5pZmllZFNvdXJjZU1tRmlsZUNvdW50fVwiIFwiU291cmNlcy50eHRc
IiBcIlNvdXJjZXNNYWMudHh0XCIgPiAvZGV2L251bGxcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJz
ZXQgLWVcblxuY2QgJFNSQ1JPT1RcblxuaWYgWyBcIiR7REVQTE9ZTUVOVF9MT0NBVElPTn1cIiA9
PSBcIllFU1wiIF07IHRoZW5cbiAgICBCVUlMRF9TQ1JJUFRTX0RJUj1cIiR7U0RLUk9PVH0vdXNy
L2xvY2FsL2luY2x1ZGUvd3RmL1NjcmlwdHNcIlxuZWxzZVxuICAgIEJVSUxEX1NDUklQVFNfRElS
PVwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L3Vzci9sb2NhbC9pbmNsdWRlL3d0Zi9TY3JpcHRzXCJc
bmZpXG5cblVuaWZpZWRTb3VyY2VDcHBGaWxlQ291bnQ9MTM2XG5VbmlmaWVkU291cmNlTW1GaWxl
Q291bnQ9MlxuXG4vdXNyL2Jpbi9lbnYgcnVieSBcIiR7QlVJTERfU0NSSVBUU19ESVJ9L2dlbmVy
YXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmJcIiBcIi0tZGVyaXZlZC1zb3VyY2VzLXBhdGhc
IiBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwi
IFwiLS1zb3VyY2UtdHJlZS1wYXRoXCIgXCIke1NSQ1JPT1R9XCIgXCItLW1heC1jcHAtYnVuZGxl
LWNvdW50XCIgXCIke1VuaWZpZWRTb3VyY2VDcHBGaWxlQ291bnR9XCIgXCItLW1heC1vYmotYy1i
dW5kbGUtY291bnRcIiBcIiR7VW5pZmllZFNvdXJjZU1tRmlsZUNvdW50fVwiIFwiU291cmNlcy50
eHRcIiBcIlNvdXJjZXNNYWMudHh0XCIgPiAvZGV2L251bGxcbiI7CiAJCX07CiAJCTVEMjlEOEJF
MEU5ODYwQjQwMEMzRDJEMCAvKiBDaGVjayBGb3IgV2VhayBWVGFibGVzIGFuZCBFeHRlcm5hbHMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2U7CkBAIC05NzIyLDEwICs5
NzQ4LDYgQEAKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAotCQkJCTUzRjFCNTQ4MUY2QTE1NzcwMEUy
RDA0MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8sCi0J
CQkJNTNGMUI1NDIxRjZBMTRBNTAwRTJEMDQzIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hl
cnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTNGMUI1NDMxRjZBMTRBQzAwRTJEMDQzIC8qIElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1M0YxQjU0NDFG
NkExNEJDMDBFMkQwNDMgLyogSlNDQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2
QjMxOUUxRjczNUYxNjAwMzdGQzMzIC8qIExvd0xldmVsSW50ZXJwcmV0ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZGNDI3NEExNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5jIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEZGNDI3NDAxNThFQkU4QjAwNENCOUZGIC8qIHVkaXM4Nl9kZWNvZGUuYyBp
biBTb3VyY2VzICovLApAQCAtOTc3NSw2ICs5Nzk3LDcgQEAKIAkJCQk1MzZCMzExRDFGNzFDNTk5
MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZC
MzE5QzFGNzM1RTdEMDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzNC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MzZCMzE5RDFGNzM1RTdEMDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzNS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MzVDMjQ2QzFGN0ExNzc4MDA2RUM0MEUgLyogVW5pZmllZFNv
dXJjZTEzNi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE3QzFGNzFDNTk5MDAzN0ZDMzMg
LyogVW5pZmllZFNvdXJjZTE0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIzMTdEMUY3MUM1
OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2
QjMxNzYxRjcxQzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxNi5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTk4NzAsNyArOTg5Myw2IEBACiAJCQkJNTM2QjMxMzYxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2U5Ny5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE2QTFGNzFDNTk5
MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzNkIz
MTYzMUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlOTkuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNTNGMUI1NDUxRjZBMTREMDAwRTJEMDQzIC8qIFlhcnJDYW5vbmljYWxpemVVbmljb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1Nj
cmlwdHMvbGF6eXdyaXRlci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL2xhenl3
cml0ZXIucHkKaW5kZXggZjkzYTJjNjk3Y2FjYmQ3NzQxZmU5OThlZjE5MGViMWNkNmYyNDUzOS4u
ZjhjY2Y5YzY3NWY3NWZjYzkwZTM4MDBmYzY5YTVhNDQ1OTc3ZjliNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbGF6eXdyaXRlci5weQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvU2NyaXB0cy9sYXp5d3JpdGVyLnB5CkBAIC0yNiw2ICsyNiw3IEBACiAKICMg
QSB3cml0ZXIgdGhhdCBvbmx5IHVwZGF0ZXMgZmlsZSBpZiBpdCBhY3R1YWxseSBjaGFuZ2VkLgog
CitpbXBvcnQgb3MKIAogY2xhc3MgTGF6eUZpbGVXcml0ZXI6CiAgICAgZGVmIF9faW5pdF9fKHNl
bGYsIGZpbGVwYXRoLCBmb3JjZV9vdXRwdXQpOgpAQCAtNTMsNiArNTQsOSBAQCBjbGFzcyBMYXp5
RmlsZVdyaXRlcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICBpZiB0ZXh0X2NoYW5nZWQg
b3Igc2VsZi5mb3JjZV9vdXRwdXQ6CisgICAgICAgICAgICBkaXJuYW1lID0gb3MucGF0aC5kaXJu
YW1lKHNlbGYuX2ZpbGVwYXRoKQorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGly
bmFtZSk6CisgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKICAgICAgICAgICAg
IG91dF9maWxlID0gb3BlbihzZWxmLl9maWxlcGF0aCwgInciKQogICAgICAgICAgICAgb3V0X2Zp
bGUud3JpdGUoc2VsZi5fb3V0cHV0KQogICAgICAgICAgICAgb3V0X2ZpbGUuY2xvc2UoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL1NvdXJjZXMudHh0CmluZGV4IGZkNTI2YjI4NDYzMTE1NTAxMTdlNmY0OWVkNjBl
ZThlOGE1MjhhNzQuLmE5OTQ3YjdlNTJiMjFjYjNiYTI1ZDIzMjI0ZmNhNjAwYzA5NDRmMzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKQEAgLTU0NSw2ICs1NDUsMTEgQEAgaW5zcGVjdG9y
L1NjcmlwdENhbGxTdGFjay5jcHAKIGluc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5LmNw
cAogaW5zcGVjdG9yL1NjcmlwdERlYnVnU2VydmVyLmNwcAogCisjIERlcml2ZWQgU291cmNlcwor
aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKK2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcAoraW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAKKwogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBZ2VudC5jcHAKIGluc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yQ29uc29sZUFnZW50LmNwcAogaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmNwcApAQCAtOTE1LDYgKzkyMCw5IEBAIHJ1bnRpbWUvV2Vh
a01hcFByb3RvdHlwZS5jcHAKIHJ1bnRpbWUvV2Vha1NldENvbnN0cnVjdG9yLmNwcAogcnVudGlt
ZS9XZWFrU2V0UHJvdG90eXBlLmNwcAogCisjIERlcml2ZWQgU291cmNlcworSlNDQnVpbHRpbnMu
Y3BwCisKIHRvb2xzL0NlbGxMaXN0LmNwcAogdG9vbHMvQ29kZVByb2ZpbGUuY3BwCiB0b29scy9D
b2RlUHJvZmlsaW5nLmNwcApAQCAtOTg5LDMgKzk5Nyw2IEBAIHlhcnIvWWFyckludGVycHJldGVy
LmNwcAogeWFyci9ZYXJySklULmNwcAogeWFyci9ZYXJyUGF0dGVybi5jcHAKIHlhcnIvWWFyclN5
bnRheENoZWNrZXIuY3BwCisKKyMgRGVyaXZlZCBTb3VyY2VzCit5YXJyL1lhcnJDYW5vbmljYWxp
emVVbmljb2RlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2NyZWF0ZV9y
ZWdleF90YWJsZXMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWM5Mzc4ZGIyNzU3M2Y5Y2U2N2U3ZmNhZDdm
NTZiNWQ1NmFkNTA0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcworKysgL2Rldi9u
dWxsCkBAIC0xLDEyNyArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMy0yMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMgCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSMgYXJlIG1ldDoKLSMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0jICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jIAotIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSMgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSMgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0jIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0jIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0jIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotIyBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0jIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0KLWltcG9y
dCBzeXMKLQotdHlwZXMgPSB7Ci0gICAgIndvcmRjaGFyIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwg
ImRhdGEiOiBbJ18nLCAoJzAnLCc5JyksICgnQScsICdaJyksICgnYScsJ3onKV19LAotICAgICJ3
b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjog
WydfJywgKCcwJywgJzknKSwgKCdBJywgJ1onKSwgKCdhJywgJ3onKSwgMHgwMTdmLCAweDIxMmFd
fSwKLSAgICAibm9ud29yZGNoYXIiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiSW52ZXJzZSI6ICJ3
b3JkY2hhciIsICJkYXRhIjogWydgJywgKDAsIG9yZCgnMCcpIC0gMSksIChvcmQoJzknKSArIDEs
IG9yZCgnQScpIC0gMSksIChvcmQoJ1onKSArIDEsIG9yZCgnXycpIC0gMSksIChvcmQoJ3onKSAr
IDEsIDB4MTBmZmZmKV19LAotICAgICJub253b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFyIjogeyAi
VXNlVGFibGUiIDogRmFsc2UsICJJbnZlcnNlIjogIndvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXIi
LCAiZGF0YSI6IFsnYCcsICgwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCBvcmQoJ0En
KSAtIDEpLCAob3JkKCdaJykgKyAxLCBvcmQoJ18nKSAtIDEpLCAob3JkKCd6JykgKyAxLCAweDAx
N2UpLCAoMHgwMTgwLCAweDIxMjkpLCAoMHgyMTJiLCAweDEwZmZmZildfSwKLSAgICAibmV3bGlu
ZSI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiZGF0YSI6IFsnXG4nLCAnXHInLCAweDIwMjgsIDB4
MjAyOV19LAotICAgICJzcGFjZXMiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiZGF0YSI6IFsnICcs
ICgnXHQnLCAnXHInKSwgMHhhMCwgMHgxNjgwLCAweDE4MGUsIDB4MjAyOCwgMHgyMDI5LCAweDIw
MmYsIDB4MjA1ZiwgMHgzMDAwLCAoMHgyMDAwLCAweDIwMGEpLCAweGZlZmZdfSwKLSAgICAibm9u
c3BhY2VzIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgIkludmVyc2UiOiAic3BhY2VzIiwgImRhdGEi
OiBbKDAsIG9yZCgnXHQnKSAtIDEpLCAob3JkKCdccicpICsgMSwgb3JkKCcgJykgLSAxKSwgKG9y
ZCgnICcpICsgMSwgMHgwMDlmKSwgKDB4MDBhMSwgMHgxNjdmKSwgKDB4MTY4MSwgMHgxODBkKSwg
KDB4MTgwZiwgMHgxZmZmKSwgKDB4MjAwYiwgMHgyMDI3KSwgKDB4MjAyYSwgMHgyMDJlKSwgKDB4
MjAzMCwgMHgyMDVlKSwgKDB4MjA2MCwgMHgyZmZmKSwgKDB4MzAwMSwgMHhmZWZlKSwgKDB4ZmYw
MCwgMHgxMGZmZmYpXX0sCi0gICAgImRpZ2l0cyI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiZGF0
YSI6IFsoJzAnLCAnOScpXX0sCi0gICAgIm5vbmRpZ2l0cyI6IHsgIlVzZVRhYmxlIiA6IEZhbHNl
LCAiSW52ZXJzZSI6ICJkaWdpdHMiLCAiZGF0YSI6IFsoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgn
OScpICsgMSwgMHgxMGZmZmYpXSB9Ci19Ci1lbnRyaWVzUGVyTGluZSA9IDUwCi1hcnJheXMgPSAi
IjsKLWZ1bmN0aW9ucyA9ICIiOwotZW1pdFRhYmxlcyA9IChsZW4oc3lzLmFyZ3YpIDwgMiBvciBz
eXMuYXJndlsxXSAhPSAiLS1uby10YWJsZXMiKQotCi1mb3IgbmFtZSwgY2xhc3NlcyBpbiB0eXBl
cy5pdGVtcygpOgotICAgIHJhbmdlcyA9IFtdOwotICAgIHNpemUgPSAwOwotICAgIGZvciBfY2xh
c3MgaW4gY2xhc3Nlc1siZGF0YSJdOgotICAgICAgICBpZiB0eXBlKF9jbGFzcykgPT0gc3RyOgot
ICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgob3JkKF9jbGFzcyksIG9yZChfY2xhc3MpKSkKLSAg
ICAgICAgZWxpZiB0eXBlKF9jbGFzcykgPT0gaW50OgotICAgICAgICAgICAgcmFuZ2VzLmFwcGVu
ZCgoX2NsYXNzLCBfY2xhc3MpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgKG1pbiwgbWF4
KSA9IF9jbGFzczsKLSAgICAgICAgICAgIGlmIHR5cGUobWluKSA9PSBzdHI6Ci0gICAgICAgICAg
ICAgICAgbWluID0gb3JkKG1pbikKLSAgICAgICAgICAgIGlmIHR5cGUobWF4KSA9PSBzdHI6Ci0g
ICAgICAgICAgICAgICAgbWF4ID0gb3JkKG1heCkKLSAgICAgICAgICAgIGlmIG1heCA+IDB4N2Yg
YW5kIG1pbiA8PSAweDdmOgotICAgICAgICAgICAgICAgIHJhbmdlcy5hcHBlbmQoKG1pbiwgMHg3
ZikpCi0gICAgICAgICAgICAgICAgbWluID0gMHg4MAotICAgICAgICAgICAgcmFuZ2VzLmFwcGVu
ZCgobWluLG1heCkpCi0gICAgcmFuZ2VzLnNvcnQoKTsKLSAgICAKLSAgICBpZiBlbWl0VGFibGVz
IGFuZCBjbGFzc2VzWyJVc2VUYWJsZSJdIGFuZCAobm90ICJJbnZlcnNlIiBpbiBjbGFzc2VzKToK
LSAgICAgICAgYXJyYXkgPSAoInN0YXRpYyBjb25zdCBjaGFyIF8lc0RhdGFbNjU1MzZdID0ge1xu
IiAlIG5hbWUpOwotICAgICAgICBpID0gMAotICAgICAgICBmb3IgKG1pbixtYXgpIGluIHJhbmdl
czoKLSAgICAgICAgICAgIHdoaWxlIGkgPCBtaW46Ci0gICAgICAgICAgICAgICAgaSA9IGkgKyAx
Ci0gICAgICAgICAgICAgICAgYXJyYXkgKz0gKCcwLCcpCi0gICAgICAgICAgICAgICAgaWYgKGkg
JSBlbnRyaWVzUGVyTGluZSA9PSAwKSBhbmQgKGkgIT0gMCk6Ci0gICAgICAgICAgICAgICAgICAg
IGFycmF5ICs9ICgnXG4nKQotICAgICAgICAgICAgd2hpbGUgaSA8PSBtYXg6Ci0gICAgICAgICAg
ICAgICAgaSA9IGkgKyAxCi0gICAgICAgICAgICAgICAgaWYgKGkgPT0gNjU1MzYpOgotICAgICAg
ICAgICAgICAgICAgICBhcnJheSArPSAoIjEiKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnMSwnKQotICAgICAgICAgICAgICAgIGlmIChpICUg
ZW50cmllc1BlckxpbmUgPT0gMCkgYW5kIChpICE9IDApOgotICAgICAgICAgICAgICAgICAgICBh
cnJheSArPSAoJ1xuJykKLSAgICAgICAgd2hpbGUgaSA8IDB4ZmZmZjoKLSAgICAgICAgICAgIGFy
cmF5ICs9ICgiMCwiKQotICAgICAgICAgICAgaSA9IGkgKyAxOwotICAgICAgICAgICAgaWYgKGkg
JSBlbnRyaWVzUGVyTGluZSA9PSAwKSBhbmQgKGkgIT0gMCk6Ci0gICAgICAgICAgICAgICAgYXJy
YXkgKz0gKCdcbicpCi0gICAgICAgIGlmIGkgPT0gMHhmZmZmOgotICAgICAgICAgICAgYXJyYXkg
Kz0gKCIwIikKLSAgICAgICAgYXJyYXkgKz0gKCJcbn07XG5cbiIpOwotICAgICAgICBhcnJheXMg
Kz0gYXJyYXkKLSAgICAKLSAgICAjIEdlbmVyYXRlIGNyZWF0ZUZ1bmN0aW9uOgotICAgIGZ1bmN0
aW9uID0gIiI7Ci0gICAgZnVuY3Rpb24gKz0gKCJzdGQ6OnVuaXF1ZV9wdHI8Q2hhcmFjdGVyQ2xh
c3M+ICVzQ3JlYXRlKClcbiIgJSBuYW1lKQotICAgIGZ1bmN0aW9uICs9ICgie1xuIikKLSAgICBp
ZiBlbWl0VGFibGVzIGFuZCBjbGFzc2VzWyJVc2VUYWJsZSJdOgotICAgICAgICBpZiAiSW52ZXJz
ZSIgaW4gY2xhc3NlczoKLSAgICAgICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFj
dGVyQ2xhc3MgPSBzdGQ6Om1ha2VfdW5pcXVlPENoYXJhY3RlckNsYXNzPihfJXNEYXRhLCB0cnVl
KTtcbiIgJSAoY2xhc3Nlc1siSW52ZXJzZSJdKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IGZ1bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFjdGVyQ2xhc3MgPSBzdGQ6Om1ha2VfdW5pcXVl
PENoYXJhY3RlckNsYXNzPihfJXNEYXRhLCBmYWxzZSk7XG4iICUgKG5hbWUpKQotICAgIGVsc2U6
Ci0gICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIGF1dG8gY2hhcmFjdGVyQ2xhc3MgPSBzdGQ6Om1h
a2VfdW5pcXVlPENoYXJhY3RlckNsYXNzPigpO1xuIikKLSAgICBoYXNOb25CTVBDaGFyYWN0ZXJz
ID0gRmFsc2UKLSAgICBmb3IgKG1pbiwgbWF4KSBpbiByYW5nZXM6Ci0gICAgICAgIGlmIChtaW4g
PT0gbWF4KToKLSAgICAgICAgICAgIGlmIChtaW4gPiAxMjcpOgotICAgICAgICAgICAgICAgIGZ1
bmN0aW9uICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX21hdGNoZXNVbmljb2RlLmFwcGVuZCgw
eCUwNHgpO1xuIiAlIG1pbikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZnVu
Y3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fbWF0Y2hlcy5hcHBlbmQoMHglMDJ4KTtc
biIgJSBtaW4pCi0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiAobWluID4gMTI3KSBv
ciAobWF4ID4gMTI3KToKLSAgICAgICAgICAgIGZ1bmN0aW9uICs9ICgiICAgIGNoYXJhY3RlckNs
YXNzLT5tX3Jhbmdlc1VuaWNvZGUuYXBwZW5kKENoYXJhY3RlclJhbmdlKDB4JTA0eCwgMHglMDR4
KSk7XG4iICUgKG1pbiwgbWF4KSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZ1bmN0aW9u
ICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX3Jhbmdlcy5hcHBlbmQoQ2hhcmFjdGVyUmFuZ2Uo
MHglMDJ4LCAweCUwMngpKTtcbiIgJSAobWluLCBtYXgpKQotICAgICAgICBpZiBtYXggPj0gMHgx
MDAwMDoKLSAgICAgICAgICAgIGhhc05vbkJNUENoYXJhY3RlcnMgPSBUcnVlCi0gICAgZnVuY3Rp
b24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1faGFzTm9uQk1QQ2hhcmFjdGVycyA9ICVzO1xu
IiAlICgidHJ1ZSIgaWYgaGFzTm9uQk1QQ2hhcmFjdGVycyBlbHNlICJmYWxzZSIpKQotICAgIGZ1
bmN0aW9uICs9ICgiICAgIHJldHVybiBjaGFyYWN0ZXJDbGFzcztcbiIpCi0gICAgZnVuY3Rpb24g
Kz0gKCJ9XG5cbiIpCi0gICAgZnVuY3Rpb25zICs9IGZ1bmN0aW9uCi0KLWlmIChsZW4oc3lzLmFy
Z3YpID4gMSk6Ci0gICAgZiA9IG9wZW4oc3lzLmFyZ3ZbLTFdLCAidyIpCi0gICAgZi53cml0ZShh
cnJheXMpCi0gICAgZi53cml0ZShmdW5jdGlvbnMpCi0gICAgZi5jbG9zZSgpCi1lbHNlOgotICAg
IHByaW50KGFycmF5cykKLSAgICBwcmludChmdW5jdGlvbnMpCi0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3ODg2MGE0NjVhOGRhZmIxZDlhN2QzYzczNGE4YzRlZGIx
NWUwMjAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUKKysrIC9k
ZXYvbnVsbApAQCAtMSwyMDAgKzAsMCBAQAotIyEgL3Vzci9iaW4vcHl0aG9uCi0KLSMgQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIwotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g
Ci0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0j
Ci0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCi0jIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQot
IyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCi0jIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0jIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKLSMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0jIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgotIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi0jIFRoaXMgdG9vbCBwcm9jZXNzZXMgdGhlIFVuaWNv
ZGUgQ2hhcmFjdGVyIERhdGFiYXNlIGZpbGUgQ2FzZUZvbGRpbmcudHh0IHRvIGNyZWF0ZQotIyBj
YW5vbmljYWxpemF0aW9uIHRhYmxlIGFzIGRlY3JpYmVkIGluIEVDTUFTY3JpcHQgNiBzdGFuZGFy
ZCBpbiBzZWN0aW9uCi0jICIyMS4yLjIuOC4yIFJ1bnRpbWUgU2VtYW50aWNzOiBDYW5vbmljYWxp
emUoKSIsIHN0ZXAgMi4KLQotaW1wb3J0IG9wdHBhcnNlCi1pbXBvcnQgcmUKLWltcG9ydCBzeXMK
LWZyb20gc2V0cyBpbXBvcnQgU2V0Ci0KLWhlYWRlciA9ICIiIi8qCi0qIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSogYXJlIG1ldDoKLSoKLSogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotKgotKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQotKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0qIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0q
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAotKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKLSogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSovCi0KLS8vIERPIE5PIEVESVQhIC0gVGhpcyBmaWxlIHdhcyBnZW5l
cmF0ZWQgYnkgZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiWWFyckNhbm9uaWNhbGl6ZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIFlhcnIgewotCi0iIiIKLQotZm9vdGVyID0gIiIifSB9IC8vIEpTQzo6WWFycgot
IiIiCi0KLU1heFVuaWNvZGUgPSAweDEwZmZmZgotY29tbW9uQW5kU2ltcGxlTGluZXNSRSA9IHJl
LmNvbXBpbGUociIoP1A8Y29kZT5bMC05QS1GXSspXHMqO1xzKltDU11ccyo7XHMqKD9QPG1hcHBp
bmc+WzAtOUEtRl0rKSIsIHJlLklHTk9SRUNBU0UpCi0KLWRlZiBvcGVuT3JFeGl0KHBhdGgsIG1v
ZGUpOgotICAgIHRyeToKLSAgICAgICAgcmV0dXJuIG9wZW4ocGF0aCwgbW9kZSkKLSAgICBleGNl
cHQgSU9FcnJvciBhcyBlOgotICAgICAgICBwcmludCAiSS9PIGVycm9yIG9wZW5pbmcgezB9LCAo
ezF9KTogezJ9Ii5mb3JtYXQocGF0aCwgZS5lcnJubywgZS5zdHJlcnJvcikKLSAgICAgICAgZXhp
dCgxKQotCi1jbGFzcyBDYW5vbmljYWxpemU6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAg
ICAgICBzZWxmLmNhbm9uaWNhbEdyb3VwcyA9IHt9OwotCi0gICAgZGVmIGFkZE1hcHBpbmcoc2Vs
ZiwgY29kZSwgbWFwcGluZyk6Ci0gICAgICAgIGlmIG1hcHBpbmcgbm90IGluIHNlbGYuY2Fub25p
Y2FsR3JvdXBzOgotICAgICAgICAgICAgc2VsZi5jYW5vbmljYWxHcm91cHNbbWFwcGluZ10gPSBb
XQotICAgICAgICBzZWxmLmNhbm9uaWNhbEdyb3Vwc1ttYXBwaW5nXS5hcHBlbmQoY29kZSkKLSAg
ICAgICAgCi0gICAgZGVmIHJlYWRDYXNlRm9sZGluZyhzZWxmLCBmaWxlKToKLSAgICAgICAgY29k
ZXNTZWVuID0gU2V0KCkKLSAgICAgICAgZm9yIGxpbmUgaW4gZmlsZToKLSAgICAgICAgICAgIGxp
bmUgPSBsaW5lLnNwbGl0KCcjJywgMSlbMF0KLSAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJp
cCgpCi0gICAgICAgICAgICBpZiAobm90IGxlbihsaW5lKSk6Ci0gICAgICAgICAgICAgICAgY29u
dGludWUKLQotICAgICAgICAgICAgZmllbGRzID0gY29tbW9uQW5kU2ltcGxlTGluZXNSRS5tYXRj
aChsaW5lKQotICAgICAgICAgICAgaWYgKG5vdCBmaWVsZHMpOgotICAgICAgICAgICAgICAgIGNv
bnRpbnVlCi0KLSAgICAgICAgICAgIGNvZGUgPSBpbnQoZmllbGRzLmdyb3VwKCdjb2RlJyksIDE2
KQotICAgICAgICAgICAgbWFwcGluZyA9IGludChmaWVsZHMuZ3JvdXAoJ21hcHBpbmcnKSwgMTYp
Ci0KLSAgICAgICAgICAgIGNvZGVzU2Vlbi5hZGQoY29kZSkKLSAgICAgICAgICAgIHNlbGYuYWRk
TWFwcGluZyhjb2RlLCBtYXBwaW5nKQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKE1heFVuaWNv
ZGUgKyAxKToKLSAgICAgICAgICAgIGlmIGkgaW4gY29kZXNTZWVuOgotICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotCi0gICAgICAgICAgICBzZWxmLmFkZE1hcHBpbmcoaSwgaSkKLQotICAgIGRl
ZiBjcmVhdGVUYWJsZXMoc2VsZiwgZmlsZSk6Ci0gICAgICAgIHR5cGVJbmZvID0gWyIiXSAqIChN
YXhVbmljb2RlICsgMSkKLSAgICAgICAgY2hhcmFjdGVyU2V0cyA9IFtdCi0KLSAgICAgICAgZm9y
IG1hcHBpbmcgaW4gc29ydGVkKHNlbGYuY2Fub25pY2FsR3JvdXBzLmtleXMoKSk6Ci0gICAgICAg
ICAgICBjaGFyYWN0ZXJzID0gc2VsZi5jYW5vbmljYWxHcm91cHNbbWFwcGluZ10KLSAgICAgICAg
ICAgIGlmIGxlbihjaGFyYWN0ZXJzKSA9PSAxOgotICAgICAgICAgICAgICAgIHR5cGVJbmZvW2No
YXJhY3RlcnNbMF1dID0gIkNhbm9uaWNhbGl6ZVVuaXF1ZTowIgotICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzLnNvcnQoKQotICAgICAgICAgICAgICAgIGlmIGxl
bihjaGFyYWN0ZXJzKSA+IDI6Ci0gICAgICAgICAgICAgICAgICAgIGZvciBjaCBpbiBjaGFyYWN0
ZXJzOgotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9bY2hdID0gIkNhbm9uaWNhbGl6
ZVNldDolZCIgJSBsZW4oY2hhcmFjdGVyU2V0cykKLSAgICAgICAgICAgICAgICAgICAgY2hhcmFj
dGVyU2V0cy5hcHBlbmQoY2hhcmFjdGVycykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgICAgICAgICBsb3cgPSBjaGFyYWN0ZXJzWzBdCi0gICAgICAgICAgICAgICAgICAgIGhp
Z2ggPSBjaGFyYWN0ZXJzWzFdCi0gICAgICAgICAgICAgICAgICAgIGRlbHRhID0gaGlnaCAtIGxv
dwotICAgICAgICAgICAgICAgICAgICBpZiBkZWx0YSA9PSAxOgotICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZSA9ICJDYW5vbmljYWxpemVBbHRlcm5hdGluZ1VuYWxpZ25lZDowIiBpZiBsb3cg
JiAxIGVsc2UgIkNhbm9uaWNhbGl6ZUFsdGVybmF0aW5nQWxpZ25lZDowIgotICAgICAgICAgICAg
ICAgICAgICAgICAgdHlwZUluZm9bbG93XSA9IHR5cGUKLSAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGVJbmZvW2hpZ2hdID0gdHlwZQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgICAgICAgICAgICAgdHlwZUluZm9bbG93XSA9ICJDYW5vbmljYWxpemVSYW5nZUxvOiVk
IiAlIGRlbHRhCi0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlSW5mb1toaWdoXSA9ICJDYW5v
bmljYWxpemVSYW5nZUhpOiVkIiAlIGRlbHRhCi0KLSAgICAgICAgcmFuZ2VJbmZvID0gW10KLSAg
ICAgICAgZW5kID0gMAotICAgICAgICB3aGlsZSBlbmQgPD0gTWF4VW5pY29kZToKLSAgICAgICAg
ICAgIGJlZ2luID0gZW5kCi0gICAgICAgICAgICB0eXBlID0gdHlwZUluZm9bZW5kXQotICAgICAg
ICAgICAgd2hpbGUgZW5kIDwgTWF4VW5pY29kZSBhbmQgdHlwZUluZm9bZW5kICsgMV0gPT0gdHlw
ZToKLSAgICAgICAgICAgICAgICBlbmQgPSBlbmQgKyAxCi0gICAgICAgICAgICByYW5nZUluZm8u
YXBwZW5kKHsiYmVnaW4iOiBiZWdpbiwgImVuZCI6IGVuZCwgInR5cGUiOiB0eXBlfSkKLSAgICAg
ICAgICAgIGVuZCA9IGVuZCArIDEKLSAgICAgICAgCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxl
bihjaGFyYWN0ZXJTZXRzKSk6Ci0gICAgICAgICAgICBjaGFyYWN0ZXJzID0gIiIKLSAgICAgICAg
ICAgIHNldCA9IGNoYXJhY3RlclNldHNbaV0KLSAgICAgICAgICAgIGZvciBjaCBpbiBzZXQ6Ci0g
ICAgICAgICAgICAgICAgY2hhcmFjdGVycyA9IGNoYXJhY3RlcnMgKyAiMHh7Y2hhcmFjdGVyOjA0
eH0sICIuZm9ybWF0KGNoYXJhY3Rlcj1jaCkKLSAgICAgICAgICAgIGZpbGUud3JpdGUoImNvbnN0
IFVDaGFyMzIgdW5pY29kZUNoYXJhY3RlclNldHtpbmRleDpkfVtdID0ge3sge2NoYXJhY3RlcnN9
MCB9fTtcbiIuZm9ybWF0KGluZGV4PWksIGNoYXJhY3RlcnM9Y2hhcmFjdGVycykpCi0KLSAgICAg
ICAgZmlsZS53cml0ZSgiXG4iKQotICAgICAgICBmaWxlLndyaXRlKCJzdGF0aWMgY29uc3Qgc2l6
ZV90IFVOSUNPREVfQ0FOT05JQ0FMSVpBVElPTl9TRVRTID0ge3NldENvdW50OmR9O1xuIi5mb3Jt
YXQoc2V0Q291bnQ9bGVuKGNoYXJhY3RlclNldHMpKSkKLSAgICAgICAgZmlsZS53cml0ZSgiY29u
c3QgVUNoYXIzMiogY29uc3QgdW5pY29kZUNoYXJhY3RlclNldEluZm9bVU5JQ09ERV9DQU5PTklD
QUxJWkFUSU9OX1NFVFNdID0ge1xuIikKLQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oY2hh
cmFjdGVyU2V0cykpOgotICAgICAgICAgICAgZmlsZS53cml0ZSgiICAgIHVuaWNvZGVDaGFyYWN0
ZXJTZXR7c2V0TnVtYmVyOmR9LFxuIi5mb3JtYXQoc2V0TnVtYmVyPWkpKQotCi0gICAgICAgIGZp
bGUud3JpdGUoIn07XG4iKQotICAgICAgICBmaWxlLndyaXRlKCJcbiIpCi0gICAgICAgIGZpbGUu
d3JpdGUoImNvbnN0IHNpemVfdCBVTklDT0RFX0NBTk9OSUNBTElaQVRJT05fUkFOR0VTID0ge3Jh
bmdlQ291bnQ6ZH07XG4iLmZvcm1hdChyYW5nZUNvdW50PWxlbihyYW5nZUluZm8pKSkKLSAgICAg
ICAgZmlsZS53cml0ZSgiY29uc3QgQ2Fub25pY2FsaXphdGlvblJhbmdlIHVuaWNvZGVSYW5nZUlu
Zm9bVU5JQ09ERV9DQU5PTklDQUxJWkFUSU9OX1JBTkdFU10gPSB7XG4iKQotCi0gICAgICAgIGZv
ciBpbmZvIGluIHJhbmdlSW5mbzoKLSAgICAgICAgICAgIHR5cGVBbmRWYWx1ZSA9IGluZm9bInR5
cGUiXS5zcGxpdCgiOiIpCi0gICAgICAgICAgICBmaWxlLndyaXRlKCIgICAge3sgMHh7YmVnaW46
MDR4fSwgMHh7ZW5kOjA0eH0sIDB4e3ZhbHVlOjA0eH0sIHt0eXBlfSB9fSxcbiIuZm9ybWF0KGJl
Z2luPWluZm9bImJlZ2luIl0sIGVuZD1pbmZvWyJlbmQiXSwgdmFsdWU9aW50KHR5cGVBbmRWYWx1
ZVsxXSksIHR5cGU9dHlwZUFuZFZhbHVlWzBdKSkKLQotICAgICAgICBmaWxlLndyaXRlKCJ9O1xu
IikKLSAgICAgICAgZmlsZS53cml0ZSgiXG4iKQotCi0gICAgICAgIAotaWYgX19uYW1lX18gPT0g
Il9fbWFpbl9fIjoKLSAgICBwYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2UgPSAi
dXNhZ2U6ICVwcm9nICA8Q2FzZUZvbGRpbmcudHh0PiA8WWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUu
aD4iKQotICAgIChvcHRpb25zLCBhcmdzKSA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLQotICAgIGlm
IGxlbihhcmdzKSAhPSAyOgotICAgICAgICBwYXJzZXIuZXJyb3IoIjxDYXNlRm9sZGluZy50eHQ+
IDxZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5oPiIpCi0KLSAgICBjYXNlRm9sZGluZ1R4dFBhdGgg
PSBhcmdzWzBdCi0gICAgY2Fub25pY2FsaXplSFBhdGggPSBhcmdzWzFdCi0gICAgY2FzZUZvbGRp
bmdUeHRGaWxlID0gb3Blbk9yRXhpdChjYXNlRm9sZGluZ1R4dFBhdGgsICJyIikKLSAgICBjYW5v
bmljYWxpemVIRmlsZSA9IG9wZW5PckV4aXQoY2Fub25pY2FsaXplSFBhdGgsICJ3YiIpCi0KLSAg
ICBjYW5vbmljYWxpemUgPSBDYW5vbmljYWxpemUoKQotICAgIGNhbm9uaWNhbGl6ZS5yZWFkQ2Fz
ZUZvbGRpbmcoY2FzZUZvbGRpbmdUeHRGaWxlKQotCi0gICAgY2Fub25pY2FsaXplSEZpbGUud3Jp
dGUoaGVhZGVyKTsKLSAgICBjYW5vbmljYWxpemUuY3JlYXRlVGFibGVzKGNhbm9uaWNhbGl6ZUhG
aWxlKQotICAgIGNhbm9uaWNhbGl6ZUhGaWxlLndyaXRlKGZvb3Rlcik7Ci0KLSAgICBjYXNlRm9s
ZGluZ1R4dEZpbGUuY2xvc2UoKQotICAgIGNhbm9uaWNhbGl6ZUhGaWxlLmNsb3NlKCkKLQotICAg
IGV4aXQoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29s
LWJpbmRpbmdzLnB5CmluZGV4IGQ2ZGFiNTIzMWVkY2ZhODE2NDI5MGIyZjhlMmRiYjE2YThhNmE2
MGQuLjQ0OGFiN2E1ZTk2ZDA3MDM5ZGFkYzYwNDU0ODFlZDAwMjM2NmRhNGYgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0
b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQpAQCAt
MjcsNyArMjcsNyBAQAogIyBUaGlzIHNjcmlwdCBnZW5lcmF0ZXMgSlMsIE9iamVjdGl2ZSBDLCBh
bmQgQysrIGJpbmRpbmdzIGZvciB0aGUgaW5zcGVjdG9yIHByb3RvY29sLgogIyBHZW5lcmF0b3Jz
IGZvciBpbmRpdmlkdWFsIGZpbGVzIGFyZSBsb2NhdGVkIGluIHRoZSBjb2RlZ2VuLyBkaXJlY3Rv
cnkuCiAKLWltcG9ydCBvcy5wYXRoCitpbXBvcnQgb3MKIGltcG9ydCByZQogaW1wb3J0IHN5cwog
aW1wb3J0IHN0cmluZwpAQCAtMTAzLDYgKzEwMyw5IEBAIGNsYXNzIEluY3JlbWVudGFsRmlsZVdy
aXRlcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICBpZiB0ZXh0X2NoYW5nZWQgb3Igc2Vs
Zi5mb3JjZV9vdXRwdXQ6CisgICAgICAgICAgICBkaXJuYW1lID0gb3MucGF0aC5kaXJuYW1lKHNl
bGYuX2ZpbGVwYXRoKQorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlybmFtZSk6
CisgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKICAgICAgICAgICAgIG91dF9m
aWxlID0gb3BlbihzZWxmLl9maWxlcGF0aCwgInciKQogICAgICAgICAgICAgb3V0X2ZpbGUud3Jp
dGUoc2VsZi5fb3V0cHV0KQogICAgICAgICAgICAgb3V0X2ZpbGUuY2xvc2UoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS95YXJyL2NyZWF0ZV9yZWdleF90YWJsZXMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMz
ZGJiZTNmYmQ0OTRhMjM4MjRiMzM0MTg5NDJhN2E2MWFiNzhiYwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2NyZWF0ZV9yZWdleF90YWJsZXMKQEAgLTAsMCAr
MSwxMzQgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorCisjIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxMy0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMgCisjIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjIAorIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyMgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisjIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisjIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCit0eXBlcyA9IHsKKyAgICAid29yZGNoYXIi
OiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiZGF0YSI6IFsnXycsICgnMCcsJzknKSwgKCdBJywgJ1on
KSwgKCdhJywneicpXX0sCisgICAgIndvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXIiOiB7ICJVc2VU
YWJsZSIgOiBGYWxzZSwgImRhdGEiOiBbJ18nLCAoJzAnLCAnOScpLCAoJ0EnLCAnWicpLCAoJ2En
LCAneicpLCAweDAxN2YsIDB4MjEyYV19LAorICAgICJub253b3JkY2hhciI6IHsgIlVzZVRhYmxl
IiA6IFRydWUsICJJbnZlcnNlIjogIndvcmRjaGFyIiwgImRhdGEiOiBbJ2AnLCAoMCwgb3JkKCcw
JykgLSAxKSwgKG9yZCgnOScpICsgMSwgb3JkKCdBJykgLSAxKSwgKG9yZCgnWicpICsgMSwgb3Jk
KCdfJykgLSAxKSwgKG9yZCgneicpICsgMSwgMHgxMGZmZmYpXX0sCisgICAgIm5vbndvcmRVbmlj
b2RlSWdub3JlQ2FzZUNoYXIiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgIkludmVyc2UiOiAid29y
ZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciIsICJkYXRhIjogWydgJywgKDAsIG9yZCgnMCcpIC0gMSks
IChvcmQoJzknKSArIDEsIG9yZCgnQScpIC0gMSksIChvcmQoJ1onKSArIDEsIG9yZCgnXycpIC0g
MSksIChvcmQoJ3onKSArIDEsIDB4MDE3ZSksICgweDAxODAsIDB4MjEyOSksICgweDIxMmIsIDB4
MTBmZmZmKV19LAorICAgICJuZXdsaW5lIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjog
WydcbicsICdccicsIDB4MjAyOCwgMHgyMDI5XX0sCisgICAgInNwYWNlcyI6IHsgIlVzZVRhYmxl
IiA6IFRydWUsICJkYXRhIjogWycgJywgKCdcdCcsICdccicpLCAweGEwLCAweDE2ODAsIDB4MTgw
ZSwgMHgyMDI4LCAweDIwMjksIDB4MjAyZiwgMHgyMDVmLCAweDMwMDAsICgweDIwMDAsIDB4MjAw
YSksIDB4ZmVmZl19LAorICAgICJub25zcGFjZXMiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiSW52
ZXJzZSI6ICJzcGFjZXMiLCAiZGF0YSI6IFsoMCwgb3JkKCdcdCcpIC0gMSksIChvcmQoJ1xyJykg
KyAxLCBvcmQoJyAnKSAtIDEpLCAob3JkKCcgJykgKyAxLCAweDAwOWYpLCAoMHgwMGExLCAweDE2
N2YpLCAoMHgxNjgxLCAweDE4MGQpLCAoMHgxODBmLCAweDFmZmYpLCAoMHgyMDBiLCAweDIwMjcp
LCAoMHgyMDJhLCAweDIwMmUpLCAoMHgyMDMwLCAweDIwNWUpLCAoMHgyMDYwLCAweDJmZmYpLCAo
MHgzMDAxLCAweGZlZmUpLCAoMHhmZjAwLCAweDEwZmZmZildfSwKKyAgICAiZGlnaXRzIjogeyAi
VXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjogWygnMCcsICc5JyldfSwKKyAgICAibm9uZGlnaXRz
IjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJJbnZlcnNlIjogImRpZ2l0cyIsICJkYXRhIjogWygw
LCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCAweDEwZmZmZildIH0KK30KK2VudHJpZXNQ
ZXJMaW5lID0gNTAKK2FycmF5cyA9ICIiOworZnVuY3Rpb25zID0gIiI7CitlbWl0VGFibGVzID0g
KGxlbihzeXMuYXJndikgPCAyIG9yIHN5cy5hcmd2WzFdICE9ICItLW5vLXRhYmxlcyIpCisKK2Zv
ciBuYW1lLCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6CisgICAgcmFuZ2VzID0gW107CisgICAg
c2l6ZSA9IDA7CisgICAgZm9yIF9jbGFzcyBpbiBjbGFzc2VzWyJkYXRhIl06CisgICAgICAgIGlm
IHR5cGUoX2NsYXNzKSA9PSBzdHI6CisgICAgICAgICAgICByYW5nZXMuYXBwZW5kKChvcmQoX2Ns
YXNzKSwgb3JkKF9jbGFzcykpKQorICAgICAgICBlbGlmIHR5cGUoX2NsYXNzKSA9PSBpbnQ6Cisg
ICAgICAgICAgICByYW5nZXMuYXBwZW5kKChfY2xhc3MsIF9jbGFzcykpCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICAobWluLCBtYXgpID0gX2NsYXNzOworICAgICAgICAgICAgaWYgdHlwZSht
aW4pID09IHN0cjoKKyAgICAgICAgICAgICAgICBtaW4gPSBvcmQobWluKQorICAgICAgICAgICAg
aWYgdHlwZShtYXgpID09IHN0cjoKKyAgICAgICAgICAgICAgICBtYXggPSBvcmQobWF4KQorICAg
ICAgICAgICAgaWYgbWF4ID4gMHg3ZiBhbmQgbWluIDw9IDB4N2Y6CisgICAgICAgICAgICAgICAg
cmFuZ2VzLmFwcGVuZCgobWluLCAweDdmKSkKKyAgICAgICAgICAgICAgICBtaW4gPSAweDgwCisg
ICAgICAgICAgICByYW5nZXMuYXBwZW5kKChtaW4sbWF4KSkKKyAgICByYW5nZXMuc29ydCgpOwor
ICAgIAorICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNzZXNbIlVzZVRhYmxlIl0gYW5kIChub3Qg
IkludmVyc2UiIGluIGNsYXNzZXMpOgorICAgICAgICBhcnJheSA9ICgic3RhdGljIGNvbnN0IGNo
YXIgXyVzRGF0YVs2NTUzNl0gPSB7XG4iICUgbmFtZSk7CisgICAgICAgIGkgPSAwCisgICAgICAg
IGZvciAobWluLG1heCkgaW4gcmFuZ2VzOgorICAgICAgICAgICAgd2hpbGUgaSA8IG1pbjoKKyAg
ICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgICAgICBhcnJheSArPSAoJzAsJykK
KyAgICAgICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09IDApIGFuZCAoaSAhPSAw
KToKKyAgICAgICAgICAgICAgICAgICAgYXJyYXkgKz0gKCdcbicpCisgICAgICAgICAgICB3aGls
ZSBpIDw9IG1heDoKKyAgICAgICAgICAgICAgICBpID0gaSArIDEKKyAgICAgICAgICAgICAgICBp
ZiAoaSA9PSA2NTUzNik6CisgICAgICAgICAgICAgICAgICAgIGFycmF5ICs9ICgiMSIpCisgICAg
ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYXJyYXkgKz0gKCcxLCcpCisg
ICAgICAgICAgICAgICAgaWYgKGkgJSBlbnRyaWVzUGVyTGluZSA9PSAwKSBhbmQgKGkgIT0gMCk6
CisgICAgICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnXG4nKQorICAgICAgICB3aGlsZSBpIDwg
MHhmZmZmOgorICAgICAgICAgICAgYXJyYXkgKz0gKCIwLCIpCisgICAgICAgICAgICBpID0gaSAr
IDE7CisgICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09IDApIGFuZCAoaSAhPSAw
KToKKyAgICAgICAgICAgICAgICBhcnJheSArPSAoJ1xuJykKKyAgICAgICAgaWYgaSA9PSAweGZm
ZmY6CisgICAgICAgICAgICBhcnJheSArPSAoIjAiKQorICAgICAgICBhcnJheSArPSAoIlxufTtc
blxuIik7CisgICAgICAgIGFycmF5cyArPSBhcnJheQorICAgIAorICAgICMgR2VuZXJhdGUgY3Jl
YXRlRnVuY3Rpb246CisgICAgZnVuY3Rpb24gPSAiIjsKKyAgICBmdW5jdGlvbiArPSAoInN0ZDo6
dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gJXNDcmVhdGUoKVxuIiAlIG5hbWUpCisgICAgZnVu
Y3Rpb24gKz0gKCJ7XG4iKQorICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNzZXNbIlVzZVRhYmxl
Il06CisgICAgICAgIGlmICJJbnZlcnNlIiBpbiBjbGFzc2VzOgorICAgICAgICAgICAgZnVuY3Rp
b24gKz0gKCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFj
dGVyQ2xhc3M+KF8lc0RhdGEsIHRydWUpO1xuIiAlIChjbGFzc2VzWyJJbnZlcnNlIl0pKQorICAg
ICAgICBlbHNlOgorICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgYXV0byBjaGFyYWN0ZXJD
bGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KF8lc0RhdGEsIGZhbHNlKTtc
biIgJSAobmFtZSkpCisgICAgZWxzZToKKyAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgYXV0byBj
aGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KCk7XG4iKQor
ICAgIGhhc05vbkJNUENoYXJhY3RlcnMgPSBGYWxzZQorICAgIGZvciAobWluLCBtYXgpIGluIHJh
bmdlczoKKyAgICAgICAgaWYgKG1pbiA9PSBtYXgpOgorICAgICAgICAgICAgaWYgKG1pbiA+IDEy
Nyk6CisgICAgICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1f
bWF0Y2hlc1VuaWNvZGUuYXBwZW5kKDB4JTA0eCk7XG4iICUgbWluKQorICAgICAgICAgICAgZWxz
ZToKKyAgICAgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9t
YXRjaGVzLmFwcGVuZCgweCUwMngpO1xuIiAlIG1pbikKKyAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgIGlmIChtaW4gPiAxMjcpIG9yIChtYXggPiAxMjcpOgorICAgICAgICAgICAgZnVuY3Rp
b24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fcmFuZ2VzVW5pY29kZS5hcHBlbmQoQ2hhcmFj
dGVyUmFuZ2UoMHglMDR4LCAweCUwNHgpKTtcbiIgJSAobWluLCBtYXgpKQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fcmFuZ2Vz
LmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwMngsIDB4JTAyeCkpO1xuIiAlIChtaW4sIG1heCkp
CisgICAgICAgIGlmIG1heCA+PSAweDEwMDAwOgorICAgICAgICAgICAgaGFzTm9uQk1QQ2hhcmFj
dGVycyA9IFRydWUKKyAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9oYXNO
b25CTVBDaGFyYWN0ZXJzID0gJXM7XG4iICUgKCJ0cnVlIiBpZiBoYXNOb25CTVBDaGFyYWN0ZXJz
IGVsc2UgImZhbHNlIikpCisgICAgZnVuY3Rpb24gKz0gKCIgICAgcmV0dXJuIGNoYXJhY3RlckNs
YXNzO1xuIikKKyAgICBmdW5jdGlvbiArPSAoIn1cblxuIikKKyAgICBmdW5jdGlvbnMgKz0gZnVu
Y3Rpb24KKworaWYgKGxlbihzeXMuYXJndikgPiAxKToKKyAgICBwYXRoID0gc3lzLmFyZ3ZbLTFd
CisgICAgZGlybmFtZSA9IG9zLnBhdGguZGlybmFtZShwYXRoKQorICAgIGlmIG5vdCBvcy5wYXRo
LmlzZGlyKGRpcm5hbWUpOgorICAgICAgICBvcy5tYWtlZGlycyhkaXJuYW1lKQorICAgIGYgPSBv
cGVuKHBhdGgsICJ3IikKKyAgICBmLndyaXRlKGFycmF5cykKKyAgICBmLndyaXRlKGZ1bmN0aW9u
cykKKyAgICBmLmNsb3NlKCkKK2Vsc2U6CisgICAgcHJpbnQoYXJyYXlzKQorICAgIHByaW50KGZ1
bmN0aW9ucykKKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJh
dGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL2dl
bmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU1ZDg5Mjk2NGViMDEw
YjkyY2ZlN2QwYzk4MTI3ZWI3ZmFiZGIwMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUKQEAgLTAsMCAr
MSwyMDQgQEAKKyMhIC91c3IvYmluL3B5dGhvbgorCisjIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorIworIyBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorIyBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworIyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisjIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorIyBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyMgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworIyBUaGlzIHRvb2wgcHJvY2Vzc2VzIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRh
YmFzZSBmaWxlIENhc2VGb2xkaW5nLnR4dCB0byBjcmVhdGUKKyMgY2Fub25pY2FsaXphdGlvbiB0
YWJsZSBhcyBkZWNyaWJlZCBpbiBFQ01BU2NyaXB0IDYgc3RhbmRhcmQgaW4gc2VjdGlvbgorIyAi
MjEuMi4yLjguMiBSdW50aW1lIFNlbWFudGljczogQ2Fub25pY2FsaXplKCkiLCBzdGVwIDIuCisK
K2ltcG9ydCBvcHRwYXJzZQoraW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMKK2Zyb20g
c2V0cyBpbXBvcnQgU2V0CisKK2hlYWRlciA9ICIiIi8qCisqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyogYXJlIG1ldDoKKyoKKyogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorKgorKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyovCisKKy8vIERPIE5PIEVESVQhIC0gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQg
YnkgZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQorCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiWWFyckNhbm9uaWNhbGl6ZS5oIgorCituYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIFlhcnIgeworCisiIiIKKworZm9vdGVyID0gIiIifSB9IC8vIEpTQzo6WWFycgorIiIiCisK
K01heFVuaWNvZGUgPSAweDEwZmZmZgorY29tbW9uQW5kU2ltcGxlTGluZXNSRSA9IHJlLmNvbXBp
bGUociIoP1A8Y29kZT5bMC05QS1GXSspXHMqO1xzKltDU11ccyo7XHMqKD9QPG1hcHBpbmc+WzAt
OUEtRl0rKSIsIHJlLklHTk9SRUNBU0UpCisKK2RlZiBvcGVuT3JFeGl0KHBhdGgsIG1vZGUpOgor
ICAgIHRyeToKKyAgICAgICAgZGlybmFtZSA9IG9zLnBhdGguZGlybmFtZShwYXRoKQorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5pc2RpcihkaXJuYW1lKToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJz
KGRpcm5hbWUpCisgICAgICAgIHJldHVybiBvcGVuKHBhdGgsIG1vZGUpCisgICAgZXhjZXB0IElP
RXJyb3IgYXMgZToKKyAgICAgICAgcHJpbnQgIkkvTyBlcnJvciBvcGVuaW5nIHswfSwgKHsxfSk6
IHsyfSIuZm9ybWF0KHBhdGgsIGUuZXJybm8sIGUuc3RyZXJyb3IpCisgICAgICAgIGV4aXQoMSkK
KworY2xhc3MgQ2Fub25pY2FsaXplOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAg
c2VsZi5jYW5vbmljYWxHcm91cHMgPSB7fTsKKworICAgIGRlZiBhZGRNYXBwaW5nKHNlbGYsIGNv
ZGUsIG1hcHBpbmcpOgorICAgICAgICBpZiBtYXBwaW5nIG5vdCBpbiBzZWxmLmNhbm9uaWNhbEdy
b3VwczoKKyAgICAgICAgICAgIHNlbGYuY2Fub25pY2FsR3JvdXBzW21hcHBpbmddID0gW10KKyAg
ICAgICAgc2VsZi5jYW5vbmljYWxHcm91cHNbbWFwcGluZ10uYXBwZW5kKGNvZGUpCisgICAgICAg
IAorICAgIGRlZiByZWFkQ2FzZUZvbGRpbmcoc2VsZiwgZmlsZSk6CisgICAgICAgIGNvZGVzU2Vl
biA9IFNldCgpCisgICAgICAgIGZvciBsaW5lIGluIGZpbGU6CisgICAgICAgICAgICBsaW5lID0g
bGluZS5zcGxpdCgnIycsIDEpWzBdCisgICAgICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoKQor
ICAgICAgICAgICAgaWYgKG5vdCBsZW4obGluZSkpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVl
CisKKyAgICAgICAgICAgIGZpZWxkcyA9IGNvbW1vbkFuZFNpbXBsZUxpbmVzUkUubWF0Y2gobGlu
ZSkKKyAgICAgICAgICAgIGlmIChub3QgZmllbGRzKToKKyAgICAgICAgICAgICAgICBjb250aW51
ZQorCisgICAgICAgICAgICBjb2RlID0gaW50KGZpZWxkcy5ncm91cCgnY29kZScpLCAxNikKKyAg
ICAgICAgICAgIG1hcHBpbmcgPSBpbnQoZmllbGRzLmdyb3VwKCdtYXBwaW5nJyksIDE2KQorCisg
ICAgICAgICAgICBjb2Rlc1NlZW4uYWRkKGNvZGUpCisgICAgICAgICAgICBzZWxmLmFkZE1hcHBp
bmcoY29kZSwgbWFwcGluZykKKworICAgICAgICBmb3IgaSBpbiByYW5nZShNYXhVbmljb2RlICsg
MSk6CisgICAgICAgICAgICBpZiBpIGluIGNvZGVzU2VlbjoKKyAgICAgICAgICAgICAgICBjb250
aW51ZTsKKworICAgICAgICAgICAgc2VsZi5hZGRNYXBwaW5nKGksIGkpCisKKyAgICBkZWYgY3Jl
YXRlVGFibGVzKHNlbGYsIGZpbGUpOgorICAgICAgICB0eXBlSW5mbyA9IFsiIl0gKiAoTWF4VW5p
Y29kZSArIDEpCisgICAgICAgIGNoYXJhY3RlclNldHMgPSBbXQorCisgICAgICAgIGZvciBtYXBw
aW5nIGluIHNvcnRlZChzZWxmLmNhbm9uaWNhbEdyb3Vwcy5rZXlzKCkpOgorICAgICAgICAgICAg
Y2hhcmFjdGVycyA9IHNlbGYuY2Fub25pY2FsR3JvdXBzW21hcHBpbmddCisgICAgICAgICAgICBp
ZiBsZW4oY2hhcmFjdGVycykgPT0gMToKKyAgICAgICAgICAgICAgICB0eXBlSW5mb1tjaGFyYWN0
ZXJzWzBdXSA9ICJDYW5vbmljYWxpemVVbmlxdWU6MCIKKyAgICAgICAgICAgIGVsc2U6CisgICAg
ICAgICAgICAgICAgY2hhcmFjdGVycy5zb3J0KCkKKyAgICAgICAgICAgICAgICBpZiBsZW4oY2hh
cmFjdGVycykgPiAyOgorICAgICAgICAgICAgICAgICAgICBmb3IgY2ggaW4gY2hhcmFjdGVyczoK
KyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVJbmZvW2NoXSA9ICJDYW5vbmljYWxpemVTZXQ6
JWQiICUgbGVuKGNoYXJhY3RlclNldHMpCisgICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlclNl
dHMuYXBwZW5kKGNoYXJhY3RlcnMpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgbG93ID0gY2hhcmFjdGVyc1swXQorICAgICAgICAgICAgICAgICAgICBoaWdoID0g
Y2hhcmFjdGVyc1sxXQorICAgICAgICAgICAgICAgICAgICBkZWx0YSA9IGhpZ2ggLSBsb3cKKyAg
ICAgICAgICAgICAgICAgICAgaWYgZGVsdGEgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGUgPSAiQ2Fub25pY2FsaXplQWx0ZXJuYXRpbmdVbmFsaWduZWQ6MCIgaWYgbG93ICYgMSBl
bHNlICJDYW5vbmljYWxpemVBbHRlcm5hdGluZ0FsaWduZWQ6MCIKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGVJbmZvW2xvd10gPSB0eXBlCisgICAgICAgICAgICAgICAgICAgICAgICB0eXBl
SW5mb1toaWdoXSA9IHR5cGUKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGVJbmZvW2xvd10gPSAiQ2Fub25pY2FsaXplUmFuZ2VMbzolZCIgJSBk
ZWx0YQorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9baGlnaF0gPSAiQ2Fub25pY2Fs
aXplUmFuZ2VIaTolZCIgJSBkZWx0YQorCisgICAgICAgIHJhbmdlSW5mbyA9IFtdCisgICAgICAg
IGVuZCA9IDAKKyAgICAgICAgd2hpbGUgZW5kIDw9IE1heFVuaWNvZGU6CisgICAgICAgICAgICBi
ZWdpbiA9IGVuZAorICAgICAgICAgICAgdHlwZSA9IHR5cGVJbmZvW2VuZF0KKyAgICAgICAgICAg
IHdoaWxlIGVuZCA8IE1heFVuaWNvZGUgYW5kIHR5cGVJbmZvW2VuZCArIDFdID09IHR5cGU6Cisg
ICAgICAgICAgICAgICAgZW5kID0gZW5kICsgMQorICAgICAgICAgICAgcmFuZ2VJbmZvLmFwcGVu
ZCh7ImJlZ2luIjogYmVnaW4sICJlbmQiOiBlbmQsICJ0eXBlIjogdHlwZX0pCisgICAgICAgICAg
ICBlbmQgPSBlbmQgKyAxCisgICAgICAgIAorICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oY2hh
cmFjdGVyU2V0cykpOgorICAgICAgICAgICAgY2hhcmFjdGVycyA9ICIiCisgICAgICAgICAgICBz
ZXQgPSBjaGFyYWN0ZXJTZXRzW2ldCisgICAgICAgICAgICBmb3IgY2ggaW4gc2V0OgorICAgICAg
ICAgICAgICAgIGNoYXJhY3RlcnMgPSBjaGFyYWN0ZXJzICsgIjB4e2NoYXJhY3RlcjowNHh9LCAi
LmZvcm1hdChjaGFyYWN0ZXI9Y2gpCisgICAgICAgICAgICBmaWxlLndyaXRlKCJjb25zdCBVQ2hh
cjMyIHVuaWNvZGVDaGFyYWN0ZXJTZXR7aW5kZXg6ZH1bXSA9IHt7IHtjaGFyYWN0ZXJzfTAgfX07
XG4iLmZvcm1hdChpbmRleD1pLCBjaGFyYWN0ZXJzPWNoYXJhY3RlcnMpKQorCisgICAgICAgIGZp
bGUud3JpdGUoIlxuIikKKyAgICAgICAgZmlsZS53cml0ZSgic3RhdGljIGNvbnN0IHNpemVfdCBV
TklDT0RFX0NBTk9OSUNBTElaQVRJT05fU0VUUyA9IHtzZXRDb3VudDpkfTtcbiIuZm9ybWF0KHNl
dENvdW50PWxlbihjaGFyYWN0ZXJTZXRzKSkpCisgICAgICAgIGZpbGUud3JpdGUoImNvbnN0IFVD
aGFyMzIqIGNvbnN0IHVuaWNvZGVDaGFyYWN0ZXJTZXRJbmZvW1VOSUNPREVfQ0FOT05JQ0FMSVpB
VElPTl9TRVRTXSA9IHtcbiIpCisKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGNoYXJhY3Rl
clNldHMpKToKKyAgICAgICAgICAgIGZpbGUud3JpdGUoIiAgICB1bmljb2RlQ2hhcmFjdGVyU2V0
e3NldE51bWJlcjpkfSxcbiIuZm9ybWF0KHNldE51bWJlcj1pKSkKKworICAgICAgICBmaWxlLndy
aXRlKCJ9O1xuIikKKyAgICAgICAgZmlsZS53cml0ZSgiXG4iKQorICAgICAgICBmaWxlLndyaXRl
KCJjb25zdCBzaXplX3QgVU5JQ09ERV9DQU5PTklDQUxJWkFUSU9OX1JBTkdFUyA9IHtyYW5nZUNv
dW50OmR9O1xuIi5mb3JtYXQocmFuZ2VDb3VudD1sZW4ocmFuZ2VJbmZvKSkpCisgICAgICAgIGZp
bGUud3JpdGUoImNvbnN0IENhbm9uaWNhbGl6YXRpb25SYW5nZSB1bmljb2RlUmFuZ2VJbmZvW1VO
SUNPREVfQ0FOT05JQ0FMSVpBVElPTl9SQU5HRVNdID0ge1xuIikKKworICAgICAgICBmb3IgaW5m
byBpbiByYW5nZUluZm86CisgICAgICAgICAgICB0eXBlQW5kVmFsdWUgPSBpbmZvWyJ0eXBlIl0u
c3BsaXQoIjoiKQorICAgICAgICAgICAgZmlsZS53cml0ZSgiICAgIHt7IDB4e2JlZ2luOjA0eH0s
IDB4e2VuZDowNHh9LCAweHt2YWx1ZTowNHh9LCB7dHlwZX0gfX0sXG4iLmZvcm1hdChiZWdpbj1p
bmZvWyJiZWdpbiJdLCBlbmQ9aW5mb1siZW5kIl0sIHZhbHVlPWludCh0eXBlQW5kVmFsdWVbMV0p
LCB0eXBlPXR5cGVBbmRWYWx1ZVswXSkpCisKKyAgICAgICAgZmlsZS53cml0ZSgifTtcbiIpCisg
ICAgICAgIGZpbGUud3JpdGUoIlxuIikKKworICAgICAgICAKK2lmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6CisgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlID0gInVzYWdl
OiAlcHJvZyAgPENhc2VGb2xkaW5nLnR4dD4gPFlhcnJDYW5vbmljYWxpemVVbmljb2RlLmg+IikK
KyAgICAob3B0aW9ucywgYXJncykgPSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBpZiBsZW4o
YXJncykgIT0gMjoKKyAgICAgICAgcGFyc2VyLmVycm9yKCI8Q2FzZUZvbGRpbmcudHh0PiA8WWFy
ckNhbm9uaWNhbGl6ZVVuaWNvZGUuaD4iKQorCisgICAgY2FzZUZvbGRpbmdUeHRQYXRoID0gYXJn
c1swXQorICAgIGNhbm9uaWNhbGl6ZUhQYXRoID0gYXJnc1sxXQorICAgIGNhc2VGb2xkaW5nVHh0
RmlsZSA9IG9wZW5PckV4aXQoY2FzZUZvbGRpbmdUeHRQYXRoLCAiciIpCisgICAgY2Fub25pY2Fs
aXplSEZpbGUgPSBvcGVuT3JFeGl0KGNhbm9uaWNhbGl6ZUhQYXRoLCAid2IiKQorCisgICAgY2Fu
b25pY2FsaXplID0gQ2Fub25pY2FsaXplKCkKKyAgICBjYW5vbmljYWxpemUucmVhZENhc2VGb2xk
aW5nKGNhc2VGb2xkaW5nVHh0RmlsZSkKKworICAgIGNhbm9uaWNhbGl6ZUhGaWxlLndyaXRlKGhl
YWRlcik7CisgICAgY2Fub25pY2FsaXplLmNyZWF0ZVRhYmxlcyhjYW5vbmljYWxpemVIRmlsZSkK
KyAgICBjYW5vbmljYWxpemVIRmlsZS53cml0ZShmb290ZXIpOworCisgICAgY2FzZUZvbGRpbmdU
eHRGaWxlLmNsb3NlKCkKKyAgICBjYW5vbmljYWxpemVIRmlsZS5jbG9zZSgpCisKKyAgICBleGl0
KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvZ2VuZXJhdGUtdW5pZmllZC1zb3Vy
Y2UtYnVuZGxlcy5yYiBiL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJj
ZS1idW5kbGVzLnJiCmluZGV4IDg2NzUzZjczOTViMmYzMzUyZGRjOThiZGI3N2ExMmY0M2E4MTMx
MGEuLjAxMDBiM2JhODBjOTIzNGRhMTk2OTc1YjdjOGQ1MGMzYmUwNzE1YTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiCisr
KyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJi
CkBAIC0yOSwxMyArMjksMTcgQEAgU0NSSVBUX05BTUUgPSBGaWxlLmJhc2VuYW1lKCQwKQogQ09N
TUVOVF9SRUdFWFAgPSAvIy8KIAogZGVmIHVzYWdlCi0gICAgcHV0cyAidXNhZ2U6ICN7U0NSSVBU
X05BTUV9IFtvcHRpb25zXSAtcCA8ZGVzaW5hdGlvbi1wYXRoPiA8c291cmNlcy1maWxlPiIKKyAg
ICBwdXRzICJ1c2FnZTogI3tTQ1JJUFRfTkFNRX0gW29wdGlvbnNdIDxzb3VyY2VzLWZpbGU+Igog
ICAgIHB1dHMgIi0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgKC1oKSBQcmludCB0aGlz
IG1lc3NhZ2UiCiAgICAgcHV0cyAiLS12ZXJib3NlICAgICAgICAgICAgICAgICAgICAgICAoLXYp
IEFkZHMgZXh0cmEgbG9nZ2luZyB0byBzdGRlcnIuIgorICAgIHB1dHMgIlJlcXVpcmVkIGFyZ3Vt
ZW50czoiCisgICAgcHV0cyAiLS1zb3VyY2UtdHJlZS1wYXRoICAgICAgICAgICAgICAoLXMpIFBh
dGggdG8gdGhlIHJvb3Qgb2YgdGhlIHNvdXJjZSBkaXJlY3RvcnkuIgorICAgIHB1dHMgIi0tZGVy
aXZlZC1zb3VyY2VzLXBhdGggICAgICAgICAgKC1kKSBQYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hl
cmUgdGhlIHVuaWZpZWQgc291cmNlIGZpbGVzIHNob3VsZCBiZSBwbGFjZWQuIgorICAgIHB1dHMK
KyAgICBwdXRzICJPcHRpb25hbCBhcmd1bWVudHM6IgogICAgIHB1dHMgIi0tcHJpbnQtYnVuZGxl
ZC1zb3VyY2VzICAgICAgICAgICAgICBQcmludCBidW5kbGVkIHNvdXJjZXMgcmF0aGVyIHRoYW4g
Z2VuZXJhdGluZyBzb3VyY2VzIgogICAgIHB1dHMKICAgICBwdXRzICJHZW5lcmF0aW9uIG9wdGlv
bnM6IgotICAgIHB1dHMgIi0tZGVyaXZlZC1zb3VyY2VzLXBhdGggICAgICAgICAgKC1wKSBQYXRo
IHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHVuaWZpZWQgc291cmNlIGZpbGVzIHNob3VsZCBi
ZSBwbGFjZWQuIFRoaXMgYXJndW1lbnQgaXMgcmVxdWlyZWQuIgogICAgIHB1dHMgIi0tbWF4LWNw
cC1idW5kbGUtY291bnQgICAgICAgICAgICAgICBTZXRzIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVy
IG9mIGNwcCBidW5kbGVzIHRoYXQgY2FuIGJlIGdlbmVyYXRlZCIKICAgICBwdXRzICItLW1heC1v
YmotYy1idW5kbGUtY291bnQgICAgICAgICAgICAgU2V0cyB0aGUgbGltaXQgb24gdGhlIG51bWJl
ciBvZiBPYmotQyBidW5kbGVzIHRoYXQgY2FuIGJlIGdlbmVyYXRlZCIKICAgICBleGl0IDEKQEAg
LTQzLDYgKzQ3LDggQEAgZW5kCiAKIE1BWF9CVU5ETEVfU0laRSA9IDgKICRkZXJpdmVkU291cmNl
c1BhdGggPSBuaWwKKyR1bmlmaWVkU291cmNlT3V0cHV0UGF0aCA9IG5pbAorJHNvdXJjZVRyZWVQ
YXRoID0gbmlsCiAkdmVyYm9zZSA9IGZhbHNlCiAkbW9kZSA9IDpHZW5lcmF0ZUJ1bmRsZXMKICRt
YXhDcHBCdW5kbGVDb3VudCA9IDEwMDAwMApAQCAtNTQsOCArNjAsOSBAQCBlbmQKIAogR2V0b3B0
TG9uZy5uZXcoWyctLWhlbHAnLCAnLWgnLCBHZXRvcHRMb25nOjpOT19BUkdVTUVOVF0sCiAgICAg
ICAgICAgICAgICBbJy0tdmVyYm9zZScsICctdicsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwK
KyAgICAgICAgICAgICAgIFsnLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCcsICctZCcsIEdldG9wdExv
bmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKKyAgICAgICAgICAgICAgIFsnLS1zb3VyY2UtdHJlZS1w
YXRoJywgJy1zJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAg
ICAgWyctLXByaW50LWJ1bmRsZWQtc291cmNlcycsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwK
LSAgICAgICAgICAgICAgIFsnLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCcsICctcCcsIEdldG9wdExv
bmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1tYXgtY3BwLWJ1bmRs
ZS1jb3VudCcsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAg
IFsnLS1tYXgtb2JqLWMtYnVuZGxlLWNvdW50JywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1F
TlRdKS5lYWNoIHsKICAgICB8IG9wdCwgYXJnIHwKQEAgLTY0LDExICs3MSwxNSBAQCBHZXRvcHRM
b25nLm5ldyhbJy0taGVscCcsICctaCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAg
ICAgdXNhZ2UKICAgICB3aGVuICctLXZlcmJvc2UnCiAgICAgICAgICR2ZXJib3NlID0gdHJ1ZQot
ICAgIHdoZW4gIi0tcHJpbnQtYnVuZGxlZC1zb3VyY2VzIgotICAgICAgICAkbW9kZSA9IDpQcmlu
dEJ1bmRsZWRTb3VyY2VzCiAgICAgd2hlbiAnLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCcKLSAgICAg
ICAgJGRlcml2ZWRTb3VyY2VzUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpICsgUGF0aG5hbWUubmV3
KCJ1bmlmaWVkLXNvdWNlcyIpCi0gICAgICAgIEZpbGVVdGlscy5ta2RpcigkZGVyaXZlZFNvdXJj
ZXNQYXRoKSBpZiAhJGRlcml2ZWRTb3VyY2VzUGF0aC5leGlzdD8KKyAgICAgICAgJGRlcml2ZWRT
b3VyY2VzUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpCisgICAgICAgICR1bmlmaWVkU291cmNlT3V0
cHV0UGF0aCA9ICRkZXJpdmVkU291cmNlc1BhdGggKyBQYXRobmFtZS5uZXcoInVuaWZpZWQtc291
cmNlcyIpCisgICAgICAgIEZpbGVVdGlscy5ta2RpcigkdW5pZmllZFNvdXJjZU91dHB1dFBhdGgp
IGlmICEkdW5pZmllZFNvdXJjZU91dHB1dFBhdGguZXhpc3Q/CisgICAgd2hlbiAnLS1zb3VyY2Ut
dHJlZS1wYXRoJworICAgICAgICAkc291cmNlVHJlZVBhdGggPSBQYXRobmFtZS5uZXcoYXJnKQor
ICAgICAgICB1c2FnZSBpZiAhJHNvdXJjZVRyZWVQYXRoLmV4aXN0PworICAgIHdoZW4gJy0tcHJp
bnQtYnVuZGxlZC1zb3VyY2VzJworICAgICAgICAkbW9kZSA9IDpQcmludEJ1bmRsZWRTb3VyY2Vz
CiAgICAgd2hlbiAnLS1tYXgtY3BwLWJ1bmRsZS1jb3VudCcKICAgICAgICAgJG1heENwcEJ1bmRs
ZUNvdW50ID0gYXJnLnRvX2kKICAgICB3aGVuICctLW1heC1vYmotYy1idW5kbGUtY291bnQnCkBA
IC03NiwxMCArODcsOSBAQCBHZXRvcHRMb25nLm5ldyhbJy0taGVscCcsICctaCcsIEdldG9wdExv
bmc6Ok5PX0FSR1VNRU5UXSwKICAgICBlbmQKIH0KIAotaWYgJG1vZGUgPT0gOkdlbmVyYXRlQnVu
ZGxlcwotICAgIHVzYWdlIGlmICEkZGVyaXZlZFNvdXJjZXNQYXRoCi0gICAgbG9nKCJwdXR0aW5n
IHVuaWZpZWQgc291cmNlcyBpbiAjeyRkZXJpdmVkU291cmNlc1BhdGh9IikKLWVuZAordXNhZ2Ug
aWYgISR1bmlmaWVkU291cmNlT3V0cHV0UGF0aCB8fCAhJHNvdXJjZVRyZWVQYXRoCitsb2coInB1
dHRpbmcgdW5pZmllZCBzb3VyY2VzIGluICN7JHVuaWZpZWRTb3VyY2VPdXRwdXRQYXRofSIpCisK
IHVzYWdlIGlmIEFSR1YubGVuZ3RoID09IDAKICRnZW5lcmF0ZWRTb3VyY2VzID0gW10KIApAQCAt
MTA0LDYgKzExNCwxOSBAQCBjbGFzcyBTb3VyY2VGaWxlIDwgUGF0aG5hbWUKIAogICAgICAgICBz
dXBlcihmaWxlKQogICAgIGVuZAorCisgICAgZGVmIGRlcml2ZWQ/CisgICAgICAgIHJldHVybiBA
ZGVyaXZlZCBpZiBAZGVyaXZlZCAhPSBuaWwKKyAgICAgICAgQGRlcml2ZWQgPSAhKCRzb3VyY2VU
cmVlUGF0aCArIHNlbGYpLmV4aXN0PworICAgIGVuZAorCisgICAgZGVmIGRpc3BsYXkKKyAgICAg
ICAgaWYgJG1vZGUgPT0gOkdlbmVyYXRlQnVuZGxlcyB8fCAhZGVyaXZlZD8KKyAgICAgICAgICAg
IHNlbGYudG9fcworICAgICAgICBlbHNlCisgICAgICAgICAgICAoJGRlcml2ZWRTb3VyY2VzUGF0
aCArIHNlbGYpLnRvX3MKKyAgICAgICAgZW5kCisgICAgZW5kCiBlbmQKIAogY2xhc3MgQnVuZGxl
TWFuYWdlcgpAQCAtMTI0LDE3ICsxNDcsMTcgQEAgY2xhc3MgQnVuZGxlTWFuYWdlcgogICAgICAg
ICBAYnVuZGxlQ291bnQgKz0gMQogICAgICAgICBidW5kbGVGaWxlTmFtZSA9ICJVbmlmaWVkU291
cmNlI3tAYnVuZGxlQ291bnR9LiN7ZXh0ZW5zaW9ufSIKIAotICAgICAgICBpZiBAYnVuZGxlQ291
bnQgPiBAbWF4Q291bnQKLSAgICAgICAgICAgIHJhaXNlICJudW1iZXIgb2YgYnVuZGxlcyBmb3Ig
I3tleHRlbnNpb259IHNvdXJjZXMsICN7QGJ1bmRsZUNvdW50fSwgZXhjZWVkZWQgbGltaXQsICN7
QG1heENvdW50fS4gUGxlYXNlIGFkZCAje2J1bmRsZUZpbGVOYW1lfSB0byBYY29kZSB0aGVuIHVw
ZGF0ZSBVbmlmaWVkU291cmNlI3tleHRlbnNpb24uY2FwaXRhbGl6ZX1GaWxlQ291bnQiCi0gICAg
ICAgIGVuZAotCi0gICAgICAgIGJ1bmRsZUZpbGUgPSAkZGVyaXZlZFNvdXJjZXNQYXRoICsgYnVu
ZGxlRmlsZU5hbWUKKyAgICAgICAgYnVuZGxlRmlsZSA9ICR1bmlmaWVkU291cmNlT3V0cHV0UGF0
aCArIGJ1bmRsZUZpbGVOYW1lCiAgICAgICAgICRnZW5lcmF0ZWRTb3VyY2VzIDw8IGJ1bmRsZUZp
bGUKICAgICAgICAgaWYgKCFidW5kbGVGaWxlLmV4aXN0PyB8fCBJTzo6cmVhZChidW5kbGVGaWxl
KSAhPSBAY3VycmVudEJ1bmRsZVRleHQpCiAgICAgICAgICAgICBsb2coIndyaXRpbmcgYnVuZGxl
ICN7YnVuZGxlRmlsZX0gd2l0aDogXG4je0BjdXJyZW50QnVuZGxlVGV4dH0iKQogICAgICAgICAg
ICAgSU86OndyaXRlKGJ1bmRsZUZpbGUsIEBjdXJyZW50QnVuZGxlVGV4dCkKICAgICAgICAgZW5k
CiAKKyAgICAgICAgaWYgQGJ1bmRsZUNvdW50ID4gQG1heENvdW50CisgICAgICAgICAgICByYWlz
ZSAibnVtYmVyIG9mIGJ1bmRsZXMgZm9yICN7ZXh0ZW5zaW9ufSBzb3VyY2VzLCAje0BidW5kbGVD
b3VudH0sIGV4Y2VlZGVkIGxpbWl0LCAje0BtYXhDb3VudH0uIFBsZWFzZSBhZGQgI3tidW5kbGVG
aWxlTmFtZX0gdG8gWGNvZGUgdGhlbiB1cGRhdGUgVW5pZmllZFNvdXJjZSN7ZXh0ZW5zaW9uLmNh
cGl0YWxpemV9RmlsZUNvdW50IgorICAgICAgICBlbmQKKwogICAgICAgICBAY3VycmVudEJ1bmRs
ZVRleHQgPSAiIgogICAgICAgICBAZmlsZUNvdW50ID0gMAogICAgIGVuZApAQCAtMTgzLDcgKzIw
Niw2IEBAIEFSR1YuZWFjaCB7CiAKICAgICBsb2coImZvdW5kICN7c291cmNlcy5sZW5ndGh9IHNv
dXJjZSBmaWxlcyBpbiAje3NvdXJjZXNGaWxlfSIpCiAKLSAgICBjdXJyZW50RGlyZWN0b3J5ID0g
bmlsCiAgICAgc291cmNlcy5zb3J0LmVhY2ggewogICAgICAgICB8IGZpbGUgfAogCkBAIC0yMDIs
NCArMjI0LDYgQEAgQVJHVi5lYWNoIHsKICMgV2UgdXNlIHN0ZG91dCB0byByZXBvcnQgb3VyIHVu
aWZpZWQgc291cmNlIGxpc3QgdG8gQ01ha2UuCiAjIEFkZCB0cmFpbGluZyBzZW1pY29sb24gc2lu
Y2UgQ01ha2Ugc2VlbXMgZGlzbGlrZXMgbm90IGhhdmluZyBpdC4KICMgQWxzbywgbWFrZSBzdXJl
IHdlIHVzZSBwcmludCBpbnN0ZWFkIG9mIHB1dHMgYmVjYXVzZSBDTWFrZSB3aWxsIHRoaW5rIHRo
ZSBcbiBpcyBhIHNvdXJjZSBmaWxlIGFuZCBmYWlsIHRvIGJ1aWxkLgorCiskZ2VuZXJhdGVkU291
cmNlcy5tYXAhIHsgfHBhdGh8IHBhdGguZGlzcGxheSB9IGlmICRtb2RlID09IDpQcmludEJ1bmRs
ZWRTb3VyY2VzCiBwcmludCgkZ2VuZXJhdGVkU291cmNlcy5qb2luKCI7IikgKyAiOyIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0TWFjcm9zLmNtYWtlIGIvU291cmNlL2NtYWtlL1dl
YktpdE1hY3Jvcy5jbWFrZQppbmRleCBjYTcxMmIyODZkZDRlZjVkNTQwOWM2ZGU5MWJjNjAzM2I3
MzY2NzNiLi44ZjRhYzgxYzM1NzcxNjVjNWM1MDcxZTkzMWVjYmQ5YmFlMDZkNDkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0TWFjcm9zLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9X
ZWJLaXRNYWNyb3MuY21ha2UKQEAgLTE3LDYgKzE3LDggQEAgbWFjcm8oV0VCS0lUX0NPTVBVVEVf
U09VUkNFUyBfZnJhbWV3b3JrKQogICAgIGVuZGlmICgpCiAKICAgICBleGVjdXRlX3Byb2Nlc3Mo
Q09NTUFORCAke1JVQllfRVhFQ1VUQUJMRX0gJHtXVEZfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLXVu
aWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKyAgICAgICAgIi0tZGVyaXZlZC1zb3VyY2VzLXBhdGgi
ICIke0RFUklWRURfU09VUkNFU19ESVJ9LyR7X2ZyYW1ld29ya30iCisgICAgICAgICItLXNvdXJj
ZS10cmVlLXBhdGgiICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQogICAgICAgICAiLS1wcmlu
dC1idW5kbGVkLXNvdXJjZXMiCiAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9T
b3VyY2VzLnR4dAogICAgICAgICAke19wbGF0Zm9ybVNvdXJjZXNGaWxlfQpAQCAtMzUsNiArMzcs
NyBAQCBtYWNybyhXRUJLSVRfQ09NUFVURV9TT1VSQ0VTIF9mcmFtZXdvcmspCiAKICAgICBleGVj
dXRlX3Byb2Nlc3MoQ09NTUFORCAke1JVQllfRVhFQ1VUQUJMRX0gJHtXVEZfU0NSSVBUU19ESVJ9
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKICAgICAgICAgIi0tZGVyaXZlZC1z
b3VyY2VzLXBhdGgiICIke0RFUklWRURfU09VUkNFU19ESVJ9LyR7X2ZyYW1ld29ya30iCisgICAg
ICAgICItLXNvdXJjZS10cmVlLXBhdGgiICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfQogICAg
ICAgICAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vU291cmNlcy50eHQKICAgICAgICAgJHtf
cGxhdGZvcm1Tb3VyY2VzRmlsZX0KICAgICAgICAgUkVTVUxUX1ZBUklBQkxFICBfcmVzdWx0VG1w
CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggN2Y3YmM1ZWEzMmU3ZGE0
ZWIwZGExMzQ4ZTZlYmNiNDAzNWRiYmExYi4uODVkOGE0YWU0OTYyZGEyM2VhYTNjNjMyYjZlNDEz
MmZhZDMyODQzYyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE3LTA5LTI0ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUu
Y29tPgorCisgICAgICAgIEpTQyBidWlsZCBzaG91bGQgdXNlIHVuaWZpZWQgc291cmNlcyBmb3Ig
ZGVyaXZlZCBzb3VyY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzc0MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2U6CisKIDIwMTctMDktMjUg
IFRpbW90aHkgSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2UgcHJvZ3Jlc3Mgb24gZ2V0dGluZyBNYWMgQ01ha2UgYnVpbGRpbmcgYWdhaW4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321816</attachid>
            <date>2017-09-26 08:16:33 -0700</date>
            <delta_ts>2017-09-26 08:23:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177421-20170926081632.patch</filename>
            <type>text/plain</type>
            <size>70118</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyNDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZDA1MjdmMTQwNzIzNDVkM2ZhMzliZGVmYTVlZDgwZWRjYTYyOTQ4Li40ODk1OGI2YTU3MTI0Y2Jk
YjA0MmZhN2E3M2IxNWY5ZmQ1NGYxODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNy0wOS0yNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBKU0MgYnVpbGQgc2hvdWxkIHVzZSB1bmlmaWVkIHNvdXJjZXMgZm9y
IGRlcml2ZWQgc291cmNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc3NDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCBtYWtlIGEgY291cGxlIG9mIGNoYW5nZXM6CisKKyAgICAgICAg
MSkgTWFrZSBkZXJpdmVkIHNvdXJjZXMgYWRkZWQgdG8gcmVsZXZhbnQgYnVuZGxlcy4gSSB3YXMg
Z29pbmcgdG8gYWRkIEpTQ0J1aWx0aW5zLmNwcAorICAgICAgICB0byBydW50aW1lIGJ1dCB0aGF0
IGtlcHQgYnJlYWtpbmcgdGhlIHdpbmRvd3MgYnVpbGQuIEknbGwgZ2V0IGJhY2sgdG8gaXQgbGF0
ZXIKKyAgICAgICAgMikgTW92ZSB0aGUgZGVyaXZlZCBsb2NhdGlvbiBvZiBzb21lIHNvdXJjZXMg
Ym90aCBmb3IgY2xhcml0eSBhbmQgZm9yIGVhc2Ugb2YgdXNlLgorICAgICAgICAzKSBNYWtlIGF1
dG8gZ2VuZXJhdG9yIHNjcmlwdHMgYWJsZSB0byBjcmVhdGUgZGlyZWN0b3JpZXMgaWYgbmVlZGVk
LgorICAgICAgICA0KSBNb3ZlIHNvbWUgc2NyaXB0cyBmcm9tIHRoZSB0b3AgbGV2ZWwgb2YgdGhl
IEphdmFTY3JpcHRDb3JlIGRpcmVjdG9yeSB0byBhCisgICAgICAgIG1vcmUgYXBwcm9wcmlhdGUg
ZGlyZWN0b3J5LgorICAgICAgICA1KSBNb3ZlIHNvbWUgQ01ha2UgZ2VuZXJhdGlvbiBjb21tYW5k
cyBhcm91bmQgZm9yIGNsYXJpdHkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogU2NyaXB0cy9sYXp5d3JpdGVyLnB5Ogor
ICAgICAgICAoTGF6eUZpbGVXcml0ZXIuY2xvc2UpOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgKEluY3JlbWVudGFsRmlsZVdyaXRlci5jbG9zZSk6CisgICAg
ICAgICogeWFyci9jcmVhdGVfcmVnZXhfdGFibGVzOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2NyZWF0ZV9yZWdleF90YWJsZXMuCisgICAgICAgICogeWFyci9nZW5lcmF0ZVlh
cnJDYW5vbmljYWxpemVVbmljb2RlOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuCisKIDIwMTctMDktMjMgIE9sZWtzYW5k
ciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAKICAgICAgICAgW0VTTmV4dF0gQXN5
bmMgaXRlcmF0aW9uIC0gSW1wbGVtZW50IEFzeW5jIEdlbmVyYXRvciAtIG9wdGltaXphdGlvbgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpp
bmRleCA0YjBkZjdjYzgyZDM4NzYxZDhhNzExNWYxMTJkZjE3ZDNkNWM0ZDI2Li5jOWQwNGU3ODJj
ZDM4NTJiOTY3ODE1Mjc0Y2YxNTg2NWE4NDBjMGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3
LTA5LTI0ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgorCisgICAgICAg
IEpTQyBidWlsZCBzaG91bGQgdXNlIHVuaWZpZWQgc291cmNlcyBmb3IgZGVyaXZlZCBzb3VyY2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc0MjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2Ny
aXB0IG5vdyBuZWVkcyB0byBkZXRlcm1pbmUgaWYgYSBmaWxlIGlzIGZyb20gYSBkZXJpdmVkCisg
ICAgICAgIHNvdXJjZS4gVGhpcyBpcyBvbmx5IHJlbGV2YW50IGZvciB0aGUgQ01ha2UgYnVpbGQg
c2luY2UgdGhlCisgICAgICAgIHNjcmlwdCBuZWVkcyB0byBwcm92aWRlIGEgbGlzdCBvZiB0aGUg
YnVuZGxlZCBzb3VyY2UgZmlsZXMuIElmIHRoZQorICAgICAgICBzY3JpcHQgZG9lcyBub3QgcHJv
dmlkZSB0aGUgZnVsbCBwYXRoIGZvciBkZXJpdmVkIHNvdXJjZXMgdGhlbgorICAgICAgICBDTWFr
ZSB3aWxsIGJlIHVuYWJsZSB0byBmaW5kIHRoZW0gYW5kIHRoZSBidWlsZCB3aWxsIGZhaWwuCisK
KyAgICAgICAgQWRkaXRpb25hbGx5LCBJIG1vdmUgdGhlIGVycm9yIG1lc3NhZ2UgZm9yIHRoZSBY
Y29kZSBidWlsZCBvdXRzaWRlCisgICAgICAgIHRoZSBtYWluIGxvb3AuIFRoaXMgbWVhbnMgdGhh
dCB0aGUgZXJyb3IgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYWxsCisgICAgICAgIHRoZSBmaWxlcyB5
b3UgbmVlZCB0byBhZGQgdG8gWGNvZGUgYW5kIGFsbCB0aG9zZSBmaWxlcyB3aWxsIG5vdyBiZQor
ICAgICAgICB3cml0dGVuIGluIERlcml2ZWRTb3VyY2VzIHNvIHRoZXkgc2hvdWxkIGJlIGVhc2ll
ciB0byBhZGQuCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1
bmRsZXMucmI6CisKIDIwMTctMDktMjMgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdh
QGFwcGxlLmNvbT4KIAogICAgICAgICBJbWFnZXMgbWF5IHJlbmRlciBwYXJ0aWFsIGZyYW1lcyBl
dmVuIGFmdGVyIGxvYWRpbmcgYWxsIHRoZSBlbmNvZGVkIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCA5NDJkM2Y4ODAyMGVkOGM1NjAxZmZlNDNjYjEzNTdjODZkN2Zh
NjRjLi5mOWQ2YjIzMmI4MzQ1Zjc0ZGU1OWRkZTY4YTZlZDM3MmVlN2UwNzM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MCw2ICs0MCw4IEBAIHNldChKYXZhU2NyaXB0
Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0i
CiAgICAgIiR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0iCiAgICAgIiR7REVS
SVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yIgorICAgICIke0RFUklW
RURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L3J1bnRpbWUiCisgICAgIiR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyciIKICkKIAogc2V0KEphdmFTY3JpcHRDb3Jl
X1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCkBAIC0zNTYsMjQgKzM1OCwyMCBAQCBHRU5FUkFU
RV9IQVNIX0xVVCgke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vcGFyc2VyL0tleXdvcmRzLnRh
YmxlICR7REVSSVZFRF9TTwogCiAjR0VORVJBVE9SOiAiUmVnRXhwSml0VGFibGVzLmgiOiB0YWJs
ZXMgdXNlZCBieSBZYXJyCiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7REVSSVZF
RF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vUmVnRXhwSml0VGFibGVzLmgKLSAgICBNQUlO
X0RFUEVOREVOQ1kgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NyZWF0ZV9yZWdleF90YWJs
ZXMKLSAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9TT1VS
Q0VfRElSfS9jcmVhdGVfcmVnZXhfdGFibGVzID4gJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQ
VENPUkVfRElSfS9SZWdFeHBKaXRUYWJsZXMuaAorICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNF
U19KQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIvUmVnRXhwSml0VGFibGVzLmgKKyAgICBNQUlOX0RF
UEVOREVOQ1kgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3lhcnIvY3JlYXRlX3JlZ2V4X3Rh
YmxlcworICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NP
VVJDRV9ESVJ9L3lhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlcyAke0RFUklWRURfU09VUkNFU19KQVZB
U0NSSVBUQ09SRV9ESVJ9L3lhcnIvUmVnRXhwSml0VGFibGVzLmgKICAgICBWRVJCQVRJTSkKLWxp
c3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX0hFQURFUlMgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVND
UklQVENPUkVfRElSfS9SZWdFeHBKaXRUYWJsZXMuaCkKLVdFQktJVF9BRERfU09VUkNFX0RFUEVO
REVOQ0lFUygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0veWFyci9ZYXJyUGF0dGVybi5jcHAg
JHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9SZWdFeHBKaXRUYWJsZXMuaCkK
K2xpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX0hFQURFUlMgJHtERVJJVkVEX1NPVVJDRVNfSkFW
QVNDUklQVENPUkVfRElSfS95YXJyL1JlZ0V4cEppdFRhYmxlcy5oKQorV0VCS0lUX0FERF9TT1VS
Q0VfREVQRU5ERU5DSUVTKCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS95YXJyL1lhcnJQYXR0
ZXJuLmNwcCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L3lhcnIvUmVnRXhw
Sml0VGFibGVzLmgpCiAKIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICBPVVRQVVQgJHtERVJJVkVE
X1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9ZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAK
LSAgICBNQUlOX0RFUEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2dlbmVyYXRlWWFyckNh
bm9uaWNhbGl6ZVVuaWNvZGUKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQ
VENPUkVfRElSfS95YXJyL1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAorICAgIE1BSU5fREVQ
RU5ERU5DWSAke0pBVkFTQ1JJUFRDT1JFX0RJUn0veWFyci9nZW5lcmF0ZVlhcnJDYW5vbmljYWxp
emVVbmljb2RlCiAgICAgREVQRU5EUyAke0pBVkFTQ1JJUFRDT1JFX0RJUn0vdWNkL0Nhc2VGb2xk
aW5nLnR4dAotICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtKQVZBU0NSSVBUQ09S
RV9ESVJ9L2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgJHtKQVZBU0NSSVBUQ09SRV9E
SVJ9L3VjZC9DYXNlRm9sZGluZy50eHQgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVf
RElSfS9ZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAKKyAgICBDT01NQU5EICR7UFlUSE9OX0VY
RUNVVEFCTEV9ICR7SkFWQVNDUklQVENPUkVfRElSfS95YXJyL2dlbmVyYXRlWWFyckNhbm9uaWNh
bGl6ZVVuaWNvZGUgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L3VjZC9DYXNlRm9sZGluZy50eHQgJHtE
RVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS95YXJyL1lhcnJDYW5vbmljYWxpemVV
bmljb2RlLmNwcAogICAgIFZFUkJBVElNKQogCi1saXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9T
T1VSQ0VTCi0gICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9ZYXJyQ2Fu
b25pY2FsaXplVW5pY29kZS5jcHAKLSkKLQogI0dFTkVSQVRPUjogIktleXdvcmRMb29rdXAuaCI6
IGtleXdvcmQgZGVjaXNpb24gdHJlZSB1c2VkIGJ5IHRoZSBsZXhlcgogYWRkX2N1c3RvbV9jb21t
YW5kKAogICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0tl
eXdvcmRMb29rdXAuaApAQCAtNTIyLDMyICs1MjAsMTIgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0JV
SUxUSU5TX1NPVVJDRVMKICkKIAogYWRkX2N1c3RvbV9jb21tYW5kKAotICAgIE9VVFBVVCAke0RF
UklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0Fpck9wY29kZS5oICR7REVSSVZFRF9T
T1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQWlyT3Bjb2RlR2VuZXJhdGVkLmgKLSAgICBNQUlO
X0RFUEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9BaXJPcGNvZGUub3Bjb2Rl
cwotICAgIERFUEVORFMgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9vcGNvZGVfZ2VuZXJh
dG9yLnJiCi0gICAgQ09NTUFORCAke1JVQllfRVhFQ1VUQUJMRX0gJHtKQVZBU0NSSVBUQ09SRV9E
SVJ9L2IzL2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiICR7SkFWQVNDUklQVENPUkVfRElSfS9iMy9h
aXIvQWlyT3Bjb2RlLm9wY29kZXMgVkVSQkFUSU0KLSAgICBXT1JLSU5HX0RJUkVDVE9SWSAke0RF
UklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9Ci0pCi0KLWxpc3QoQVBQRU5EIEphdmFT
Y3JpcHRDb3JlX0hFQURFUlMKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9E
SVJ9L0Fpck9wY29kZS5oCi0gICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElS
fS9BaXJPcGNvZGVHZW5lcmF0ZWQuaAotKQotCi1hZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgT1VU
UFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vSlNDQnVpbHRpbnMuY3Bw
ICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vSlNDQnVpbHRpbnMuaAogICAg
IE1BSU5fREVQRU5ERU5DWSAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1q
cy1idWlsdGlucy5weQogICAgIERFUEVORFMgJHtKYXZhU2NyaXB0Q29yZV9CVUlMVElOU19TT1VS
Q0VTfSAke0JVSUxUSU5TX0dFTkVSQVRPUl9TQ1JJUFRTfQogICAgIENPTU1BTkQgJHtQWVRIT05f
RVhFQ1VUQUJMRX0gJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtanMtYnVp
bHRpbnMucHkgLS1mcmFtZXdvcmsgSmF2YVNjcmlwdENvcmUgLS1vdXRwdXQtZGlyZWN0b3J5ICR7
REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0gLS1jb21iaW5lZCAke0phdmFTY3Jp
cHRDb3JlX0JVSUxUSU5TX1NPVVJDRVN9CiAgICAgVkVSQkFUSU0pCiAKLWxpc3QoQVBQRU5EIEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09S
RV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwCi0gICAgJHtE
RVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmREaXNwYXRjaGVycy5jcHAKLSAgICAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09S
RV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCi0gICAgJHtERVJJ
VkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9KU0NCdWlsdGlucy5jcHAKLSkKLQogbGlz
dChBUFBFTkQgSmF2YVNjcmlwdENvcmVfSEVBREVSUwogICAgICR7REVSSVZFRF9TT1VSQ0VTX0pB
VkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5o
CiAgICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oCkBAIC01NTYsNiArNTM0LDE5IEBAIGxpc3QoQVBQ
RU5EIEphdmFTY3JpcHRDb3JlX0hFQURFUlMKICkKIAogYWRkX2N1c3RvbV9jb21tYW5kKAorICAg
IE9VVFBVVCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L0Fpck9wY29kZS5o
ICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vQWlyT3Bjb2RlR2VuZXJhdGVk
LmgKKyAgICBNQUlOX0RFUEVOREVOQ1kgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9BaXJP
cGNvZGUub3Bjb2RlcworICAgIERFUEVORFMgJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9v
cGNvZGVfZ2VuZXJhdG9yLnJiCisgICAgQ09NTUFORCAke1JVQllfRVhFQ1VUQUJMRX0gJHtKQVZB
U0NSSVBUQ09SRV9ESVJ9L2IzL2Fpci9vcGNvZGVfZ2VuZXJhdG9yLnJiICR7SkFWQVNDUklQVENP
UkVfRElSfS9iMy9haXIvQWlyT3Bjb2RlLm9wY29kZXMgVkVSQkFUSU0KKyAgICBXT1JLSU5HX0RJ
UkVDVE9SWSAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9CispCisKK2xpc3Qo
QVBQRU5EIEphdmFTY3JpcHRDb3JlX0hFQURFUlMKKyAgICAke0RFUklWRURfU09VUkNFU19KQVZB
U0NSSVBUQ09SRV9ESVJ9L0Fpck9wY29kZS5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVND
UklQVENPUkVfRElSfS9BaXJPcGNvZGVHZW5lcmF0ZWQuaAorKQorCithZGRfY3VzdG9tX2NvbW1h
bmQoCiAgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vSW5q
ZWN0ZWRTY3JpcHRTb3VyY2UuaCAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9
L0luamVjdGVkU2NyaXB0U291cmNlLm1pbi5qcwogICAgIE1BSU5fREVQRU5ERU5DWSAke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0U291cmNlLmpzCiAgICAgREVQ
RU5EUyAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS94eGQucGwgJHtKYXZhU2NyaXB0Q29y
ZV9TQ1JJUFRTX0RJUn0vanNtaW4ucHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggNzg5ZjYwY2Y1OTgyMzMyMzUxZTZmYTRhMzk5YjBhY2M4OTQzOTE5NC4u
ZDk3MzA2ZTVjODU2MDM5Njk3MTQ0NWQ3OTEzNTQyZTI1M2Q1OGZiYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTU2LDEzICs1NiwxMyBAQCBhbGwgOiBc
CiAgICAgQ29tYmluZWREb21haW5zLmpzb24gXAogICAgIEluaXRCeXRlY29kZXMuYXNtIFwKICAg
ICBJbmplY3RlZFNjcmlwdFNvdXJjZS5oIFwKLSAgICBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNo
ZXJzLmggXAorICAgIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmggXAog
ICAgIEpTQ0J1aWx0aW5zLmggXAogICAgIExleGVyLmx1dC5oIFwKICAgICBLZXl3b3JkTG9va3Vw
LmggXAogICAgIFJlZ0V4cEppdFRhYmxlcy5oIFwKICAgICBBaXJPcGNvZGUuaCBcCi0gICAgWWFy
ckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwIFwKKyAgICB5YXJyL1lhcnJDYW5vbmljYWxpemVVbmlj
b2RlLmNwcCBcCiAgICAgV2FzbU9wcy5oIFwKICAgICBXYXNtVmFsaWRhdGVJbmxpbmVzLmggXAog
ICAgIFdhc21CM0lSR2VuZXJhdG9ySW5saW5lcy5oIFwKQEAgLTE5Niw3ICsxOTYsNyBAQCBMZXhl
ci5sdXQuaDogS2V5d29yZHMudGFibGUgJChKYXZhU2NyaXB0Q29yZSkvY3JlYXRlX2hhc2hfdGFi
bGUKIAogIyBjaGFyYWN0ZXIgdGFibGVzIGZvciBZYXJyCiAKLVJlZ0V4cEppdFRhYmxlcy5oOiBj
cmVhdGVfcmVnZXhfdGFibGVzCitSZWdFeHBKaXRUYWJsZXMuaDogeWFyci9jcmVhdGVfcmVnZXhf
dGFibGVzCiAJJChQWVRIT04pICReID4gJEAKIAogS2V5d29yZExvb2t1cC5oOiBLZXl3b3JkTG9v
a3VwR2VuZXJhdG9yLnB5IEtleXdvcmRzLnRhYmxlCkBAIC0yODEsOCArMjgxLDggQEAgQ29tYmlu
ZWREb21haW5zLmpzb24gOiAkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZS1j
b21iaW5lZC1pbnNwZWN0b3IKIAkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
UikvZ2VuZXJhdGUtY29tYmluZWQtaW5zcGVjdG9yLWpzb24ucHkgJChJTlNQRUNUT1JfRE9NQUlO
UykgPiAuL0NvbWJpbmVkRG9tYWlucy5qc29uCiAKICMgSW5zcGVjdG9yIEJhY2tlbmQgRGlzcGF0
Y2hlcnMsIEZyb250ZW5kIERpc3BhdGNoZXJzLCBUeXBlIEJ1aWxkZXJzCi1JbnNwZWN0b3JGcm9u
dGVuZERpc3BhdGNoZXJzLmggOiBDb21iaW5lZERvbWFpbnMuanNvbiAkKElOU1BFQ1RPUl9HRU5F
UkFUT1JfU0NSSVBUUykKLQkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3Nj
cmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IC0tZnJhbWV3b3Jr
IEphdmFTY3JpcHRDb3JlIC0tb3V0cHV0RGlyIC4gLi9Db21iaW5lZERvbWFpbnMuanNvbgoraW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaCA6IENvbWJpbmVkRG9tYWlucy5q
c29uICQoSU5TUEVDVE9SX0dFTkVSQVRPUl9TQ1JJUFRTKSBpbnNwZWN0b3IKKwkkKFBZVEhPTikg
JChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5IC0tZnJhbWV3b3JrIEphdmFTY3JpcHRDb3JlIC0tb3V0cHV0RGly
IGluc3BlY3RvciAuL0NvbWJpbmVkRG9tYWlucy5qc29uCiAKIEluamVjdGVkU2NyaXB0U291cmNl
LmggOiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMgJChKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUikvanNtaW4ucHkgJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikveHhkLnBs
CiAJZWNobyAiLy8jIHNvdXJjZVVSTD1fX0luamVjdGVkU2NyaXB0X0luamVjdGVkU2NyaXB0U291
cmNlLmpzIiA+IC4vSW5qZWN0ZWRTY3JpcHRTb3VyY2UubWluLmpzCkBAIC0yOTMsOCArMjkzLDgg
QEAgSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCA6IGluc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJj
ZS5qcyAkKEphdmFTY3JpcHRDb3JlX1NDUkkKIEFpck9wY29kZS5oOiAkKEphdmFTY3JpcHRDb3Jl
KS9iMy9haXIvb3Bjb2RlX2dlbmVyYXRvci5yYiAkKEphdmFTY3JpcHRDb3JlKS9iMy9haXIvQWly
T3Bjb2RlLm9wY29kZXMKIAkkKFJVQlkpICReCiAKLVlhcnJDYW5vbmljYWxpemVVbmljb2RlLmNw
cDogJChKYXZhU2NyaXB0Q29yZSkvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAkKEph
dmFTY3JpcHRDb3JlKS91Y2QvQ2FzZUZvbGRpbmcudHh0Ci0JJChQWVRIT04pICQoSmF2YVNjcmlw
dENvcmUpL2dlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgJChKYXZhU2NyaXB0Q29yZSkv
dWNkL0Nhc2VGb2xkaW5nLnR4dCAuL1lhcnJDYW5vbmljYWxpemVVbmljb2RlLmNwcAoreWFyci9Z
YXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHA6ICQoSmF2YVNjcmlwdENvcmUpL3lhcnIvZ2VuZXJh
dGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAkKEphdmFTY3JpcHRDb3JlKS91Y2QvQ2FzZUZvbGRp
bmcudHh0CisJJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmUpL3lhcnIvZ2VuZXJhdGVZYXJyQ2Fu
b25pY2FsaXplVW5pY29kZSAkKEphdmFTY3JpcHRDb3JlKS91Y2QvQ2FzZUZvbGRpbmcudHh0IC4v
eWFyci9ZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAKIAogV2FzbU9wcy5oOiAkKEphdmFTY3Jp
cHRDb3JlKS93YXNtL2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weSAkKEphdmFTY3JpcHRDb3JlKS93
YXNtL2dlbmVyYXRlV2FzbS5weSAkKEphdmFTY3JpcHRDb3JlKS93YXNtL3dhc20uanNvbgogCSQo
UFlUSE9OKSAkKEphdmFTY3JpcHRDb3JlKS93YXNtL2dlbmVyYXRlV2FzbU9wc0hlYWRlci5weSAk
KEphdmFTY3JpcHRDb3JlKS93YXNtL3dhc20uanNvbiAuL1dhc21PcHMuaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA1NzYyZjY4ZGY4ZDZiNDgzYTAxMDdmZTM4ZTg3NWMxMWYzM2E5
MDEyLi5mZWI3NDAxNDc0Yjk1OTY1YjRlNmU1OWE1ZTgzNzc4NDA0YjU0ZGM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODM2LDYgKzgzNiw5IEBACiAJCTUzNEUwMzU4MUU1M0JG
MkYwMDIxM0Y2NCAvKiBHZXR0ZXJTZXR0ZXJBY2Nlc3NDYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzRFMDM1NzFFNTNCRjJGMDAyMTNGNjQgLyog
R2V0dGVyU2V0dGVyQWNjZXNzQ2FzZS5oICovOyB9OwogCQk1MzUyOUE0QzFDNDU3Qjc1MDAwQjQ5
QzYgLyogQVBJVXRpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUzNTI5QTRCMUM0NTdCNzUwMDBCNDlDNiAvKiBBUElVdGlscy5oICovOyB9OwogCQk1
MzU1NTcxNDFEOUQ5RUE1MDA2RDU4M0IgLyogV2FzbU1lbW9yeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTM1NTU3MTMxRDlEOUVBNTAwNkQ1ODNCIC8q
IFdhc21NZW1vcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk1MzVDMjQ2MTFGNzg5MjhFMDA2RUM0MEUgLyogY3JlYXRlX3JlZ2V4X3RhYmxlcyBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3MThGODIxMTE3
OEVCNEIwMDI0NjVBNyAvKiBjcmVhdGVfcmVnZXhfdGFibGVzICovOyB9OworCQk1MzVDMjQ2OTFG
N0ExNjI0MDA2RUM0MEUgLyogSlNDQnVpbHRpbnMuY3BwIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTdEODAxQTYxODgwRDZBODAwMjZDMzlCIC8qIEpTQ0J1
aWx0aW5zLmNwcCAqLzsgfTsKKwkJNTM1QzI0NkMxRjdBMTc3ODAwNkVDNDBFIC8qIFVuaWZpZWRT
b3VyY2UxMzYuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTM1QzI0NkIxRjdBMTc3NzAwNkVDNDBFIC8qIFVuaWZpZWRTb3VyY2UxMzYuY3BwICovOyB9
OwogCQk1MzZCMzEwQzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTExOS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MzZCMzA4NzFGNzFD
NTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTExOS5jcHAgKi87IH07CiAJCTUzNkIzMTBEMUY3
MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTI1LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzNkIzMDg4MUY3MUM1MzgwMDM3RkMzMyAvKiBV
bmlmaWVkU291cmNlMTI1LmNwcCAqLzsgfTsKIAkJNTM2QjMxMEUxRjcxQzU5OTAwMzdGQzMzIC8q
IFVuaWZpZWRTb3VyY2UxMzEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTM2QjMwODkxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzEu
Y3BwICovOyB9OwpAQCAtOTg1LDExICs5ODgsNiBAQAogCQk1M0U3NzdFNDFFOTJFMjY1MDA3Q0JF
QzQgLyogV2FzbU1vZHVsZUluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1M0U3NzdFMjFFOTJFMjY1MDA3Q0JFQzQgLyogV2FzbU1vZHVs
ZUluZm9ybWF0aW9uLmggKi87IH07CiAJCTUzRTlFMEFDMUVBRTgzREYwMEZFRTI1MSAvKiBXYXNt
TWFjaGluZVRocmVhZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUzRTlFMEFBMUVBRTgzREUwMEZFRTI1MSAvKiBXYXNtTWFjaGluZVRocmVhZHMuaCAq
LzsgfTsKIAkJNTNFOUUwQUYxRUFFQzQ1NzAwRkVFMjUxIC8qIFdhc21UaWVyVXBDb3VudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTNFOUUwQUUxRUFF
QzQ1NzAwRkVFMjUxIC8qIFdhc21UaWVyVXBDb3VudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUzRjFCNTQyMUY2QTE0QTUwMEUyRDA0MyAvKiBJ
bnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1MzI0MzgzMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0
b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCAqLzsgfTsKLQkJNTNGMUI1NDMxRjZBMTRBQzAwRTJE
MDQzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBNTMyNDM4NTE4NTY4MzE3MDAyRUQ2OTIgLyogSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLzsgfTsKLQkJNTNGMUI1NDQxRjZBMTRCQzAwRTJE
MDQzIC8qIEpTQ0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE3RDgwMUE2MTg4MEQ2QTgwMDI2QzM5QiAvKiBKU0NCdWlsdGlucy5jcHAg
Ki87IH07Ci0JCTUzRjFCNTQ1MUY2QTE0RDAwMEUyRDA0MyAvKiBZYXJyQ2Fub25pY2FsaXplVW5p
Y29kZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NUE5NDYxNDFDOEU5RjZGMDBBNzIwOUEgLyogWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwICov
OyB9OwotCQk1M0YxQjU0ODFGNkExNTc3MDBFMkQwNDMgLyogSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1MzI0MzgxMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
Y3BwICovOyB9OwogCQk1M0Y0MEU4NTFENThGOTc3MDA5OUExQjYgLyogV2FzbVNlY3Rpb25zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1M0Y0MEU4NDFE
NThGOTc3MDA5OUExQjYgLyogV2FzbVNlY3Rpb25zLmggKi87IH07CiAJCTUzRjQwRThCMUQ1OTAx
QkIwMDk5QTFCNiAvKiBXYXNtRnVuY3Rpb25QYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzRjQwRThBMUQ1OTAxQkIwMDk5QTFCNiAvKiBXYXNt
RnVuY3Rpb25QYXJzZXIuaCAqLzsgfTsKIAkJNTNGNDBFOEQxRDU5MDFGMjAwOTlBMUI2IC8qIFdh
c21QYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUzRjQwRThDMUQ1OTAxRjIwMDk5QTFCNiAvKiBXYXNtUGFyc2VyLmggKi87IH07CkBAIC0zMTcz
LDYgKzMxNzEsNyBAQAogCQk1MzUyOUE0QjFDNDU3Qjc1MDAwQjQ5QzYgLyogQVBJVXRpbHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJVXRpbHMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTM1NTU3MTMxRDlEOUVBNTAwNkQ1ODNCIC8qIFdhc21NZW1vcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2FzbU1lbW9yeS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MzU1NTcxNTFEOURGQTMyMDA2RDU4M0IgLyogV2FzbU1l
bW9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXYXNtTWVtb3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTM1QzI0NkIxRjdBMTc3NzAwNkVD
NDBFIC8qIFVuaWZpZWRTb3VyY2UxMzYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVW5pZmllZFNvdXJjZTEzNi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUzNkIzMDg3MUY3MUM1MzgwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTE5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVuaWZpZWRTb3VyY2UxMTkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MzZCMzA4ODFGNzFDNTM4MDAzN0ZDMzMgLyog
VW5pZmllZFNvdXJjZTEyNS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBVbmlmaWVkU291cmNlMTI1LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTM2
QjMwODkxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVW5pZmllZFNvdXJjZTEzMS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNDE1LDcgKzM0MTQsNyBAQAogCQk2NThEM0E1NTE5NjM4
MjY4MDAzQzQ1RDYgLyogVk1FbnRyeVJlY29yZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IGxpbmVFbmRpbmcgPSAwOyBwYXRoID0gVk1FbnRyeVJlY29yZC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9i
amNwcDsgfTsKIAkJNjU5ODdGMkMxNjdGRTg0QjAwM0MyRjhEIC8qIERGR09TUkV4aXRDb21waWxh
dGlvbkluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZHT1NSRXhpdENv
bXBpbGF0aW9uSW5mby5oOyBwYXRoID0gZGZnL0RGR09TUkV4aXRDb21waWxhdGlvbkluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU5ODdGMkYxNjgyOEE3RTAwM0MyRjhEIC8q
IFVudXNlZFBvaW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW51c2Vk
UG9pbnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NUE5NDYxMzFDOEU5RjIw
MDBBNzIwOUEgLyogZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9IGdlbmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGU7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1QTk0NjEzMUM4RTlGMjAwMEE3MjA5QSAv
KiBnZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmljb2RlICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQu
cHl0aG9uOyBuYW1lID0gZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZTsgcGF0aCA9IHlh
cnIvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNjVBOTQ2MTQxQzhFOUY2RjAwQTcyMDlBIC8qIFlhcnJDYW5vbmljYWxpemVVbmlj
b2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFlhcnJDYW5vbmlj
YWxpemVVbmljb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjVCODM5MkMx
QkFDQTkyQTAwNDRFODI0IC8qIENhY2hlZFJlY292ZXJ5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENhY2hlZFJlY292ZXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTY1QjgzOTJEMUJBQ0E5RDMwMDQ0RTgyNCAvKiBDYWNoZWRSZWNvdmVyeS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZWNvdmVyeS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zOTU5LDcgKzM5NTgsNyBAQAogCQlBNzA5RjJGMTE3
QTBBQzJBMDA1MTJFOTggLyogQ29tbW9uU2xvd1BhdGhzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENvbW1vblNsb3dQYXRocy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE3MTIzNkU0MTE5NUYzM0MwMEJEMjE3NCAvKiBKSVRPcGNvZGVzMzJfNjQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSklUT3Bjb2RlczMyXzY0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTcxOEY2MUExMTc1NEEyMTAwMjQ2
NUE3IC8qIFJlZ0V4cEppdFRhYmxlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWdFeHBKaXRUYWJsZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTcxOEY4
MjExMTc4RUI0QjAwMjQ2NUE3IC8qIGNyZWF0ZV9yZWdleF90YWJsZXMgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhvbjsgZmls
ZUVuY29kaW5nID0gNDsgcGF0aCA9IGNyZWF0ZV9yZWdleF90YWJsZXM7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUE3MThGODIxMTE3OEVCNEIwMDI0NjVBNyAvKiBjcmVhdGVfcmVnZXhf
dGFibGVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB0
ZXh0LnNjcmlwdC5weXRob247IGZpbGVFbmNvZGluZyA9IDQ7IG5hbWUgPSBjcmVhdGVfcmVnZXhf
dGFibGVzOyBwYXRoID0geWFyci9jcmVhdGVfcmVnZXhfdGFibGVzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBNzIwMjhCNDE3OTc2MDFFMDA5ODAyOEMgLyogSlNDVGVzdFJ1bm5lclV0
aWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1Rlc3RSdW5u
ZXJVdGlscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE3MjAyOEI1MTc5NzYw
MUUwMDk4MDI4QyAvKiBKU0NUZXN0UnVubmVyVXRpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNDVGVzdFJ1bm5lclV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE3MjAyOEI5MTc5NzYwM0QwMDk4MDI4QyAvKiBKU0Z1bmN0aW9uSW5saW5lcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Z1bmN0aW9uSW5saW5lcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY5NSwxMSArNDY5NCw5IEBACiAJCTA4NjdENjkx
RkU4NDAyOEZDMDJBQUMwNyAvKiBKYXZhU2NyaXB0Q29yZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJNjVBOTQ2MTMxQzhFOUYyMDAwQTcyMDlBIC8qIGdl
bmVyYXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgKi8sCiAJCQkJODYwNEY0RjIxNDNBNkM0NDAw
QjI5NUY1IC8qIENoYW5nZUxvZyAqLywKIAkJCQlGNjhFQkI4QzAyNTVENEM2MDFGRjYwRjcgLyog
Y29uZmlnLmggKi8sCiAJCQkJRjY5MkE4NTQwMjU1NTk3RDAxRkY2MEY3IC8qIGNyZWF0ZV9oYXNo
X3RhYmxlICovLAotCQkJCUE3MThGODIxMTE3OEVCNEIwMDI0NjVBNyAvKiBjcmVhdGVfcmVnZXhf
dGFibGVzICovLAogCQkJCTkzN0I2M0NDMDlFNzY2RDIwMEE2NzFERCAvKiBEZXJpdmVkU291cmNl
cy5tYWtlICovLAogCQkJCTBGOTMyNzVBMUMyMEJDREYwMENGNjU2NCAvKiBkeW5iZW5jaC5jcHAg
Ki8sCiAJCQkJNjUyOUZCMzAxOEIyRDYzOTAwQzYxMTAyIC8qIGdlbmVyYXRlLWJ5dGVjb2RlLWZp
bGVzICovLApAQCAtNTcyMiw3ICs1NzE5LDM3IEBACiAJCQluYW1lID0gYWNjZXNzQ2FzZTsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0JCTUzNkIzMDg2MUY3MUM1MzgwMDM3RkMz
MyAvKiB1bmlmaWVkLXNvdWNlcyAqLyA9IHsKKwkJNTM1QzI0NjUxRjc4OTM4OTAwNkVDNDBFIC8q
IGluc3BlY3RvciAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJ
CQkJQTVFQTcxMEQxOUY2REY4MTAwOThGNUVDIC8qIEluc3BlY3RvckFsdGVybmF0ZUJhY2tlbmRE
aXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzk2MTg1NkE0NzUwMDJFRDY5MiAvKiBJbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMgKi8sCisJCQkJQTUzMjQzODExODU2ODMxNzAwMkVENjkyIC8q
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8sCisJCQkJQTUzMjQzODIxODU2ODMx
NzAwMkVENjkyIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICovLAorCQkJCUE1MzI0
MzgzMTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmNwcCAq
LywKKwkJCQlBNTMyNDM4NDE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yRnJvbnRlbmREaXNw
YXRjaGVycy5oICovLAorCQkJCUE1MzI0Mzg1MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JQ
cm90b2NvbE9iamVjdHMuY3BwICovLAorCQkJCUE1MzI0Mzg2MTg1NjgzMTcwMDJFRDY5MiAvKiBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaW5zcGVjdG9y
OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNTM1QzI0NjYxRjc4OTQ1MjAw
NkVDNDBFIC8qIHJ1bnRpbWUgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJKTsKKwkJCXBhdGggPSBydW50aW1lOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJNTM1QzI0NjcxRjc4OTRBMjAwNkVDNDBFIC8qIHlhcnIgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTY1QTk0NjE0MUM4RTlGNkYwMEE3
MjA5QSAvKiBZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5jcHAgKi8sCisJCQkpOworCQkJcGF0aCA9
IHlhcnI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk1MzZCMzA4NjFGNzFD
NTM4MDAzN0ZDMzMgLyogdW5pZmllZC1zb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MzZCMzBEQTFGNzFDNTM4MDAzN0ZDMzMgLyogVW5pZmll
ZFNvdXJjZTEuY3BwICovLApAQCAtNTc2Nyw2ICs1Nzk0LDcgQEAKIAkJCQk1MzZCMzA5ODFGNzFD
NTM4MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTEzMy5jcHAgKi8sCiAJCQkJNTM2QjMxOTcxRjcz
NUU1QjAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzQuY3BwICovLAogCQkJCTUzNkIzMTk5MUY3
MzVFNUQwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTM1LmNwcCAqLywKKwkJCQk1MzVDMjQ2QjFG
N0ExNzc3MDA2RUM0MEUgLyogVW5pZmllZFNvdXJjZTEzNi5jcHAgKi8sCiAJCQkJNTM2QjMwRjcx
RjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxNC5jcHAgKi8sCiAJCQkJNTM2QjMwRjgx
RjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxNS5jcHAgKi8sCiAJCQkJNTM2QjMwRjEx
RjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxNi5jcHAgKi8sCkBAIC01ODYzLDEzICs1
ODkxLDE2IEBACiAJCQkJNTM2QjMwRTUxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U5
OC5jcHAgKi8sCiAJCQkJNTM2QjMwREUxRjcxQzUzODAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U5
OS5jcHAgKi8sCiAJCQkpOwotCQkJcGF0aCA9ICJ1bmlmaWVkLXNvdWNlcyI7CisJCQlwYXRoID0g
InVuaWZpZWQtc291cmNlcyI7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OwogCQk2
NTBGREY4RDA5RDBGQ0E3MDA3NjlFNTQgLyogRGVyaXZlZCBTb3VyY2VzICovID0gewogCQkJaXNh
ID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKLQkJCQk1MzZCMzA4NjFGNzFDNTM4MDAzN0ZD
MzMgLyogdW5pZmllZC1zb3VjZXMgKi8sCisJCQkJNTM1QzI0NjUxRjc4OTM4OTAwNkVDNDBFIC8q
IGluc3BlY3RvciAqLywKKwkJCQk1MzVDMjQ2NjFGNzg5NDUyMDA2RUM0MEUgLyogcnVudGltZSAq
LywKKwkJCQk1MzZCMzA4NjFGNzFDNTM4MDAzN0ZDMzMgLyogdW5pZmllZC1zb3VyY2VzICovLAor
CQkJCTUzNUMyNDY3MUY3ODk0QTIwMDZFQzQwRSAvKiB5YXJyICovLAogCQkJCTBGNjE4MzMyMUM0
NUYzNUMwMDcyNDUwQiAvKiBBaXJPcGNvZGUuaCAqLywKIAkJCQkwRjYxODMzNDFDNDVGM0I2MDA3
MjQ1MEIgLyogQWlyT3Bjb2RlR2VuZXJhdGVkLmggKi8sCiAJCQkJMEY2MTgzMzUxQzQ1RjNCNjAw
NzI0NTBCIC8qIEFpck9wY29kZVV0aWxzLmggKi8sCkBAIC01ODg1LDE1ICs1OTE2LDcgQEAKIAkJ
CQk3MEI3OTE5MDFDMDI0NkNFMDAyNDgxRTIgLyogR2VuZXJhdG9yUHJvdG90eXBlLmx1dC5oICov
LAogCQkJCTY1MTRGMjE4MThCM0UxNjcwMDk4RkY4QiAvKiBJbml0Qnl0ZWNvZGVzLmFzbSAqLywK
IAkJCQlBNTEzRTVDNjE4NUY5NDM2MDA3RTk1QUQgLyogSW5qZWN0ZWRTY3JpcHRTb3VyY2UuaCAq
LywKLQkJCQlBNUVBNzEwRDE5RjZERjgxMDA5OEY1RUMgLyogSW5zcGVjdG9yQWx0ZXJuYXRlQmFj
a2VuZERpc3BhdGNoZXJzLmggKi8sCi0JCQkJQTUzMjQzOTYxODU2QTQ3NTAwMkVENjkyIC8qIElu
c3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyAqLywKLQkJCQlBNTMyNDM4MTE4NTY4MzE3MDAyRUQ2
OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAqLywKLQkJCQlBNTMyNDM4MjE4
NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCi0JCQkJ
QTUzMjQzODMxODU2ODMxNzAwMkVENjkyIC8qIEluc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMu
Y3BwICovLAotCQkJCUE1MzI0Mzg0MTg1NjgzMTcwMDJFRDY5MiAvKiBJbnNwZWN0b3JGcm9udGVu
ZERpc3BhdGNoZXJzLmggKi8sCiAJCQkJRTMzQjNFMjUxQjdBQkQ3NTAwNDhEQjJFIC8qIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbk9iamVjdC5sdXQuaCAqLywKLQkJCQlBNTMyNDM4NTE4NTY4MzE3
MDAyRUQ2OTIgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLywKLQkJCQlBNTMyNDM4
NjE4NTY4MzE3MDAyRUQ2OTIgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggKi8sCiAJCQkJ
QTE4MTkzRTExQjRFMENEQjAwRkMxMDI5IC8qIEludGxDb2xsYXRvckNvbnN0cnVjdG9yLmx1dC5o
ICovLAogCQkJCUExODE5M0UyMUI0RTBDREIwMEZDMTAyOSAvKiBJbnRsQ29sbGF0b3JQcm90b3R5
cGUubHV0LmggKi8sCiAJCQkJQTE1ODdENzMxQjREQzFDNjAwRDY5ODQ5IC8qIEludGxEYXRlVGlt
ZUZvcm1hdENvbnN0cnVjdG9yLmx1dC5oICovLApAQCAtNTkzNyw3ICs1OTYwLDYgQEAKIAkJCQlB
RDJGQ0MxMzFEQjU5QzU5MDBCM0U3MzYgLyogV2ViQXNzZW1ibHlSdW50aW1lRXJyb3JQcm90b3R5
cGUubHV0LmggKi8sCiAJCQkJQUQyRkNDMTQxREI1OUM1OTAwQjNFNzM2IC8qIFdlYkFzc2VtYmx5
VGFibGVDb25zdHJ1Y3Rvci5sdXQuaCAqLywKIAkJCQlBRDJGQ0MxNTFEQjU5QzU5MDBCM0U3MzYg
LyogV2ViQXNzZW1ibHlUYWJsZVByb3RvdHlwZS5sdXQuaCAqLywKLQkJCQk2NUE5NDYxNDFDOEU5
RjZGMDBBNzIwOUEgLyogWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwICovLAogCQkJKTsKIAkJ
CW5hbWUgPSAiRGVyaXZlZCBTb3VyY2VzIjsKIAkJCXBhdGggPSBEZXJpdmVkU291cmNlcy9KYXZh
U2NyaXB0Q29yZTsKQEAgLTY3NjgsNiArNjc5MCw4IEBACiAJCTg2RUFDNDhDMEY5M0U4QjkwMDhF
Qzk0OCAvKiB5YXJyICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQlBNzE4RjgyMTExNzhFQjRCMDAyNDY1QTcgLyogY3JlYXRlX3JlZ2V4X3RhYmxlcyAqLywK
KwkJCQk2NUE5NDYxMzFDOEU5RjIwMDBBNzIwOUEgLyogZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXpl
VW5pY29kZSAqLywKIAkJCQlBNTdEMjNFQjE4OTFCNTU0MDAzMUM3RkEgLyogUmVndWxhckV4cHJl
c3Npb24uY3BwICovLAogCQkJCUE1N0QyM0VDMTg5MUI1NTQwMDMxQzdGQSAvKiBSZWd1bGFyRXhw
cmVzc2lvbi5oICovLAogCQkJCTQ1MTUzOUI4MTJEQzk5NDUwMEVGN0FDNCAvKiBZYXJyLmggKi8s
CkBAIC04MDgxLDYgKzgxMDUsNyBAQAogCQkJCUM0RjRCNkYzMUEwNUM5NDQwMDVDQUI3NiAvKiBj
cHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSBpbiBIZWFkZXJzICovLAogCQkJCTBGMzBEN0MwMUQ5
NUQ2MzIwMDUzMDg5RCAvKiBDUFUuaCBpbiBIZWFkZXJzICovLAogCQkJCTVERTZFNUIzMEUxNzI4
RUMwMDE4MDQwNyAvKiBjcmVhdGVfaGFzaF90YWJsZSBpbiBIZWFkZXJzICovLAorCQkJCTUzNUMy
NDYxMUY3ODkyOEUwMDZFQzQwRSAvKiBjcmVhdGVfcmVnZXhfdGFibGVzIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTk1OUU5MkIxQkQxN0ZBNDAwMUFBNDEzIC8qIGNzc21pbi5weSBpbiBIZWFkZXJzICov
LAogCQkJCTJBMTExMjQ2MTkyRkNFNzkwMDVFRTE4RCAvKiBDdXN0b21HZXR0ZXJTZXR0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTBGNDI2QTRCMTQ2MENENkUwMDEzMUY4RiAvKiBEYXRhRm9ybWF0
LmggaW4gSGVhZGVycyAqLywKQEAgLTg1OTUsNiArODYyMCw3IEBACiAJCQkJQkMxOEM0MUIwRTE2
RjVDRDAwQjM0NDYwIC8qIEpTQ2FsbGJhY2tPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MThDNDFDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBKU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk2NTdDRjQ1OTE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCBp
biBIZWFkZXJzICovLAorCQkJCTUzNUMyNDY5MUY3QTE2MjQwMDZFQzQwRSAvKiBKU0NCdWlsdGlu
cy5jcHAgaW4gSGVhZGVycyAqLywKIAkJCQlBN0Q4MDFBOTE4ODBENkE4MDAyNkMzOUIgLyogSlND
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTE2N0RBMEUxOUJDQzkwMDgwNjZERCAv
KiBKU0NlbGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGOTc0OTcxMTY4N0FERTQwMEE0RkY2QSAv
KiBKU0NlbGxJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTk1MTUsNyArOTU0MSw3IEBACiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCQlzaGVs
bFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAic2V0IC1lXG5cbmNkICRTUkNST09U
XG5cbmlmIFsgXCIke0RFUExPWU1FTlRfTE9DQVRJT059XCIgPT0gXCJZRVNcIiBdOyB0aGVuXG4g
ICAgQlVJTERfU0NSSVBUU19ESVI9XCIke1NES1JPT1R9L3Vzci9sb2NhbC9pbmNsdWRlL3d0Zi9T
Y3JpcHRzXCJcbmVsc2VcbiAgICBCVUlMRF9TQ1JJUFRTX0RJUj1cIiR7QlVJTFRfUFJPRFVDVFNf
RElSfS91c3IvbG9jYWwvaW5jbHVkZS93dGYvU2NyaXB0c1wiXG5maVxuXG5VbmlmaWVkU291cmNl
Q3BwRmlsZUNvdW50PTEzNVxuVW5pZmllZFNvdXJjZU1tRmlsZUNvdW50PTEzNVxuXG4vdXNyL2Jp
bi9lbnYgcnVieSBcIiR7QlVJTERfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLXVuaWZpZWQtc291cmNl
LWJ1bmRsZXMucmJcIiBcIi0tZGVyaXZlZC1zb3VyY2VzLXBhdGhcIiBcIiR7QlVJTFRfUFJPRFVD
VFNfRElSfS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZVwiIFwiLS1tYXgtY3BwLWJ1bmRs
ZS1jb3VudFwiIFwiJHtVbmlmaWVkU291cmNlQ3BwRmlsZUNvdW50fVwiIFwiLS1tYXgtb2JqLWMt
YnVuZGxlLWNvdW50XCIgXCIke1VuaWZpZWRTb3VyY2VNbUZpbGVDb3VudH1cIiBcIlNvdXJjZXMu
dHh0XCIgXCJTb3VyY2VzTWFjLnR4dFwiID4gL2Rldi9udWxsXG4iOworCQkJc2hlbGxTY3JpcHQg
PSAic2V0IC1lXG5cbmNkICRTUkNST09UXG5cbmlmIFsgXCIke0RFUExPWU1FTlRfTE9DQVRJT059
XCIgPT0gXCJZRVNcIiBdOyB0aGVuXG4gICAgQlVJTERfU0NSSVBUU19ESVI9XCIke1NES1JPT1R9
L3Vzci9sb2NhbC9pbmNsdWRlL3d0Zi9TY3JpcHRzXCJcbmVsc2VcbiAgICBCVUlMRF9TQ1JJUFRT
X0RJUj1cIiR7QlVJTFRfUFJPRFVDVFNfRElSfS91c3IvbG9jYWwvaW5jbHVkZS93dGYvU2NyaXB0
c1wiXG5maVxuXG5VbmlmaWVkU291cmNlQ3BwRmlsZUNvdW50PTEzNlxuVW5pZmllZFNvdXJjZU1t
RmlsZUNvdW50PTJcblxuL3Vzci9iaW4vZW52IHJ1YnkgXCIke0JVSUxEX1NDUklQVFNfRElSfS9n
ZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiXCIgXCItLWRlcml2ZWQtc291cmNlcy1w
YXRoXCIgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmVcIiBcIi0tc291cmNlLXRyZWUtcGF0aFwiIFwiJHtTUkNST09UfVwiIFwiLS1tYXgtY3BwLWJ1
bmRsZS1jb3VudFwiIFwiJHtVbmlmaWVkU291cmNlQ3BwRmlsZUNvdW50fVwiIFwiLS1tYXgtb2Jq
LWMtYnVuZGxlLWNvdW50XCIgXCIke1VuaWZpZWRTb3VyY2VNbUZpbGVDb3VudH1cIiBcIlNvdXJj
ZXMudHh0XCIgXCJTb3VyY2VzTWFjLnR4dFwiID4gL2Rldi9udWxsXG4iOwogCQl9OwogCQk1RDI5
RDhCRTBFOTg2MEI0MDBDM0QyRDAgLyogQ2hlY2sgRm9yIFdlYWsgVlRhYmxlcyBhbmQgRXh0ZXJu
YWxzICovID0gewogCQkJaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOwpAQCAtOTcyMiwx
MCArOTc0OCw2IEBACiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQk1M0YxQjU0ODFGNkExNTc3
MDBFMkQwNDMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTUzRjFCNTQyMUY2QTE0QTUwMEUyRDA0MyAvKiBJbnNwZWN0b3JGcm9udGVuZERpc3Bh
dGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUzRjFCNTQzMUY2QTE0QUMwMEUyRDA0MyAv
KiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTNGMUI1
NDQxRjZBMTRCQzAwRTJEMDQzIC8qIEpTQ0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUzNkIzMTlFMUY3MzVGMTYwMDM3RkMzMyAvKiBMb3dMZXZlbEludGVycHJldGVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODYuYyBpbiBT
b3VyY2VzICovLAogCQkJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2Rl
LmMgaW4gU291cmNlcyAqLywKQEAgLTk3NzUsNiArOTc5Nyw3IEBACiAJCQkJNTM2QjMxMUQxRjcx
QzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTM2QjMxOUMxRjczNUU3RDAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTM2QjMxOUQxRjczNUU3RDAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2UxMzUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTM1QzI0NkMxRjdBMTc3ODAwNkVDNDBFIC8qIFVuaWZp
ZWRTb3VyY2UxMzYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxN0MxRjcxQzU5OTAwMzdG
QzMzIC8qIFVuaWZpZWRTb3VyY2UxNC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzZCMzE3RDFG
NzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTE1LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUzNkIzMTc2MUY3MUM1OTkwMDM3RkMzMyAvKiBVbmlmaWVkU291cmNlMTYuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC05ODcwLDcgKzk4OTMsNiBAQAogCQkJCTUzNkIzMTM2MUY3MUM1OTkwMDM3RkMz
MyAvKiBVbmlmaWVkU291cmNlOTcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM2QjMxNkExRjcx
QzU5OTAwMzdGQzMzIC8qIFVuaWZpZWRTb3VyY2U5OC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MzZCMzE2MzFGNzFDNTk5MDAzN0ZDMzMgLyogVW5pZmllZFNvdXJjZTk5LmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTUzRjFCNTQ1MUY2QTE0RDAwMEUyRDA0MyAvKiBZYXJyQ2Fub25pY2FsaXplVW5p
Y29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBv
c3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9TY3JpcHRzL2xhenl3cml0ZXIucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU2NyaXB0cy9s
YXp5d3JpdGVyLnB5CmluZGV4IGY5M2EyYzY5N2NhY2JkNzc0MWZlOTk4ZWYxOTBlYjFjZDZmMjQ1
MzkuLmY4Y2NmOWM2NzVmNzVmY2M5MGUzODAwZmM2OWE1YTQ0NTk3N2Y5YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzL2xhenl3cml0ZXIucHkKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL1NjcmlwdHMvbGF6eXdyaXRlci5weQpAQCAtMjYsNiArMjYsNyBAQAog
CiAjIEEgd3JpdGVyIHRoYXQgb25seSB1cGRhdGVzIGZpbGUgaWYgaXQgYWN0dWFsbHkgY2hhbmdl
ZC4KIAoraW1wb3J0IG9zCiAKIGNsYXNzIExhenlGaWxlV3JpdGVyOgogICAgIGRlZiBfX2luaXRf
XyhzZWxmLCBmaWxlcGF0aCwgZm9yY2Vfb3V0cHV0KToKQEAgLTUzLDYgKzU0LDkgQEAgY2xhc3Mg
TGF6eUZpbGVXcml0ZXI6CiAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgaWYgdGV4dF9jaGFu
Z2VkIG9yIHNlbGYuZm9yY2Vfb3V0cHV0OgorICAgICAgICAgICAgZGlybmFtZSA9IG9zLnBhdGgu
ZGlybmFtZShzZWxmLl9maWxlcGF0aCkKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGly
KGRpcm5hbWUpOgorICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCiAgICAgICAg
ICAgICBvdXRfZmlsZSA9IG9wZW4oc2VsZi5fZmlsZXBhdGgsICJ3IikKICAgICAgICAgICAgIG91
dF9maWxlLndyaXRlKHNlbGYuX291dHB1dCkKICAgICAgICAgICAgIG91dF9maWxlLmNsb3NlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Tb3VyY2VzLnR4dAppbmRleCBmZDUyNmIyODQ2MzExNTUwMTE3ZTZmNDll
ZDYwZWU4ZThhNTI4YTc0Li40MTQ1NWRiMGZiMjY3M2U5ZGZhNWM3ODBlNGQxYzE4MTZiNzMwNmRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL1NvdXJjZXMudHh0CkBAIC01NDUsNiArNTQ1LDExIEBAIGluc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suY3BwCiBpbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrRmFjdG9y
eS5jcHAKIGluc3BlY3Rvci9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKIAorIyBEZXJpdmVkIFNvdXJj
ZXMKK2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwCitpbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5jcHAKK2luc3BlY3Rvci9JbnNwZWN0b3JQcm90
b2NvbE9iamVjdHMuY3BwCisKIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQWdlbnQuY3BwCiBp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNvbnNvbGVBZ2VudC5jcHAKIGluc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAKQEAgLTkxNSw2ICs5MjAsMTAgQEAgcnVudGlt
ZS9XZWFrTWFwUHJvdG90eXBlLmNwcAogcnVudGltZS9XZWFrU2V0Q29uc3RydWN0b3IuY3BwCiBy
dW50aW1lL1dlYWtTZXRQcm90b3R5cGUuY3BwCiAKKyMgRGVyaXZlZCBTb3VyY2VzCisjIEZJWE1F
OiBXZSBzaG91bGQgbW92ZSB0aGlzIHRvIHJ1bnRpbWUgYnV0IGl0IGtlcHQgYnJlYWtpbmcgdGhl
IFdpbmRvd3MgYnVpbGQgaW4gd2VpcmQgd2F5cy4uLiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc3NDg2CitKU0NCdWlsdGlucy5jcHAKKwogdG9vbHMvQ2VsbExpc3Qu
Y3BwCiB0b29scy9Db2RlUHJvZmlsZS5jcHAKIHRvb2xzL0NvZGVQcm9maWxpbmcuY3BwCkBAIC05
ODksMyArOTk4LDYgQEAgeWFyci9ZYXJySW50ZXJwcmV0ZXIuY3BwCiB5YXJyL1lhcnJKSVQuY3Bw
CiB5YXJyL1lhcnJQYXR0ZXJuLmNwcAogeWFyci9ZYXJyU3ludGF4Q2hlY2tlci5jcHAKKworIyBE
ZXJpdmVkIFNvdXJjZXMKK3lhcnIvWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY3JlYXRlX3JlZ2V4X3RhYmxlcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBhYzkzNzhkYjI3NTczZjljZTY3ZTdmY2FkN2Y1NmI1ZDU2YWQ1MDQ2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9jcmVhdGVfcmVnZXhfdGFibGVzCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAK
LSMgQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotIyAKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIyAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSMgCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSMgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0jIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0jIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSMgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLQotaW1wb3J0IHN5cwotCi10eXBlcyA9IHsKLSAg
ICAid29yZGNoYXIiOiB7ICJVc2VUYWJsZSIgOiBUcnVlLCAiZGF0YSI6IFsnXycsICgnMCcsJzkn
KSwgKCdBJywgJ1onKSwgKCdhJywneicpXX0sCi0gICAgIndvcmRVbmljb2RlSWdub3JlQ2FzZUNo
YXIiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgImRhdGEiOiBbJ18nLCAoJzAnLCAnOScpLCAoJ0En
LCAnWicpLCAoJ2EnLCAneicpLCAweDAxN2YsIDB4MjEyYV19LAotICAgICJub253b3JkY2hhciI6
IHsgIlVzZVRhYmxlIiA6IFRydWUsICJJbnZlcnNlIjogIndvcmRjaGFyIiwgImRhdGEiOiBbJ2An
LCAoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgnOScpICsgMSwgb3JkKCdBJykgLSAxKSwgKG9yZCgn
WicpICsgMSwgb3JkKCdfJykgLSAxKSwgKG9yZCgneicpICsgMSwgMHgxMGZmZmYpXX0sCi0gICAg
Im5vbndvcmRVbmljb2RlSWdub3JlQ2FzZUNoYXIiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgIklu
dmVyc2UiOiAid29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciIsICJkYXRhIjogWydgJywgKDAsIG9y
ZCgnMCcpIC0gMSksIChvcmQoJzknKSArIDEsIG9yZCgnQScpIC0gMSksIChvcmQoJ1onKSArIDEs
IG9yZCgnXycpIC0gMSksIChvcmQoJ3onKSArIDEsIDB4MDE3ZSksICgweDAxODAsIDB4MjEyOSks
ICgweDIxMmIsIDB4MTBmZmZmKV19LAotICAgICJuZXdsaW5lIjogeyAiVXNlVGFibGUiIDogRmFs
c2UsICJkYXRhIjogWydcbicsICdccicsIDB4MjAyOCwgMHgyMDI5XX0sCi0gICAgInNwYWNlcyI6
IHsgIlVzZVRhYmxlIiA6IFRydWUsICJkYXRhIjogWycgJywgKCdcdCcsICdccicpLCAweGEwLCAw
eDE2ODAsIDB4MTgwZSwgMHgyMDI4LCAweDIwMjksIDB4MjAyZiwgMHgyMDVmLCAweDMwMDAsICgw
eDIwMDAsIDB4MjAwYSksIDB4ZmVmZl19LAotICAgICJub25zcGFjZXMiOiB7ICJVc2VUYWJsZSIg
OiBUcnVlLCAiSW52ZXJzZSI6ICJzcGFjZXMiLCAiZGF0YSI6IFsoMCwgb3JkKCdcdCcpIC0gMSks
IChvcmQoJ1xyJykgKyAxLCBvcmQoJyAnKSAtIDEpLCAob3JkKCcgJykgKyAxLCAweDAwOWYpLCAo
MHgwMGExLCAweDE2N2YpLCAoMHgxNjgxLCAweDE4MGQpLCAoMHgxODBmLCAweDFmZmYpLCAoMHgy
MDBiLCAweDIwMjcpLCAoMHgyMDJhLCAweDIwMmUpLCAoMHgyMDMwLCAweDIwNWUpLCAoMHgyMDYw
LCAweDJmZmYpLCAoMHgzMDAxLCAweGZlZmUpLCAoMHhmZjAwLCAweDEwZmZmZildfSwKLSAgICAi
ZGlnaXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJkYXRhIjogWygnMCcsICc5JyldfSwKLSAg
ICAibm9uZGlnaXRzIjogeyAiVXNlVGFibGUiIDogRmFsc2UsICJJbnZlcnNlIjogImRpZ2l0cyIs
ICJkYXRhIjogWygwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAxLCAweDEwZmZmZildIH0K
LX0KLWVudHJpZXNQZXJMaW5lID0gNTAKLWFycmF5cyA9ICIiOwotZnVuY3Rpb25zID0gIiI7Ci1l
bWl0VGFibGVzID0gKGxlbihzeXMuYXJndikgPCAyIG9yIHN5cy5hcmd2WzFdICE9ICItLW5vLXRh
YmxlcyIpCi0KLWZvciBuYW1lLCBjbGFzc2VzIGluIHR5cGVzLml0ZW1zKCk6Ci0gICAgcmFuZ2Vz
ID0gW107Ci0gICAgc2l6ZSA9IDA7Ci0gICAgZm9yIF9jbGFzcyBpbiBjbGFzc2VzWyJkYXRhIl06
Ci0gICAgICAgIGlmIHR5cGUoX2NsYXNzKSA9PSBzdHI6Ci0gICAgICAgICAgICByYW5nZXMuYXBw
ZW5kKChvcmQoX2NsYXNzKSwgb3JkKF9jbGFzcykpKQotICAgICAgICBlbGlmIHR5cGUoX2NsYXNz
KSA9PSBpbnQ6Ci0gICAgICAgICAgICByYW5nZXMuYXBwZW5kKChfY2xhc3MsIF9jbGFzcykpCi0g
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAobWluLCBtYXgpID0gX2NsYXNzOwotICAgICAgICAg
ICAgaWYgdHlwZShtaW4pID09IHN0cjoKLSAgICAgICAgICAgICAgICBtaW4gPSBvcmQobWluKQot
ICAgICAgICAgICAgaWYgdHlwZShtYXgpID09IHN0cjoKLSAgICAgICAgICAgICAgICBtYXggPSBv
cmQobWF4KQotICAgICAgICAgICAgaWYgbWF4ID4gMHg3ZiBhbmQgbWluIDw9IDB4N2Y6Ci0gICAg
ICAgICAgICAgICAgcmFuZ2VzLmFwcGVuZCgobWluLCAweDdmKSkKLSAgICAgICAgICAgICAgICBt
aW4gPSAweDgwCi0gICAgICAgICAgICByYW5nZXMuYXBwZW5kKChtaW4sbWF4KSkKLSAgICByYW5n
ZXMuc29ydCgpOwotICAgIAotICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNzZXNbIlVzZVRhYmxl
Il0gYW5kIChub3QgIkludmVyc2UiIGluIGNsYXNzZXMpOgotICAgICAgICBhcnJheSA9ICgic3Rh
dGljIGNvbnN0IGNoYXIgXyVzRGF0YVs2NTUzNl0gPSB7XG4iICUgbmFtZSk7Ci0gICAgICAgIGkg
PSAwCi0gICAgICAgIGZvciAobWluLG1heCkgaW4gcmFuZ2VzOgotICAgICAgICAgICAgd2hpbGUg
aSA8IG1pbjoKLSAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAgICAgICAgICAgICBhcnJh
eSArPSAoJzAsJykKLSAgICAgICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09IDAp
IGFuZCAoaSAhPSAwKToKLSAgICAgICAgICAgICAgICAgICAgYXJyYXkgKz0gKCdcbicpCi0gICAg
ICAgICAgICB3aGlsZSBpIDw9IG1heDoKLSAgICAgICAgICAgICAgICBpID0gaSArIDEKLSAgICAg
ICAgICAgICAgICBpZiAoaSA9PSA2NTUzNik6Ci0gICAgICAgICAgICAgICAgICAgIGFycmF5ICs9
ICgiMSIpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgYXJyYXkg
Kz0gKCcxLCcpCi0gICAgICAgICAgICAgICAgaWYgKGkgJSBlbnRyaWVzUGVyTGluZSA9PSAwKSBh
bmQgKGkgIT0gMCk6Ci0gICAgICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnXG4nKQotICAgICAg
ICB3aGlsZSBpIDwgMHhmZmZmOgotICAgICAgICAgICAgYXJyYXkgKz0gKCIwLCIpCi0gICAgICAg
ICAgICBpID0gaSArIDE7Ci0gICAgICAgICAgICBpZiAoaSAlIGVudHJpZXNQZXJMaW5lID09IDAp
IGFuZCAoaSAhPSAwKToKLSAgICAgICAgICAgICAgICBhcnJheSArPSAoJ1xuJykKLSAgICAgICAg
aWYgaSA9PSAweGZmZmY6Ci0gICAgICAgICAgICBhcnJheSArPSAoIjAiKQotICAgICAgICBhcnJh
eSArPSAoIlxufTtcblxuIik7Ci0gICAgICAgIGFycmF5cyArPSBhcnJheQotICAgIAotICAgICMg
R2VuZXJhdGUgY3JlYXRlRnVuY3Rpb246Ci0gICAgZnVuY3Rpb24gPSAiIjsKLSAgICBmdW5jdGlv
biArPSAoInN0ZDo6dW5pcXVlX3B0cjxDaGFyYWN0ZXJDbGFzcz4gJXNDcmVhdGUoKVxuIiAlIG5h
bWUpCi0gICAgZnVuY3Rpb24gKz0gKCJ7XG4iKQotICAgIGlmIGVtaXRUYWJsZXMgYW5kIGNsYXNz
ZXNbIlVzZVRhYmxlIl06Ci0gICAgICAgIGlmICJJbnZlcnNlIiBpbiBjbGFzc2VzOgotICAgICAg
ICAgICAgZnVuY3Rpb24gKz0gKCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91
bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KF8lc0RhdGEsIHRydWUpO1xuIiAlIChjbGFzc2VzWyJJbnZl
cnNlIl0pKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgYXV0
byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVyQ2xhc3M+KF8lc0Rh
dGEsIGZhbHNlKTtcbiIgJSAobmFtZSkpCi0gICAgZWxzZToKLSAgICAgICAgZnVuY3Rpb24gKz0g
KCIgICAgYXV0byBjaGFyYWN0ZXJDbGFzcyA9IHN0ZDo6bWFrZV91bmlxdWU8Q2hhcmFjdGVyQ2xh
c3M+KCk7XG4iKQotICAgIGhhc05vbkJNUENoYXJhY3RlcnMgPSBGYWxzZQotICAgIGZvciAobWlu
LCBtYXgpIGluIHJhbmdlczoKLSAgICAgICAgaWYgKG1pbiA9PSBtYXgpOgotICAgICAgICAgICAg
aWYgKG1pbiA+IDEyNyk6Ci0gICAgICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFj
dGVyQ2xhc3MtPm1fbWF0Y2hlc1VuaWNvZGUuYXBwZW5kKDB4JTA0eCk7XG4iICUgbWluKQotICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0
ZXJDbGFzcy0+bV9tYXRjaGVzLmFwcGVuZCgweCUwMngpO1xuIiAlIG1pbikKLSAgICAgICAgICAg
IGNvbnRpbnVlCi0gICAgICAgIGlmIChtaW4gPiAxMjcpIG9yIChtYXggPiAxMjcpOgotICAgICAg
ICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xhc3MtPm1fcmFuZ2VzVW5pY29kZS5h
cHBlbmQoQ2hhcmFjdGVyUmFuZ2UoMHglMDR4LCAweCUwNHgpKTtcbiIgJSAobWluLCBtYXgpKQot
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgZnVuY3Rpb24gKz0gKCIgICAgY2hhcmFjdGVyQ2xh
c3MtPm1fcmFuZ2VzLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwMngsIDB4JTAyeCkpO1xuIiAl
IChtaW4sIG1heCkpCi0gICAgICAgIGlmIG1heCA+PSAweDEwMDAwOgotICAgICAgICAgICAgaGFz
Tm9uQk1QQ2hhcmFjdGVycyA9IFRydWUKLSAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJD
bGFzcy0+bV9oYXNOb25CTVBDaGFyYWN0ZXJzID0gJXM7XG4iICUgKCJ0cnVlIiBpZiBoYXNOb25C
TVBDaGFyYWN0ZXJzIGVsc2UgImZhbHNlIikpCi0gICAgZnVuY3Rpb24gKz0gKCIgICAgcmV0dXJu
IGNoYXJhY3RlckNsYXNzO1xuIikKLSAgICBmdW5jdGlvbiArPSAoIn1cblxuIikKLSAgICBmdW5j
dGlvbnMgKz0gZnVuY3Rpb24KLQotaWYgKGxlbihzeXMuYXJndikgPiAxKToKLSAgICBmID0gb3Bl
bihzeXMuYXJndlstMV0sICJ3IikKLSAgICBmLndyaXRlKGFycmF5cykKLSAgICBmLndyaXRlKGZ1
bmN0aW9ucykKLSAgICBmLmNsb3NlKCkKLWVsc2U6Ci0gICAgcHJpbnQoYXJyYXlzKQotICAgIHBy
aW50KGZ1bmN0aW9ucykKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVy
YXRlWWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJh
dGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Yzc4ODYwYTQ2NWE4ZGFmYjFkOWE3ZDNjNzM0YThjNGVkYjE1ZTAyMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2Vu
ZXJhdGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQorKysgL2Rldi9udWxsCkBAIC0xLDIwMCArMCww
IEBACi0jISAvdXNyL2Jpbi9weXRob24KLQotIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFy
ZSBtZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKLSMgMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0KLSMgVGhpcyB0b29sIHByb2Nlc3NlcyB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2Ug
ZmlsZSBDYXNlRm9sZGluZy50eHQgdG8gY3JlYXRlCi0jIGNhbm9uaWNhbGl6YXRpb24gdGFibGUg
YXMgZGVjcmliZWQgaW4gRUNNQVNjcmlwdCA2IHN0YW5kYXJkIGluIHNlY3Rpb24KLSMgIjIxLjIu
Mi44LjIgUnVudGltZSBTZW1hbnRpY3M6IENhbm9uaWNhbGl6ZSgpIiwgc3RlcCAyLgotCi1pbXBv
cnQgb3B0cGFyc2UKLWltcG9ydCByZQotaW1wb3J0IHN5cwotZnJvbSBzZXRzIGltcG9ydCBTZXQK
LQotaGVhZGVyID0gIiIiLyoKLSogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSoKLSogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0qIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotKiBhcmUgbWV0Ogot
KgotKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0qIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0qIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKLSogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0qIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCi0qIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0q
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0qIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotKi8KLQot
Ly8gRE8gTk8gRURJVCEgLSBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnZW5lcmF0ZVlhcnJD
YW5vbmljYWxpemVVbmljb2RlCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJZYXJy
Q2Fub25pY2FsaXplLmgiCi0KLW5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7Ci0KLSIi
IgotCi1mb290ZXIgPSAiIiJ9IH0gLy8gSlNDOjpZYXJyCi0iIiIKLQotTWF4VW5pY29kZSA9IDB4
MTBmZmZmCi1jb21tb25BbmRTaW1wbGVMaW5lc1JFID0gcmUuY29tcGlsZShyIig/UDxjb2RlPlsw
LTlBLUZdKylccyo7XHMqW0NTXVxzKjtccyooP1A8bWFwcGluZz5bMC05QS1GXSspIiwgcmUuSUdO
T1JFQ0FTRSkKLQotZGVmIG9wZW5PckV4aXQocGF0aCwgbW9kZSk6Ci0gICAgdHJ5OgotICAgICAg
ICByZXR1cm4gb3BlbihwYXRoLCBtb2RlKQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAg
ICAgIHByaW50ICJJL08gZXJyb3Igb3BlbmluZyB7MH0sICh7MX0pOiB7Mn0iLmZvcm1hdChwYXRo
LCBlLmVycm5vLCBlLnN0cmVycm9yKQotICAgICAgICBleGl0KDEpCi0KLWNsYXNzIENhbm9uaWNh
bGl6ZToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2Fub25pY2FsR3Jv
dXBzID0ge307Ci0KLSAgICBkZWYgYWRkTWFwcGluZyhzZWxmLCBjb2RlLCBtYXBwaW5nKToKLSAg
ICAgICAgaWYgbWFwcGluZyBub3QgaW4gc2VsZi5jYW5vbmljYWxHcm91cHM6Ci0gICAgICAgICAg
ICBzZWxmLmNhbm9uaWNhbEdyb3Vwc1ttYXBwaW5nXSA9IFtdCi0gICAgICAgIHNlbGYuY2Fub25p
Y2FsR3JvdXBzW21hcHBpbmddLmFwcGVuZChjb2RlKQotICAgICAgICAKLSAgICBkZWYgcmVhZENh
c2VGb2xkaW5nKHNlbGYsIGZpbGUpOgotICAgICAgICBjb2Rlc1NlZW4gPSBTZXQoKQotICAgICAg
ICBmb3IgbGluZSBpbiBmaWxlOgotICAgICAgICAgICAgbGluZSA9IGxpbmUuc3BsaXQoJyMnLCAx
KVswXQotICAgICAgICAgICAgbGluZSA9IGxpbmUucnN0cmlwKCkKLSAgICAgICAgICAgIGlmIChu
b3QgbGVuKGxpbmUpKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBm
aWVsZHMgPSBjb21tb25BbmRTaW1wbGVMaW5lc1JFLm1hdGNoKGxpbmUpCi0gICAgICAgICAgICBp
ZiAobm90IGZpZWxkcyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAg
Y29kZSA9IGludChmaWVsZHMuZ3JvdXAoJ2NvZGUnKSwgMTYpCi0gICAgICAgICAgICBtYXBwaW5n
ID0gaW50KGZpZWxkcy5ncm91cCgnbWFwcGluZycpLCAxNikKLQotICAgICAgICAgICAgY29kZXNT
ZWVuLmFkZChjb2RlKQotICAgICAgICAgICAgc2VsZi5hZGRNYXBwaW5nKGNvZGUsIG1hcHBpbmcp
Ci0KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTWF4VW5pY29kZSArIDEpOgotICAgICAgICAgICAg
aWYgaSBpbiBjb2Rlc1NlZW46Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAg
ICAgIHNlbGYuYWRkTWFwcGluZyhpLCBpKQotCi0gICAgZGVmIGNyZWF0ZVRhYmxlcyhzZWxmLCBm
aWxlKToKLSAgICAgICAgdHlwZUluZm8gPSBbIiJdICogKE1heFVuaWNvZGUgKyAxKQotICAgICAg
ICBjaGFyYWN0ZXJTZXRzID0gW10KLQotICAgICAgICBmb3IgbWFwcGluZyBpbiBzb3J0ZWQoc2Vs
Zi5jYW5vbmljYWxHcm91cHMua2V5cygpKToKLSAgICAgICAgICAgIGNoYXJhY3RlcnMgPSBzZWxm
LmNhbm9uaWNhbEdyb3Vwc1ttYXBwaW5nXQotICAgICAgICAgICAgaWYgbGVuKGNoYXJhY3RlcnMp
ID09IDE6Ci0gICAgICAgICAgICAgICAgdHlwZUluZm9bY2hhcmFjdGVyc1swXV0gPSAiQ2Fub25p
Y2FsaXplVW5pcXVlOjAiCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNoYXJh
Y3RlcnMuc29ydCgpCi0gICAgICAgICAgICAgICAgaWYgbGVuKGNoYXJhY3RlcnMpID4gMjoKLSAg
ICAgICAgICAgICAgICAgICAgZm9yIGNoIGluIGNoYXJhY3RlcnM6Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB0eXBlSW5mb1tjaF0gPSAiQ2Fub25pY2FsaXplU2V0OiVkIiAlIGxlbihjaGFyYWN0
ZXJTZXRzKQotICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJTZXRzLmFwcGVuZChjaGFyYWN0
ZXJzKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGxvdyA9IGNo
YXJhY3RlcnNbMF0KLSAgICAgICAgICAgICAgICAgICAgaGlnaCA9IGNoYXJhY3RlcnNbMV0KLSAg
ICAgICAgICAgICAgICAgICAgZGVsdGEgPSBoaWdoIC0gbG93Ci0gICAgICAgICAgICAgICAgICAg
IGlmIGRlbHRhID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gIkNhbm9uaWNh
bGl6ZUFsdGVybmF0aW5nVW5hbGlnbmVkOjAiIGlmIGxvdyAmIDEgZWxzZSAiQ2Fub25pY2FsaXpl
QWx0ZXJuYXRpbmdBbGlnbmVkOjAiCi0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlSW5mb1ts
b3ddID0gdHlwZQotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9baGlnaF0gPSB0eXBl
Ci0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eXBl
SW5mb1tsb3ddID0gIkNhbm9uaWNhbGl6ZVJhbmdlTG86JWQiICUgZGVsdGEKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGVJbmZvW2hpZ2hdID0gIkNhbm9uaWNhbGl6ZVJhbmdlSGk6JWQiICUg
ZGVsdGEKLQotICAgICAgICByYW5nZUluZm8gPSBbXQotICAgICAgICBlbmQgPSAwCi0gICAgICAg
IHdoaWxlIGVuZCA8PSBNYXhVbmljb2RlOgotICAgICAgICAgICAgYmVnaW4gPSBlbmQKLSAgICAg
ICAgICAgIHR5cGUgPSB0eXBlSW5mb1tlbmRdCi0gICAgICAgICAgICB3aGlsZSBlbmQgPCBNYXhV
bmljb2RlIGFuZCB0eXBlSW5mb1tlbmQgKyAxXSA9PSB0eXBlOgotICAgICAgICAgICAgICAgIGVu
ZCA9IGVuZCArIDEKLSAgICAgICAgICAgIHJhbmdlSW5mby5hcHBlbmQoeyJiZWdpbiI6IGJlZ2lu
LCAiZW5kIjogZW5kLCAidHlwZSI6IHR5cGV9KQotICAgICAgICAgICAgZW5kID0gZW5kICsgMQot
ICAgICAgICAKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGNoYXJhY3RlclNldHMpKToKLSAg
ICAgICAgICAgIGNoYXJhY3RlcnMgPSAiIgotICAgICAgICAgICAgc2V0ID0gY2hhcmFjdGVyU2V0
c1tpXQotICAgICAgICAgICAgZm9yIGNoIGluIHNldDoKLSAgICAgICAgICAgICAgICBjaGFyYWN0
ZXJzID0gY2hhcmFjdGVycyArICIweHtjaGFyYWN0ZXI6MDR4fSwgIi5mb3JtYXQoY2hhcmFjdGVy
PWNoKQotICAgICAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgVUNoYXIzMiB1bmljb2RlQ2hhcmFj
dGVyU2V0e2luZGV4OmR9W10gPSB7eyB7Y2hhcmFjdGVyc30wIH19O1xuIi5mb3JtYXQoaW5kZXg9
aSwgY2hhcmFjdGVycz1jaGFyYWN0ZXJzKSkKLQotICAgICAgICBmaWxlLndyaXRlKCJcbiIpCi0g
ICAgICAgIGZpbGUud3JpdGUoInN0YXRpYyBjb25zdCBzaXplX3QgVU5JQ09ERV9DQU5PTklDQUxJ
WkFUSU9OX1NFVFMgPSB7c2V0Q291bnQ6ZH07XG4iLmZvcm1hdChzZXRDb3VudD1sZW4oY2hhcmFj
dGVyU2V0cykpKQotICAgICAgICBmaWxlLndyaXRlKCJjb25zdCBVQ2hhcjMyKiBjb25zdCB1bmlj
b2RlQ2hhcmFjdGVyU2V0SW5mb1tVTklDT0RFX0NBTk9OSUNBTElaQVRJT05fU0VUU10gPSB7XG4i
KQotCi0gICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihjaGFyYWN0ZXJTZXRzKSk6Ci0gICAgICAg
ICAgICBmaWxlLndyaXRlKCIgICAgdW5pY29kZUNoYXJhY3RlclNldHtzZXROdW1iZXI6ZH0sXG4i
LmZvcm1hdChzZXROdW1iZXI9aSkpCi0KLSAgICAgICAgZmlsZS53cml0ZSgifTtcbiIpCi0gICAg
ICAgIGZpbGUud3JpdGUoIlxuIikKLSAgICAgICAgZmlsZS53cml0ZSgiY29uc3Qgc2l6ZV90IFVO
SUNPREVfQ0FOT05JQ0FMSVpBVElPTl9SQU5HRVMgPSB7cmFuZ2VDb3VudDpkfTtcbiIuZm9ybWF0
KHJhbmdlQ291bnQ9bGVuKHJhbmdlSW5mbykpKQotICAgICAgICBmaWxlLndyaXRlKCJjb25zdCBD
YW5vbmljYWxpemF0aW9uUmFuZ2UgdW5pY29kZVJhbmdlSW5mb1tVTklDT0RFX0NBTk9OSUNBTEla
QVRJT05fUkFOR0VTXSA9IHtcbiIpCi0KLSAgICAgICAgZm9yIGluZm8gaW4gcmFuZ2VJbmZvOgot
ICAgICAgICAgICAgdHlwZUFuZFZhbHVlID0gaW5mb1sidHlwZSJdLnNwbGl0KCI6IikKLSAgICAg
ICAgICAgIGZpbGUud3JpdGUoIiAgICB7eyAweHtiZWdpbjowNHh9LCAweHtlbmQ6MDR4fSwgMHh7
dmFsdWU6MDR4fSwge3R5cGV9IH19LFxuIi5mb3JtYXQoYmVnaW49aW5mb1siYmVnaW4iXSwgZW5k
PWluZm9bImVuZCJdLCB2YWx1ZT1pbnQodHlwZUFuZFZhbHVlWzFdKSwgdHlwZT10eXBlQW5kVmFs
dWVbMF0pKQotCi0gICAgICAgIGZpbGUud3JpdGUoIn07XG4iKQotICAgICAgICBmaWxlLndyaXRl
KCJcbiIpCi0KLSAgICAgICAgCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHBhcnNl
ciA9IG9wdHBhcnNlLk9wdGlvblBhcnNlcih1c2FnZSA9ICJ1c2FnZTogJXByb2cgIDxDYXNlRm9s
ZGluZy50eHQ+IDxZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5oPiIpCi0gICAgKG9wdGlvbnMsIGFy
Z3MpID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotCi0gICAgaWYgbGVuKGFyZ3MpICE9IDI6Ci0gICAg
ICAgIHBhcnNlci5lcnJvcigiPENhc2VGb2xkaW5nLnR4dD4gPFlhcnJDYW5vbmljYWxpemVVbmlj
b2RlLmg+IikKLQotICAgIGNhc2VGb2xkaW5nVHh0UGF0aCA9IGFyZ3NbMF0KLSAgICBjYW5vbmlj
YWxpemVIUGF0aCA9IGFyZ3NbMV0KLSAgICBjYXNlRm9sZGluZ1R4dEZpbGUgPSBvcGVuT3JFeGl0
KGNhc2VGb2xkaW5nVHh0UGF0aCwgInIiKQotICAgIGNhbm9uaWNhbGl6ZUhGaWxlID0gb3Blbk9y
RXhpdChjYW5vbmljYWxpemVIUGF0aCwgIndiIikKLQotICAgIGNhbm9uaWNhbGl6ZSA9IENhbm9u
aWNhbGl6ZSgpCi0gICAgY2Fub25pY2FsaXplLnJlYWRDYXNlRm9sZGluZyhjYXNlRm9sZGluZ1R4
dEZpbGUpCi0KLSAgICBjYW5vbmljYWxpemVIRmlsZS53cml0ZShoZWFkZXIpOwotICAgIGNhbm9u
aWNhbGl6ZS5jcmVhdGVUYWJsZXMoY2Fub25pY2FsaXplSEZpbGUpCi0gICAgY2Fub25pY2FsaXpl
SEZpbGUud3JpdGUoZm9vdGVyKTsKLQotICAgIGNhc2VGb2xkaW5nVHh0RmlsZS5jbG9zZSgpCi0g
ICAgY2Fub25pY2FsaXplSEZpbGUuY2xvc2UoKQotCi0gICAgZXhpdCgwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rv
ci1wcm90b2NvbC1iaW5kaW5ncy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKaW5kZXggZDZk
YWI1MjMxZWRjZmE4MTY0MjkwYjJmOGUyZGJiMTZhOGE2YTYwZC4uNDQ4YWI3YTVlOTZkMDcwMzlk
YWRjNjA0NTQ4MWVkMDAyMzY2ZGE0ZiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CkBAIC0yNyw3ICsyNyw3IEBACiAjIFRoaXMg
c2NyaXB0IGdlbmVyYXRlcyBKUywgT2JqZWN0aXZlIEMsIGFuZCBDKysgYmluZGluZ3MgZm9yIHRo
ZSBpbnNwZWN0b3IgcHJvdG9jb2wuCiAjIEdlbmVyYXRvcnMgZm9yIGluZGl2aWR1YWwgZmlsZXMg
YXJlIGxvY2F0ZWQgaW4gdGhlIGNvZGVnZW4vIGRpcmVjdG9yeS4KIAotaW1wb3J0IG9zLnBhdGgK
K2ltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgc3RyaW5nCkBAIC0xMDMs
NiArMTAzLDkgQEAgY2xhc3MgSW5jcmVtZW50YWxGaWxlV3JpdGVyOgogICAgICAgICAgICAgcGFz
cwogCiAgICAgICAgIGlmIHRleHRfY2hhbmdlZCBvciBzZWxmLmZvcmNlX291dHB1dDoKKyAgICAg
ICAgICAgIGRpcm5hbWUgPSBvcy5wYXRoLmRpcm5hbWUoc2VsZi5fZmlsZXBhdGgpCisgICAgICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihkaXJuYW1lKToKKyAgICAgICAgICAgICAgICBvcy5t
YWtlZGlycyhkaXJuYW1lKQogICAgICAgICAgICAgb3V0X2ZpbGUgPSBvcGVuKHNlbGYuX2ZpbGVw
YXRoLCAidyIpCiAgICAgICAgICAgICBvdXRfZmlsZS53cml0ZShzZWxmLl9vdXRwdXQpCiAgICAg
ICAgICAgICBvdXRfZmlsZS5jbG9zZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUveWFyci9jcmVhdGVfcmVnZXhfdGFibGVzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
Y3JlYXRlX3JlZ2V4X3RhYmxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzNkYmJlM2ZiZDQ5NGEyMzgyNGIzMzQx
ODk0MmE3YTYxYWI3OGJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvY3JlYXRlX3JlZ2V4X3RhYmxlcwpAQCAtMCwwICsxLDEzNCBAQAorIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEzLTIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIyAKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMgCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworaW1wb3J0IG9zCitpbXBv
cnQgc3lzCisKK3R5cGVzID0geworICAgICJ3b3JkY2hhciI6IHsgIlVzZVRhYmxlIiA6IFRydWUs
ICJkYXRhIjogWydfJywgKCcwJywnOScpLCAoJ0EnLCAnWicpLCAoJ2EnLCd6JyldfSwKKyAgICAi
d29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciI6IHsgIlVzZVRhYmxlIiA6IEZhbHNlLCAiZGF0YSI6
IFsnXycsICgnMCcsICc5JyksICgnQScsICdaJyksICgnYScsICd6JyksIDB4MDE3ZiwgMHgyMTJh
XX0sCisgICAgIm5vbndvcmRjaGFyIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgIkludmVyc2UiOiAi
d29yZGNoYXIiLCAiZGF0YSI6IFsnYCcsICgwLCBvcmQoJzAnKSAtIDEpLCAob3JkKCc5JykgKyAx
LCBvcmQoJ0EnKSAtIDEpLCAob3JkKCdaJykgKyAxLCBvcmQoJ18nKSAtIDEpLCAob3JkKCd6Jykg
KyAxLCAweDEwZmZmZildfSwKKyAgICAibm9ud29yZFVuaWNvZGVJZ25vcmVDYXNlQ2hhciI6IHsg
IlVzZVRhYmxlIiA6IEZhbHNlLCAiSW52ZXJzZSI6ICJ3b3JkVW5pY29kZUlnbm9yZUNhc2VDaGFy
IiwgImRhdGEiOiBbJ2AnLCAoMCwgb3JkKCcwJykgLSAxKSwgKG9yZCgnOScpICsgMSwgb3JkKCdB
JykgLSAxKSwgKG9yZCgnWicpICsgMSwgb3JkKCdfJykgLSAxKSwgKG9yZCgneicpICsgMSwgMHgw
MTdlKSwgKDB4MDE4MCwgMHgyMTI5KSwgKDB4MjEyYiwgMHgxMGZmZmYpXX0sCisgICAgIm5ld2xp
bmUiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgImRhdGEiOiBbJ1xuJywgJ1xyJywgMHgyMDI4LCAw
eDIwMjldfSwKKyAgICAic3BhY2VzIjogeyAiVXNlVGFibGUiIDogVHJ1ZSwgImRhdGEiOiBbJyAn
LCAoJ1x0JywgJ1xyJyksIDB4YTAsIDB4MTY4MCwgMHgxODBlLCAweDIwMjgsIDB4MjAyOSwgMHgy
MDJmLCAweDIwNWYsIDB4MzAwMCwgKDB4MjAwMCwgMHgyMDBhKSwgMHhmZWZmXX0sCisgICAgIm5v
bnNwYWNlcyI6IHsgIlVzZVRhYmxlIiA6IFRydWUsICJJbnZlcnNlIjogInNwYWNlcyIsICJkYXRh
IjogWygwLCBvcmQoJ1x0JykgLSAxKSwgKG9yZCgnXHInKSArIDEsIG9yZCgnICcpIC0gMSksIChv
cmQoJyAnKSArIDEsIDB4MDA5ZiksICgweDAwYTEsIDB4MTY3ZiksICgweDE2ODEsIDB4MTgwZCks
ICgweDE4MGYsIDB4MWZmZiksICgweDIwMGIsIDB4MjAyNyksICgweDIwMmEsIDB4MjAyZSksICgw
eDIwMzAsIDB4MjA1ZSksICgweDIwNjAsIDB4MmZmZiksICgweDMwMDEsIDB4ZmVmZSksICgweGZm
MDAsIDB4MTBmZmZmKV19LAorICAgICJkaWdpdHMiOiB7ICJVc2VUYWJsZSIgOiBGYWxzZSwgImRh
dGEiOiBbKCcwJywgJzknKV19LAorICAgICJub25kaWdpdHMiOiB7ICJVc2VUYWJsZSIgOiBGYWxz
ZSwgIkludmVyc2UiOiAiZGlnaXRzIiwgImRhdGEiOiBbKDAsIG9yZCgnMCcpIC0gMSksIChvcmQo
JzknKSArIDEsIDB4MTBmZmZmKV0gfQorfQorZW50cmllc1BlckxpbmUgPSA1MAorYXJyYXlzID0g
IiI7CitmdW5jdGlvbnMgPSAiIjsKK2VtaXRUYWJsZXMgPSAobGVuKHN5cy5hcmd2KSA8IDIgb3Ig
c3lzLmFyZ3ZbMV0gIT0gIi0tbm8tdGFibGVzIikKKworZm9yIG5hbWUsIGNsYXNzZXMgaW4gdHlw
ZXMuaXRlbXMoKToKKyAgICByYW5nZXMgPSBbXTsKKyAgICBzaXplID0gMDsKKyAgICBmb3IgX2Ns
YXNzIGluIGNsYXNzZXNbImRhdGEiXToKKyAgICAgICAgaWYgdHlwZShfY2xhc3MpID09IHN0cjoK
KyAgICAgICAgICAgIHJhbmdlcy5hcHBlbmQoKG9yZChfY2xhc3MpLCBvcmQoX2NsYXNzKSkpCisg
ICAgICAgIGVsaWYgdHlwZShfY2xhc3MpID09IGludDoKKyAgICAgICAgICAgIHJhbmdlcy5hcHBl
bmQoKF9jbGFzcywgX2NsYXNzKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIChtaW4sIG1h
eCkgPSBfY2xhc3M7CisgICAgICAgICAgICBpZiB0eXBlKG1pbikgPT0gc3RyOgorICAgICAgICAg
ICAgICAgIG1pbiA9IG9yZChtaW4pCisgICAgICAgICAgICBpZiB0eXBlKG1heCkgPT0gc3RyOgor
ICAgICAgICAgICAgICAgIG1heCA9IG9yZChtYXgpCisgICAgICAgICAgICBpZiBtYXggPiAweDdm
IGFuZCBtaW4gPD0gMHg3ZjoKKyAgICAgICAgICAgICAgICByYW5nZXMuYXBwZW5kKChtaW4sIDB4
N2YpKQorICAgICAgICAgICAgICAgIG1pbiA9IDB4ODAKKyAgICAgICAgICAgIHJhbmdlcy5hcHBl
bmQoKG1pbixtYXgpKQorICAgIHJhbmdlcy5zb3J0KCk7CisgICAgCisgICAgaWYgZW1pdFRhYmxl
cyBhbmQgY2xhc3Nlc1siVXNlVGFibGUiXSBhbmQgKG5vdCAiSW52ZXJzZSIgaW4gY2xhc3Nlcyk6
CisgICAgICAgIGFycmF5ID0gKCJzdGF0aWMgY29uc3QgY2hhciBfJXNEYXRhWzY1NTM2XSA9IHtc
biIgJSBuYW1lKTsKKyAgICAgICAgaSA9IDAKKyAgICAgICAgZm9yIChtaW4sbWF4KSBpbiByYW5n
ZXM6CisgICAgICAgICAgICB3aGlsZSBpIDwgbWluOgorICAgICAgICAgICAgICAgIGkgPSBpICsg
MQorICAgICAgICAgICAgICAgIGFycmF5ICs9ICgnMCwnKQorICAgICAgICAgICAgICAgIGlmIChp
ICUgZW50cmllc1BlckxpbmUgPT0gMCkgYW5kIChpICE9IDApOgorICAgICAgICAgICAgICAgICAg
ICBhcnJheSArPSAoJ1xuJykKKyAgICAgICAgICAgIHdoaWxlIGkgPD0gbWF4OgorICAgICAgICAg
ICAgICAgIGkgPSBpICsgMQorICAgICAgICAgICAgICAgIGlmIChpID09IDY1NTM2KToKKyAgICAg
ICAgICAgICAgICAgICAgYXJyYXkgKz0gKCIxIikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAg
ICAgICAgICAgICAgICAgICBhcnJheSArPSAoJzEsJykKKyAgICAgICAgICAgICAgICBpZiAoaSAl
IGVudHJpZXNQZXJMaW5lID09IDApIGFuZCAoaSAhPSAwKToKKyAgICAgICAgICAgICAgICAgICAg
YXJyYXkgKz0gKCdcbicpCisgICAgICAgIHdoaWxlIGkgPCAweGZmZmY6CisgICAgICAgICAgICBh
cnJheSArPSAoIjAsIikKKyAgICAgICAgICAgIGkgPSBpICsgMTsKKyAgICAgICAgICAgIGlmIChp
ICUgZW50cmllc1BlckxpbmUgPT0gMCkgYW5kIChpICE9IDApOgorICAgICAgICAgICAgICAgIGFy
cmF5ICs9ICgnXG4nKQorICAgICAgICBpZiBpID09IDB4ZmZmZjoKKyAgICAgICAgICAgIGFycmF5
ICs9ICgiMCIpCisgICAgICAgIGFycmF5ICs9ICgiXG59O1xuXG4iKTsKKyAgICAgICAgYXJyYXlz
ICs9IGFycmF5CisgICAgCisgICAgIyBHZW5lcmF0ZSBjcmVhdGVGdW5jdGlvbjoKKyAgICBmdW5j
dGlvbiA9ICIiOworICAgIGZ1bmN0aW9uICs9ICgic3RkOjp1bmlxdWVfcHRyPENoYXJhY3RlckNs
YXNzPiAlc0NyZWF0ZSgpXG4iICUgbmFtZSkKKyAgICBmdW5jdGlvbiArPSAoIntcbiIpCisgICAg
aWYgZW1pdFRhYmxlcyBhbmQgY2xhc3Nlc1siVXNlVGFibGUiXToKKyAgICAgICAgaWYgIkludmVy
c2UiIGluIGNsYXNzZXM6CisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJh
Y3RlckNsYXNzID0gc3RkOjptYWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwgdHJ1
ZSk7XG4iICUgKGNsYXNzZXNbIkludmVyc2UiXSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg
ICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3RkOjptYWtlX3VuaXF1
ZTxDaGFyYWN0ZXJDbGFzcz4oXyVzRGF0YSwgZmFsc2UpO1xuIiAlIChuYW1lKSkKKyAgICBlbHNl
OgorICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBhdXRvIGNoYXJhY3RlckNsYXNzID0gc3RkOjpt
YWtlX3VuaXF1ZTxDaGFyYWN0ZXJDbGFzcz4oKTtcbiIpCisgICAgaGFzTm9uQk1QQ2hhcmFjdGVy
cyA9IEZhbHNlCisgICAgZm9yIChtaW4sIG1heCkgaW4gcmFuZ2VzOgorICAgICAgICBpZiAobWlu
ID09IG1heCk6CisgICAgICAgICAgICBpZiAobWluID4gMTI3KToKKyAgICAgICAgICAgICAgICBm
dW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9tYXRjaGVzVW5pY29kZS5hcHBlbmQo
MHglMDR4KTtcbiIgJSBtaW4pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZ1
bmN0aW9uICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX21hdGNoZXMuYXBwZW5kKDB4JTAyeCk7
XG4iICUgbWluKQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgKG1pbiA+IDEyNykg
b3IgKG1heCA+IDEyNyk6CisgICAgICAgICAgICBmdW5jdGlvbiArPSAoIiAgICBjaGFyYWN0ZXJD
bGFzcy0+bV9yYW5nZXNVbmljb2RlLmFwcGVuZChDaGFyYWN0ZXJSYW5nZSgweCUwNHgsIDB4JTA0
eCkpO1xuIiAlIChtaW4sIG1heCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmdW5jdGlv
biArPSAoIiAgICBjaGFyYWN0ZXJDbGFzcy0+bV9yYW5nZXMuYXBwZW5kKENoYXJhY3RlclJhbmdl
KDB4JTAyeCwgMHglMDJ4KSk7XG4iICUgKG1pbiwgbWF4KSkKKyAgICAgICAgaWYgbWF4ID49IDB4
MTAwMDA6CisgICAgICAgICAgICBoYXNOb25CTVBDaGFyYWN0ZXJzID0gVHJ1ZQorICAgIGZ1bmN0
aW9uICs9ICgiICAgIGNoYXJhY3RlckNsYXNzLT5tX2hhc05vbkJNUENoYXJhY3RlcnMgPSAlcztc
biIgJSAoInRydWUiIGlmIGhhc05vbkJNUENoYXJhY3RlcnMgZWxzZSAiZmFsc2UiKSkKKyAgICBm
dW5jdGlvbiArPSAoIiAgICByZXR1cm4gY2hhcmFjdGVyQ2xhc3M7XG4iKQorICAgIGZ1bmN0aW9u
ICs9ICgifVxuXG4iKQorICAgIGZ1bmN0aW9ucyArPSBmdW5jdGlvbgorCitpZiAobGVuKHN5cy5h
cmd2KSA+IDEpOgorICAgIHBhdGggPSBzeXMuYXJndlstMV0KKyAgICBkaXJuYW1lID0gb3MucGF0
aC5kaXJuYW1lKHBhdGgpCisgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlybmFtZSk6CisgICAg
ICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCisgICAgZiA9IG9wZW4ocGF0aCwgInciKQorICAgIGYu
d3JpdGUoYXJyYXlzKQorICAgIGYud3JpdGUoZnVuY3Rpb25zKQorICAgIGYuY2xvc2UoKQorZWxz
ZToKKyAgICBwcmludChhcnJheXMpCisgICAgcHJpbnQoZnVuY3Rpb25zKQorCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9nZW5lcmF0ZVlhcnJDYW5vbmljYWxpemVVbmlj
b2RlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJhdGVZYXJyQ2Fub25pY2FsaXpl
VW5pY29kZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNTVkODkyOTY0ZWIwMTBiOTJjZmU3ZDBjOTgxMjdlYjdmYWJk
YjAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvZ2VuZXJh
dGVZYXJyQ2Fub25pY2FsaXplVW5pY29kZQpAQCAtMCwwICsxLDIwNCBAQAorIyEgL3Vzci9iaW4v
cHl0aG9uCisKKyMgQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIworIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4gCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisjIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisjIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorIyBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjIFRoaXMgdG9vbCBw
cm9jZXNzZXMgdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIGZpbGUgQ2FzZUZvbGRpbmcu
dHh0IHRvIGNyZWF0ZQorIyBjYW5vbmljYWxpemF0aW9uIHRhYmxlIGFzIGRlY3JpYmVkIGluIEVD
TUFTY3JpcHQgNiBzdGFuZGFyZCBpbiBzZWN0aW9uCisjICIyMS4yLjIuOC4yIFJ1bnRpbWUgU2Vt
YW50aWNzOiBDYW5vbmljYWxpemUoKSIsIHN0ZXAgMi4KKworaW1wb3J0IG9wdHBhcnNlCitpbXBv
cnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworZnJvbSBzZXRzIGltcG9ydCBTZXQKKworaGVh
ZGVyID0gIiIiLyoKKyogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKgorKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4gCisqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4gCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworLy8gRE8g
Tk8gRURJVCEgLSBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBnZW5lcmF0ZVlhcnJDYW5vbmlj
YWxpemVVbmljb2RlCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJZYXJyQ2Fub25p
Y2FsaXplLmgiCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgWWFyciB7CisKKyIiIgorCitm
b290ZXIgPSAiIiJ9IH0gLy8gSlNDOjpZYXJyCisiIiIKKworTWF4VW5pY29kZSA9IDB4MTBmZmZm
Citjb21tb25BbmRTaW1wbGVMaW5lc1JFID0gcmUuY29tcGlsZShyIig/UDxjb2RlPlswLTlBLUZd
Kylccyo7XHMqW0NTXVxzKjtccyooP1A8bWFwcGluZz5bMC05QS1GXSspIiwgcmUuSUdOT1JFQ0FT
RSkKKworZGVmIG9wZW5PckV4aXQocGF0aCwgbW9kZSk6CisgICAgdHJ5OgorICAgICAgICBkaXJu
YW1lID0gb3MucGF0aC5kaXJuYW1lKHBhdGgpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGly
KGRpcm5hbWUpOgorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKKyAgICAgICAgcmV0
dXJuIG9wZW4ocGF0aCwgbW9kZSkKKyAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBw
cmludCAiSS9PIGVycm9yIG9wZW5pbmcgezB9LCAoezF9KTogezJ9Ii5mb3JtYXQocGF0aCwgZS5l
cnJubywgZS5zdHJlcnJvcikKKyAgICAgICAgZXhpdCgxKQorCitjbGFzcyBDYW5vbmljYWxpemU6
CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmNhbm9uaWNhbEdyb3VwcyA9
IHt9OworCisgICAgZGVmIGFkZE1hcHBpbmcoc2VsZiwgY29kZSwgbWFwcGluZyk6CisgICAgICAg
IGlmIG1hcHBpbmcgbm90IGluIHNlbGYuY2Fub25pY2FsR3JvdXBzOgorICAgICAgICAgICAgc2Vs
Zi5jYW5vbmljYWxHcm91cHNbbWFwcGluZ10gPSBbXQorICAgICAgICBzZWxmLmNhbm9uaWNhbEdy
b3Vwc1ttYXBwaW5nXS5hcHBlbmQoY29kZSkKKyAgICAgICAgCisgICAgZGVmIHJlYWRDYXNlRm9s
ZGluZyhzZWxmLCBmaWxlKToKKyAgICAgICAgY29kZXNTZWVuID0gU2V0KCkKKyAgICAgICAgZm9y
IGxpbmUgaW4gZmlsZToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnNwbGl0KCcjJywgMSlbMF0K
KyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgpCisgICAgICAgICAgICBpZiAobm90IGxl
bihsaW5lKSk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgZmllbGRz
ID0gY29tbW9uQW5kU2ltcGxlTGluZXNSRS5tYXRjaChsaW5lKQorICAgICAgICAgICAgaWYgKG5v
dCBmaWVsZHMpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGNvZGUg
PSBpbnQoZmllbGRzLmdyb3VwKCdjb2RlJyksIDE2KQorICAgICAgICAgICAgbWFwcGluZyA9IGlu
dChmaWVsZHMuZ3JvdXAoJ21hcHBpbmcnKSwgMTYpCisKKyAgICAgICAgICAgIGNvZGVzU2Vlbi5h
ZGQoY29kZSkKKyAgICAgICAgICAgIHNlbGYuYWRkTWFwcGluZyhjb2RlLCBtYXBwaW5nKQorCisg
ICAgICAgIGZvciBpIGluIHJhbmdlKE1heFVuaWNvZGUgKyAxKToKKyAgICAgICAgICAgIGlmIGkg
aW4gY29kZXNTZWVuOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBz
ZWxmLmFkZE1hcHBpbmcoaSwgaSkKKworICAgIGRlZiBjcmVhdGVUYWJsZXMoc2VsZiwgZmlsZSk6
CisgICAgICAgIHR5cGVJbmZvID0gWyIiXSAqIChNYXhVbmljb2RlICsgMSkKKyAgICAgICAgY2hh
cmFjdGVyU2V0cyA9IFtdCisKKyAgICAgICAgZm9yIG1hcHBpbmcgaW4gc29ydGVkKHNlbGYuY2Fu
b25pY2FsR3JvdXBzLmtleXMoKSk6CisgICAgICAgICAgICBjaGFyYWN0ZXJzID0gc2VsZi5jYW5v
bmljYWxHcm91cHNbbWFwcGluZ10KKyAgICAgICAgICAgIGlmIGxlbihjaGFyYWN0ZXJzKSA9PSAx
OgorICAgICAgICAgICAgICAgIHR5cGVJbmZvW2NoYXJhY3RlcnNbMF1dID0gIkNhbm9uaWNhbGl6
ZVVuaXF1ZTowIgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjaGFyYWN0ZXJz
LnNvcnQoKQorICAgICAgICAgICAgICAgIGlmIGxlbihjaGFyYWN0ZXJzKSA+IDI6CisgICAgICAg
ICAgICAgICAgICAgIGZvciBjaCBpbiBjaGFyYWN0ZXJzOgorICAgICAgICAgICAgICAgICAgICAg
ICAgdHlwZUluZm9bY2hdID0gIkNhbm9uaWNhbGl6ZVNldDolZCIgJSBsZW4oY2hhcmFjdGVyU2V0
cykKKyAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyU2V0cy5hcHBlbmQoY2hhcmFjdGVycykK
KyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBsb3cgPSBjaGFyYWN0
ZXJzWzBdCisgICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBjaGFyYWN0ZXJzWzFdCisgICAgICAg
ICAgICAgICAgICAgIGRlbHRhID0gaGlnaCAtIGxvdworICAgICAgICAgICAgICAgICAgICBpZiBk
ZWx0YSA9PSAxOgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICJDYW5vbmljYWxpemVB
bHRlcm5hdGluZ1VuYWxpZ25lZDowIiBpZiBsb3cgJiAxIGVsc2UgIkNhbm9uaWNhbGl6ZUFsdGVy
bmF0aW5nQWxpZ25lZDowIgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9bbG93XSA9
IHR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVJbmZvW2hpZ2hdID0gdHlwZQorICAg
ICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZUluZm9b
bG93XSA9ICJDYW5vbmljYWxpemVSYW5nZUxvOiVkIiAlIGRlbHRhCisgICAgICAgICAgICAgICAg
ICAgICAgICB0eXBlSW5mb1toaWdoXSA9ICJDYW5vbmljYWxpemVSYW5nZUhpOiVkIiAlIGRlbHRh
CisKKyAgICAgICAgcmFuZ2VJbmZvID0gW10KKyAgICAgICAgZW5kID0gMAorICAgICAgICB3aGls
ZSBlbmQgPD0gTWF4VW5pY29kZToKKyAgICAgICAgICAgIGJlZ2luID0gZW5kCisgICAgICAgICAg
ICB0eXBlID0gdHlwZUluZm9bZW5kXQorICAgICAgICAgICAgd2hpbGUgZW5kIDwgTWF4VW5pY29k
ZSBhbmQgdHlwZUluZm9bZW5kICsgMV0gPT0gdHlwZToKKyAgICAgICAgICAgICAgICBlbmQgPSBl
bmQgKyAxCisgICAgICAgICAgICByYW5nZUluZm8uYXBwZW5kKHsiYmVnaW4iOiBiZWdpbiwgImVu
ZCI6IGVuZCwgInR5cGUiOiB0eXBlfSkKKyAgICAgICAgICAgIGVuZCA9IGVuZCArIDEKKyAgICAg
ICAgCisgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihjaGFyYWN0ZXJTZXRzKSk6CisgICAgICAg
ICAgICBjaGFyYWN0ZXJzID0gIiIKKyAgICAgICAgICAgIHNldCA9IGNoYXJhY3RlclNldHNbaV0K
KyAgICAgICAgICAgIGZvciBjaCBpbiBzZXQ6CisgICAgICAgICAgICAgICAgY2hhcmFjdGVycyA9
IGNoYXJhY3RlcnMgKyAiMHh7Y2hhcmFjdGVyOjA0eH0sICIuZm9ybWF0KGNoYXJhY3Rlcj1jaCkK
KyAgICAgICAgICAgIGZpbGUud3JpdGUoImNvbnN0IFVDaGFyMzIgdW5pY29kZUNoYXJhY3RlclNl
dHtpbmRleDpkfVtdID0ge3sge2NoYXJhY3RlcnN9MCB9fTtcbiIuZm9ybWF0KGluZGV4PWksIGNo
YXJhY3RlcnM9Y2hhcmFjdGVycykpCisKKyAgICAgICAgZmlsZS53cml0ZSgiXG4iKQorICAgICAg
ICBmaWxlLndyaXRlKCJzdGF0aWMgY29uc3Qgc2l6ZV90IFVOSUNPREVfQ0FOT05JQ0FMSVpBVElP
Tl9TRVRTID0ge3NldENvdW50OmR9O1xuIi5mb3JtYXQoc2V0Q291bnQ9bGVuKGNoYXJhY3RlclNl
dHMpKSkKKyAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgVUNoYXIzMiogY29uc3QgdW5pY29kZUNo
YXJhY3RlclNldEluZm9bVU5JQ09ERV9DQU5PTklDQUxJWkFUSU9OX1NFVFNdID0ge1xuIikKKwor
ICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oY2hhcmFjdGVyU2V0cykpOgorICAgICAgICAgICAg
ZmlsZS53cml0ZSgiICAgIHVuaWNvZGVDaGFyYWN0ZXJTZXR7c2V0TnVtYmVyOmR9LFxuIi5mb3Jt
YXQoc2V0TnVtYmVyPWkpKQorCisgICAgICAgIGZpbGUud3JpdGUoIn07XG4iKQorICAgICAgICBm
aWxlLndyaXRlKCJcbiIpCisgICAgICAgIGZpbGUud3JpdGUoImNvbnN0IHNpemVfdCBVTklDT0RF
X0NBTk9OSUNBTElaQVRJT05fUkFOR0VTID0ge3JhbmdlQ291bnQ6ZH07XG4iLmZvcm1hdChyYW5n
ZUNvdW50PWxlbihyYW5nZUluZm8pKSkKKyAgICAgICAgZmlsZS53cml0ZSgiY29uc3QgQ2Fub25p
Y2FsaXphdGlvblJhbmdlIHVuaWNvZGVSYW5nZUluZm9bVU5JQ09ERV9DQU5PTklDQUxJWkFUSU9O
X1JBTkdFU10gPSB7XG4iKQorCisgICAgICAgIGZvciBpbmZvIGluIHJhbmdlSW5mbzoKKyAgICAg
ICAgICAgIHR5cGVBbmRWYWx1ZSA9IGluZm9bInR5cGUiXS5zcGxpdCgiOiIpCisgICAgICAgICAg
ICBmaWxlLndyaXRlKCIgICAge3sgMHh7YmVnaW46MDR4fSwgMHh7ZW5kOjA0eH0sIDB4e3ZhbHVl
OjA0eH0sIHt0eXBlfSB9fSxcbiIuZm9ybWF0KGJlZ2luPWluZm9bImJlZ2luIl0sIGVuZD1pbmZv
WyJlbmQiXSwgdmFsdWU9aW50KHR5cGVBbmRWYWx1ZVsxXSksIHR5cGU9dHlwZUFuZFZhbHVlWzBd
KSkKKworICAgICAgICBmaWxlLndyaXRlKCJ9O1xuIikKKyAgICAgICAgZmlsZS53cml0ZSgiXG4i
KQorCisgICAgICAgIAoraWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIgPSBv
cHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2UgPSAidXNhZ2U6ICVwcm9nICA8Q2FzZUZvbGRpbmcu
dHh0PiA8WWFyckNhbm9uaWNhbGl6ZVVuaWNvZGUuaD4iKQorICAgIChvcHRpb25zLCBhcmdzKSA9
IHBhcnNlci5wYXJzZV9hcmdzKCkKKworICAgIGlmIGxlbihhcmdzKSAhPSAyOgorICAgICAgICBw
YXJzZXIuZXJyb3IoIjxDYXNlRm9sZGluZy50eHQ+IDxZYXJyQ2Fub25pY2FsaXplVW5pY29kZS5o
PiIpCisKKyAgICBjYXNlRm9sZGluZ1R4dFBhdGggPSBhcmdzWzBdCisgICAgY2Fub25pY2FsaXpl
SFBhdGggPSBhcmdzWzFdCisgICAgY2FzZUZvbGRpbmdUeHRGaWxlID0gb3Blbk9yRXhpdChjYXNl
Rm9sZGluZ1R4dFBhdGgsICJyIikKKyAgICBjYW5vbmljYWxpemVIRmlsZSA9IG9wZW5PckV4aXQo
Y2Fub25pY2FsaXplSFBhdGgsICJ3YiIpCisKKyAgICBjYW5vbmljYWxpemUgPSBDYW5vbmljYWxp
emUoKQorICAgIGNhbm9uaWNhbGl6ZS5yZWFkQ2FzZUZvbGRpbmcoY2FzZUZvbGRpbmdUeHRGaWxl
KQorCisgICAgY2Fub25pY2FsaXplSEZpbGUud3JpdGUoaGVhZGVyKTsKKyAgICBjYW5vbmljYWxp
emUuY3JlYXRlVGFibGVzKGNhbm9uaWNhbGl6ZUhGaWxlKQorICAgIGNhbm9uaWNhbGl6ZUhGaWxl
LndyaXRlKGZvb3Rlcik7CisKKyAgICBjYXNlRm9sZGluZ1R4dEZpbGUuY2xvc2UoKQorICAgIGNh
bm9uaWNhbGl6ZUhGaWxlLmNsb3NlKCkKKworICAgIGV4aXQoMCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvU2NyaXB0cy9nZW5lcmF0ZS11bmlmaWVkLXNvdXJjZS1idW5kbGVzLnJiIGIvU291cmNl
L1dURi9TY3JpcHRzL2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKaW5kZXggODY3
NTNmNzM5NWIyZjMzNTJkZGM5OGJkYjc3YTEyZjQzYTgxMzEwYS4uYjhhOGUyZmU3YmY2ZGEzMzhh
OGYxNzg4MTY5MWIyYWJkM2JjZmQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL2dl
bmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKKysrIGIvU291cmNlL1dURi9TY3JpcHRz
L2dlbmVyYXRlLXVuaWZpZWQtc291cmNlLWJ1bmRsZXMucmIKQEAgLTI5LDEzICsyOSwxNyBAQCBT
Q1JJUFRfTkFNRSA9IEZpbGUuYmFzZW5hbWUoJDApCiBDT01NRU5UX1JFR0VYUCA9IC8jLwogCiBk
ZWYgdXNhZ2UKLSAgICBwdXRzICJ1c2FnZTogI3tTQ1JJUFRfTkFNRX0gW29wdGlvbnNdIC1wIDxk
ZXNpbmF0aW9uLXBhdGg+IDxzb3VyY2VzLWZpbGU+IgorICAgIHB1dHMgInVzYWdlOiAje1NDUklQ
VF9OQU1FfSBbb3B0aW9uc10gPHNvdXJjZXMtZmlsZT4iCiAgICAgcHV0cyAiLS1oZWxwICAgICAg
ICAgICAgICAgICAgICAgICAgICAoLWgpIFByaW50IHRoaXMgbWVzc2FnZSIKICAgICBwdXRzICIt
LXZlcmJvc2UgICAgICAgICAgICAgICAgICAgICAgICgtdikgQWRkcyBleHRyYSBsb2dnaW5nIHRv
IHN0ZGVyci4iCisgICAgcHV0cyAiUmVxdWlyZWQgYXJndW1lbnRzOiIKKyAgICBwdXRzICItLXNv
dXJjZS10cmVlLXBhdGggICAgICAgICAgICAgICgtcykgUGF0aCB0byB0aGUgcm9vdCBvZiB0aGUg
c291cmNlIGRpcmVjdG9yeS4iCisgICAgcHV0cyAiLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCAgICAg
ICAgICAoLWQpIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgdW5pZmllZCBzb3VyY2Ug
ZmlsZXMgc2hvdWxkIGJlIHBsYWNlZC4iCisgICAgcHV0cworICAgIHB1dHMgIk9wdGlvbmFsIGFy
Z3VtZW50czoiCiAgICAgcHV0cyAiLS1wcmludC1idW5kbGVkLXNvdXJjZXMgICAgICAgICAgICAg
IFByaW50IGJ1bmRsZWQgc291cmNlcyByYXRoZXIgdGhhbiBnZW5lcmF0aW5nIHNvdXJjZXMiCiAg
ICAgcHV0cwogICAgIHB1dHMgIkdlbmVyYXRpb24gb3B0aW9uczoiCi0gICAgcHV0cyAiLS1kZXJp
dmVkLXNvdXJjZXMtcGF0aCAgICAgICAgICAoLXApIFBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVy
ZSB0aGUgdW5pZmllZCBzb3VyY2UgZmlsZXMgc2hvdWxkIGJlIHBsYWNlZC4gVGhpcyBhcmd1bWVu
dCBpcyByZXF1aXJlZC4iCiAgICAgcHV0cyAiLS1tYXgtY3BwLWJ1bmRsZS1jb3VudCAgICAgICAg
ICAgICAgIFNldHMgdGhlIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgY3BwIGJ1bmRsZXMgdGhhdCBj
YW4gYmUgZ2VuZXJhdGVkIgogICAgIHB1dHMgIi0tbWF4LW9iai1jLWJ1bmRsZS1jb3VudCAgICAg
ICAgICAgICBTZXRzIHRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIE9iai1DIGJ1bmRsZXMgdGhh
dCBjYW4gYmUgZ2VuZXJhdGVkIgogICAgIGV4aXQgMQpAQCAtNDMsNiArNDcsOCBAQCBlbmQKIAog
TUFYX0JVTkRMRV9TSVpFID0gOAogJGRlcml2ZWRTb3VyY2VzUGF0aCA9IG5pbAorJHVuaWZpZWRT
b3VyY2VPdXRwdXRQYXRoID0gbmlsCiskc291cmNlVHJlZVBhdGggPSBuaWwKICR2ZXJib3NlID0g
ZmFsc2UKICRtb2RlID0gOkdlbmVyYXRlQnVuZGxlcwogJG1heENwcEJ1bmRsZUNvdW50ID0gMTAw
MDAwCkBAIC01NCw4ICs2MCw5IEBAIGVuZAogCiBHZXRvcHRMb25nLm5ldyhbJy0taGVscCcsICct
aCcsIEdldG9wdExvbmc6Ok5PX0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS12ZXJib3Nl
JywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAorICAgICAgICAgICAgICAgWyctLWRl
cml2ZWQtc291cmNlcy1wYXRoJywgJy1kJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRd
LAorICAgICAgICAgICAgICAgWyctLXNvdXJjZS10cmVlLXBhdGgnLCAnLXMnLCBHZXRvcHRMb25n
OjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tcHJpbnQtYnVuZGxlZC1z
b3VyY2VzJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAotICAgICAgICAgICAgICAgWyctLWRl
cml2ZWQtc291cmNlcy1wYXRoJywgJy1wJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRd
LAogICAgICAgICAgICAgICAgWyctLW1heC1jcHAtYnVuZGxlLWNvdW50JywgR2V0b3B0TG9uZzo6
UkVRVUlSRURfQVJHVU1FTlRdLAogICAgICAgICAgICAgICAgWyctLW1heC1vYmotYy1idW5kbGUt
Y291bnQnLCBHZXRvcHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0pLmVhY2ggewogICAgIHwgb3B0
LCBhcmcgfApAQCAtNjQsMTEgKzcxLDE1IEBAIEdldG9wdExvbmcubmV3KFsnLS1oZWxwJywgJy1o
JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAgICAgICB1c2FnZQogICAgIHdoZW4gJy0t
dmVyYm9zZScKICAgICAgICAgJHZlcmJvc2UgPSB0cnVlCi0gICAgd2hlbiAiLS1wcmludC1idW5k
bGVkLXNvdXJjZXMiCi0gICAgICAgICRtb2RlID0gOlByaW50QnVuZGxlZFNvdXJjZXMKICAgICB3
aGVuICctLWRlcml2ZWQtc291cmNlcy1wYXRoJwotICAgICAgICAkZGVyaXZlZFNvdXJjZXNQYXRo
ID0gUGF0aG5hbWUubmV3KGFyZykgKyBQYXRobmFtZS5uZXcoInVuaWZpZWQtc291Y2VzIikKLSAg
ICAgICAgRmlsZVV0aWxzLm1rZGlyKCRkZXJpdmVkU291cmNlc1BhdGgpIGlmICEkZGVyaXZlZFNv
dXJjZXNQYXRoLmV4aXN0PworICAgICAgICAkZGVyaXZlZFNvdXJjZXNQYXRoID0gUGF0aG5hbWUu
bmV3KGFyZykKKyAgICAgICAgJHVuaWZpZWRTb3VyY2VPdXRwdXRQYXRoID0gJGRlcml2ZWRTb3Vy
Y2VzUGF0aCArIFBhdGhuYW1lLm5ldygidW5pZmllZC1zb3VyY2VzIikKKyAgICAgICAgRmlsZVV0
aWxzLm1rZGlyKCR1bmlmaWVkU291cmNlT3V0cHV0UGF0aCkgaWYgISR1bmlmaWVkU291cmNlT3V0
cHV0UGF0aC5leGlzdD8KKyAgICB3aGVuICctLXNvdXJjZS10cmVlLXBhdGgnCisgICAgICAgICRz
b3VyY2VUcmVlUGF0aCA9IFBhdGhuYW1lLm5ldyhhcmcpCisgICAgICAgIHVzYWdlIGlmICEkc291
cmNlVHJlZVBhdGguZXhpc3Q/CisgICAgd2hlbiAnLS1wcmludC1idW5kbGVkLXNvdXJjZXMnCisg
ICAgICAgICRtb2RlID0gOlByaW50QnVuZGxlZFNvdXJjZXMKICAgICB3aGVuICctLW1heC1jcHAt
YnVuZGxlLWNvdW50JwogICAgICAgICAkbWF4Q3BwQnVuZGxlQ291bnQgPSBhcmcudG9faQogICAg
IHdoZW4gJy0tbWF4LW9iai1jLWJ1bmRsZS1jb3VudCcKQEAgLTc2LDEwICs4Nyw5IEBAIEdldG9w
dExvbmcubmV3KFsnLS1oZWxwJywgJy1oJywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdLAogICAg
IGVuZAogfQogCi1pZiAkbW9kZSA9PSA6R2VuZXJhdGVCdW5kbGVzCi0gICAgdXNhZ2UgaWYgISRk
ZXJpdmVkU291cmNlc1BhdGgKLSAgICBsb2coInB1dHRpbmcgdW5pZmllZCBzb3VyY2VzIGluICN7
JGRlcml2ZWRTb3VyY2VzUGF0aH0iKQotZW5kCit1c2FnZSBpZiAhJHVuaWZpZWRTb3VyY2VPdXRw
dXRQYXRoIHx8ICEkc291cmNlVHJlZVBhdGgKK2xvZygicHV0dGluZyB1bmlmaWVkIHNvdXJjZXMg
aW4gI3skdW5pZmllZFNvdXJjZU91dHB1dFBhdGh9IikKKwogdXNhZ2UgaWYgQVJHVi5sZW5ndGgg
PT0gMAogJGdlbmVyYXRlZFNvdXJjZXMgPSBbXQogCkBAIC0xMDQsNiArMTE0LDE5IEBAIGNsYXNz
IFNvdXJjZUZpbGUgPCBQYXRobmFtZQogCiAgICAgICAgIHN1cGVyKGZpbGUpCiAgICAgZW5kCisK
KyAgICBkZWYgZGVyaXZlZD8KKyAgICAgICAgcmV0dXJuIEBkZXJpdmVkIGlmIEBkZXJpdmVkICE9
IG5pbAorICAgICAgICBAZGVyaXZlZCA9ICEoJHNvdXJjZVRyZWVQYXRoICsgc2VsZikuZXhpc3Q/
CisgICAgZW5kCisKKyAgICBkZWYgZGlzcGxheQorICAgICAgICBpZiAkbW9kZSA9PSA6R2VuZXJh
dGVCdW5kbGVzIHx8ICFkZXJpdmVkPworICAgICAgICAgICAgc2VsZi50b19zCisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICgkZGVyaXZlZFNvdXJjZXNQYXRoICsgc2VsZikudG9fcworICAgICAg
ICBlbmQKKyAgICBlbmQKIGVuZAogCiBjbGFzcyBCdW5kbGVNYW5hZ2VyCkBAIC0xMTcsMTkgKzE0
MCwxOCBAQCBjbGFzcyBCdW5kbGVNYW5hZ2VyCiAgICAgICAgIEBtYXhDb3VudCA9IG1heAogICAg
IGVuZAogCisgICAgZGVmIGJ1bmRsZUZpbGVOYW1lKG51bWJlcikKKyAgICAgICAgIlVuaWZpZWRT
b3VyY2Uje251bWJlcn0uI3tleHRlbnNpb259IgorICAgIGVuZAorCiAgICAgZGVmIGZsdXNoCiAg
ICAgICAgICMgTm8gcG9pbnQgaW4gd3JpdGluZyBhbiBlbXB0eSBidW5kbGUgZmlsZQogICAgICAg
ICByZXR1cm4gaWYgQGN1cnJlbnRCdW5kbGVUZXh0ID09ICIiCiAKICAgICAgICAgQGJ1bmRsZUNv
dW50ICs9IDEKLSAgICAgICAgYnVuZGxlRmlsZU5hbWUgPSAiVW5pZmllZFNvdXJjZSN7QGJ1bmRs
ZUNvdW50fS4je2V4dGVuc2lvbn0iCi0KLSAgICAgICAgaWYgQGJ1bmRsZUNvdW50ID4gQG1heENv
dW50Ci0gICAgICAgICAgICByYWlzZSAibnVtYmVyIG9mIGJ1bmRsZXMgZm9yICN7ZXh0ZW5zaW9u
fSBzb3VyY2VzLCAje0BidW5kbGVDb3VudH0sIGV4Y2VlZGVkIGxpbWl0LCAje0BtYXhDb3VudH0u
IFBsZWFzZSBhZGQgI3tidW5kbGVGaWxlTmFtZX0gdG8gWGNvZGUgdGhlbiB1cGRhdGUgVW5pZmll
ZFNvdXJjZSN7ZXh0ZW5zaW9uLmNhcGl0YWxpemV9RmlsZUNvdW50IgotICAgICAgICBlbmQKLQot
ICAgICAgICBidW5kbGVGaWxlID0gJGRlcml2ZWRTb3VyY2VzUGF0aCArIGJ1bmRsZUZpbGVOYW1l
CisgICAgICAgIGJ1bmRsZUZpbGUgPSAkdW5pZmllZFNvdXJjZU91dHB1dFBhdGggKyBidW5kbGVG
aWxlTmFtZShAYnVuZGxlQ291bnQpCiAgICAgICAgICRnZW5lcmF0ZWRTb3VyY2VzIDw8IGJ1bmRs
ZUZpbGUKKwogICAgICAgICBpZiAoIWJ1bmRsZUZpbGUuZXhpc3Q/IHx8IElPOjpyZWFkKGJ1bmRs
ZUZpbGUpICE9IEBjdXJyZW50QnVuZGxlVGV4dCkKICAgICAgICAgICAgIGxvZygid3JpdGluZyBi
dW5kbGUgI3tidW5kbGVGaWxlfSB3aXRoOiBcbiN7QGN1cnJlbnRCdW5kbGVUZXh0fSIpCiAgICAg
ICAgICAgICBJTzo6d3JpdGUoYnVuZGxlRmlsZSwgQGN1cnJlbnRCdW5kbGVUZXh0KQpAQCAtMTgz
LDcgKzIwNSw2IEBAIEFSR1YuZWFjaCB7CiAKICAgICBsb2coImZvdW5kICN7c291cmNlcy5sZW5n
dGh9IHNvdXJjZSBmaWxlcyBpbiAje3NvdXJjZXNGaWxlfSIpCiAKLSAgICBjdXJyZW50RGlyZWN0
b3J5ID0gbmlsCiAgICAgc291cmNlcy5zb3J0LmVhY2ggewogICAgICAgICB8IGZpbGUgfAogCkBA
IC0xOTksNyArMjIwLDIxIEBAIEFSR1YuZWFjaCB7CiAgICAgJGJ1bmRsZU1hbmFnZXJzLmVhY2hf
dmFsdWUgeyB8eHwgeC5mbHVzaCB9IGlmICRtb2RlID09IDpHZW5lcmF0ZUJ1bmRsZXMKIH0KIAor
JGJ1bmRsZU1hbmFnZXJzLmVhY2hfdmFsdWUgeworICAgIHwgbWFuYWdlciB8CisKKyAgICBtYXhD
b3VudCA9IG1hbmFnZXIubWF4Q291bnQKKyAgICBidW5kbGVDb3VudCA9IG1hbmFnZXIuYnVuZGxl
Q291bnQKKyAgICBleHRlbnNpb24gPSBtYW5hZ2VyLmV4dGVuc2lvbgorICAgIGlmIGJ1bmRsZUNv
dW50ID4gbWF4Q291bnQKKyAgICAgICAgZmlsZXNUb0FkZCA9ICgobWF4Q291bnQrMSkuLmJ1bmRs
ZUNvdW50KS5tYXAgeyB8eHwgbWFuYWdlci5idW5kbGVGaWxlTmFtZSh4KSB9LmpvaW4oIiwgIikK
KyAgICAgICAgcmFpc2UgIm51bWJlciBvZiBidW5kbGVzIGZvciAje2V4dGVuc2lvbn0gc291cmNl
cywgI3tidW5kbGVDb3VudH0sIGV4Y2VlZGVkIGxpbWl0LCAje21heENvdW50fS4gUGxlYXNlIGFk
ZCAje2ZpbGVzVG9BZGR9IHRvIFhjb2RlIHRoZW4gdXBkYXRlIFVuaWZpZWRTb3VyY2Uje2V4dGVu
c2lvbi5jYXBpdGFsaXplfUZpbGVDb3VudCIKKyAgICBlbmQKK30KKwogIyBXZSB1c2Ugc3Rkb3V0
IHRvIHJlcG9ydCBvdXIgdW5pZmllZCBzb3VyY2UgbGlzdCB0byBDTWFrZS4KICMgQWRkIHRyYWls
aW5nIHNlbWljb2xvbiBzaW5jZSBDTWFrZSBzZWVtcyBkaXNsaWtlcyBub3QgaGF2aW5nIGl0Lgog
IyBBbHNvLCBtYWtlIHN1cmUgd2UgdXNlIHByaW50IGluc3RlYWQgb2YgcHV0cyBiZWNhdXNlIENN
YWtlIHdpbGwgdGhpbmsgdGhlIFxuIGlzIGEgc291cmNlIGZpbGUgYW5kIGZhaWwgdG8gYnVpbGQu
CisKKyRnZW5lcmF0ZWRTb3VyY2VzLm1hcCEgeyB8cGF0aHwgcGF0aC5kaXNwbGF5IH0gaWYgJG1v
ZGUgPT0gOlByaW50QnVuZGxlZFNvdXJjZXMKIHByaW50KCRnZW5lcmF0ZWRTb3VyY2VzLmpvaW4o
IjsiKSArICI7IikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0TWFjcm9zLmNtYWtlCmluZGV4IGNhNzEyYjI4NmRkNGVmNWQ1
NDA5YzZkZTkxYmM2MDMzYjczNjY3M2IuLjhmNGFjODFjMzU3NzE2NWM1YzUwNzFlOTMxZWNiZDli
YWUwNmQ0OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRNYWNyb3MuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL1dlYktpdE1hY3Jvcy5jbWFrZQpAQCAtMTcsNiArMTcsOCBAQCBtYWNy
byhXRUJLSVRfQ09NUFVURV9TT1VSQ0VTIF9mcmFtZXdvcmspCiAgICAgZW5kaWYgKCkKIAogICAg
IGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAke1dURl9TQ1JJUFRT
X0RJUn0vZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgorICAgICAgICAiLS1kZXJp
dmVkLXNvdXJjZXMtcGF0aCIgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vJHtfZnJhbWV3b3JrfSIK
KyAgICAgICAgIi0tc291cmNlLXRyZWUtcGF0aCIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9
CiAgICAgICAgICItLXByaW50LWJ1bmRsZWQtc291cmNlcyIKICAgICAgICAgJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L1NvdXJjZXMudHh0CiAgICAgICAgICR7X3BsYXRmb3JtU291cmNlc0Zp
bGV9CkBAIC0zNSw2ICszNyw3IEBAIG1hY3JvKFdFQktJVF9DT01QVVRFX1NPVVJDRVMgX2ZyYW1l
d29yaykKIAogICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EICR7UlVCWV9FWEVDVVRBQkxFfSAk
e1dURl9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtdW5pZmllZC1zb3VyY2UtYnVuZGxlcy5yYgogICAg
ICAgICAiLS1kZXJpdmVkLXNvdXJjZXMtcGF0aCIgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vJHtf
ZnJhbWV3b3JrfSIKKyAgICAgICAgIi0tc291cmNlLXRyZWUtcGF0aCIgJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9CiAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9Tb3VyY2Vz
LnR4dAogICAgICAgICAke19wbGF0Zm9ybVNvdXJjZXNGaWxlfQogICAgICAgICBSRVNVTFRfVkFS
SUFCTEUgIF9yZXN1bHRUbXAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCA3ZjdiYzVlYTMyZTdkYTRlYjBkYTEzNDhlNmViY2I0MDM1ZGJiYTFiLi44NWQ4YTRhZTQ5NjJk
YTIzZWFhM2M2MzJiNmU0MTMyZmFkMzI4NDNjIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDktMjQgIEtlaXRoIE1pbGxlciAgPGtl
aXRoX21pbGxlckBhcHBsZS5jb20+CisKKyAgICAgICAgSlNDIGJ1aWxkIHNob3VsZCB1c2UgdW5p
ZmllZCBzb3VyY2VzIGZvciBkZXJpdmVkIHNvdXJjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzQyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdE1hY3Jvcy5jbWFr
ZToKKwogMjAxNy0wOS0yNSAgVGltb3RoeSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgTWFrZSBwcm9ncmVzcyBvbiBnZXR0aW5nIE1hYyBDTWFrZSBidWlsZGlu
ZyBhZ2Fpbgo=
</data>
<flag name="review"
          id="341769"
          type_id="1"
          status="+"
          setter="jfbastien"
    />
          </attachment>
      

    </bug>

</bugzilla>