<?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>229678</bug_id>
          
          <creation_ts>2021-08-30 11:53:17 -0700</creation_ts>
          <short_desc>Resync COOP / COEP WPT tests from upstream</short_desc>
          <delta_ts>2021-08-30 14:10:40 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>228755</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1788598</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 11:53:17 -0700</bug_when>
    <thetext>Resync COOP / COEP WPT tests from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788599</commentid>
    <comment_count>1</comment_count>
      <attachid>436798</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-30 11:55:31 -0700</bug_when>
    <thetext>Created attachment 436798
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788654</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-30 14:09:18 -0700</bug_when>
    <thetext>Committed r281775 (?): &lt;https://commits.webkit.org/r281775&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436798.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788656</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-30 14:10:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/82546223&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436798</attachid>
            <date>2021-08-30 11:55:31 -0700</date>
            <delta_ts>2021-08-30 14:09:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229678-20210830115530.patch</filename>
            <type>text/plain</type>
            <size>135667</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNzY0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWVjNzY3ZjMzNzUzOTFkMmQ0ZDNi
NGIzZjAwYjVjZTc1YzU4NzIxZC4uNmI3MjRlMjZmZTAyZmEyZDMxNzE4YWNmOWMxNjI5ODdjNTVh
MmIyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTMwICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzeW5jIENPT1AgLyBDT0VQIFdQVCB0ZXN0cyBm
cm9tIHVwc3RyZWFtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjk2NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgor
CiAyMDIxLTA4LTMwICBBeXVtaSBLb2ppbWEgIDxheXVtaV9rb2ppbWFAYXBwbGUuY29tPgogCiAg
ICAgICAgIFsgQmlnU3VyIGFybTY0IEVXUyBdIEFTU0VSVElPTiBGQUlMRUQ6ICFuZWVkc0xheW91
dCgpIC4vcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwKDMwNSkgOiB2aXJ0dWFsIHZvaWQgV2ViQ29y
ZTo6UmVuZGVyVmlldzo6cGFpbnQoV2ViQ29yZTo6UGFpbnRJbmZvICYsIGNvbnN0IFdlYkNvcmU6
OkxheW91dFBvaW50ICYpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZjZjNzg2
M2YzNGMwNWY4OTY4YThlM2M0MTEyNGQ0ODJlYzgwNGNiNC4uOGUxNTk3OTM4NGEyNjg1MWM5ZWVm
ZmVkNmVlZDI1YTdiNmVmNTZiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMjEtMDgtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
KworICAgICAgICBSZXN5bmMgQ09PUCAvIENPRVAgV1BUIHRlc3RzIGZyb20gdXBzdHJlYW0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTY3OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc3luYyBDT09Q
IC8gQ09FUCBXUFQgdGVzdHMgZnJvbSB1cHN0cmVhbSBlMjE2ZGI5NTA5ZGVmOGJjNzJiMjRlNDgy
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS8qOiBVcGRhdGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5Lyo6IFVwZGF0ZWQuCisKIDIwMjEtMDgtMzAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgc2VsZi5y
ZXBvcnRFcnJvcigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTU2ZGU0YzUwYWI1MjA3ZDIzMDYx
YjkyOGMyZWYzZDkwNDMxYjI0Li5mZDM2Nzg2N2YwN2VmNDlhNjk0M2FjYWU3NjQ5NGUxMjYyOWU4
ZGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQwMSw2ICs0MDEsNyBAQCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvaGlzdG9yeS90aGUtbG9jYXRpb24taW50
ZXJmYWNlL2xvYwogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L2hpc3RvcnkvdGhlLWxvY2F0aW9uLWludGVyZmFjZS9sb2NhdGlvbi1wcm90b2NvbC1zZXR0ZXIt
bm9uLWJyb2tlbi13ZWlyZC5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy9vcmlnaW4vY3Jvc3Mtb3Jp
Z2luLW9iamVjdHMvY3Jvc3Mtb3JpZ2luLW9iamVjdHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJ
blN0ZEVyciBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
c2FuZGJveGluZy9zYW5kYm94LWRpc2FsbG93LXBvcHVwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVxdWlyZS1jb3JwLWVtYmVk
LWFub255bW91cy1pZnJhbWUudGVudGF0aXZlLmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9n
SW5TdGRFcnIgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sIFsgRHVtcEpTQ29uc29sZUxvZ0lu
U3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy10by1mcmFtZS1vd25lci5odHRwcy5odG1sIFsg
RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9uYXZpZ2F0ZS10by1hYm91dGJsYW5r
Lmh0dHBzLmh0bWwgWyBEdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvYWJvdXQtYmxhbmstcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvYWJvdXQtYmxhbmstcG9wdXAuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU5ZjAzY2RlNzVkYWMxNzM5MGMxYTljMGU2Y2UxYjI0OTEyODM2MjEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hYm91dC1ibGFuay1wb3B1cC5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IENhbmNl
bGxlZCBsb2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0bWwgYmVj
YXVzZSBpdCB2aW9sYXRlcyB0aGUgcmVzb3VyY2UncyBDcm9zcy1PcmlnaW4tUmVzb3VyY2UtUG9s
aWN5IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2ggQVBJIGNhbm5vdCBs
b2FkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0bWwgZHVlIHRvIGFjY2Vz
cyBjb250cm9sIGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogQ2FuY2VsbGVkIGxvYWQgdG8gaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBiZWNhdXNlIGl0IHZpb2xhdGVz
IHRoZSByZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJjZS1Qb2xpY3kgcmVzcG9uc2UgaGVh
ZGVyLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly8xMjcu
MC4wLjE6OTQ0My9jb21tb24vYmxhbmsuaHRtbCBkdWUgdG8gYWNjZXNzIGNvbnRyb2wgY2hlY2tz
LgorCitQQVNTIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaXMgaW5oZXJpdGVkIGJ5IGFi
b3V0OmJsYW5rIHBvcHVwLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hYm91
dC1ibGFuay1wb3B1cC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYWJvdXQtYmxh
bmstcG9wdXAuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZGM3M2M3NTYxZmYyOTdlYTJjZjUwYzY3
ZDgyMThmZWY5NDFhMTk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kv
YWJvdXQtYmxhbmstcG9wdXAuaHR0cHMuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2NyaXB0LWZhY3RvcnkuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgY29uc3Qgb3Jp
Z2lucyA9IGdldF9ob3N0X2luZm8oKTsKKworICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgY29uc3QgcG9wdXAgPSB3aW5kb3cub3BlbigpOworICAgIHQuYWRkX2NsZWFudXAoKCkgPT4g
eyBwb3B1cC5jbG9zZSgpOyB9KTsKKworICAgIGxldCBkYXRhX2Zyb21fcG9wdXAgPSAoKSA9PiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVz
c2FnZSIsICgoeyBkYXRhIH0pID0+IHJlc29sdmUoZGF0YSkpKSk7CisKKyAgICBsZXQgY2hlY2tf
cmVzdWx0ID0gKGRhdGEsIHRleHQpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5vcmln
aW4sIG9yaWdpbik7CisgICAgICBhc3NlcnRfdHJ1ZShkYXRhLnNhbWVPcmlnaW5Ob0NPUlBTdWNj
ZXNzLAorICAgICAgICAgICAgICAgICAgdGV4dCArICI6IFNhbWUtb3JpZ2luIHdpdGhvdXQgQ09S
UCBkaWQgbm90IHN1Y2NlZWQiKTsKKyAgICAgIGFzc2VydF90cnVlKGRhdGEuY3Jvc3NPcmlnaW5O
b0NPUlBGYWlsdXJlLAorICAgICAgICAgICAgICAgICAgdGV4dCArICI6IENyb3NzLW9yaWdpbiB3
aXRob3V0IENPUlAgZGlkIG5vdCBmYWlsIik7CisgICAgfTsKKworICAgIC8vIENoZWNrIGlmIENP
RVAgaXMgaW5oZXJpdGVkIGJ5IHRoZSBwb3B1cC4KKyAgICBsZXQgc2NyaXB0ID0gcG9wdXAuZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgICAgc2NyaXB0LmlubmVySFRNTCA9Cisg
ICAgICBgJHtjcmVhdGVTY3JpcHQod2luZG93Lm9yaWdpbiwgb3JpZ2lucy5IVFRQU19SRU1PVEVf
T1JJR0lOLCAib3BlbmVyIil9YDsKKyAgICBwb3B1cC5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNjcmlwdCk7CisgICAgY2hlY2tfcmVzdWx0KGF3YWl0IGRhdGFfZnJvbV9wb3B1cCgpLCAiSW5p
dGlhbCBlbXB0eSBkb2N1bWVudCIpOworCisgICAgLy8gTmF2aWdhdGUgdGhlIHBvcHVwIGF3YXku
CisgICAgcG9wdXAubG9jYXRpb24gPSBvcmlnaW5zLkhUVFBTX1JFTU9URV9PUklHSU4gKworICAg
ICAgIi9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3Bvc3RtZXNz
YWdlLXJlYWR5Lmh0bWwiOworICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PgorICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBtc2cgPT4g
cmVzb2x2ZShtc2cuZGF0YSkpKSwKKyAgICAgICJyZWFkeSIpOworCisgICAgLy8gTmF2aWdhdGUg
dGhlIHBvcHVwIHRvIGFib3V0OmJsYW5rIGFuZCB3YWl0IGZvciBpdC4KKyAgICBwb3B1cC5sb2Nh
dGlvbiA9ICJhYm91dDpibGFuayI7CisgICAgYXdhaXQgdC5zdGVwX3dhaXQoCisgICAgICBjb25k
aXRpb24gPSAoKSA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgcmV0dXJuIHBvcHVwLmxv
Y2F0aW9uLmhyZWYgPT09ICJhYm91dDpibGFuayI7CisgICAgICAgIH0gY2F0Y2gge30KKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgfSwKKyAgICAgIGRlc2NyaXB0aW9uID0gIldhaXQgZm9y
IHRoZSBwb3B1cCB0byBuYXZpZ2F0ZS4iLAorICAgICAgdGltZW91dD0zMDAwLAorICAgICAgaW50
ZXJ2YWw9NTApOworCisgICAgLy8gQ2hlY2sgYWdhaW4gaWYgQ09FUCBpcyBpbmhlcml0ZWQuCisg
ICAgc2NyaXB0ID0gcG9wdXAuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgICAg
c2NyaXB0LmlubmVySFRNTCA9CisgICAgICBgJHtjcmVhdGVTY3JpcHQod2luZG93Lm9yaWdpbiwg
b3JpZ2lucy5IVFRQU19SRU1PVEVfT1JJR0lOLCAib3BlbmVyIil9YDsKKyAgICBwb3B1cC5kb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7CisgICAgY2hlY2tfcmVzdWx0KGF3YWl0IGRh
dGFfZnJvbV9wb3B1cCgpLCAiTm9uLWluaXRpYWwgYWJvdXQ6YmxhbmsgZG9jdW1lbnQiKTsKKyAg
fSwgYENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaXMgaW5oZXJpdGVkIGJ5IGFib3V0OmJs
YW5rIHBvcHVwLmApOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGlj
eS9hYm91dC1ibGFuay1wb3B1cC5odHRwcy5odG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9hYm91dC1ibGFuay1wb3B1cC5odHRwcy5odG1sLmhlYWRlcnMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjYw
NDQ1MDk5MWExMjJlM2UyNDFlNDBiMWI5ZTA1MTZjNTI1Mzg5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L2Fib3V0LWJsYW5rLXBvcHVwLmh0dHBzLmh0bWwuaGVhZGVy
cwpAQCAtMCwwICsxIEBACitDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5OiByZXF1aXJlLWNv
cnAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvYW5v
bnltb3VzLWlmcmFtZS1wb3B1cC50ZW50YXRpdmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9hbm9ueW1vdXMtaWZyYW1lLXBvcHVwLnRl
bnRhdGl2ZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWMyNzRiN2UxYzU0ZTJiOWQ3
MjBmZDVhNGQ4YjMwOWQzNjk5YzI4NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2Fub255bW91cy1pZnJhbWUvYW5vbnltb3VzLWlmcmFtZS1wb3B1cC50ZW50YXRpdmUu
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCisKK0ZBSUwgQ3Jvc3Mtb3JpZ2lu
IHBvcHVwIGZyb20gbm9ybWFsL2Fub255bW91cyBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBPcGVu
ZXIgZnJvbSBhbm9ueW1vdXMgaWZyYW1lIHNob3VsZCBiZSBibG9ja2VkLiBleHBlY3RlZCBudWxs
IGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFdpbmRvd10iCitGQUlMIFNhbWUtb3JpZ2luIHBvcHVw
IGZyb20gbm9ybWFsL2Fub255bW91cyBpZnJhbWVzLiBhc3NlcnRfZXF1YWxzOiBPcGVuZXIgZnJv
bSBhbm9ueW1vdXMgaWZyYW1lIHNob3VsZCBiZSBibG9ja2VkLiBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IFdpbmRvd10iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2Fub255bW91cy1pZnJhbWUvYW5vbnltb3VzLWlmcmFtZS1wb3B1cC50ZW50YXRpdmUu
aHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvYW5vbnlt
b3VzLWlmcmFtZS1wb3B1cC50ZW50YXRpdmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDFiNjQw
MmY1ZGEzNjA0ZjdiNjYzZTNkYjRiYjBmMjg5NTc0YTUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9hbm9ueW1vdXMtaWZyYW1lLXBvcHVw
LnRlbnRhdGl2ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhZG9jdHlwZSBodG1sPgor
PG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi91dGlscy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vY3JlZGVudGlhbGxlc3MvcmVzb3VyY2VzL2Nv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vY3JlZGVudGlhbGxlc3MvcmVzb3Vy
Y2VzL2Rpc3BhdGNoZXIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorY29uc3Qge09S
SUdJTiwgUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBjb250cm9sX2lm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworY29uc3QgYW5vbnltb3Vz
X2lmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworCitwcm9taXNlX3Nl
dHVwKGFzeW5jIHQgPT4geworICBjb25zdCBjcmVhdGVDb250cm9sSWZyYW1lID0gbmV3IFByb21p
c2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgY29udHJvbF9pZnJhbWUub25sb2FkID0gcmVzb2x2
ZTsKKyAgICBjb250cm9sX2lmcmFtZS5zcmMgPSBPUklHSU4gKyBgL2NvbW1vbi9ibGFuay5odG1s
YDsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChjb250cm9sX2lmcmFtZSk7CisgIH0pOworCisg
IGNvbnN0IGNyZWF0ZUFub255bW91c0lmcmFtZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUg
PT4geworICAgIGFub255bW91c19pZnJhbWUub25sb2FkID0gcmVzb2x2ZTsKKyAgICBhbm9ueW1v
dXNfaWZyYW1lLnNyYyA9IE9SSUdJTiArIGAvY29tbW9uL2JsYW5rLmh0bWxgOworICAgIGFub255
bW91c19pZnJhbWUuYW5vbnltb3VzID0gdHJ1ZTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChh
bm9ueW1vdXNfaWZyYW1lKTsKKyAgfSk7CisKKyAgYXdhaXQgUHJvbWlzZS5hbGwoW2NyZWF0ZUNv
bnRyb2xJZnJhbWUsIGNyZWF0ZUFub255bW91c0lmcmFtZV0pOworfSk7CisKKy8vIENyZWF0ZSBj
cm9zcy1vcmlnaW4gcG9wdXAgZnJvbSBpZnJhbWVzLiBUaGUgb3BlbmVyIHNob3VsZCBiZSBibG9j
a2VkIGZvcgorLy8gYW5vbnltb3VzIGlmcmFtZSBhbmQgd29yayBmb3Igbm9ybWFsIGlmcmFtZS4K
K3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgY29uc3QgY29udHJvbF90b2tlbiA9IHRva2Vu
KCk7CisgIGNvbnN0IGNvbnRyb2xfc3JjID0gUkVNT1RFX09SSUdJTiArIGV4ZWN1dG9yX3BhdGgg
KyBgJnV1aWQ9JHtjb250cm9sX3Rva2VufWA7CisgIGNvbnN0IGNvbnRyb2xfcG9wdXAgPSBjb250
cm9sX2lmcmFtZS5jb250ZW50V2luZG93Lm9wZW4oY29udHJvbF9zcmMpOworICBhZGRfY29tcGxl
dGlvbl9jYWxsYmFjaygoKSA9PiBzZW5kKGNvbnRyb2xfdG9rZW4sICJjbG9zZSgpOyIpKTsKKyAg
YXNzZXJ0X2VxdWFscygKKyAgICBjb250cm9sX3BvcHVwLm9wZW5lciwgY29udHJvbF9pZnJhbWUu
Y29udGVudFdpbmRvdywKKyAgICAiT3BlbmVyIGZyb20gbm9ybWFsIGlmcmFtZSBzaG91bGQgYmUg
YXZhaWxhYmxlLiIpOworCisgIGNvbnN0IGFub255bW91c190b2tlbiA9IHRva2VuKCk7CisgIGNv
bnN0IGFub255bW91c19zcmMgPQorICAgIFJFTU9URV9PUklHSU4gKyBleGVjdXRvcl9wYXRoICsg
YCZ1dWlkPSR7YW5vbnltb3VzX3Rva2VufWA7CisgIGNvbnN0IGFub255bW91c19wb3B1cCA9IGFu
b255bW91c19pZnJhbWUuY29udGVudFdpbmRvdy5vcGVuKGFub255bW91c19zcmMpOworICBhZGRf
Y29tcGxldGlvbl9jYWxsYmFjaygoKSA9PiBzZW5kKGFub255bW91c190b2tlbiwgImNsb3NlKCk7
IikpOworICBhc3NlcnRfZXF1YWxzKAorICAgIGFub255bW91c19wb3B1cCwgbnVsbCwgIk9wZW5l
ciBmcm9tIGFub255bW91cyBpZnJhbWUgc2hvdWxkIGJlIGJsb2NrZWQuIik7Cit9LCAnQ3Jvc3Mt
b3JpZ2luIHBvcHVwIGZyb20gbm9ybWFsL2Fub255bW91cyBpZnJhbWVzLicpOworCisvLyBDcmVh
dGUgYSBzYW1lLW9yaWdpbiBwb3B1cCBmcm9tIGlmcmFtZXMuIFRoZSBvcGVuZXIgc2hvdWxkIGJl
IGJsb2NrZWQgZm9yCisvLyBhbm9ueW1vdXMgaWZyYW1lIGFuZCB3b3JrIGZvciBub3JtYWwgaWZy
YW1lLgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBjb250cm9sX3Rva2VuID0g
dG9rZW4oKTsKKyAgY29uc3QgY29udHJvbF9zcmMgPSBPUklHSU4gKyBleGVjdXRvcl9wYXRoICsg
YCZ1dWlkPSR7Y29udHJvbF90b2tlbn1gOworICBjb25zdCBjb250cm9sX3BvcHVwID0gY29udHJv
bF9pZnJhbWUuY29udGVudFdpbmRvdy5vcGVuKGNvbnRyb2xfc3JjKTsKKyAgYWRkX2NvbXBsZXRp
b25fY2FsbGJhY2soKCkgPT4gc2VuZChjb250cm9sX3Rva2VuLCAiY2xvc2UoKTsiKSk7CisgIGFz
c2VydF9lcXVhbHMoCisgICAgY29udHJvbF9wb3B1cC5vcGVuZXIsIGNvbnRyb2xfaWZyYW1lLmNv
bnRlbnRXaW5kb3csCisgICAgIk9wZW5lciBmcm9tIG5vcm1hbCBpZnJhbWUgc2hvdWxkIGJlIGF2
YWlsYWJsZS4iKTsKKworICBjb25zdCBhbm9ueW1vdXNfdG9rZW4gPSB0b2tlbigpOworICBjb25z
dCBhbm9ueW1vdXNfc3JjID0KKyAgICBPUklHSU4gKyBleGVjdXRvcl9wYXRoICsgYCZ1dWlkPSR7
YW5vbnltb3VzX3Rva2VufWA7CisgIGNvbnN0IGFub255bW91c19wb3B1cCA9IGFub255bW91c19p
ZnJhbWUuY29udGVudFdpbmRvdy5vcGVuKGFub255bW91c19zcmMpOworICBhZGRfY29tcGxldGlv
bl9jYWxsYmFjaygoKSA9PiBzZW5kKGFub255bW91c190b2tlbiwgImNsb3NlKCk7IikpOworICBh
c3NlcnRfZXF1YWxzKAorICAgIGFub255bW91c19wb3B1cCwgbnVsbCwgIk9wZW5lciBmcm9tIGFu
b255bW91cyBpZnJhbWUgc2hvdWxkIGJlIGJsb2NrZWQuIik7Cit9LCAnU2FtZS1vcmlnaW4gcG9w
dXAgZnJvbSBub3JtYWwvYW5vbnltb3VzIGlmcmFtZXMuJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVxdWly
ZS1jb3JwLWVtYmVkLWFub255bW91cy1pZnJhbWUudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVxdWlyZS1jb3JwLWVt
YmVkLWFub255bW91cy1pZnJhbWUudGVudGF0aXZlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTUwODdkMDJkMWU3YmQ2ZDNjYWMzNzgzODMyOWI3YTZmZTU5ODliCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9yZXF1aXJlLWNv
cnAtZW1iZWQtYW5vbnltb3VzLWlmcmFtZS50ZW50YXRpdmUuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitGQUlMIExvYWRpbmcgYW4gYW5vbnltb3VzIGlmcmFtZSB3aXRoIENP
RVA6IHJlcXVpcmUtY29ycCBpcyBhbGxvd2VkLiBhc3NlcnRfdHJ1ZTogVGhlIGFub255bW91cyBp
ZnJhbWUgc2hvdWxkIGJlIGFsbG93ZWQuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVxdWlyZS1jb3Jw
LWVtYmVkLWFub255bW91cy1pZnJhbWUudGVudGF0aXZlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3JlcXVpcmUtY29ycC1lbWJlZC1hbm9ueW1vdXMt
aWZyYW1lLnRlbnRhdGl2ZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMmQ5MWY3NzhmMGQzYTdj
ODZjZTdjYmRmMjM3MTc1MDhjNjU3NWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3JlcXVpcmUtY29ycC1lbWJlZC1hbm9ueW1vdXMtaWZy
YW1lLnRlbnRhdGl2ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhZG9jdHlwZSBodG1s
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGxldCBpZnJhbWVfYWxsb3dlZCA9IChpZnJh
bWUsIGJjKSA9PiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBiYy5vbm1lc3Nh
Z2UgPSB0LnN0ZXBfZnVuYyhldmVudCA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRh
dGEsICJsb2FkZWQiLAorICAgICAgICAgICAgICAgICAgICAiVW5leHBlY3RlZCBtZXNzYWdlIGZy
b20gYnJvYWRjYXN0IGNoYW5uZWwuIik7CisgICAgICByZXNvbHZlKHRydWUpOworICAgIH0pOwor
CisgICAgLy8gVG8gc2VlIHdoZXRoZXIgdGhlIGlmcmFtZSB3YXMgYmxvY2tlZCwgd2UgY2hlY2sg
d2hldGhlciBpdAorICAgIC8vIGJlY29tZXMgY3Jvc3Mtb3JpZ2luIChzaW5jZSBlcnJvciBwYWdl
cyBhcmUgbG9hZGVkIGNyb3NzLW9yaWdpbikuCisgICAgYXdhaXQgdC5zdGVwX3dhaXQoKCkgPT4g
eworICAgICAgdHJ5IHsKKyAgICAgICAgLy8gQWNjZXNzaW5nIGNvbnRlbnRXaW5kb3cubG9jYXRp
b24uaHJlZiBjcm9zcy1vcmlnaW4gdGhyb3dzLgorICAgICAgICBpZnJhbWUuY29udGVudFdpbmRv
dy5sb2NhdGlvbi5ocmVmID09PSBudWxsOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICB9
IGNhdGNoIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfSk7CisgICAgcmVz
b2x2ZShmYWxzZSk7CisgIH0pOworCisgIC8vIENyZWF0ZSBhbiBhbm9ueW1vdXMgY2hpbGQgaWZy
YW1lLgorICBjb25zdCBjaGlsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOwor
ICBjaGlsZC5hbm9ueW1vdXMgPSB0cnVlOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGNoaWxkLnJl
bW92ZSgpKTsKKworICBjb25zdCBiY19jaGlsZCA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRva2Vu
KCkpOworICBjaGlsZC5zcmMgPQorICAgIGAuLi9yZXNvdXJjZXMvbmF2aWdhdGUtbm9uZS5zdWIu
aHRtbD9jaGFubmVsTmFtZT0ke2JjX2NoaWxkLm5hbWV9YDsKKyAgZG9jdW1lbnQuYm9keS5hcHBl
bmQoY2hpbGQpOworCisgIGFzc2VydF90cnVlKGF3YWl0IGlmcmFtZV9hbGxvd2VkKGNoaWxkLCBi
Y19jaGlsZCksCisgICAgICAgICAgICAgICJUaGUgYW5vbnltb3VzIGlmcmFtZSBzaG91bGQgYmUg
YWxsb3dlZC4iKTsKKworICAvLyBDcmVhdGUgYSBjaGlsZCBvZiB0aGUgYW5vbnltb3VzIGlmcmFt
ZS4gRXZlbiBpZiB0aGUgZ3JhbmRjaGlsZAorICAvLyBkb2VzIG5vdCBoYXZlIHRoZSAnYW5vbnlt
b3VzJyBhdHRyaWJ1dGUgc2V0LCBpdCBpbmhlcml0cyB0aGUKKyAgLy8gYW5vbnltb3VzIHByb3Bl
cnR5IGZyb20gdGhlIHBhcmVudC4KKyAgY29uc3QgZ3JhbmRjaGlsZCA9IGNoaWxkLmNvbnRlbnRE
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgY29uc3QgYmNfZ3JhbmRjaGlsZCA9
IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRva2VuKCkpOworCisgIGdyYW5kY2hpbGQuc3JjID0KKyAg
ICBgLi4vcmVzb3VyY2VzL25hdmlnYXRlLW5vbmUuc3ViLmh0bWw/Y2hhbm5lbE5hbWU9JHtiY19n
cmFuZGNoaWxkLm5hbWV9YDsKKyAgY2hpbGQuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kKGdy
YW5kY2hpbGQpOworCisgIGFzc2VydF90cnVlKGF3YWl0IGlmcmFtZV9hbGxvd2VkKGdyYW5kY2hp
bGQsIGJjX2dyYW5kY2hpbGQpLAorICAgICAgICAgICAgICJUaGUgY2hpbGQgb2YgdGhlIGFub255
bW91cyBpZnJhbWUgc2hvdWxkIGJlIGFsbG93ZWQuIik7Cit9LCAnTG9hZGluZyBhbiBhbm9ueW1v
dXMgaWZyYW1lIHdpdGggQ09FUDogcmVxdWlyZS1jb3JwIGlzIGFsbG93ZWQuJyk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3Vz
LWlmcmFtZS9yZXF1aXJlLWNvcnAtZW1iZWQtYW5vbnltb3VzLWlmcmFtZS50ZW50YXRpdmUuaHR0
cHMuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9y
ZXF1aXJlLWNvcnAtZW1iZWQtYW5vbnltb3VzLWlmcmFtZS50ZW50YXRpdmUuaHR0cHMuaHRtbC5o
ZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY2MDQ0NTA5OTFhMTIyZTNlMjQxZTQwYjFiOWUwNTE2YzUyNTM4
OWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZy
YW1lL3JlcXVpcmUtY29ycC1lbWJlZC1hbm9ueW1vdXMtaWZyYW1lLnRlbnRhdGl2ZS5odHRwcy5o
dG1sLmhlYWRlcnMKQEAgLTAsMCArMSBAQAorQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeTog
cmVxdWlyZS1jb3JwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMt
aWZyYW1lL3Jlc291cmNlcy9zZXJ2aWNld29ya2VyLXBhcnRpdGlvbmluZy1oZWxwZXIuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3Jlc291cmNlcy9zZXJ2aWNld29y
a2VyLXBhcnRpdGlvbmluZy1oZWxwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg4YWQ1OTU0ZTJkNTFjMTdj
MTA4OGRhYzQyODkyN2Y2MzMyMWJiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVzb3VyY2VzL3NlcnZpY2V3b3JrZXItcGFydGl0aW9u
aW5nLWhlbHBlci5qcwpAQCAtMCwwICsxLDE2IEBACitsZXQgbWVzc2FnZXMgPSB7fTsKK2xldCBw
b3J0cyA9IHt9OworCitzZWxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCBlID0+IHsKKyAg
Y29uc3QgZnJvbSA9IGUuZGF0YS5mcm9tOworICBjb25zdCBjaGVjayA9IGUuZGF0YS5jaGVjazsK
KworICBpZiAoZnJvbSkgeworICAgIG1lc3NhZ2VzW2Zyb21dID0gdHJ1ZTsKKyAgICBwb3J0c1tm
cm9tXSA9IGUucG9ydHNbMF07CisgIH0KKworICBpZiAoY2hlY2spIHsKKyAgICBwb3J0c1tjaGVj
a10ucG9zdE1lc3NhZ2UobWVzc2FnZXMpOworICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cKaW5kZXggOWY3MWViNTQ2OGFkMGQ3OTQ3MWE4MGZkMGQzNWExN2YzYmU1MWYxMy4uMTNk
ZWM2NzlhZWRhYjFmNjQxODQ0NzM2OGE4MTg1YTAxN2IwNTBhNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKQEAgLTE1LDMgKzE1LDQgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVzb3Vy
Y2VzL2NvbW1vbi5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUvcmVz
b3VyY2VzL3NlcnZpY2V3b3JrZXItcGFydGl0aW9uaW5nLWhlbHBlci5qcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9zZXJ2aWNld29ya2VyLXBhcnRp
dGlvbmluZy50ZW50YXRpdmUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xp
Y3kvYW5vbnltb3VzLWlmcmFtZS9zZXJ2aWNld29ya2VyLXBhcnRpdGlvbmluZy50ZW50YXRpdmUu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4Mjk5NTUxNTFmOTg4NmJlOTEyMGZkNDRi
NmE0Mzc5NjllNWU2ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9h
bm9ueW1vdXMtaWZyYW1lL3NlcnZpY2V3b3JrZXItcGFydGl0aW9uaW5nLnRlbnRhdGl2ZS5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworRkFJTCBBbm9ueW1vdXMgaWZyYW1l
cyBnZXQgcGFydGl0aW9uZWQgc2VydmljZSB3b3JrZXJzLiBhc3NlcnRfZmFsc2U6IGV4cGVjdGVk
IGZhbHNlIGdvdCB0cnVlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255
bW91cy1pZnJhbWUvc2VydmljZXdvcmtlci1wYXJ0aXRpb25pbmcudGVudGF0aXZlLmh0dHBzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3NlcnZpY2V3b3JrZXIt
cGFydGl0aW9uaW5nLnRlbnRhdGl2ZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5MzEwODU1MWVj
OGMyZTQwYWExNWU1Y2M4NDI3YTFiMjc1NzdlNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3NlcnZpY2V3b3JrZXItcGFydGl0aW9uaW5n
LnRlbnRhdGl2ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsOTIgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorY29u
c3Qgc3dfdXJsID0gbG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvW14vXSokLywgJycpICsKKyAg
ICAgICIuL3Jlc291cmNlcy9zZXJ2aWNld29ya2VyLXBhcnRpdGlvbmluZy1oZWxwZXIuanMiOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIC8vIENyZWF0ZSA0IGlmcmFtZXMgKHR3byBu
b3JtYWwgYW5kIHR3byBhbm9ueW1vdXMgb25lcykgYW5kIHJlZ2lzdGVyCisgIC8vIGEgc2Vydmlj
ZXdvcmtlciB3aXRoIHRoZSBzYW1lIHNjb3BlIGFuZCB1cmwgaW4gYWxsIG9mIHRoZW0uCisgIC8v
CisgIC8vIFJlZ2lzdGVyaW5nIHRoZSBzYW1lIHNlcnZpY2Ugd29ya2VyIGFnYWluIHdpdGggdGhl
IHNhbWUgdXJsIGFuZAorICAvLyBzY29wZSBpcyBhIG5vLW9wLiBIb3dldmVyLCBhbm9ueW1vdXMg
aWZyYW1lcyBnZXQgcGFydGl0aW9uZWQKKyAgLy8gc2VydmljZSB3b3JrZXJzLCBzbyB3ZSBzaG91
bGQgaGF2ZSBhIHRvdGFsIG9mIDIgc2VydmljZSB3b3JrZXJzCisgIC8vIGF0IHRoZSBlbmQgKG9u
ZSBmb3IgdGhlIG5vcm1hbCBpZnJhbWVzIGFuZCBvbmUgZm9yIHRoZSBhbm9ueW1vdXMKKyAgLy8g
b25lcykuCisgIGxldCBpZnJhbWVzID0gYXdhaXQgUHJvbWlzZS5hbGwoWworICAgIHsgbmFtZTog
Im5vcm1hbCIsIGFub255bW91czogZmFsc2V9LAorICAgIHsgbmFtZTogIm5vcm1hbF9jb250cm9s
IiwgYW5vbnltb3VzOiBmYWxzZX0sCisgICAgeyBuYW1lOiAiYW5vbnltb3VzIiwgYW5vbnltb3Vz
OiB0cnVlfSwKKyAgICB7IG5hbWU6ICJhbm9ueW1vdXNfY29udHJvbCIsIGFub255bW91czogdHJ1
ZX0sCisgIF0ubWFwKGFzeW5jICh7bmFtZSwgYW5vbnltb3VzfSkgPT4geworCisgICAgbGV0IGlm
cmFtZSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgbGV0IGlmcmFtZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgaWZyYW1lLm9ubG9hZCA9
ICgpID0+IHJlc29sdmUoaWZyYW1lKTsKKyAgICAgIGlmcmFtZS5zcmMgPSAnL2NvbW1vbi9ibGFu
ay5odG1sJzsKKyAgICAgIGlmIChhbm9ueW1vdXMpIGlmcmFtZS5hbm9ueW1vdXMgPSB0cnVlOwor
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoaWZyYW1lKTsKKyAgICB9KTsKKworICAgIGxldCBz
dyA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgaWZyYW1lLmNvbnRlbnRX
aW5kb3cubmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoc3dfdXJsKQorICAgICAgICAu
dGhlbihyID0+IHsKKyAgICAgICAgICBhZGRfY29tcGxldGlvbl9jYWxsYmFjayhfID0+IHIudW5y
ZWdpc3RlcigpKTsKKyAgICAgICAgICByZXNvbHZlKHIuYWN0aXZlIHx8IHIuaW5zdGFsbGluZyB8
fCByLndhaXRpbmcpOworICAgICAgICB9KTsKKyAgICB9KTsKKyAgICByZXR1cm4geyBpZnJhbWU6
IGlmcmFtZSwgbmFtZTogbmFtZSwgc3c6IHN3IH07CisgIH0pKTsKKworICAvLyBTZXR1cCBhIE1l
c3NhZ2VDaGFubmVsIGZvciBlYWNoIHBhaXIgKGlmcmFtZSwgc2VydmljZXdvcmtlcikuCisgIC8v
IFBpbmcgZWFjaCBzZXJ2aWNld29ya2VyIHRlbGxpbmcgaGltIHdoaWNoIGlmcmFtZSBpdCBiZWxv
bmdzIHRvLgorICBpZnJhbWVzLmZvckVhY2goKGlmcmFtZSwgaSkgPT4geworICAgIGlmcmFtZS5j
aGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7CisgICAgaWZyYW1lLnN3LnBvc3RNZXNzYWdl
KHsgZnJvbTogaWZyYW1lLm5hbWUgfSwgW2lmcmFtZS5jaGFubmVsLnBvcnQyXSk7CisgIH0pOwor
CisgIGxldCBtc2dfcHJvbWlzZXMgPSBpZnJhbWVzLm1hcChpZnJhbWUgPT4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgaWZyYW1lLmNoYW5uZWwucG9ydDEub25tZXNzYWdlID0gZXZlbnQg
PT4gcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgfSkpOworCisgIC8vIFBpbmcgZWFjaCAoaWZyYW1l
LCBzZXJ2aWNld29ya2VyKSBhc2tpbmcgZm9yIHdoaWNoIG1lc3NhZ2VzIGl0IGdvdC4KKyAgaWZy
YW1lcy5tYXAoaWZyYW1lID0+IGlmcmFtZS5zdy5wb3N0TWVzc2FnZSh7IGNoZWNrOiBpZnJhbWUu
bmFtZSB9KSk7CisKKyAgLy8gQ29sbGVjdCBhbGwgcmVwbGllcy4KKyAgbGV0IG1zZ3MgPSBhd2Fp
dCBQcm9taXNlLmFsbChtc2dfcHJvbWlzZXMpOworCisgIC8vIFRoZSAibm9ybWFsIiBpZnJhbWUg
c2VydmljZXdvcmtlciBiZWxvbmdzIHRvIHRoZSAibm9ybWFsIiBhbmQgdGhlCisgIC8vICJub3Jt
YWxfY29udHJvbCIgaWZyYW1lcy4KKyAgYXNzZXJ0X3RydWUoISFtc2dzWzBdWyJub3JtYWwiXSk7
CisgIGFzc2VydF90cnVlKCEhbXNnc1swXVsibm9ybWFsX2NvbnRyb2wiXSk7CisgIGFzc2VydF9m
YWxzZSghIW1zZ3NbMF1bImFub255bW91cyJdKTsKKyAgYXNzZXJ0X2ZhbHNlKCEhbXNnc1swXVsi
YW5vbnltb3VzX2NvbnRyb2wiXSk7CisKKyAgLy8gVGhlICJub3JtYWxfY29udHJvbCIgaWZyYW1l
IHNoYXJlcyB0aGUgc2FtZSBzZXJ2aWNld29ya2VyIGFzIHRoZSAibm9ybWFsIgorICAvLyBpZnJh
bWUuCisgIGFzc2VydF90cnVlKCEhbXNnc1sxXVsibm9ybWFsIl0pOworICBhc3NlcnRfdHJ1ZSgh
IW1zZ3NbMV1bIm5vcm1hbF9jb250cm9sIl0pOworICBhc3NlcnRfZmFsc2UoISFtc2dzWzFdWyJh
bm9ueW1vdXMiXSk7CisgIGFzc2VydF9mYWxzZSghIW1zZ3NbMV1bImFub255bW91c19jb250cm9s
Il0pOworCisgIC8vIFRoZSAiYW5vbnltb3VzIiBpZnJhbWUgc2VydmljZXdvcmtlciBiZWxvbmdz
IHRvIHRoZSAiYW5vbnltb3VzIiBhbmQgdGhlCisgIC8vICJhbm9ueW1vdXNfY29udHJvbCIgaWZy
YW1lcy4KKyAgYXNzZXJ0X2ZhbHNlKCEhbXNnc1syXVsibm9ybWFsIl0pOworICBhc3NlcnRfZmFs
c2UoISFtc2dzWzJdWyJub3JtYWxfY29udHJvbCJdKTsKKyAgYXNzZXJ0X3RydWUoISFtc2dzWzJd
WyJhbm9ueW1vdXMiXSk7CisgIGFzc2VydF90cnVlKCEhbXNnc1syXVsiYW5vbnltb3VzX2NvbnRy
b2wiXSk7CisKKyAgLy8gVGhlICJhbm9ueW1vdXNfY29udHJvbCIgaWZyYW1lIHNoYXJlcyB0aGUg
c2FtZSBzZXJ2aWNld29ya2VyIGFzCisgIC8vIHRoZSAiYW5vbnltb3VzIiBpZnJhbWUuCisgIGFz
c2VydF9mYWxzZSghIW1zZ3NbM11bIm5vcm1hbCJdKTsKKyAgYXNzZXJ0X2ZhbHNlKCEhbXNnc1sz
XVsibm9ybWFsX2NvbnRyb2wiXSk7CisgIGFzc2VydF90cnVlKCEhbXNnc1szXVsiYW5vbnltb3Vz
Il0pOworICBhc3NlcnRfdHJ1ZSghIW1zZ3NbM11bImFub255bW91c19jb250cm9sIl0pOworCit9
LCAiQW5vbnltb3VzIGlmcmFtZXMgZ2V0IHBhcnRpdGlvbmVkIHNlcnZpY2Ugd29ya2Vycy4iKTsK
KworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9h
bm9ueW1vdXMtaWZyYW1lL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5v
bnltb3VzLWlmcmFtZS93M2MtaW1wb3J0LmxvZwppbmRleCA5ZTQ1Mzg3NjFlNjdjYjBmOTJhNzAz
Zjk2ZDBiMzM2ZTIwMWEyZDJhLi4wN2JmODE5ZTg4ZjY5NDBjNjliMmFmOGY5ZDgzZDIxMDc0NWZi
YzQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3cz
Yy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Fub255bW91cy1pZnJhbWUv
dzNjLWltcG9ydC5sb2cKQEAgLTE0LDUgKzE0LDkgQEAgUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CiBOb25lCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFtZS9hbm9ueW1vdXMtaWZyYW1l
LXBvcHVwLnRlbnRhdGl2ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnlt
b3VzLWlmcmFtZS9jb29raWUudGVudGF0aXZlLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9hbm9ueW1vdXMtaWZyYW1lL2xvY2FsLXN0b3JhZ2UudGVudGF0aXZlLmh0dHBzLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hbm9ueW1vdXMtaWZyYW1lL3JlcXVpcmUtY29ycC1lbWJl
ZC1hbm9ueW1vdXMtaWZyYW1lLnRlbnRhdGl2ZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvYW5vbnltb3VzLWlmcmFtZS9yZXF1aXJlLWNvcnAtZW1iZWQtYW5vbnltb3VzLWlmcmFt
ZS50ZW50YXRpdmUuaHR0cHMuaHRtbC5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5v
bnltb3VzLWlmcmFtZS9zZXJ2aWNld29ya2VyLXBhcnRpdGlvbmluZy50ZW50YXRpdmUuaHR0cHMu
aHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sCmluZGV4IDc3YWYyYmM3N2RlMzMw
MWJjZWUzNDRjZGZiZWM2YjU3NjFjMmU4OWYuLmNlNzJmMjQ3ZWY3YjZmYzZiNTQxOTZkYmM0NzU4
MmI1MTE4ZDU0Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2Jsb2IuaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ibG9iLmh0dHBzLmh0bWwKQEAgLTIxLDIw
ICsyMSwyMSBAQCBjb25zdCBvcmlnaW5zID0gZ2V0X2hvc3RfaW5mbygpOwogICAgICJjcm9zc09y
aWdpbiI6IG9yaWdpbnMuSFRUUFNfT1JJR0lOCiAgIH0KIF0uZm9yRWFjaCgoeyBvcmlnaW4sIGNy
b3NzT3JpZ2luIH0pID0+IHsKLSAgWyJzdWJmcmFtZSIsICJuYXZpZ2F0ZSJdLmZvckVhY2godmFy
aWFudCA9PiB7CisgIFsic3ViZnJhbWUiLCAibmF2aWdhdGUiLCAicG9wdXAiXS5mb3JFYWNoKHZh
cmlhbnQgPT4gewogICAgIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgICBjb25zdCBpZCA9IHRva2Vu
KCk7CiAgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIp
OwogICAgICAgdC5hZGRfY2xlYW51cCgoKSA9PiB7IGZyYW1lLnJlbW92ZSgpOyB9KTsKICAgICAg
IGNvbnN0IHBhdGggPSBuZXcgVVJMKCJyZXNvdXJjZXMvYmxvYi11cmwtZmFjdG9yeS5odG1sIiwg
d2luZG93LmxvY2F0aW9uKS5wYXRobmFtZTsKICAgICAgIGZyYW1lLnNyYyA9IGAke29yaWdpbn0k
e3BhdGh9P2lkPSR7aWR9JnZhcmlhbnQ9JHt2YXJpYW50fSZjcm9zc09yaWdpbj0ke2Nyb3NzT3Jp
Z2lufWA7Ci0gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIHQuc3RlcF9m
dW5jX2RvbmUoKHsgZGF0YSB9KSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bWVzc2FnZSIsIHQuc3RlcF9mdW5jKCh7IGRhdGEgfSkgPT4gewogICAgICAgICBpZiAoZGF0YS5p
ZCAhPT0gaWQpIHsKICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgYXNzZXJ0
X2VxdWFscyhkYXRhLm9yaWdpbiwgb3JpZ2luKTsKICAgICAgICAgYXNzZXJ0X3RydWUoZGF0YS5z
YW1lT3JpZ2luTm9DT1JQU3VjY2VzcywgIlNhbWUtb3JpZ2luIHdpdGhvdXQgQ09SUCBkaWQgbm90
IHN1Y2NlZWQiKTsKICAgICAgICAgYXNzZXJ0X3RydWUoZGF0YS5jcm9zc09yaWdpbk5vQ09SUEZh
aWx1cmUsICJDcm9zcy1vcmlnaW4gd2l0aG91dCBDT1JQIGRpZCBub3QgZmFpbCIpOworICAgICAg
ICB0LmRvbmUoKTsKICAgICAgIH0pKTsKICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGZyYW1l
KTsKICAgICB9LCBgQ3Jvc3MtT3JpZ2luLUVtYmVkZGVyLVBvbGljeSBhbmQgYmxvYjogVVJMIGZy
b20gJHtvcmlnaW59IGluIHN1YmZyYW1lIHZpYSAke3ZhcmlhbnR9YCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9jYWNoZS1zdG9yYWdlLnRlbnRhdGl2
ZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvY2FjaGUt
c3RvcmFnZS50ZW50YXRpdmUuaHR0cHMuaHRtbAppbmRleCBkMzI3ODY3NGJlMTg0YmI0OTlkYzQ1
MGE4YzU5NWU2ZWMwZjVjNzUwLi4yMzBmMTA0OGE3MjMwYjZhOTM2ZGIwZTE2YzE4YmE4MTg1M2Y1
ZGE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9jYWNo
ZS1zdG9yYWdlLnRlbnRhdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5
L2NyZWRlbnRpYWxsZXNzL2NhY2hlLXN0b3JhZ2UudGVudGF0aXZlLmh0dHBzLmh0bWwKQEAgLTYx
LDkgKzYxLDkgQEAgY29uc3QgY2FjaGVTdG9yYWdlVGVzdCA9ICgKIGNvbnN0IGVudmlyb25tZW50
ID0gbG9jYXRpb24uc2VhcmNoLnN1YnN0cigxKTsKIGNvbnN0IGNvbnN0cnVjdG9yID0gZW52aXJv
bm1lbnRzW2Vudmlyb25tZW50XTsKIAotY29uc3QgY29udGV4dF9ub25lID0gY29uc3RydWN0b3Io
Y29lcF9ub25lKTsKLWNvbnN0IGNvbnRleHRfY3JlZGVudGlhbGxlc3MgPSBjb25zdHJ1Y3Rvcihj
b2VwX2NyZWRlbnRpYWxsZXNzKTsKLWNvbnN0IGNvbnRleHRfcmVxdWlyZV9jb3JwID0gY29uc3Ry
dWN0b3IoY29lcF9yZXF1aXJlX2NvcnApOworY29uc3QgY29udGV4dF9ub25lID0gY29uc3RydWN0
b3IoY29lcF9ub25lKVswXTsKK2NvbnN0IGNvbnRleHRfY3JlZGVudGlhbGxlc3MgPSBjb25zdHJ1
Y3Rvcihjb2VwX2NyZWRlbnRpYWxsZXNzKVswXTsKK2NvbnN0IGNvbnRleHRfcmVxdWlyZV9jb3Jw
ID0gY29uc3RydWN0b3IoY29lcF9yZXF1aXJlX2NvcnApWzBdOwogCiBjYWNoZVN0b3JhZ2VUZXN0
KGBbJHtlbnZpcm9ubWVudH1dIHVuc2FmZS1ub25lID0+IHVuc2FmZS1ub25lYCwKICAgY29udGV4
dF9ub25lLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mv
cmVwb3J0aW5nLXN1YnJlc291cmNlLWNvcnAudGVudGF0aXZlLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXBvcnRpbmctc3VicmVzb3VyY2UtY29ycC50
ZW50YXRpdmUuaHR0cHMuaHRtbAppbmRleCA4ZTE2MzFjYjc5YmE3MWVlODA5MWU1MDViZTA2N2Jl
OTZhMjc5Nzc5Li4xZTVkZTcxYTkzM2ViNThkYTg3MzVmOWM5ZmFjN2VjOGUxMmU2NzBkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
Y3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXBvcnRpbmctc3Vi
cmVzb3VyY2UtY29ycC50ZW50YXRpdmUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9jcmVkZW50aWFsbGVzcy9yZXBvcnRpbmctc3VicmVzb3VyY2UtY29ycC50ZW50YXRpdmUu
aHR0cHMuaHRtbApAQCAtMTAsNDUgKzEwLDQyIEBACiA8c2NyaXB0PgogY29uc3Qge09SSUdJTiwg
UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7CiBjb25zdCBCQVNFID0gIi9odG1sL2Ny
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzIjsKLWNvbnN0IEZSQU1FX1VSTCA9
IGAke09SSUdJTn0vY29tbW9uL2JsYW5rLmh0bWxgICsKLSAgJz9waXBlPWhlYWRlcihjcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5LGNyZWRlbnRpYWxsZXNzKScgKwotICBgfGhlYWRlcihjcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LGNyZWRlbnRpYWxsZXNzKWA7Ci1j
b25zdCBXT1JLRVJfVVJMID0gYCR7T1JJR0lOfSR7QkFTRX0vcmVwb3J0aW5nLXdvcmtlci5qc2Ag
KwotICAnP3BpcGU9aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ksY3JlZGVudGlh
bGxlc3MpJyArCi0gIGB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0
LW9ubHksY3JlZGVudGlhbGxlc3MpYDsKIGNvbnN0IFJFUE9SVElOR19GUkFNRV9VUkwgPSBgJHtP
UklHSU59JHtCQVNFfS9yZXBvcnRpbmctZW1wdHktZnJhbWUuaHRtbGAgKwogICAnP3BpcGU9aGVh
ZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ksY3JlZGVudGlhbGxlc3MpJyArCi0gIGB8
aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHksY3JlZGVudGlh
bGxlc3MpYDsKLQotZnVuY3Rpb24gd2FpdChtcykgewotICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgbXMpKTsKLX0KKyAgJyZ0b2tlbj0ke3Rva2Vu
KCl9JzsKIAotYXN5bmMgZnVuY3Rpb24gZmV0Y2hJbkZyYW1lKHQsIGZyYW1lVXJsLCB1cmwpIHsK
K2FzeW5jIGZ1bmN0aW9uIG9ic2VydmVSZXBvcnRzKGdsb2JhbCwgZXhwZWN0ZWRfY291bnQpIHsK
ICAgY29uc3QgcmVwb3J0cyA9IFtdOwotICBjb25zdCBmcmFtZSA9IGF3YWl0IHdpdGhfaWZyYW1l
KGZyYW1lVXJsKTsKLSAgdC5hZGRfY2xlYW51cCgoKSA9PiBmcmFtZS5yZW1vdmUoKSk7CisgIGNv
bnN0IHJlY2VpdmVkRXZlcnlSZXBvcnRzID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
aWYgKGV4cGVjdGVkX2NvdW50ID09IDApCisgICAgICByZXNvbHZlKCk7CisKKyAgICBjb25zdCBv
YnNlcnZlciA9IG5ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7CisgICAgICBm
b3IgKGNvbnN0IHIgb2YgcnMpIHsKKyAgICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOwor
ICAgICAgfQorICAgICAgaWYgKGV4cGVjdGVkX2NvdW50IDw9IHJlcG9ydHMubGVuZ3RoKQorICAg
ICAgICByZXNvbHZlKCk7CisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSgpOwogCi0gIGNv
bnN0IG9ic2VydmVyID0gbmV3IGZyYW1lLmNvbnRlbnRXaW5kb3cuUmVwb3J0aW5nT2JzZXJ2ZXIo
KHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByZXBvcnQgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMu
cHVzaChyZXBvcnQudG9KU09OKCkpOwotICAgIH0KICAgfSk7Ci0gIG9ic2VydmVyLm9ic2VydmUo
KTsKLSAgY29uc3QgaW5pdCA9IHsgbW9kZTogJ25vLWNvcnMnLCBjYWNoZTogJ25vLXN0b3JlJyB9
OwotICBhd2FpdCBmcmFtZS5jb250ZW50V2luZG93LmZldGNoKHVybCwgaW5pdCkuY2F0Y2goKCkg
PT4ge30pOwogCi0gIC8vIFdhaXQgMTAwMG1zIGZvciByZXBvcnRzIHRvIHNldHRsZS4KKyAgYXdh
aXQgcmVjZWl2ZWRFdmVyeVJlcG9ydHM7CisgIC8vIFdhaXQgMTAwMG1zIG1vcmUgdG8gY2F0Y2gg
YWRkaXRpb25uYWwgdW5leHBlY3RlZCByZXBvcnRzLgogICBhd2FpdCBuZXcgUHJvbWlzZShyID0+
IHN0ZXBfdGltZW91dChyLCAxMDAwKSk7CiAgIHJldHVybiByZXBvcnRzOwogfQogCi1hc3luYyBm
dW5jdGlvbiBmZXRjaEluV29ya2VyKHdvcmtlck9yUG9ydCwgdXJsKSB7Ci0gIGNvbnN0IHNjcmlw
dCA9Ci0gICAgYGZldGNoKCcke3VybH0nLCB7bW9kZTogJ25vLWNvcnMnLCBjYWNoZTogJ25vLXN0
b3JlJ30pLmNhdGNoKCgpID0+IHt9KTtgOwotICBjb25zdCBtYyA9IG5ldyBNZXNzYWdlQ2hhbm5l
bCgpOwotICB3b3JrZXJPclBvcnQucG9zdE1lc3NhZ2Uoe3NjcmlwdCwgcG9ydDogbWMucG9ydDJ9
LCBbbWMucG9ydDJdKTsKLSAgcmV0dXJuIChhd2FpdCBuZXcgUHJvbWlzZShyID0+IG1jLnBvcnQx
Lm9ubWVzc2FnZSA9IHIpKS5kYXRhOworYXN5bmMgZnVuY3Rpb24gZmV0Y2hJbkZyYW1lKHQsIGZy
YW1lVXJsLCB1cmwsIGV4cGVjdGVkX2NvdW50KSB7CisgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0
aF9pZnJhbWUoZnJhbWVVcmwpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGZyYW1lLnJlbW92ZSgp
KTsKKworICBjb25zdCBpbml0ID0geyBtb2RlOiAnbm8tY29ycycsIGNhY2hlOiAnbm8tc3RvcmUn
IH07CisgIGxldCBmdXR1cmVfcmVwb3J0cyA9IG9ic2VydmVSZXBvcnRzKGZyYW1lLmNvbnRlbnRX
aW5kb3csIGV4cGVjdGVkX2NvdW50KTsKKyAgYXdhaXQgZnJhbWUuY29udGVudFdpbmRvdy5mZXRj
aCh1cmwsIGluaXQpLmNhdGNoKCgpID0+IHt9KTsKKworICByZXR1cm4gYXdhaXQgZnV0dXJlX3Jl
cG9ydHM7CiB9CiAKIGZ1bmN0aW9uIGNoZWNrUmVwb3J0KHJlcG9ydCwgY29udGV4dFVybCwgYmxv
Y2tlZFVybCwgZGlzcG9zaXRpb24sIGRlc3RpbmF0aW9uKSB7CkBAIC02MCwxNDMgKzU3LDI2IEBA
IGZ1bmN0aW9uIGNoZWNrUmVwb3J0KHJlcG9ydCwgY29udGV4dFVybCwgYmxvY2tlZFVybCwgZGlz
cG9zaXRpb24sIGRlc3RpbmF0aW9uKSB7CiAgIGFzc2VydF9lcXVhbHMocmVwb3J0LmJvZHkuZGVz
dGluYXRpb24sIGRlc3RpbmF0aW9uKTsKIH0KIAotLy8gV2Ugd2FudCB0byB0ZXN0IHNldmVyYWwg
VVJMcyBpbiB2YXJpb3VzIGVudmlyb25tZW50cyAoZG9jdW1lbnQsCi0vLyBkZWRpY2F0ZWQgd29y
a2VyLCBzaGFyZWQgd29ya2VyLCBzZXJ2aWNlIHdvcmtlcikuIEFzIGV4cGVjdGF0aW9ucwotLy8g
YXJlIGluZGVwZW5kZW50IG9mIGVudmlyb25tZW50IGV4Y2VwdCBmb3IgdGhlIGNvbnRleHQgVVJM
cyBpbiByZXBvcnRzLAotLy8gd2UgZGVmaW5lIEVOVklST05NRU5UUyBhbmQgQ0FTRVMgdG8gcmVk
dWNlIHRoZSBjb2RlIGR1cGxpY2F0aW9uLgotLy8KLS8vIEVOVklST05NRU5UUyBpcyBhIGxpc3Qg
b2YgZGljdGlvbmFyaWVzLiBFYWNoIGRpY3Rpb25hcnkgY29uc2lzdHMgb2Y6Ci0vLyAgLSB0YWc6
IHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudAotLy8gIC0gY29udGV4dFVybDogdGhlIFVSTCBv
ZiB0aGUgZW52aXJvbm1lbnQgc2V0dGluZ3Mgb2JqZWN0Ci0vLyAgLSBydW46IGFuIGFzeW5jIGZ1
bmN0aW9uIHdoaWNoIGdlbmVyYXRlcyByZXBvcnRzCi0vLyAgICAtIHRlc3Q6IGEgdGVzdGhhcm5l
c3MgVGVzdCBvYmplY3QKLS8vICAgIC0gdXJsOiB0aGUgVVJMIGZvciBhIHRlc3QgY2FzZSAoc2Vl
IGJlbG93KQotLy8KLS8vIENBU0VTIGlzIGEgbGlzdCBvZiB0ZXN0IGNhc2VzLiBFYWNoIHRlc3Qg
Y2FzZSBjb25zaXN0cyBvZjoKLS8vICAtIG5hbWU6IHRoZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2UK
LS8vICAtIHVybDogdGhlIFVSTCBvZiB0aGUgdGVzdCBjYXNlCi0vLyAgLSBjaGVjazogYSBmdW5j
dGlvbiB0byBjaGVjayB0aGUgcmVzdWx0cwotLy8gICAgLSByZXBvcnRzOiB0aGUgZ2VuZXJhdGVk
IHJlcG9ydHMKLS8vICAgIC0gdXJsOiB0aGUgVVJMIG9mIHRoZSB0ZXN0IGNhc2UKLS8vICAgIC0g
Y29udGV4dFVybDogdGhlIFVSTCBvZiB0aGUgZW52aXJvbm1lbnQgc2V0dGluZ3Mgb2JqZWN0IChz
ZWUKLS8vICAgICAgICAgICAgICAgICAgRU5WT1JPTk1FTlRTKQotCi1jb25zdCBFTlZJUk9OTUVO
VFMgPSBbewotICB0YWc6ICdkb2N1bWVudCcsCi0gIGNvbnRleHRVcmw6IEZSQU1FX1VSTCwKLSAg
cnVuOiBhc3luYyAodGVzdCwgdXJsKSA9PiB7Ci0gICAgcmV0dXJuIGF3YWl0IGZldGNoSW5GcmFt
ZSh0ZXN0LCBGUkFNRV9VUkwsIHVybCk7Ci0gIH0sCi19LCB7Ci0gIHRhZzogJ2RlZGljYXRlZCB3
b3JrZXInLAotICBjb250ZXh0VXJsOiBXT1JLRVJfVVJMLAotICBydW46IGFzeW5jICh0ZXN0LCB1
cmwpID0+IHsKLSAgICBjb25zdCB3b3JrZXIgPSBuZXcgV29ya2VyKFdPUktFUl9VUkwpOwotICAg
IHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHRlc3QudW5yZWFjaGVkX2Z1bmMoJ1dv
cmtlci5vbmVycm9yJykpOwotICAgIHRlc3QuYWRkX2NsZWFudXAoKCkgPT4gd29ya2VyLnRlcm1p
bmF0ZSgpKTsKLSAgICByZXR1cm4gYXdhaXQgZmV0Y2hJbldvcmtlcih3b3JrZXIsIHVybCk7Ci0g
IH0sCi19LCB7Ci0gIHRhZzogJ3NoYXJlZCB3b3JrZXInLAotICBjb250ZXh0VXJsOiBXT1JLRVJf
VVJMLAotICBydW46IGFzeW5jICh0ZXN0LCB1cmwpID0+IHsKLSAgICBjb25zdCB3b3JrZXIgPSBu
ZXcgU2hhcmVkV29ya2VyKFdPUktFUl9VUkwpOwotICAgIHdvcmtlci5hZGRFdmVudExpc3RlbmVy
KCdlcnJvcicsIHRlc3QudW5yZWFjaGVkX2Z1bmMoJ1dvcmtlci5vbmVycm9yJykpOwotICAgIHJl
dHVybiBhd2FpdCBmZXRjaEluV29ya2VyKHdvcmtlci5wb3J0LCB1cmwpOwotICB9LAotfSwgewot
ICB0YWc6ICdzZXJ2aWNlIHdvcmtlcicsCi0gIGNvbnRleHRVcmw6IFdPUktFUl9VUkwsCi0gIHJ1
bjogYXN5bmMgKHRlc3QsIHVybCkgPT4gewotICAgIC8vIEdlbmVyYXRlIGEgb25lLXRpbWUgc2Nv
cGUgZm9yIHNlcnZpY2Ugd29ya2Vlci4KLSAgICBjb25zdCBTQ09QRSA9IGAke0JBU0V9LyR7dG9r
ZW4oKX0uaHRtbGA7Ci0gICAgY29uc3QgcmVnID0KLSAgICAgIGF3YWl0IHNlcnZpY2Vfd29ya2Vy
X3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIFdPUktFUl9VUkwsIFNDT1BFKTsKLSAgICB0
ZXN0LmFkZF9jbGVhbnVwKCgpID0+IHJlZy51bnJlZ2lzdGVyKCkpOwotICAgIGNvbnN0IHdvcmtl
ciA9IHJlZy5pbnN0YWxsaW5nIHx8IHJlZy53YWl0aW5nIHx8IHJlZy5hY3RpdmU7Ci0gICAgd29y
a2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGVzdC51bnJlYWNoZWRfZnVuYygnV29ya2Vy
Lm9uZXJyb3InKSk7Ci0gICAgcmV0dXJuIGF3YWl0IGZldGNoSW5Xb3JrZXIod29ya2VyLCB1cmwp
OwotICB9LAotfSwgewotICB0YWc6ICdiZXR3ZWVuIHNlcnZpY2Ugd29ya2VyIGFuZCBwYWdlJywK
LSAgY29udGV4dFVybDogUkVQT1JUSU5HX0ZSQU1FX1VSTCwKLSAgcnVuOiBhc3luYyAodGVzdCwg
dXJsKSA9PiB7Ci0gICAgLy8gU2VydmljZSBXb3JrZXIgd2l0aG91dCBDT0VQLgotICAgIGNvbnN0
IFdPUktFUl9VUkwgPSBgJHtPUklHSU59JHtCQVNFfS9zdy5qc2A7Ci0gICAgY29uc3QgcmVnID0g
YXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCi0gICAgICB0ZXN0
LCBXT1JLRVJfVVJMLCBSRVBPUlRJTkdfRlJBTUVfVVJMKTsKLSAgICB0ZXN0LmFkZF9jbGVhbnVw
KCgpID0+IHJlZy51bnJlZ2lzdGVyKCkpOwotICAgIGNvbnN0IHdvcmtlciA9IHJlZy5pbnN0YWxs
aW5nIHx8IHJlZy53YWl0aW5nIHx8IHJlZy5hY3RpdmU7Ci0gICAgd29ya2VyLmFkZEV2ZW50TGlz
dGVuZXIoJ2Vycm9yJywgdGVzdC51bnJlYWNoZWRfZnVuYygnV29ya2VyLm9uZXJyb3InKSk7Ci0g
ICAgcmV0dXJuIGF3YWl0IGZldGNoSW5GcmFtZSgKLSAgICAgIHRlc3QsIFJFUE9SVElOR19GUkFN
RV9VUkwsIHVybCk7Ci0gIH0sCi19XTsKLQotY29uc3QgQ0FTRVMgPSBbewotICBuYW1lOiAnc2Ft
ZS1vcmlnaW4nLAotICB1cmw6ICcvY29tbW9uL3RleHQtcGxhaW4udHh0JywKLSAgY2hlY2s6IChy
ZXBvcnRzLCB1cmwsIGNvbnRleHRVcmwpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMu
bGVuZ3RoLCAwKTsKLSAgfQotfSwgewotICBuYW1lOiAnYmxvY2tlZCBieSBDT1JQOiBzYW1lLW9y
aWdpbicsCi0gIHVybDogYCR7UkVNT1RFX09SSUdJTn0ke0JBU0V9L25vdGhpbmctc2FtZS1vcmln
aW4tY29ycC50eHRgLAotICBjaGVjazogKHJlcG9ydHMsIHVybCwgY29udGV4dFVybCkgPT4gewot
ICAgIGFzc2VydF9lcXVhbHMocmVwb3J0cy5sZW5ndGgsIDApOwotICB9Ci19LCB7Ci0gIG5hbWU6
ICdibG9ja2VkIGR1ZSB0byBDT0VQJywKLSAgdXJsOiBgJHtSRU1PVEVfT1JJR0lOfS9jb21tb24v
dGV4dC1wbGFpbi50eHRgLAotICBjaGVjazogKHJlcG9ydHMsIGNvbnRleHRVcmwsIHVybCkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHMocmVwb3J0cy5sZW5ndGgsIDApOwotICB9Ci19LCB7Ci0gIG5h
bWU6ICdibG9ja2VkIGR1cmluZyByZWRpcmVjdCcsCi0gIHVybDogYCR7T1JJR0lOfS9jb21tb24v
cmVkaXJlY3QucHk/bG9jYXRpb249YCArCi0gICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGAke1JF
TU9URV9PUklHSU59L2NvbW1vbi90ZXh0LXBsYWluLnR4dGApLAotICBjaGVjazogKHJlcG9ydHMs
IGNvbnRleHRVcmwsIHVybCkgPT4gewotICAgIC8vIFRoZSByZWRpcmVjdGlvbiBpcyBibG9ja2Vk
IGJlY2F1c2UgQ09SUCBpcyByZXF1aXJlZCBvbiB0aGUgcmVzcG9uc2UgaGVyZQotICAgIC8vIGFj
Y29yZGluZyB0byBodHRwczovL2dpdGh1Yi5jb20vdzNjL1NlcnZpY2VXb3JrZXIvaXNzdWVzLzE1
OTIKLSAgICBpZiAoY29udGV4dFVybCA9PT0gUkVQT1JUSU5HX0ZSQU1FX1VSTCkgewotICAgICAg
YXNzZXJ0X2VxdWFscyhyZXBvcnRzLmxlbmd0aCwgMSk7Ci0gICAgICBjaGVja1JlcG9ydChyZXBv
cnRzWzBdLCBjb250ZXh0VXJsLCB1cmwsICdlbmZvcmNlJywgJycpOwotICAgIH0gZWxzZSB7Ci0g
ICAgICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMubGVuZ3RoLCAwKTsKLSAgICB9Ci0gIH0sCi19XTsK
LQotZm9yIChjb25zdCBlbnYgb2YgRU5WSVJPTk1FTlRTKSB7Ci0gIGZvciAoY29uc3QgdGVzdGNh
c2Ugb2YgQ0FTRVMpIHsKLSAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKLSAgICAgIGNv
bnN0IHJlcG9ydHMgPSBhd2FpdCBlbnYucnVuKHQsIHRlc3RjYXNlLnVybCk7Ci0gICAgICB0ZXN0
Y2FzZS5jaGVjayhyZXBvcnRzLCBlbnYuY29udGV4dFVybCwgdGVzdGNhc2UudXJsKTsKLSAgICB9
LCBgWyR7ZW52LnRhZ31dICR7dGVzdGNhc2UubmFtZX1gKTsKLSAgfQotfQotCi0vLyBBIHRlc3Qg
Zm9yIGEgbm9uLWVtcHR5IGRlc3RpbmF0aW9uLgorLy8gQSByZWRpcmVjdGlvbiBpcyB1c2VkLCBz
byB0aGF0IHRoZSBpbml0aWFsIHJlcXVlc3QgaXMgc2FtZS1vcmlnaW4gYW5kIGlzCisvLyBwcm94
eWllZCB0aHJvdWdoIHRoZSBzZXJ2aWNlIHdvcmtlci4gVGhlIFNlcnZpY2VXb3JrZXIgaXMgQ09F
UDp1bnNhZmUtbm9uZSwKKy8vIHNvIGl0IHdpbGwgbWFrZSB0aGUgY3Jvc3Mtb3JpZ2luIHJlcXVl
c3Qgd2l0aCBjcmVkZW50aWFscy4gVGhlIGZldGNoIHdpbGwKKy8vIHN1Y2NlZWQsIGJ1dCB0aGUg
cmVzcG9uc2Ugd2lsbCBiZSBibG9ja2VkIGJ5IENPUlAgd2hlbiBlbnRlcmluZyB0aGUKKy8vIENP
RVA6Y3JlZGVudGlhbGxlc3MgZG9jdW1lbnQuCisvLyBodHRwczovL2dpdGh1Yi5jb20vdzNjL1Nl
cnZpY2VXb3JrZXIvaXNzdWVzLzE1OTIKIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4gewotICBj
b25zdCByZXBvcnRzID0gW107Ci0gIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoRlJB
TUVfVVJMKTsKLSAgdC5hZGRfY2xlYW51cCgoKSA9PiBmcmFtZS5yZW1vdmUoKSk7Ci0KLSAgY29u
c3Qgb2JzZXJ2ZXIgPSBuZXcgZnJhbWUuY29udGVudFdpbmRvdy5SZXBvcnRpbmdPYnNlcnZlcigo
cnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHJlcG9ydCBvZiBycykgewotICAgICAgcmVwb3J0cy5w
dXNoKHJlcG9ydC50b0pTT04oKSk7Ci0gICAgfQotICB9KTsKLSAgb2JzZXJ2ZXIub2JzZXJ2ZSgp
OwotICBjb25zdCB1cmwgPSBgJHtSRU1PVEVfT1JJR0lOfS9jb21tb24vdXRpbHMuanNgOwotICBj
b25zdCBzY3JpcHQgPSBmcmFtZS5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0
Jyk7Ci0gIHNjcmlwdC5zcmMgPSB1cmw7Ci0gIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKHNjcmlwdCk7Ci0KLSAgLy8gV2FpdCAyMDBtcyBmb3IgcmVwb3J0cyB0byBzZXR0
bGUuCi0gIGF3YWl0IHQuc3RlcF90aW1lb3V0KDIwMCk7CisgIGNvbnN0IHVybCA9IGAke09SSUdJ
Tn0vY29tbW9uL3JlZGlyZWN0LnB5P2xvY2F0aW9uPWAgKworICAgICAgIGVuY29kZVVSSUNvbXBv
bmVudChgJHtSRU1PVEVfT1JJR0lOfS9jb21tb24vdGV4dC1wbGFpbi50eHRgKTsKKyAgY29uc3Qg
V09SS0VSX1VSTCA9IGAke09SSUdJTn0ke0JBU0V9L3N3LmpzYDsKKyAgY29uc3QgcmVnID0gYXdh
aXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVnaXN0ZXIoCisgICAgdCwgV09SS0VS
X1VSTCwgUkVQT1JUSU5HX0ZSQU1FX1VSTCk7CisgIHQuYWRkX2NsZWFudXAoKCkgPT4gcmVnLnVu
cmVnaXN0ZXIoKSk7CisgIGNvbnN0IHdvcmtlciA9IHJlZy5pbnN0YWxsaW5nIHx8IHJlZy53YWl0
aW5nIHx8IHJlZy5hY3RpdmU7CisgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHQu
dW5yZWFjaGVkX2Z1bmMoJ1dvcmtlci5vbmVycm9yJykpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0
ZSh0LCB3b3JrZXIsICdhY3RpdmF0ZWQnKTsKIAotICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMubGVu
Z3RoLCAwKTsKLX0sICdkZXN0aW5hdGlvbjogc2NyaXB0Jyk7CisgIGNvbnN0IHJlcG9ydHMgPSBh
d2FpdCBmZXRjaEluRnJhbWUodCwgUkVQT1JUSU5HX0ZSQU1FX1VSTCwgdXJsLCAxKTsKKyAgYXNz
ZXJ0X2VxdWFscyhyZXBvcnRzLmxlbmd0aCwgMSk7CisgIGNoZWNrUmVwb3J0KHJlcG9ydHNbMF0s
IFJFUE9SVElOR19GUkFNRV9VUkwsIHVybCwgJ2VuZm9yY2UnLCAnJyk7Cit9KTsKIAogPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXNv
dXJjZXMvY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvcmVz
b3VyY2VzL2NvbW1vbi5qcwppbmRleCAwZTc4MTZkMzM5MDEwYjRmNGVjNzIwYzU0YzM1ZGQ1Y2E2
M2QyMmQxLi5hNWFmZDM2MjVhYzE1MjMyZWFmMGNiZDU2ZmU4N2UyNDBhMmQ1NmUzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXNvdXJjZXMvY29tbW9u
LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9j
b21tb24uanMKQEAgLTEsNiArMSw3IEBACiBjb25zdCBkaXJlY3RvcnkgPSAnL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcyc7CiBjb25zdCBleGVjdXRvcl9w
YXRoID0gZGlyZWN0b3J5ICsgJy9yZXNvdXJjZXMvZXhlY3V0b3IuaHRtbD9waXBlPSc7CiBjb25z
dCBleGVjdXRvcl9qc19wYXRoID0gZGlyZWN0b3J5ICsgJy9yZXNvdXJjZXMvZXhlY3V0b3IuanM/
cGlwZT0nOworY29uc3Qgc3dfZXhlY3V0b3JfanNfcGF0aCA9IGRpcmVjdG9yeSArICcvcmVzb3Vy
Y2VzL3N3X2V4ZWN1dG9yLmpzP3BpcGU9JzsKIAogLy8gQ09FUAogY29uc3QgY29lcF9ub25lID0K
QEAgLTg5LDM5ICs5MCw0NCBAQCBjb25zdCBuZXdDcmVkZW50aWFsbGVzc0lmcmFtZSA9IChwYXJl
bnRfdG9rZW4sIGNoaWxkX29yaWdpbikgPT4gewogICByZXR1cm4gc3ViX2RvY3VtZW50X3Rva2Vu
OwogfTsKIAorLy8gQSBjb21tb24gaW50ZXJmYWNlIGZvciBidWlsZGluZyB0aGUgNCB0eXBlIG9m
IGV4ZWN1dGlvbiBjb250ZXh0czoKKy8vIEl0IG91dHB1dHM6IFsKKy8vICAgLSBUaGUgdG9rZW4g
dG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgZW52aXJvbm1lbnQuCisvLyAgIC0gQSBwcm9taXNlIHJl
c29sdmVkIHdoZW4gdGhlIGVudmlyb25tZW50IGVuY291bnRlcnMgYW4gZXJyb3IuCisvLyBdCiBj
b25zdCBlbnZpcm9ubWVudHMgPSB7CiAgIGRvY3VtZW50OiBoZWFkZXJzID0+IHsKICAgICBjb25z
dCB0b2sgPSB0b2tlbigpOwogICAgIGNvbnN0IHVybCA9IHdpbmRvdy5vcmlnaW4gKyBleGVjdXRv
cl9wYXRoICsgaGVhZGVycyArIGAmdXVpZD0ke3Rva31gOwogICAgIGNvbnN0IGNvbnRleHQgPSB3
aW5kb3cub3Blbih1cmwpOwogICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IGNvbnRl
eHQuY2xvc2UoKSk7Ci0gICAgcmV0dXJuIHRvazsKKyAgICByZXR1cm4gW3RvaywgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7fSldOwogICB9LAogCiAgIGRlZGljYXRlZF93b3JrZXI6IGhlYWRlcnMg
PT4gewogICAgIGNvbnN0IHRvayA9IHRva2VuKCk7CiAgICAgY29uc3QgdXJsID0gd2luZG93Lm9y
aWdpbiArIGV4ZWN1dG9yX2pzX3BhdGggKyBoZWFkZXJzICsgYCZ1dWlkPSR7dG9rfWA7CiAgICAg
Y29uc3QgY29udGV4dCA9IG5ldyBXb3JrZXIodXJsKTsKLSAgICByZXR1cm4gdG9rOworICAgIHJl
dHVybiBbdG9rLCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGNvbnRleHQub25lcnJvciA9IHJlc29s
dmUpXTsKICAgfSwKIAogICBzaGFyZWRfd29ya2VyOiBoZWFkZXJzID0+IHsKICAgICBjb25zdCB0
b2sgPSB0b2tlbigpOwogICAgIGNvbnN0IHVybCA9IHdpbmRvdy5vcmlnaW4gKyBleGVjdXRvcl9q
c19wYXRoICsgaGVhZGVycyArIGAmdXVpZD0ke3Rva31gOwogICAgIGNvbnN0IGNvbnRleHQgPSBu
ZXcgU2hhcmVkV29ya2VyKHVybCk7Ci0gICAgcmV0dXJuIHRvazsKKyAgICByZXR1cm4gW3Rvaywg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiBjb250ZXh0Lm9uZXJyb3IgPSByZXNvbHZlKV07CiAgIH0s
CiAKICAgc2VydmljZV93b3JrZXI6IGhlYWRlcnMgPT4gewogICAgIGNvbnN0IHRvayA9IHRva2Vu
KCk7CiAgICAgY29uc3QgdXJsID0gd2luZG93Lm9yaWdpbiArIGV4ZWN1dG9yX2pzX3BhdGggKyBo
ZWFkZXJzICsgYCZ1dWlkPSR7dG9rfWA7CiAgICAgY29uc3Qgc2NvcGUgPSB1cmw7IC8vIEdlbmVy
YXRlIGEgb25lLXRpbWUgc2NvcGUgZm9yIHNlcnZpY2Ugd29ya2VyLgotICAgIG5hdmlnYXRvci5z
ZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKHVybCwge3Njb3BlOiBzY29wZX0pCi0gICAgLnRoZW4ocmVn
aXN0cmF0aW9uID0+IHsKLSAgICAgIGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IHJlZ2lz
dHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICAgIGNvbnN0IGVycm9yID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcih1cmwsIHtz
Y29wZTogc2NvcGV9KQorICAgICAgICAudGhlbihyZWdpc3RyYXRpb24gPT4geworICAgICAgICAg
IGFkZF9jb21wbGV0aW9uX2NhbGxiYWNrKCgpID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkp
OworICAgICAgICB9LCAvKiBjYXRjaCAqLyByZXNvbHZlKTsKICAgICB9KTsKLSAgICByZXR1cm4g
dG9rOworICAgIHJldHVybiBbdG9rLCBlcnJvcl07CiAgIH0sCiB9OwotCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9zd19leGVjdXRv
ci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9zd19l
eGVjdXRvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQ3ZDY2YjY1ZjA2NmZiYmY2MDUyYzBkM2FkY2RmMjY3
MDZhNTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlh
bGxlc3MvcmVzb3VyY2VzL3N3X2V4ZWN1dG9yLmpzCkBAIC0wLDAgKzEsMjQgQEAKK2ltcG9ydFNj
cmlwdHMoJy4vZGlzcGF0Y2hlci5qcycpOworCitjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNo
UGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7Citjb25zdCB1dWlkID0gcGFyYW1zLmdldCgndXVpZCcp
OworCisvLyBUaGUgZmV0Y2ggaGFuZGxlciBtdXN0IGJlIHJlZ2lzdGVyZWQgYmVmb3JlIHBhcnNp
bmcgdGhlIG1haW4gc2NyaXB0IHJlc3BvbnNlLgorLy8gU28gZG8gaXQgaGVyZSwgZm9yIGZ1dHVy
ZSB1c2UuCitmZXRjaEhhbmRsZXIgPSAoKSA9PiB7fQorYWRkRXZlbnRMaXN0ZW5lcignZmV0Y2gn
LCBlID0+IHsKKyAgZmV0Y2hIYW5kbGVyKGUpOworfSk7CisKKy8vIEZvcmNlIFNlcnZpY2VXb3Jr
ZXIgdG8gaW1tZWRpYXRlbHkgYWN0aXZhdGUgaXRzZWxmLgorYWRkRXZlbnRMaXN0ZW5lcignaW5z
dGFsbCcsIGV2ZW50ID0+IHsKKyAgc2tpcFdhaXRpbmcoKTsKK30pOworCitsZXQgZXhlY3V0ZU9y
ZGVycyA9IGFzeW5jIGZ1bmN0aW9uKCkgeworICB3aGlsZSh0cnVlKSB7CisgICAgbGV0IHRhc2sg
PSBhd2FpdCByZWNlaXZlKHV1aWQpOworICAgIGV2YWwoYChhc3luYyAoKSA9PiB7JHt0YXNrfX0p
KClgKTsKKyAgfQorfTsKK2V4ZWN1dGVPcmRlcnMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpp
bmRleCA2MDA4NTRhOWJiOGMwMmViNjdmNTljNjVkMDE3ZGQ1NjY0OWYwZWVlLi4yNzhkOGRiY2Ez
NWYyZjg0N2EwMWE2M2I2YmViNzI3N2FlY2U4ZWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CkBAIC0yMSwzICsyMSw0IEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kv
Y3JlZGVudGlhbGxlc3MvcmVzb3VyY2VzL2V4ZWN1dG9yLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9jcmVkZW50aWFsbGVzcy9yZXNvdXJjZXMvZXhlY3V0b3IuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXNvdXJjZXMvaWZyYW1lVGVzdC5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9zd19leGVjdXRvci5qcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mvc2VydmljZS13b3Jr
ZXItY29lcC1jcmVkZW50aWFsbGVzcy1wcm94eS50ZW50YXRpdmUuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3NlcnZpY2Utd29ya2VyLWNvZXAtY3JlZGVu
dGlhbGxlc3MtcHJveHkudGVudGF0aXZlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUxMmVjOGQy
NjNiOWE1NTJjODBlNzk5Y2EzZDdjOTQ1Y2I0M2RiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3NlcnZpY2Utd29ya2VyLWNvZXAtY3JlZGVu
dGlhbGxlc3MtcHJveHkudGVudGF0aXZlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw4OSBAQAorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2Nv
bW1vbi91dGlscy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9kaXNwYXRjaGVyLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0
IHJlc291cmNlX3BhdGggPSBkaXJlY3RvcnkgKyAiL3Jlc291cmNlcy8iOworY29uc3Qgc2FtZV9v
cmlnaW4gPSBnZXRfaG9zdF9pbmZvKCkuSFRUUFNfT1JJR0lOOworY29uc3QgY3Jvc3Nfb3JpZ2lu
ID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX1JFTU9URV9PUklHSU47CisKK3Byb21pc2VfdGVzdChh
c3luYyB0ZXN0ID0+IHsKKyAgY29uc3QgdGhpc190b2tlbl8xID0gdG9rZW4oKTsKKyAgY29uc3Qg
dGhpc190b2tlbl8yID0gdG9rZW4oKTsKKworICAvLyBSZWdpc3RlciBhIENPRVA6Y3JlZGVudGlh
bGxlc3MgU2VydmljZVdvcmtlci4KKyAgY29uc3Qgc3dfdG9rZW4gPSB0b2tlbigpOworICBjb25z
dCBzd191cmwgPQorICAgIHN3X2V4ZWN1dG9yX2pzX3BhdGggKyBjb2VwX2NyZWRlbnRpYWxsZXNz
ICsgYCZ1dWlkPSR7c3dfdG9rZW59YDsKKyAgY29uc3Qgc3dfcmVnaXN0cmF0aW9uID0KKyAgICBh
d2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2FuZF9yZWdpc3Rlcih0ZXN0LCBzd191cmws
IHJlc291cmNlX3BhdGgpOworICB0ZXN0LmFkZF9jbGVhbnVwKCgpID0+IHN3X3JlZ2lzdHJhdGlv
bi51bnJlZ2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zvcl9zdGF0ZSh0ZXN0LCBzd19yZWdpc3Ry
YXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOworCisgIC8vIENvbmZpZ3VyZSB0aGUgU2Vy
dmljZVdvcmtlciB0byBwcm94eSB0aGUgZmV0Y2ggcmVxdWVzdHMuIFdhaXQgZm9yIHRoZQorICAv
LyB3b3JrZXIgdG8gYmUgaW5zdGFsbGVkIGFuZCBhY3RpdmF0ZWQuCisgIHNlbmQoc3dfdG9rZW4s
IGAKKyAgICBmZXRjaEhhbmRsZXIgPSBldmVudCA9PiB7CisgICAgICBpZiAoIWV2ZW50LnJlcXVl
c3QudXJsLmluY2x1ZGVzKCIvcHJveGllZCIpKQorICAgICAgICByZXR1cm47CisKKyAgICAgIHNl
bmQoIiR7dGhpc190b2tlbl8xfSIsICJTZXJ2aWNlV29ya2VyOiBQcm94eWluZyIpOworCisgICAg
ICAvLyBSZXNwb25zZSB3aXRoIGEgY3Jvc3Mtb3JpZ2luIG5vLWNvcnMgcmVzb3VyY2UuCisgICAg
ICBjb25zdCB1cmwgPSAiJHtjcm9zc19vcmlnaW59IiArICIvY29tbW9uL2JsYW5rLmh0bWx9IjsK
KworICAgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJs
LCB7CisgICAgICAgICAgICBtb2RlOiAibm8tY29ycyIsCisgICAgICAgICAgICBjcmVkZW50aWFs
czogImluY2x1ZGUiCisgICAgICAgICAgfSk7CisgICAgICAgICAgc2VuZCgiJHt0aGlzX3Rva2Vu
XzF9IiwgIlNlcnZpY2VXb3JrZXI6IEZldGNoIHN1Y2Nlc3MiKTsKKyAgICAgICAgICByZXNvbHZl
KHJlc3BvbnNlKTsKKyAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKKyAgICAgICAgICBzZW5kKCIk
e3RoaXNfdG9rZW5fMX0iLCAiU2VydmljZVdvcmtlcjogRmV0Y2ggZmFpbHVyZSIpOworICAgICAg
ICAgIHJlc29sdmUobmV3IFJlc3BvbnNlKCIiLCB7c3RhdHVzOiA0MDB9KSk7CisgICAgICAgIH0K
KyAgICAgIH0pKTsKKyAgICB9CisKKyAgICBhd2FpdCBjbGllbnRzLmNsYWltKCk7CisKKyAgICBz
ZW5kKCIke3RoaXNfdG9rZW5fMX0iLCBzZXJ2aWNlV29ya2VyLnN0YXRlKTsKKyAgYCkKKyAgYXNz
ZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZlKHRoaXNfdG9rZW5fMSksICJhY3RpdmF0ZWQiKTsKKwor
ICAvLyBDcmVhdGUgYSBDT0VQOmNyZWRlbnRpYWxsZXNzIGRvY3VtZW50LgorICBjb25zdCBkb2N1
bWVudF90b2tlbiA9IGVudmlyb25tZW50c1siZG9jdW1lbnQiXShjb2VwX2NyZWRlbnRpYWxsZXNz
KVswXTsKKworICAvLyBUaGUgZG9jdW1lbnQgZmV0Y2hlcyBhIHNhbWUtb3JpZ2luIG5vLWNvcnMg
cmVzb3VyY2UuIFRoZSByZXF1ZXN0cyBuZWVkcyB0bworICAvLyBiZSBzYW1lLW9yaWdpbiB0byBi
ZSBoYW5kbGVkIGJ5IHRoZSBTZXJ2aWNlV29ya2VyLgorICBzZW5kKGRvY3VtZW50X3Rva2VuLCBg
CisgICAgdHJ5IHsKKyAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goIi9wcm94aWVk
IiwgeyBtb2RlOiAibm8tY29ycyIsIH0pOworCisgICAgICBzZW5kKCIke3RoaXNfdG9rZW5fMn0i
LCAiRG9jdW1lbnQ6IEZldGNoIHN1Y2Nlc3MiKTsKKyAgICB9IGNhdGNoIChlcnJvcikgeworICAg
ICAgc2VuZCgiJHt0aGlzX3Rva2VuXzJ9IiwgIkRvY3VtZW50OiBGZXRjaCBlcnJvciIpOworICAg
IH0KKyAgYCk7CisKKyAgLy8gVGhlIENPRVA6Y3JlZGVudGlhbGxlc3MgU2VydmljZVdvcmtlciBp
cyBhYmxlIHRvIGhhbmRsZSB0aGUgY3Jvc3Mtb3JpZ2luCisgIC8vIG5vLWNvcnMgcmVxdWVzdCwg
cmVxdWVzdGVkIHdpdGggY3JlZGVudGlhbHMuCisgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVjZWl2
ZSh0aGlzX3Rva2VuXzEpLCAiU2VydmljZVdvcmtlcjogUHJveHlpbmciKTsKKyAgYXNzZXJ0X2Vx
dWFscyhhd2FpdCByZWNlaXZlKHRoaXNfdG9rZW5fMSksICJTZXJ2aWNlV29ya2VyOiBGZXRjaCBz
dWNjZXNzIik7CisKKyAgLy8gVGhlIENPRVA6Y3JlZGVudGlhbGxlc3MgRG9jdW1lbnQgaXMgYWxs
b3dlZCBieSBDT1JQIHRvIGdldCBpdC4KKyAgYXNzZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZlKHRo
aXNfdG9rZW5fMiksICJEb2N1bWVudDogRmV0Y2ggc3VjY2VzcyIpOworCisgIC8vIHRlc3QuYWRk
X2NsZWFudXAgZG9lc24ndCBhbGxvdyB3YWl0aW5nIGZvciBhIHByb21pc2UuIFVucmVnaXN0ZXJp
bmcgYQorICAvLyBTZXJ2aWNlV29ya2VyIGlzIGFuIGFzeW5jaHJvbm91cyBvcGVyYXRpb24uIEl0
IG1pZ2h0IG5vdCBiZSBjb21wbGV0ZWQgb24KKyAgLy8gdGltZSBmb3IgdGhlIG5leHQgdGVzdC4g
RG8gaXQgaGVyZSBmb3IgZXh0cmEgZmxha2luZXNzIHNhZmV0eS4KKyAgYXdhaXQgc3dfcmVnaXN0
cmF0aW9uLnVucmVnaXN0ZXIoKQorfSwgIkNPRVA6Y3JlZGVudGlhbGxlc3MgU2VydmljZVdvcmtl
ciIpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRl
bnRpYWxsZXNzL3NlcnZpY2Utd29ya2VyLWNvZXAtbm9uZS1wcm94eS50ZW50YXRpdmUuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3NlcnZpY2Utd29ya2Vy
LWNvZXAtbm9uZS1wcm94eS50ZW50YXRpdmUuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTk2MjNi
YzU0ZGRiZDVlMWM5ZDE2MjIxNDI2N2FkMWM2ZjU3ODJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mvc2VydmljZS13b3JrZXItY29lcC1ub25l
LXByb3h5LnRlbnRhdGl2ZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsOTEgQEAKKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRp
bHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2NvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZGlzcGF0Y2hlci5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
dGVzdC1oZWxwZXJzLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitjb25zdCByZXNvdXJj
ZV9wYXRoID0gZGlyZWN0b3J5ICsgIi9yZXNvdXJjZXMvIjsKK2NvbnN0IHNhbWVfb3JpZ2luID0g
Z2V0X2hvc3RfaW5mbygpLkhUVFBTX09SSUdJTjsKK2NvbnN0IGNyb3NzX29yaWdpbiA9IGdldF9o
b3N0X2luZm8oKS5IVFRQU19SRU1PVEVfT1JJR0lOOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVz
dCA9PiB7CisgIGNvbnN0IHRoaXNfdG9rZW5fMSA9IHRva2VuKCk7CisgIGNvbnN0IHRoaXNfdG9r
ZW5fMiA9IHRva2VuKCk7CisKKyAgLy8gUmVnaXN0ZXIgYSBDT0VQOm5vbmUgU2VydmljZVdvcmtl
ci4KKyAgY29uc3Qgc3dfdG9rZW4gPSB0b2tlbigpOworICBjb25zdCBzd191cmwgPSBzd19leGVj
dXRvcl9qc19wYXRoICsgY29lcF9ub25lICsgYCZ1dWlkPSR7c3dfdG9rZW59YDsKKyAgY29uc3Qg
c3dfcmVnaXN0cmF0aW9uID0KKyAgICBhd2FpdCBzZXJ2aWNlX3dvcmtlcl91bnJlZ2lzdGVyX2Fu
ZF9yZWdpc3Rlcih0ZXN0LCBzd191cmwsIHJlc291cmNlX3BhdGgpOworICB0ZXN0LmFkZF9jbGVh
bnVwKCgpID0+IHN3X3JlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkpOworICBhd2FpdCB3YWl0X2Zv
cl9zdGF0ZSh0ZXN0LCBzd19yZWdpc3RyYXRpb24uaW5zdGFsbGluZywgJ2FjdGl2YXRlZCcpOwor
CisgIC8vIENvbmZpZ3VyZSB0aGUgU2VydmljZVdvcmtlciB0byBwcm94eSB0aGUgZmV0Y2ggcmVx
dWVzdHMuIFdhaXQgZm9yIHRoZQorICAvLyB3b3JrZXIgdG8gYmUgaW5zdGFsbGVkIGFuZCBhY3Rp
dmF0ZWQuCisgIHNlbmQoc3dfdG9rZW4sIGAKKyAgICBmZXRjaEhhbmRsZXIgPSBldmVudCA9PiB7
CisgICAgICBpZiAoIWV2ZW50LnJlcXVlc3QudXJsLmluY2x1ZGVzKCIvcHJveGllZCIpKQorICAg
ICAgICByZXR1cm47CisKKyAgICAgIHNlbmQoIiR7dGhpc190b2tlbl8xfSIsICJTZXJ2aWNlV29y
a2VyOiBQcm94eWluZyIpOworCisgICAgICAvLyBSZXNwb25zZSB3aXRoIGEgY3Jvc3Mtb3JpZ2lu
IG5vLWNvcnMgcmVzb3VyY2UuCisgICAgICBjb25zdCB1cmwgPSAiJHtjcm9zc19vcmlnaW59IiAr
ICIvY29tbW9uL2JsYW5rLmh0bWx9IjsKKworICAgICAgZXZlbnQucmVzcG9uZFdpdGgobmV3IFBy
b21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgbGV0IHJl
c3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7CisgICAgICAgICAgICBtb2RlOiAibm8tY29ycyIs
CisgICAgICAgICAgICBjcmVkZW50aWFsczogImluY2x1ZGUiCisgICAgICAgICAgfSk7CisgICAg
ICAgICAgc2VuZCgiJHt0aGlzX3Rva2VuXzF9IiwgIlNlcnZpY2VXb3JrZXI6IEZldGNoIHN1Y2Nl
c3MiKTsKKyAgICAgICAgICByZXNvbHZlKHJlc3BvbnNlKTsKKyAgICAgICAgfSBjYXRjaCAoZXJy
b3IpIHsKKyAgICAgICAgICBzZW5kKCIke3RoaXNfdG9rZW5fMX0iLCAiU2VydmljZVdvcmtlcjog
RmV0Y2ggZmFpbHVyZSIpOworICAgICAgICAgIHJlc29sdmUobmV3IFJlc3BvbnNlKCIiLCB7c3Rh
dHVzOiA0MDB9KSk7CisgICAgICAgIH0KKyAgICAgIH0pKTsKKyAgICB9CisKKyAgICBhd2FpdCBj
bGllbnRzLmNsYWltKCk7CisKKyAgICBzZW5kKCIke3RoaXNfdG9rZW5fMX0iLCBzZXJ2aWNlV29y
a2VyLnN0YXRlKTsKKyAgYCkKKyAgYXNzZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZlKHRoaXNfdG9r
ZW5fMSksICJhY3RpdmF0ZWQiKTsKKworICAvLyBDcmVhdGUgYSBDT0VQOmNyZWRlbnRpYWxsZXNz
IGRvY3VtZW50LgorICBjb25zdCBkb2N1bWVudF90b2tlbiA9IGVudmlyb25tZW50c1siZG9jdW1l
bnQiXShjb2VwX2NyZWRlbnRpYWxsZXNzKVswXTsKKworICAvLyBUaGUgZG9jdW1lbnQgZmV0Y2hl
cyBhIHNhbWUtb3JpZ2luIG5vLWNvcnMgcmVzb3VyY2UuIFRoZSByZXF1ZXN0cyBuZWVkcyB0bwor
ICAvLyBiZSBzYW1lLW9yaWdpbiB0byBiZSBoYW5kbGVkIGJ5IHRoZSBTZXJ2aWNlV29ya2VyLgor
ICBzZW5kKGRvY3VtZW50X3Rva2VuLCBgCisgICAgdHJ5IHsKKyAgICAgIGNvbnN0IHJlc3BvbnNl
ID0gYXdhaXQgZmV0Y2goIi9wcm94aWVkIiwgeworICAgICAgICBtb2RlOiAibm8tY29ycyIsCisg
ICAgICAgIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSIKKyAgICAgIH0pOworCisgICAgICBzZW5kKCIk
e3RoaXNfdG9rZW5fMn0iLCAiRG9jdW1lbnQ6IEZldGNoIHN1Y2Nlc3MiKTsKKyAgICB9IGNhdGNo
IChlcnJvcikgeworICAgICAgc2VuZCgiJHt0aGlzX3Rva2VuXzJ9IiwgIkRvY3VtZW50OiBGZXRj
aCBlcnJvciIpOworICAgIH0KKyAgYCk7CisKKyAgLy8gVGhlIENPRVA6dW5zYWZlLW5vbmUgU2Vy
dmljZVdvcmtlciBpcyBhYmxlIHRvIGhhbmRsZSB0aGUgY3Jvc3Mtb3JpZ2luCisgIC8vIG5vLWNv
cnMgcmVxdWVzdCwgcmVxdWVzdGVkIHdpdGggY3JlZGVudGlhbHMuCisgIGFzc2VydF9lcXVhbHMo
YXdhaXQgcmVjZWl2ZSh0aGlzX3Rva2VuXzEpLCAiU2VydmljZVdvcmtlcjogUHJveHlpbmciKTsK
KyAgYXNzZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZlKHRoaXNfdG9rZW5fMSksICJTZXJ2aWNlV29y
a2VyOiBGZXRjaCBzdWNjZXNzIik7CisKKyAgLy8gSG93ZXZlciwgdGhlIENPRVA6Y3JlZGVudGlh
bGxlc3MgRG9jdW1lbnQgaXMgZGlzYWxsb3dlZCBieSBDT1JQIHRvIGdldCBpdC4KKyAgYXNzZXJ0
X2VxdWFscyhhd2FpdCByZWNlaXZlKHRoaXNfdG9rZW5fMiksICJEb2N1bWVudDogRmV0Y2ggZXJy
b3IiKTsKKworICAvLyB0ZXN0LmFkZF9jbGVhbnVwIGRvZXNuJ3QgYWxsb3cgd2FpdGluZyBmb3Ig
YSBwcm9taXNlLiBVbnJlZ2lzdGVyaW5nIGEKKyAgLy8gU2VydmljZVdvcmtlciBpcyBhbiBhc3lu
Y2hyb25vdXMgb3BlcmF0aW9uLiBJdCBtaWdodCBub3QgYmUgY29tcGxldGVkIG9uCisgIC8vIHRp
bWUgZm9yIHRoZSBuZXh0IHRlc3QuIERvIGl0IGhlcmUgZm9yIGV4dHJhIGZsYWtpbmVzcyBzYWZl
dHkuCisgIGF3YWl0IHN3X3JlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCkKK30sICJDT0VQOnVuc2Fm
ZS1ub25lIFNlcnZpY2VXb3JrZXIiKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9zaGFyZWQtd29ya2VyLnRlbnRhdGl2ZS5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mvc2hhcmVkLXdvcmtl
ci50ZW50YXRpdmUuaHR0cHMuaHRtbAppbmRleCA1NjJhMDMxM2M4ZDQwOGRjNmJjYzNhNzdhYWFl
MmYxNTQ5NTFhNDJhLi42NzA3ZjZhYWJjNmZhMTEzNzI5ZDFhMjZiMDI1NTMxN2YxMTg3NDAzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9zaGFyZWQtd29y
a2VyLnRlbnRhdGl2ZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRl
bnRpYWxsZXNzL3NoYXJlZC13b3JrZXIudGVudGF0aXZlLmh0dHBzLmh0bWwKQEAgLTEwMiw3ICsx
MDIsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9PiB7CiAgIHNoYXJlZFdvcmtlclRlc3Qo
InNhbWUtb3JpZ2luIiwKICAgICBzYW1lX29yaWdpbiwgY29lcF9ub25lLAogICAgIGNvb2tpZV9z
YW1lX29yaWdpbiwKLSAgICAiV29ya2VyIGJsb2NrZWQiKTsKKyAgICBjb29raWVfc2FtZV9vcmln
aW4pOwogCiAgIHNoYXJlZFdvcmtlclRlc3QoInNhbWUtb3JpZ2luICsgY3JlZGVudGlhbGxlc3Mg
d29ya2VyIiwKICAgICBzYW1lX29yaWdpbiwgY29lcF9jcmVkZW50aWFsbGVzcywKQEAgLTExMiw3
ICsxMTIsNyBAQCBwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9PiB7CiAgIHNoYXJlZFdvcmtlclRl
c3QoImNyb3NzLW9yaWdpbiIsCiAgICAgY3Jvc3Nfb3JpZ2luLCBjb2VwX25vbmUsCiAgICAgY29v
a2llX2Nyb3NzX29yaWdpbiwKLSAgICAiV29ya2VyIGJsb2NrZWQiKTsKKyAgICBjb29raWVfY3Jv
c3Nfb3JpZ2luKTsKIAogICBzaGFyZWRXb3JrZXJUZXN0KCJjcm9zcy1vcmlnaW4gKyBjcmVkZW50
aWFsbGVzcyB3b3JrZXIiLAogICAgIGNyb3NzX29yaWdpbiwgY29lcF9jcmVkZW50aWFsbGVzcywK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvdzNjLWltcG9ydC5s
b2cKaW5kZXggNmMxZjE0MTk1ZjBjZWVlN2UzNmU5OWIxNzA1OTRiNjk1ZTc1Y2EzNi4uNDU0OWE3
ZjgxMTZlNmYzNTJjNzY3YjZhZTk5OTgyZWY5NTc5ZjNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJl
ZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJl
ZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3MvdzNjLWltcG9ydC5sb2cKQEAgLTMxLDYgKzMxLDgg
QEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9y
ZXBvcnRpbmctbmF2aWdhdGlvbi50ZW50YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2NyZWRlbnRpYWxsZXNzL3JlcG9ydGluZy1zdWJyZXNvdXJjZS1jb3JwLnRlbnRhdGl2
ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mvc2NyaXB0
LnRlbnRhdGl2ZS5odHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxl
c3Mvc2VydmljZS13b3JrZXItY29lcC1jcmVkZW50aWFsbGVzcy1wcm94eS50ZW50YXRpdmUuaHR0
cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3NlcnZpY2Utd29y
a2VyLWNvZXAtbm9uZS1wcm94eS50ZW50YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2NyZWRlbnRpYWxsZXNzL3NlcnZpY2Utd29ya2VyLnRlbnRhdGl2ZS5odHRwcy5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvY3JlZGVudGlhbGxlc3Mvc2hhcmVkLXdvcmtlci50ZW50
YXRpdmUuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2NyZWRlbnRpYWxsZXNzL3Zp
ZGVvLnRlbnRhdGl2ZS5odHRwcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGlj
eS9pZnJhbWUtaGlzdG9yeS1ub25lLXJlcXVpcmUtY29ycC5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9pZnJhbWUtaGlzdG9yeS1ub25lLXJlcXVpcmUtY29ycC5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YwMjY5NjAwODdhN2Y4NWUxMjU1OWNmY2QxMTFj
YWJiNzlhMWU1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L2lmcmFt
ZS1oaXN0b3J5LW5vbmUtcmVxdWlyZS1jb3JwLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyAibm9uZSIgdG9wLWxldmVsOiBuYXZpZ2F0aW5nIGEgZnJhbWUgYmFjayBm
cm9tICJyZXF1aXJlLWNvcnAiIHNob3VsZCBzdWNjZWVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L2lmcmFtZS1oaXN0b3J5LW5vbmUtcmVxdWlyZS1jb3JwLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9pZnJhbWUtaGlzdG9yeS1ub25lLXJlcXVpcmUtY29ycC5o
dHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4NGM2ODQwZDExY2MxNjU1Zjc5MDk1MmZmY2I2YjJiZTZk
OGY1ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9pZnJhbWUtaGlz
dG9yeS1ub25lLXJlcXVpcmUtY29ycC5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxtZXRh
IG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL3V0aWxzLmpzPjwvc2Ny
aXB0Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9PiB7CisgIC8vIFRPRE8oYXJ0
aHVyc29uem9nbmkpOiBDb25zaWRlciBzd2l0Y2hpbmcgdG93YXJkIGFub3RoZXIgbWVzc2FnZSBw
YXNzaW5nCisgIC8vIEFQSSBsaWtlOgorICAvLyAvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9kaXNwYXRjaGVyLmpzCisgIGNvbnN0IGJj
ID0gbmV3IEJyb2FkY2FzdENoYW5uZWwodG9rZW4oKSk7CisgIGNvbnN0IGZ1dHVyZU1lc3NhZ2Ug
PSAoKSA9PiB7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgYmMu
b25tZXNzYWdlID0gZXZlbnQgPT4gcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICB9KTsKKyAgfTsK
KworICBjb25zdCBwcmVmaXggPSBkb2N1bWVudC5VUkwuc3Vic3RyKDAsIGRvY3VtZW50LlVSTC5s
YXN0SW5kZXhPZignLycpKQorICBjb25zdCBhdHRyaWJ1dGUgPSBgP2NoYW5uZWxOYW1lPSR7YmMu
bmFtZX1gOworICBjb25zdCB1cmxfY29lcF9ub25lID0KKyAgICBwcmVmaXggKyAiL3Jlc291cmNl
cy9uYXZpZ2F0ZS1ub25lLnN1Yi5odG1sIiArIGF0dHJpYnV0ZTsKKyAgY29uc3QgdXJsX2NvZXBf
cmVxdWlyZV9jb3JwID0KKyAgICBwcmVmaXggKyAiL3Jlc291cmNlcy9uYXZpZ2F0ZS1yZXF1aXJl
LWNvcnAuc3ViLmh0bWwiICsgYXR0cmlidXRlOworCisgIGNvbnN0IHcgPSB3aW5kb3cub3Blbigp
OworICB0ZXN0LmFkZF9jbGVhbnVwKCgpID0+IHcuY2xvc2UoKSk7CisKKyAgLy8gTmF2aWdhdGUg
dG8gQ09FUDp1bnNhZmUtbm9uZS4KKyAgdy5sb2NhdGlvbi5ocmVmID0gdXJsX2NvZXBfbm9uZTsK
KyAgYXNzZXJ0X2VxdWFscyhhd2FpdCBmdXR1cmVNZXNzYWdlKCksICJsb2FkZWQiKTsKKyAgYXNz
ZXJ0X2VxdWFscyh3LmxvY2F0aW9uLmhyZWYsIHVybF9jb2VwX25vbmUpOworCisgIC8vIEZvciB1
bmtub3duIHJlYXNvbnMgc28gZmFyLiBXYWl0aW5nIGluIGJldHdlZW4gdGhlIGRpZmZlcmVudCBu
YXZpZ2F0aW9ucworICAvLyBhdm9pZHMgZmxha2VzLgorICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHRlc3Quc3RlcF90aW1lb3V0KHJlc29sdmUsIDEwMDApKTsKKworICAvLyBOYXZpZ2F0
ZSB0byBDT0VQOnJlcXVpcmUtY29ycC4KKyAgdy5sb2NhdGlvbi5ocmVmID0gdXJsX2NvZXBfcmVx
dWlyZV9jb3JwOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IGZ1dHVyZU1lc3NhZ2UoKSwgImxvYWRl
ZCIpOworICBhc3NlcnRfZXF1YWxzKHcubG9jYXRpb24uaHJlZiwgdXJsX2NvZXBfcmVxdWlyZV9j
b3JwKTsKKworICAvLyBGb3IgdW5rbm93biByZWFzb25zIHNvIGZhci4gV2FpdGluZyBpbiBiZXR3
ZWVuIHRoZSBkaWZmZXJlbnQgbmF2aWdhdGlvbnMKKyAgLy8gYXZvaWRzIGZsYWtlcy4KKyAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMDAw
KSk7CisKKyAgLy8gTmF2aWdhdGUgYmFjayB0byBDT0VQOnVuc2FmZS1ub25lLCB1c2luZyB0aGUg
aGlzdG9yeSBBUEkuCisgIC8vIE5vdGU6IGB1cmxfY29lcF9ub25lYCBhbHJlYWR5IHRha2UgdGhl
IEJGQ2FjaGUgaW50byBhY2NvdW50LgorICB3Lmhpc3RvcnkuYmFjaygpOworICBhc3NlcnRfZXF1
YWxzKGF3YWl0IGZ1dHVyZU1lc3NhZ2UoKSwgImxvYWRlZCIpOworICBhc3NlcnRfZXF1YWxzKHcu
bG9jYXRpb24uaHJlZiwgdXJsX2NvZXBfbm9uZSk7Cit9LCBgIm5vbmUiIHRvcC1sZXZlbDogbmF2
aWdhdGluZyBhIGZyYW1lIGJhY2sgZnJvbSAicmVxdWlyZS1jb3JwIiBzaG91bGQgc3VjY2VlZGAp
OworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L25vbmUuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvbm9uZS5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggNGU4MGY4MGY5NmU1ZTIwMjc5YjIwNzFiZmU4ZWZmMjRkZDQyNTAwOC4uNWNl
MGM0MGM5YWM0MTNkNDgzOTVmOGM1MzI0ZmRlYjI5NTk2ZGQ2YSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kvbm9uZS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kvbm9uZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw2IEBACiAKIFBBU1Mg
Im5vbmUiIHRvcC1sZXZlbDogbmF2aWdhdGluZyBhIGZyYW1lIHRvICJub25lIiBzaG91bGQgc3Vj
Y2VlZAogUEFTUyAibm9uZSIgdG9wLWxldmVsOiBuYXZpZ2F0aW5nIGEgZnJhbWUgZnJvbSAicmVx
dWlyZS1jb3JwIiB0byAibm9uZSIgc2hvdWxkIHN1Y2NlZWQKLVBBU1MgIm5vbmUiIHRvcC1sZXZl
bDogbmF2aWdhdGluZyBhIGZyYW1lIGJhY2sgZnJvbSAicmVxdWlyZS1jb3JwIiBzaG91bGQgc3Vj
Y2VlZAogUEFTUyAicmVxdWlyZS1jb3JwIiB0b3AtbGV2ZWwgbm9vcGVuZXIgcG9wdXA6IG5hdmln
YXRpbmcgdG8gIm5vbmUiIHNob3VsZCBzdWNjZWVkCiBQQVNTIENPUlA6IHNhbWUtc2l0ZSBpcyBu
b3QgY2hlY2tlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvbm9uZS5odHRw
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvbm9uZS5odHRwcy5odG1sCmluZGV4IDNlNjFl
MTFiNjFjZjdjZGVmNWQ5OGE2YTYwYTU5MjA3YjM2ODliNWMuLjAwNDkyNGFkZTQxYjA0OGMxZTgw
NTU3MGVkYWIzNzE3Zjk3MmFlNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L25v
bmUuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9ub25lLmh0dHBzLmh0bWwK
QEAgLTEsNCArMSwzIEBACi08IWRvY3R5cGUgaHRtbD4KIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNv
bnRlbnQ9ImxvbmciPgogPHRpdGxlPkNyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaGVhZGVy
IGFuZCBuZXN0ZWQgbmF2aWdhYmxlIHJlc291cmNlIHdpdGhvdXQgc3VjaCBoZWFkZXI8L3RpdGxl
PgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KQEAgLTcs
NiArNiw3IEBACiA8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9z
Y3JpcHQ+CiA8ZGl2IGlkPWxvZz48L2Rpdj4KIDxzY3JpcHQ+CisKIGNvbnN0IEhPU1QgPSBnZXRf
aG9zdF9pbmZvKCk7CiBjb25zdCBCQVNFID0gbmV3IFVSTCgicmVzb3VyY2VzIiwgbG9jYXRpb24p
LnBhdGhuYW1lOwogCkBAIC00MSwzOSArNDEsMTEgQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAgYXNz
ZXJ0X2VxdWFscyhmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9keS5sb2NhbE5hbWUsICJib2R5Iik7
CiB9LCBgIm5vbmUiIHRvcC1sZXZlbDogbmF2aWdhdGluZyBhIGZyYW1lIGZyb20gInJlcXVpcmUt
Y29ycCIgdG8gIm5vbmUiIHNob3VsZCBzdWNjZWVkYCk7CiAKLWFzeW5jX3Rlc3QodCA9PiB7Ci0g
IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMgKCkgPT4gewotICAgIGNvbnN0IGJjID0gbmV3
IEJyb2FkY2FzdENoYW5uZWwodG9rZW4oKSk7Ci0gICAgY29uc3QgZnV0dXJlTWVzc2FnZSA9ICgp
ID0+IHsKLSAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgYmMu
b25tZXNzYWdlID0gZXZlbnQgPT4gcmVzb2x2ZShldmVudC5kYXRhKTsKLSAgICAgIH0pOwotICAg
IH07Ci0KLSAgICBjb25zdCBwcmVmaXggPSBkb2N1bWVudC5VUkwuc3Vic3RyKDAsIGRvY3VtZW50
LlVSTC5sYXN0SW5kZXhPZignLycpKQotICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGA/Y2hhbm5lbE5h
bWU9JHtiYy5uYW1lfWA7Ci0gICAgY29uc3QgdXJsXzEgPSBwcmVmaXggKyAiL3Jlc291cmNlcy9u
YXZpZ2F0ZS1ub25lLnN1Yi5odG1sIiArIGF0dHJpYnV0ZTsKLSAgICBjb25zdCB1cmxfMiA9IHBy
ZWZpeCArICIvcmVzb3VyY2VzL25hdmlnYXRlLXJlcXVpcmUtY29ycC5zdWIuaHRtbCIgKyBhdHRy
aWJ1dGU7Ci0KLSAgICBjb25zdCB3ID0gd2luZG93Lm9wZW4odXJsXzEsICJ3aW5kb3dfbmFtZSIp
OwotICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gdy5jbG9zZSgpKTsKLSAgICBhc3NlcnRfZXF1YWxz
KGF3YWl0IGZ1dHVyZU1lc3NhZ2UoKSwgImxvYWRlZCIpOwotICAgIGFzc2VydF9lcXVhbHMody5s
b2NhdGlvbi5ocmVmLCB1cmxfMSk7Ci0KLSAgICB3LmxvY2F0aW9uLmhyZWYgPSB1cmxfMjsKLSAg
ICBhc3NlcnRfZXF1YWxzKGF3YWl0IGZ1dHVyZU1lc3NhZ2UoKSwgImxvYWRlZCIpOwotICAgIGFz
c2VydF9lcXVhbHMody5sb2NhdGlvbi5ocmVmLCB1cmxfMik7Ci0KLSAgICB3Lmhpc3RvcnkuYmFj
aygpOwotICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgZnV0dXJlTWVzc2FnZSgpLCAibG9hZGVkIik7
Ci0gICAgYXNzZXJ0X2VxdWFscyh3LmxvY2F0aW9uLmhyZWYsIHVybF8xKTsKLQotICAgIHQuZG9u
ZSgpOwotICB9KS5jYXRjaCgoZSkgPT4gdC51bnJlYWNoZWRfZnVuYyhlKSk7Ci19LCBgIm5vbmUi
IHRvcC1sZXZlbDogbmF2aWdhdGluZyBhIGZyYW1lIGJhY2sgZnJvbSAicmVxdWlyZS1jb3JwIiBz
aG91bGQgc3VjY2VlZGApOwotCiBhc3luY190ZXN0KHQgPT4gewogICBsZXQgcGFnZUxvYWRlZCA9
IGZhbHNlOworICAvLyBUT0RPKGFydGh1cnNvbnpvZ25pKTogQ29uc2lkZXIgc3dpdGNoaW5nIHRv
d2FyZCBhbm90aGVyIG1lc3NhZ2UgcGFzc2luZworICAvLyBBUEkgbGlrZToKKyAgLy8gL2h0bWwv
Y3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jcmVkZW50aWFsbGVzcy9yZXNvdXJjZXMvZGlz
cGF0Y2hlci5qcwogICBjb25zdCBiYyA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRva2VuKCkpOwog
ICBsZXQgZmluaXNoZWQgPSBmYWxzZTsKICAgbGV0IGRvbmVDaGVjayA9IF8gPT4gewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLW5hdmlnYXRpb24uaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLW5hdmlnYXRpb24uaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDQ2MzcxMmE1MDhjY2QyOWFmYzM2YzRiNWRkZGJjZGVhYzVm
MDZlMWMuLjJjZGIzZWRlN2UxYjY0MGEwYmQ0MWZmYmQ3ZTdmYzRkNDZhMjNjMzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy1uYXZpZ2F0aW9uLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctbmF2aWdhdGlvbi5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTUyICsxLDM0IEBACitDT05TT0xFIE1FU1NBR0U6IFJl
ZnVzZWQgdG8gbG9hZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi9ibGFuay5odG1sP3Bp
cGU9fGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbil8aGVh
ZGVyKGNvbnRlbnQtc2VjdXJpdHktcG9saWN5LGZyYW1lLWFuY2VzdG9ycyUyMCUyN25vbmUlMjcp
IGJlY2F1c2UgaXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBmcmFtZS1hbmNlc3RvcnMgZGlyZWN0
aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KK0NPTlNPTEUgTUVTU0FHRTogUmVm
dXNlZCB0byBsb2FkIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL2JsYW5rLmh0bWw/cGlw
ZT18aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKXxoZWFk
ZXIoY29udGVudC1zZWN1cml0eS1wb2xpY3ksZnJhbWUtYW5jZXN0b3JzJTIwJTI3bm9uZSUyNykg
YmVjYXVzZSBpdCBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGZyYW1lLWFuY2VzdG9ycyBkaXJlY3Rp
dmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogCi1GQUlMIHBhcmVudDogKG5vbmUp
LCB0YXJnZXQ6IChub25lKSwgd2l0aCBlbXB0eSBmcmFtZTogZmFsc2UgdW5kZWZpbmVkIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVy
KChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNo
KHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJlbnQ6IChub25lKSwgdGFyZ2V0
OiAobm9uZSksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0
cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyKChycykgPT4g
ewotICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09O
KCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJlbnQ6IChub25lKSwgdGFyZ2V0OiB8aGVhZGVy
KGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgd2l0aCBlbXB0eSBm
cmFtZTogZmFsc2UgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICdu
ZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBv
ZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQot
RkFJTCBwYXJlbnQ6IChub25lKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZSB1bmRlZmluZWQg
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2Jz
ZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRz
LnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhlYWRlcihj
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRl
cihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHdpdGggZW1wdHkg
ZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAn
bmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHIg
b2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsKLSAgICB9Ci0gIH0pJykK
LUZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWly
ZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVx
dWlyZS1jb3JwKSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29u
c3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9
PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pT
T04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogKG5vbmUpLCB3aXRoIGVtcHR5
IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCBy
IG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScp
Ci1GQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVp
cmUtY29ycCksIHRhcmdldDogKG5vbmUpLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5l
ZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdP
YnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9y
dHMucHVzaChyLnRvSlNPTigpKTsKLSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiAobm9uZSks
IHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdp
biksIHdpdGggZW1wdHkgZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAg
ICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsK
LSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiAobm9uZSksIHRhcmdldDogfGhlYWRlcihjcm9z
cy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6
IHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xv
YmFsLlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykg
ewotICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBw
YXJlbnQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnAp
LCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmln
aW4pLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0g
ICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7
Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVz
b3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZp
bmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGlu
Z09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVw
b3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJlbnQ6IChub25l
KSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1j
b3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3
aXRoIGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2
YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9y
IChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAg
fQotICB9KScpCi1GQUlMIHBhcmVudDogKG5vbmUpLCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVz
b3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZp
bmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGlu
Z09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVw
b3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJlbnQ6IHxoZWFk
ZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxo
ZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApfGhlYWRlcihj
cm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJh
bWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHIgb2Yg
cnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsKLSAgICB9Ci0gIH0pJykKLUZB
SUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1j
b3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWly
ZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4p
LCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBm
b3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsKLSAg
ICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgd2l0aCBlbXB0eSBmcmFtZTogZmFs
c2UgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFs
LlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykgewot
ICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJl
bnQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS1yZXBvcnQtb25seSxyZXF1
aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxy
ZXF1aXJlLWNvcnApLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBj
b25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMp
ID0+IHsKLSAgICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRv
SlNPTigpKTsKLSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiAobm9u
ZSksIHdpdGggZW1wdHkgZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAg
ICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsK
LSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiAobm9uZSksIHdpdGgg
ZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0
aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29u
c3QgciBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KLSAg
fSknKQotRkFJTCBwYXJlbnQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS1y
ZXBvcnQtb25seSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJl
c291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRl
ZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0
aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICBy
ZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhl
YWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LHJlcXVpcmUtY29y
cCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9y
aWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewot
ICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkp
OwotICAgIH0KLSAgfSknKQotRkFJTCBwYXJlbnQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS1yZXBvcnQtb25seSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFkZXIoY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApfGhlYWRlcihjcm9zcy1vcmln
aW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IGZhbHNl
IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5S
ZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAg
ICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsKLSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50
OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWly
ZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVx
dWlyZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmln
aW4pLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3Rv
ciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAg
ICBmb3IgKGNvbnN0IHIgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsK
LSAgICB9Ci0gIH0pJykKLUZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJl
ZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2lu
LXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZSB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVw
b3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAg
ICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDog
fGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdl
dDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LHJlcXVp
cmUtY29ycCl8aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2lu
KSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3Ig
KGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAg
Zm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0g
ICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3Vy
Y2UtcG9saWN5LGNyb3NzLW9yaWdpbil8aGVhZGVyKGNvbnRlbnQtc2VjdXJpdHktcG9saWN5LGZy
YW1lLWFuY2VzdG9ycyAnbm9uZScpLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQg
aXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2Jz
ZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAgICByZXBvcnRz
LnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBhcmVudDogfGhlYWRlcihj
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRl
cihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbil8aGVhZGVyKGNvbnRl
bnQtc2VjdXJpdHktcG9saWN5LGZyYW1lLWFuY2VzdG9ycyAnbm9uZScpLCB3aXRoIGVtcHR5IGZy
YW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0IHIgb2Yg
cnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyLnRvSlNPTigpKTsKLSAgICB9Ci0gIH0pJykKLUZB
SUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1j
b3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mt
b3JpZ2luKXxoZWFkZXIoeC1mcmFtZS1vcHRpb25zLGRlbnkpLCB3aXRoIGVtcHR5IGZyYW1lOiBm
YWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9i
YWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7
Ci0gICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCi1GQUlMIHBh
cmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCks
IHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdp
bil8aGVhZGVyKHgtZnJhbWUtb3B0aW9ucyxkZW55KSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZSB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVw
b3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByIG9mIHJzKSB7Ci0gICAg
ICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7Ci0gICAgfQotICB9KScpCitQQVNTIHBhcmVudDog
KG5vbmUpLCB0YXJnZXQ6IChub25lKSwgd2l0aCBlbXB0eSBmcmFtZTogZmFsc2UKK1BBU1MgcGFy
ZW50OiAobm9uZSksIHRhcmdldDogKG5vbmUpLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlCitQQVNT
IHBhcmVudDogKG5vbmUpLCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeSxyZXF1aXJlLWNvcnApLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZQorUEFTUyBwYXJlbnQ6
IChub25lKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVx
dWlyZS1jb3JwKSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZQorRkFJTCBwYXJlbnQ6IHxoZWFkZXIo
Y3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFk
ZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB3aXRoIGVtcHR5
IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcg
J25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXInKQorRkFJTCBwYXJlbnQ6IHxoZWFkZXIoY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFkZXIo
Y3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB3aXRoIGVtcHR5IGZy
YW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicpCitGQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogKG5vbmUpLCB3aXRo
IGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXInKQorRkFJTCBwYXJlbnQ6IHxoZWFk
ZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IChu
b25lKSwgd2l0aCBlbXB0eSBmcmFtZTogdHJ1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0
b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXInKQorUEFTUyBwYXJl
bnQ6IChub25lKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ks
Y3Jvc3Mtb3JpZ2luKSwgd2l0aCBlbXB0eSBmcmFtZTogZmFsc2UKK1BBU1MgcGFyZW50OiAobm9u
ZSksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9y
aWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUKK0ZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNy
b3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKSwgd2l0aCBlbXB0eSBmcmFt
ZTogZmFsc2UgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcg
Z2xvYmFsLlJlcG9ydGluZ09ic2VydmVyJykKK0ZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3Nz
LW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKSwgd2l0aCBlbXB0eSBmcmFtZTog
dHJ1ZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9i
YWwuUmVwb3J0aW5nT2JzZXJ2ZXInKQorUEFTUyBwYXJlbnQ6IChub25lKSwgdGFyZ2V0OiB8aGVh
ZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKXxoZWFkZXIoY3Jv
c3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1l
OiBmYWxzZQorUEFTUyBwYXJlbnQ6IChub25lKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291
cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlCitQQVNTIHBh
cmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCks
IHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29y
cCl8aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKSwgd2l0
aCBlbXB0eSBmcmFtZTogZmFsc2UKK1BBU1MgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291
cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlCitGQUlMIHBh
cmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LHJl
cXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5
LHJlcXVpcmUtY29ycCksIHdpdGggZW1wdHkgZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3Qg
YSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicp
CitGQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9y
dC1vbmx5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZpbmVk
IGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09i
c2VydmVyJykKK0ZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xp
Y3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiAobm9uZSksIHdpdGggZW1wdHkg
ZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAn
bmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicpCitGQUlMIHBhcmVudDogfGhlYWRlcihjcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LHJlcXVpcmUtY29ycCksIHRhcmdl
dDogKG5vbmUpLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25z
dHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicpCitGQUlM
IHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5
LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9s
aWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IGZhbHNlIHVuZGVmaW5lZCBpcyBu
b3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZl
cicpCitGQUlMIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LXJl
cG9ydC1vbmx5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVz
b3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZp
bmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGlu
Z09ic2VydmVyJykKK1BBU1MgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9y
aWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJl
c291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRoIGVtcHR5IGZyYW1lOiBmYWxzZQorUEFT
UyBwYXJlbnQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS1yZXBvcnQtb25s
eSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeSxyZXF1aXJlLWNvcnApfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNy
b3NzLW9yaWdpbiksIHdpdGggZW1wdHkgZnJhbWU6IHRydWUKK0ZBSUwgcGFyZW50OiB8aGVhZGVy
KGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVh
ZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3Jw
KXxoZWFkZXIoY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSxjcm9zcy1vcmlnaW4pLCB3aXRo
IGVtcHR5IGZyYW1lOiBmYWxzZSB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1
YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXInKQorRkFJTCBwYXJlbnQ6IHxoZWFk
ZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSxyZXF1aXJlLWNvcnApLCB0YXJnZXQ6IHxo
ZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS1yZXBvcnQtb25seSxyZXF1aXJlLWNv
cnApfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbiksIHdp
dGggZW1wdHkgZnJhbWU6IHRydWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFs
dWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyJykKK1BBU1MgcGFyZW50OiB8aGVh
ZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8
aGVhZGVyKGNyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKXxoZWFkZXIo
Y29udGVudC1zZWN1cml0eS1wb2xpY3ksZnJhbWUtYW5jZXN0b3JzICdub25lJyksIHdpdGggZW1w
dHkgZnJhbWU6IGZhbHNlCitQQVNTIHBhcmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5LHJlcXVpcmUtY29ycCksIHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVz
b3VyY2UtcG9saWN5LGNyb3NzLW9yaWdpbil8aGVhZGVyKGNvbnRlbnQtc2VjdXJpdHktcG9saWN5
LGZyYW1lLWFuY2VzdG9ycyAnbm9uZScpLCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlCitGQUlMIHBh
cmVudDogfGhlYWRlcihjcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5LHJlcXVpcmUtY29ycCks
IHRhcmdldDogfGhlYWRlcihjcm9zcy1vcmlnaW4tcmVzb3VyY2UtcG9saWN5LGNyb3NzLW9yaWdp
bil8aGVhZGVyKHgtZnJhbWUtb3B0aW9ucyxkZW55KSwgd2l0aCBlbXB0eSBmcmFtZTogZmFsc2Ug
dW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJl
cG9ydGluZ09ic2VydmVyJykKK0ZBSUwgcGFyZW50OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJl
ZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKSwgdGFyZ2V0OiB8aGVhZGVyKGNyb3NzLW9yaWdpbi1y
ZXNvdXJjZS1wb2xpY3ksY3Jvc3Mtb3JpZ2luKXxoZWFkZXIoeC1mcmFtZS1vcHRpb25zLGRlbnkp
LCB3aXRoIGVtcHR5IGZyYW1lOiB0cnVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAo
ZXZhbHVhdGluZyAnbmV3IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicpCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy1uYXZpZ2F0aW9uLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctbmF2aWdhdGlvbi5odHRwcy5odG1sCmluZGV4
IGFiMjc0YmUzMjk1Mjg0MjEwNDQwYWZhODlhZTkzMzI5ZDdlZWZmZTYuLmRlYTg5NDc4MTgzODcw
ZmEzZGI0ZmY2ZmVmMWQ5N2EyYTRjZWQ1MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9s
aWN5L3JlcG9ydGluZy1uYXZpZ2F0aW9uLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvcmVwb3J0aW5nLW5hdmlnYXRpb24uaHR0cHMuaHRtbApAQCAtNSw2ICs1LDcgQEAKIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuL2NyZWRlbnRpYWxsZXNzL3Jlc291cmNlcy9jb21tb24uanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KIGNvbnN0IHtPUklHSU4sIFJFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOwogY29u
c3QgQ09FUCA9ICd8aGVhZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kscmVxdWlyZS1j
b3JwKSc7CkBAIC02NywxNiArNjgsMjUgQEAgYXN5bmMgZnVuY3Rpb24gbG9hZEZyYW1lcyh0ZXN0
LCBwYXJlbnRTdWZmaXgsIHdpdGhFbXB0eUZyYW1lLCB0YXJnZXRVcmwpIHsKICAgcmV0dXJuIHBh
cmVudDsKIH0KIAotYXN5bmMgZnVuY3Rpb24gb2JzZXJ2ZVJlcG9ydHMoZ2xvYmFsKSB7Cithc3lu
YyBmdW5jdGlvbiBvYnNlcnZlUmVwb3J0cyhnbG9iYWwsIGV4cGVjdGVkX2NvdW50KSB7CiAgIGNv
bnN0IHJlcG9ydHMgPSBbXTsKLSAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgZ2xvYmFsLlJlcG9ydGlu
Z09ic2VydmVyKChycykgPT4gewotICAgIGZvciAoY29uc3QgciBvZiBycykgewotICAgICAgcmVw
b3J0cy5wdXNoKHIudG9KU09OKCkpOwotICAgIH0KKyAgY29uc3QgcmVjZWl2ZWRFdmVyeVJlcG9y
dHMgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBpZiAoZXhwZWN0ZWRfY291bnQgPT0g
MCkKKyAgICAgIHJlc29sdmUoKTsKKworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IGdsb2JhbC5S
ZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKKyAgICAgIGZvciAoY29uc3QgciBvZiBycykgewor
ICAgICAgICByZXBvcnRzLnB1c2goci50b0pTT04oKSk7CisgICAgICB9CisgICAgICBpZiAoZXhw
ZWN0ZWRfY291bnQgPD0gcmVwb3J0cy5sZW5ndGgpCisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9
KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKCk7CisKICAgfSk7Ci0gIG9ic2VydmVyLm9ic2VydmUo
KTsKIAotICAvLyBXYWl0IDUwMDBtcyBmb3IgcmVwb3J0cyB0byBzZXR0bGUuCisgIC8vIFdhaXQg
NTAwMCBtcyBtb3JlIHRvIGNhdGNoIGFkZGl0aW9ubmFsIHVuZXhwZWN0ZWQgcmVwb3J0cy4KKyAg
YXdhaXQgcmVjZWl2ZWRFdmVyeVJlcG9ydHM7CiAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gc3Rl
cF90aW1lb3V0KHIsIDUwMDApKTsKICAgcmV0dXJuIHJlcG9ydHM7CiB9CkBAIC0xMjUsMzAgKzEz
NSwzMSBAQCBmb3IgKGNvbnN0IHRlc3RjYXNlIG9mIENBU0VTKSB7CiAgICAgICBsb2FkRnJhbWVz
KHQsIHRlc3RjYXNlLnBhcmVudCwgd2l0aEVtcHR5RnJhbWUsIHRhcmdldFVybCkKICAgICAgICAg
ICAudGhlbih0LnN0ZXBfZnVuYyhwYXJlbnQgPT4gewogICAgICAgICBjb25zdCBjb250ZXh0VXJs
ID0gcGFyZW50LnNyYyA/IHBhcmVudC5zcmMgOiAnYWJvdXQ6YmxhbmsnOwotICAgICAgICBvYnNl
cnZlUmVwb3J0cyhwYXJlbnQuY29udGVudFdpbmRvdykudGhlbih0LnN0ZXBfZnVuYyhyZXBvcnRz
ID0+IHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMubGVuZ3RoLCB0ZXN0Y2FzZS5y
ZXBvcnRzLmxlbmd0aCk7Ci0gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXBvcnRzLmxl
bmd0aDsgaSArPSAxKSB7Ci0gICAgICAgICAgICBjb25zdCByZXBvcnQgPSByZXBvcnRzW2ldOwot
ICAgICAgICAgICAgc3dpdGNoICh0ZXN0Y2FzZS5yZXBvcnRzW2ldKSB7Ci0gICAgICAgICAgICAg
IGNhc2UgJ0NPUlAnOgotICAgICAgICAgICAgICAgIGNoZWNrQ29ycFJlcG9ydChyZXBvcnQsIGNv
bnRleHRVcmwsIHRhcmdldFVybCwgJ2VuZm9yY2UnKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgICAgY2FzZSAnQ09SUC1STyc6Ci0gICAgICAgICAgICAgICAgY2hlY2tDb3Jw
UmVwb3J0KHJlcG9ydCwgY29udGV4dFVybCwgdGFyZ2V0VXJsLCAncmVwb3J0aW5nJyk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgIGNhc2UgJ05BVic6Ci0gICAgICAgICAg
ICAgICAgY2hlY2tDb2VwTWlzbWF0Y2hSZXBvcnQocmVwb3J0LCBjb250ZXh0VXJsLCB0YXJnZXRV
cmwsICdlbmZvcmNlJyk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgIGNh
c2UgJ05BVi1STyc6Ci0gICAgICAgICAgICAgICAgY2hlY2tDb2VwTWlzbWF0Y2hSZXBvcnQocmVw
b3J0LCBjb250ZXh0VXJsLCB0YXJnZXRVcmwsICdyZXBvcnRpbmcnKTsKLSAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICBhc3NlcnRf
dW5yZWFjaGVkKAotICAgICAgICAgICAgICAgICAgJ1VuZXhwZWN0ZWQgcmVwb3J0IGV4cGVhY3Rp
b246ICcgKyB0ZXN0Y2FzZS5yZXBvcnRzW2ldKTsKKyAgICAgICAgb2JzZXJ2ZVJlcG9ydHMocGFy
ZW50LmNvbnRlbnRXaW5kb3csIHRlc3RjYXNlLnJlcG9ydHMubGVuZ3RoKQorICAgICAgICAgIC50
aGVuKHQuc3RlcF9mdW5jKHJlcG9ydHMgPT4geworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhy
ZXBvcnRzLmxlbmd0aCwgdGVzdGNhc2UucmVwb3J0cy5sZW5ndGgpOworICAgICAgICAgICAgZm9y
IChsZXQgaSA9IDA7IGkgPCByZXBvcnRzLmxlbmd0aDsgaSArPSAxKSB7CisgICAgICAgICAgICAg
IGNvbnN0IHJlcG9ydCA9IHJlcG9ydHNbaV07CisgICAgICAgICAgICAgIHN3aXRjaCAodGVzdGNh
c2UucmVwb3J0c1tpXSkgeworICAgICAgICAgICAgICAgIGNhc2UgJ0NPUlAnOgorICAgICAgICAg
ICAgICAgICAgY2hlY2tDb3JwUmVwb3J0KHJlcG9ydCwgY29udGV4dFVybCwgdGFyZ2V0VXJsLCAn
ZW5mb3JjZScpOworICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2Fz
ZSAnQ09SUC1STyc6CisgICAgICAgICAgICAgICAgICBjaGVja0NvcnBSZXBvcnQocmVwb3J0LCBj
b250ZXh0VXJsLCB0YXJnZXRVcmwsICdyZXBvcnRpbmcnKTsKKyAgICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ05BVic6CisgICAgICAgICAgICAgICAgICBjaGVj
a0NvZXBNaXNtYXRjaFJlcG9ydChyZXBvcnQsIGNvbnRleHRVcmwsIHRhcmdldFVybCwgJ2VuZm9y
Y2UnKTsKKyAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgJ05B
Vi1STyc6CisgICAgICAgICAgICAgICAgICBjaGVja0NvZXBNaXNtYXRjaFJlcG9ydChyZXBvcnQs
IGNvbnRleHRVcmwsIHRhcmdldFVybCwgJ3JlcG9ydGluZycpOworICAgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoCisgICAgICAgICAgICAgICAgICAgICdVbmV4cGVjdGVkIHJlcG9ydCBleHBl
YWN0aW9uOiAnICsgdGVzdGNhc2UucmVwb3J0c1tpXSk7CisgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KLSAgICAgICAgICB9Ci0gICAgICAgICAgdC5kb25lKCk7Ci0gICAgICAgIH0pKS5j
YXRjaCh0LnN0ZXBfZnVuYyhlID0+IHsgdGhyb3cgZTsgfSkpOworICAgICAgICAgICAgdC5kb25l
KCk7CisgICAgICAgICAgfSkpLmNhdGNoKHQuc3RlcF9mdW5jKGUgPT4geyB0aHJvdyBlOyB9KSk7
CiAgICAgICB9KSkuY2F0Y2godC5zdGVwX2Z1bmMoZSA9PiB7IHRocm93IGU7IH0pKTsKICAgICB9
LCBgcGFyZW50OiAke2Rlc2ModGVzdGNhc2UucGFyZW50KX0sIHRhcmdldDogJHtkZXNjKHRlc3Rj
YXNlLnRhcmdldCl9LCBgICsKICAgICAgICBgd2l0aCBlbXB0eSBmcmFtZTogJHt3aXRoRW1wdHlG
cmFtZX1gKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3JlcG9ydGluZy1zdWJy
ZXNvdXJjZS1jb3JwLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jl
cG9ydGluZy1zdWJyZXNvdXJjZS1jb3JwLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiNzA3NjU3
MzFkZWNlMmFmOWJkZjY5OTAzMmUzMTMyNjU0ODE4ZmExLi5kMzQ1NGVkMDhiMTU2OTFhNWJiZjU0
M2NjNzY3MDRmNTVkNGVjNjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBv
cnRpbmctc3VicmVzb3VyY2UtY29ycC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJl
ZGRlci1wb2xpY3kvcmVwb3J0aW5nLXN1YnJlc291cmNlLWNvcnAuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogQ2FuY2VsbGVkIGxvYWQgdG8gaHR0
cHM6Ly8xMjcuMC4wLjE6OTQ0My9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVz
b3VyY2VzL25vdGhpbmctc2FtZS1vcmlnaW4tY29ycC50eHQgYmVjYXVzZSBpdCB2aW9sYXRlcyB0
aGUgcmVzb3VyY2UncyBDcm9zcy1PcmlnaW4tUmVzb3VyY2UtUG9saWN5IHJlc3BvbnNlIGhlYWRl
ci4KK0NPTlNPTEUgTUVTU0FHRTogRmV0Y2ggQVBJIGNhbm5vdCBsb2FkIGh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9ub3Ro
aW5nLXNhbWUtb3JpZ2luLWNvcnAudHh0IGR1ZSB0byBhY2Nlc3MgY29udHJvbCBjaGVja3MuCitD
T05TT0xFIE1FU1NBR0U6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVw
b3J0aW5nT2JzZXJ2ZXInKQorQ09OU09MRSBNRVNTQUdFOiBDYW5jZWxsZWQgbG9hZCB0byBodHRw
czovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi90ZXh0LXBsYWluLnR4dCBiZWNhdXNlIGl0IHZpb2xh
dGVzIHRoZSByZXNvdXJjZSdzIENyb3NzLU9yaWdpbi1SZXNvdXJjZS1Qb2xpY3kgcmVzcG9uc2Ug
aGVhZGVyLgorQ09OU09MRSBNRVNTQUdFOiBGZXRjaCBBUEkgY2Fubm90IGxvYWQgaHR0cHM6Ly8x
MjcuMC4wLjE6OTQ0My9jb21tb24vdGV4dC1wbGFpbi50eHQgZHVlIHRvIGFjY2VzcyBjb250cm9s
IGNoZWNrcy4KK0NPTlNPTEUgTUVTU0FHRTogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IGdsb2JhbC5SZXBvcnRpbmdPYnNlcnZlcicpCitDT05TT0xFIE1FU1NBR0U6IENhbmNlbGxlZCBs
b2FkIHRvIGh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvY29tbW9uL3RleHQtcGxhaW4udHh0IGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIHJlc291cmNlJ3MgQ3Jvc3MtT3JpZ2luLVJlc291cmNlLVBvbGlj
eSByZXNwb25zZSBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IEZldGNoIEFQSSBjYW5ub3QgbG9h
ZCBodHRwczovLzEyNy4wLjAuMTo5NDQzL2NvbW1vbi90ZXh0LXBsYWluLnR4dCBkdWUgdG8gYWNj
ZXNzIGNvbnRyb2wgY2hlY2tzLgogQ09OU09MRSBNRVNTQUdFOiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogUmVwb3J0aW5nT2JzZXJ2ZXIKIENPTlNPTEUgTUVTU0FHRTogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlcG9ydGluZ09ic2VydmVyCiBDT05T
T0xFIE1FU1NBR0U6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXBvcnRp
bmdPYnNlcnZlcgpAQCAtNSwyNiArMTMsMTAgQEAgQ09OU09MRSBNRVNTQUdFOiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVwb3J0aW5nT2JzZXJ2ZXIKIAogSGFybmVzcyBF
cnJvciAoRkFJTCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogUmVwb3J0aW5nT2JzZXJ2ZXIKIAotRkFJTCBbZG9jdW1lbnRdIHNhbWUtb3JpZ2luIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgZnJhbWUu
Y29udGVudFdpbmRvdy5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3IgKGNvbnN0
IHJlcG9ydCBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHJlcG9ydC50b0pTT04oKSk7Ci0g
ICAgfQotICB9KScpIgotRkFJTCBbZG9jdW1lbnRdIGJsb2NrZWQgYnkgQ09SUDogc2FtZS1vcmln
aW4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25l
dyBmcmFtZS5jb250ZW50V2luZG93LlJlcG9ydGluZ09ic2VydmVyKChycykgPT4gewotICAgIGZv
ciAoY29uc3QgcmVwb3J0IG9mIHJzKSB7Ci0gICAgICByZXBvcnRzLnB1c2gocmVwb3J0LnRvSlNP
TigpKTsKLSAgICB9Ci0gIH0pJykiCi1GQUlMIFtkb2N1bWVudF0gYmxvY2tlZCBkdWUgdG8gQ09F
UCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3
IGZyYW1lLmNvbnRlbnRXaW5kb3cuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAgZm9y
IChjb25zdCByZXBvcnQgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyZXBvcnQudG9KU09O
KCkpOwotICAgIH0KLSAgfSknKSIKLUZBSUwgW2RvY3VtZW50XSBibG9ja2VkIGR1cmluZyByZWRp
cmVjdCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAn
bmV3IGZyYW1lLmNvbnRlbnRXaW5kb3cuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7Ci0gICAg
Zm9yIChjb25zdCByZXBvcnQgb2YgcnMpIHsKLSAgICAgIHJlcG9ydHMucHVzaChyZXBvcnQudG9K
U09OKCkpOwotICAgIH0KLSAgfSknKSIKK1BBU1MgW2RvY3VtZW50XSBzYW1lLW9yaWdpbgorUEFT
UyBbZG9jdW1lbnRdIGJsb2NrZWQgYnkgQ09SUDogc2FtZS1vcmlnaW4KK0ZBSUwgW2RvY3VtZW50
XSBibG9ja2VkIGR1ZSB0byBDT0VQIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVj
dG9yIChldmFsdWF0aW5nICduZXcgZ2xvYmFsLlJlcG9ydGluZ09ic2VydmVyJykiCitGQUlMIFtk
b2N1bWVudF0gYmxvY2tlZCBkdXJpbmcgcmVkaXJlY3QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGEgY29uc3RydWN0b3IgKGV2YWx1YXRpbmcgJ25ldyBnbG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIn
KSIKIEZBSUwgW2RlZGljYXRlZCB3b3JrZXJdIHNhbWUtb3JpZ2luIGFzc2VydF91bnJlYWNoZWQ6
IFdvcmtlci5vbmVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBbZGVkaWNhdGVk
IHdvcmtlcl0gYmxvY2tlZCBieSBDT1JQOiBzYW1lLW9yaWdpbiBhc3NlcnRfdW5yZWFjaGVkOiBX
b3JrZXIub25lcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgW2RlZGljYXRlZCB3
b3JrZXJdIGJsb2NrZWQgZHVlIHRvIENPRVAgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyLm9uZXJy
b3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9yZXBvcnRpbmctc3VicmVzb3VyY2UtY29ycC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRl
ci1wb2xpY3kvcmVwb3J0aW5nLXN1YnJlc291cmNlLWNvcnAuaHR0cHMuaHRtbAppbmRleCA5YmNm
MzdiMGNkZmUzMmY5Njc2Y2E0MjYwYTQ3Nzg3NWE2OTQxNGI4Li5lNTYxMjRhNGEwODVkOTYyODc0
NzE0YjNjMjNiMDkxMzc4ZDlmZjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9y
ZXBvcnRpbmctc3VicmVzb3VyY2UtY29ycC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXIt
cG9saWN5L3JlcG9ydGluZy1zdWJyZXNvdXJjZS1jb3JwLmh0dHBzLmh0bWwKQEAgLTIwLDggKzIw
LDI3IEBAIGNvbnN0IFJFUE9SVElOR19GUkFNRV9VUkwgPSBgJHtPUklHSU59JHtCQVNFfS9yZXBv
cnRpbmctZW1wdHktZnJhbWUuaHRtbGAgKwogICAnP3BpcGU9aGVhZGVyKGNyb3NzLW9yaWdpbi1l
bWJlZGRlci1wb2xpY3kscmVxdWlyZS1jb3JwKScgKwogICBgfGhlYWRlcihjcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5LXJlcG9ydC1vbmx5LHJlcXVpcmUtY29ycClgOwogCi1mdW5jdGlvbiB3
YWl0KG1zKSB7Ci0gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHN0ZXBfdGltZW91dChy
ZXNvbHZlLCBtcykpOworYXN5bmMgZnVuY3Rpb24gb2JzZXJ2ZVJlcG9ydHMoZ2xvYmFsLCBleHBl
Y3RlZF9jb3VudCkgeworICBjb25zdCByZXBvcnRzID0gW107CisgIGNvbnN0IHJlY2VpdmVkRXZl
cnlSZXBvcnRzID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgaWYgKGV4cGVjdGVkX2Nv
dW50ID09IDApCisgICAgICByZXNvbHZlKCk7CisKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBn
bG9iYWwuUmVwb3J0aW5nT2JzZXJ2ZXIoKHJzKSA9PiB7CisgICAgICBmb3IgKGNvbnN0IHIgb2Yg
cnMpIHsKKyAgICAgICAgcmVwb3J0cy5wdXNoKHIudG9KU09OKCkpOworICAgICAgfQorICAgICAg
aWYgKGV4cGVjdGVkX2NvdW50IDw9IHJlcG9ydHMubGVuZ3RoKQorICAgICAgICByZXNvbHZlKCk7
CisgICAgfSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSgpOworCisgIH0pOworCisgIGF3YWl0IHJl
Y2VpdmVkRXZlcnlSZXBvcnRzOworICAvLyBXYWl0IDUwMG1zIG1vcmUgdG8gY2F0Y2ggYWRkaXRp
b25uYWwgdW5leHBlY3RlZCByZXBvcnRzLgorICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHN0ZXBf
dGltZW91dChyLCA1MDApKTsKKyAgcmV0dXJuIHJlcG9ydHM7CiB9CiAKIGZ1bmN0aW9uIGNoZWNr
UmVwb3J0KHJlcG9ydCwgY29udGV4dFVybCwgYmxvY2tlZFVybCwgZGlzcG9zaXRpb24sIGRlc3Rp
bmF0aW9uKSB7CkBAIC0zMywyMyArNTIsMTUgQEAgZnVuY3Rpb24gY2hlY2tSZXBvcnQocmVwb3J0
LCBjb250ZXh0VXJsLCBibG9ja2VkVXJsLCBkaXNwb3NpdGlvbiwgZGVzdGluYXRpb24pIHsKICAg
YXNzZXJ0X2VxdWFscyhyZXBvcnQuYm9keS5kZXN0aW5hdGlvbiwgZGVzdGluYXRpb24pOwogfQog
Ci1hc3luYyBmdW5jdGlvbiBmZXRjaEluRnJhbWUodCwgZnJhbWVVcmwsIHVybCkgewotICBjb25z
dCByZXBvcnRzID0gW107Cithc3luYyBmdW5jdGlvbiBmZXRjaEluRnJhbWUodCwgZnJhbWVVcmws
IHVybCwgZXhwZWN0ZWRfY291bnQpIHsKICAgY29uc3QgZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFt
ZShmcmFtZVVybCk7CiAgIHQuYWRkX2NsZWFudXAoKCkgPT4gZnJhbWUucmVtb3ZlKCkpOwogCi0g
IGNvbnN0IG9ic2VydmVyID0gbmV3IGZyYW1lLmNvbnRlbnRXaW5kb3cuUmVwb3J0aW5nT2JzZXJ2
ZXIoKHJzKSA9PiB7Ci0gICAgZm9yIChjb25zdCByZXBvcnQgb2YgcnMpIHsKLSAgICAgIHJlcG9y
dHMucHVzaChyZXBvcnQudG9KU09OKCkpOwotICAgIH0KLSAgfSk7Ci0gIG9ic2VydmVyLm9ic2Vy
dmUoKTsKICAgY29uc3QgaW5pdCA9IHsgbW9kZTogJ25vLWNvcnMnLCBjYWNoZTogJ25vLXN0b3Jl
JyB9OworICBsZXQgZnV0dXJlX3JlcG9ydHMgPSBvYnNlcnZlUmVwb3J0cyhmcmFtZS5jb250ZW50
V2luZG93LCBleHBlY3RlZF9jb3VudCk7CiAgIGF3YWl0IGZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0
Y2godXJsLCBpbml0KS5jYXRjaCgoKSA9PiB7fSk7CiAKLSAgLy8gV2FpdCAyMDBtcyBmb3IgcmVw
b3J0cyB0byBzZXR0bGUuCi0gIGF3YWl0IHdhaXQoMjAwKTsKLSAgcmV0dXJuIHJlcG9ydHM7Cisg
IHJldHVybiBhd2FpdCBmdXR1cmVfcmVwb3J0czsKIH0KIAogYXN5bmMgZnVuY3Rpb24gZmV0Y2hJ
bldvcmtlcih3b3JrZXJPclBvcnQsIHVybCkgewpAQCAtODQsMTMgKzk1LDEzIEBAIGFzeW5jIGZ1
bmN0aW9uIGZldGNoSW5Xb3JrZXIod29ya2VyT3JQb3J0LCB1cmwpIHsKIGNvbnN0IEVOVklST05N
RU5UUyA9IFt7CiAgIHRhZzogJ2RvY3VtZW50JywKICAgY29udGV4dFVybDogRlJBTUVfVVJMLAot
ICBydW46IGFzeW5jICh0ZXN0LCB1cmwpID0+IHsKLSAgICByZXR1cm4gYXdhaXQgZmV0Y2hJbkZy
YW1lKHRlc3QsIEZSQU1FX1VSTCwgdXJsKTsKKyAgcnVuOiBhc3luYyAodGVzdCwgdXJsLCBleHBl
Y3RlZF9jb3VudCkgPT4geworICAgIHJldHVybiBhd2FpdCBmZXRjaEluRnJhbWUodGVzdCwgRlJB
TUVfVVJMLCB1cmwsIGV4cGVjdGVkX2NvdW50KTsKICAgfSwKIH0sIHsKICAgdGFnOiAnZGVkaWNh
dGVkIHdvcmtlcicsCiAgIGNvbnRleHRVcmw6IFdPUktFUl9VUkwsCi0gIHJ1bjogYXN5bmMgKHRl
c3QsIHVybCkgPT4geworICBydW46IGFzeW5jICh0ZXN0LCB1cmwsIGV4cGVjdGVkX2NvdW50KSA9
PiB7CiAgICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcihXT1JLRVJfVVJMKTsKICAgICB3b3Jr
ZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0ZXN0LnVucmVhY2hlZF9mdW5jKCdXb3JrZXIu
b25lcnJvcicpKTsKICAgICB0ZXN0LmFkZF9jbGVhbnVwKCgpID0+IHdvcmtlci50ZXJtaW5hdGUo
KSk7CkBAIC05OSw3ICsxMTAsNyBAQCBjb25zdCBFTlZJUk9OTUVOVFMgPSBbewogfSwgewogICB0
YWc6ICdzaGFyZWQgd29ya2VyJywKICAgY29udGV4dFVybDogV09SS0VSX1VSTCwKLSAgcnVuOiBh
c3luYyAodGVzdCwgdXJsKSA9PiB7CisgIHJ1bjogYXN5bmMgKHRlc3QsIHVybCwgZXhwZWN0ZWRf
Y291bnQpID0+IHsKICAgICBjb25zdCB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKFdPUktFUl9V
UkwpOwogICAgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHRlc3QudW5yZWFjaGVk
X2Z1bmMoJ1dvcmtlci5vbmVycm9yJykpOwogICAgIHJldHVybiBhd2FpdCBmZXRjaEluV29ya2Vy
KHdvcmtlci5wb3J0LCB1cmwpOwpAQCAtMTA3LDcgKzExOCw3IEBAIGNvbnN0IEVOVklST05NRU5U
UyA9IFt7CiB9LCB7CiAgIHRhZzogJ3NlcnZpY2Ugd29ya2VyJywKICAgY29udGV4dFVybDogV09S
S0VSX1VSTCwKLSAgcnVuOiBhc3luYyAodGVzdCwgdXJsKSA9PiB7CisgIHJ1bjogYXN5bmMgKHRl
c3QsIHVybCwgZXhwZWN0ZWRfY291bnQpID0+IHsKICAgICAvLyBBcyB3ZSBkb24ndCB3YW50IHRo
ZSBzZXJ2aWNlIHdvcmtlciB0byBjb250cm9sIGFueSBwYWdlLCBnZW5lcmF0ZSBhCiAgICAgLy8g
b25lLXRpbWUgc2NvcGUuCiAgICAgY29uc3QgU0NPUEUgPSBuZXcgVVJMKGByZXNvdXJjZXMvJHt0
b2tlbigpfS5odG1sYCwgbG9jYXRpb24pLnBhdGhuYW1lOwpAQCAtMTIxLDcgKzEzMiw3IEBAIGNv
bnN0IEVOVklST05NRU5UUyA9IFt7CiB9LCB7CiAgIHRhZzogJ2JldHdlZW4gc2VydmljZSB3b3Jr
ZXIgYW5kIHBhZ2UnLAogICBjb250ZXh0VXJsOiBSRVBPUlRJTkdfRlJBTUVfVVJMLAotICBydW46
IGFzeW5jICh0ZXN0LCB1cmwpID0+IHsKKyAgcnVuOiBhc3luYyAodGVzdCwgdXJsLCBleHBlY3Rl
ZF9jb3VudCkgPT4gewogICAgIC8vIEhlcmUgd2UgdXNlIGEgU2VydmljZSBXb3JrZXIgd2l0aG91
dCBDT0VQLgogICAgIGNvbnN0IFdPUktFUl9VUkwgPSBgJHtPUklHSU59JHtCQVNFfS9zdy5qc2A7
CiAgICAgY29uc3QgcmVnID0gYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIoCkBAIC0xMzAsMzYgKzE0MSwzNCBAQCBjb25zdCBFTlZJUk9OTUVOVFMgPSBbewogICAg
IGNvbnN0IHdvcmtlciA9IHJlZy5pbnN0YWxsaW5nIHx8IHJlZy53YWl0aW5nIHx8IHJlZy5hY3Rp
dmU7CiAgICAgd29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdGVzdC51bnJlYWNoZWRf
ZnVuYygnV29ya2VyLm9uZXJyb3InKSk7CiAgICAgcmV0dXJuIGF3YWl0IGZldGNoSW5GcmFtZSgK
LSAgICAgIHRlc3QsIFJFUE9SVElOR19GUkFNRV9VUkwsIHVybCk7CisgICAgICB0ZXN0LCBSRVBP
UlRJTkdfRlJBTUVfVVJMLCB1cmwsIGV4cGVjdGVkX2NvdW50KTsKICAgfSwKIH1dOwogCiBjb25z
dCBDQVNFUyA9IFt7CiAgIG5hbWU6ICdzYW1lLW9yaWdpbicsCiAgIHVybDogJy9jb21tb24vdGV4
dC1wbGFpbi50eHQnLAotICBjaGVjazogKHJlcG9ydHMsIHVybCwgY29udGV4dFVybCkgPT4gewot
ICAgIGFzc2VydF9lcXVhbHMocmVwb3J0cy5sZW5ndGgsIDApOwotICB9CisgIGV4cGVjdGVkX2Nv
dW50OiAwLAorICBjaGVjazogKHJlcG9ydHMsIHVybCwgY29udGV4dFVybCkgPT4ge30KIH0sIHsK
ICAgbmFtZTogJ2Jsb2NrZWQgYnkgQ09SUDogc2FtZS1vcmlnaW4nLAogICB1cmw6IGAke1JFTU9U
RV9PUklHSU59JHtCQVNFfS9ub3RoaW5nLXNhbWUtb3JpZ2luLWNvcnAudHh0YCwKLSAgY2hlY2s6
IChyZXBvcnRzLCB1cmwsIGNvbnRleHRVcmwpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHJlcG9y
dHMubGVuZ3RoLCAwKTsKLSAgfQorICBleHBlY3RlZF9jb3VudDogMCwKKyAgY2hlY2s6IChyZXBv
cnRzLCB1cmwsIGNvbnRleHRVcmwpID0+IHt9CiB9LCB7CiAgIG5hbWU6ICdibG9ja2VkIGR1ZSB0
byBDT0VQJywKICAgdXJsOiBgJHtSRU1PVEVfT1JJR0lOfS9jb21tb24vdGV4dC1wbGFpbi50eHRg
LAorICBleHBlY3RlZF9jb3VudDogMiwKICAgY2hlY2s6IChyZXBvcnRzLCBjb250ZXh0VXJsLCB1
cmwpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMubGVuZ3RoLCAyKTsKICAgICBjaGVj
a1JlcG9ydChyZXBvcnRzWzBdLCBjb250ZXh0VXJsLCB1cmwsICdyZXBvcnRpbmcnLCAnJyk7CiAg
ICAgY2hlY2tSZXBvcnQocmVwb3J0c1sxXSwgY29udGV4dFVybCwgdXJsLCAnZW5mb3JjZScsICcn
KTsKICAgfQogfSwgewogICBuYW1lOiAnYmxvY2tlZCBkdXJpbmcgcmVkaXJlY3QnLAogICB1cmw6
IGAke09SSUdJTn0vY29tbW9uL3JlZGlyZWN0LnB5P2xvY2F0aW9uPWAgKwotICAgICAgIGVuY29k
ZVVSSUNvbXBvbmVudChgJHtSRU1PVEVfT1JJR0lOfS9jb21tb24vdGV4dC1wbGFpbi50eHRgKSwK
KyAgICBlbmNvZGVVUklDb21wb25lbnQoYCR7UkVNT1RFX09SSUdJTn0vY29tbW9uL3RleHQtcGxh
aW4udHh0YCksCisgICBleHBlY3RlZF9jb3VudDogMiwKICAgY2hlY2s6IChyZXBvcnRzLCBjb250
ZXh0VXJsLCB1cmwpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHJlcG9ydHMubGVuZ3RoLCAyKTsK
ICAgICBjaGVja1JlcG9ydChyZXBvcnRzWzBdLCBjb250ZXh0VXJsLCB1cmwsICdyZXBvcnRpbmcn
LCAnJyk7CiAgICAgY2hlY2tSZXBvcnQocmVwb3J0c1sxXSwgY29udGV4dFVybCwgdXJsLCAnZW5m
b3JjZScsICcnKTsKICAgfSwKQEAgLTE2OCw4ICsxNzcsMTAgQEAgY29uc3QgQ0FTRVMgPSBbewog
Zm9yIChjb25zdCBlbnYgb2YgRU5WSVJPTk1FTlRTKSB7CiAgIGZvciAoY29uc3QgdGVzdGNhc2Ug
b2YgQ0FTRVMpIHsKICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsKLSAgICAgIGNvbnN0
IHJlcG9ydHMgPSBhd2FpdCBlbnYucnVuKHQsIHRlc3RjYXNlLnVybCk7CisgICAgICBjb25zdCBy
ZXBvcnRzID0gYXdhaXQgZW52LnJ1bigKKyAgICAgICAgdCwgdGVzdGNhc2UudXJsLCB0ZXN0Y2Fz
ZS5leHBlY3RlZF9jb3VudCk7CiAKKyAgICAgIGFzc2VydF9lcXVhbHMocmVwb3J0cy5sZW5ndGgs
IHRlc3RjYXNlLmV4cGVjdGVkX2NvdW50KTsKICAgICAgIHRlc3RjYXNlLmNoZWNrKHJlcG9ydHMs
IGVudi5jb250ZXh0VXJsLCB0ZXN0Y2FzZS51cmwpOwogICAgIH0sIGBbJHtlbnYudGFnfV0gJHt0
ZXN0Y2FzZS5uYW1lfWApOwogICB9CkBAIC0xNzcsMjQgKzE4OCwxNiBAQCBmb3IgKGNvbnN0IGVu
diBvZiBFTlZJUk9OTUVOVFMpIHsKIAogLy8gQSB0ZXN0IGZvciBhIG5vbi1lbXB0eSBkZXN0aW5h
dGlvbi4KIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4gewotICBjb25zdCByZXBvcnRzID0gW107
CiAgIGNvbnN0IGZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoRlJBTUVfVVJMKTsKICAgdC5hZGRf
Y2xlYW51cCgoKSA9PiBmcmFtZS5yZW1vdmUoKSk7CiAKLSAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcg
ZnJhbWUuY29udGVudFdpbmRvdy5SZXBvcnRpbmdPYnNlcnZlcigocnMpID0+IHsKLSAgICBmb3Ig
KGNvbnN0IHJlcG9ydCBvZiBycykgewotICAgICAgcmVwb3J0cy5wdXNoKHJlcG9ydC50b0pTT04o
KSk7Ci0gICAgfQotICB9KTsKLSAgb2JzZXJ2ZXIub2JzZXJ2ZSgpOwogICBjb25zdCB1cmwgPSBg
JHtSRU1PVEVfT1JJR0lOfS9jb21tb24vdXRpbHMuanNgOwogICBjb25zdCBzY3JpcHQgPSBmcmFt
ZS5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgIHNjcmlwdC5zcmMg
PSB1cmw7CisgIGNvbnN0IGZ1dHVyZV9yZXBvcnRzID0gb2JzZXJ2ZVJlcG9ydHMoZnJhbWUuY29u
dGVudFdpbmRvdywgMik7CiAgIGZyYW1lLmNvbnRlbnREb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNjcmlwdCk7CiAKLSAgLy8gV2FpdCAyMDBtcyBmb3IgcmVwb3J0cyB0byBzZXR0bGUuCi0gIGF3
YWl0IHdhaXQoMjAwKTsKLQorICBjb25zdCByZXBvcnRzID0gYXdhaXQgZnV0dXJlX3JlcG9ydHM7
CiAgIGFzc2VydF9lcXVhbHMocmVwb3J0cy5sZW5ndGgsIDIpOwogICBjaGVja1JlcG9ydChyZXBv
cnRzWzBdLCBGUkFNRV9VUkwsIHVybCwgJ3JlcG9ydGluZycsICdzY3JpcHQnKTsKICAgY2hlY2tS
ZXBvcnQocmVwb3J0c1sxXSwgRlJBTUVfVVJMLCB1cmwsICdlbmZvcmNlJywgJ3NjcmlwdCcpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVwb3J0aW5nLXRvLWVuZHBvaW50Lmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8tZW5kcG9pbnQuaHR0
cHMuaHRtbAppbmRleCBhZDFmMThjYmIzYjY1YjY4MWE2NzRhOTlkNTRjYjJlMjBkZjYyNmFkLi41
NmRjY2ZlMmU3MTM0NGMzYWQ2NzAzYjA0NGI4OGNmMWYyNTE4MTdhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2lu
LWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8tZW5kcG9pbnQuaHR0cHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9yZXBvcnRpbmctdG8tZW5kcG9pbnQuaHR0cHMuaHRtbApAQCAt
MjQsNiArMjQsOSBAQCBjb25zdCBCQVNFID0gbmV3IFVSTCgicmVzb3VyY2VzIiwgbG9jYXRpb24p
LnBhdGhuYW1lCiBjb25zdCBGUkFNRV9VUkwgPSBgcmVzb3VyY2VzL3JlcG9ydGluZy1lbXB0eS1m
cmFtZS5odG1sYCArCiAgIGA/cGlwZT1oZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGlj
eSxyZXF1aXJlLWNvcnA7cmVwb3J0LXRvPSJlbmRwb2ludCIpYCArCiAgIGB8aGVhZGVyKGNyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3JwO3JlcG9ydC10
bz0icmVwb3J0LW9ubHktZW5kcG9pbnQiKWA7Citjb25zdCBXT1JLRVJfVVJMID0gYHJlc291cmNl
cy9zaGFyZWQtd29ya2VyLmpzYCArCisgICc/cGlwZT1oZWFkZXIoY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeSxyZXF1aXJlLWNvcnA7cmVwb3J0LXRvPSJlbmRwb2ludCIpJyArCisgIGB8aGVh
ZGVyKGNyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ktcmVwb3J0LW9ubHkscmVxdWlyZS1jb3Jw
O3JlcG9ydC10bz0icmVwb3J0LW9ubHktZW5kcG9pbnQiKWA7CiAKIGZ1bmN0aW9uIHdhaXQobXMp
IHsKICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc3RlcF90aW1lb3V0KHJlc29sdmUs
IG1zKSk7CkBAIC01OCw3ICs2MSw3IEBAIGFzeW5jIGZ1bmN0aW9uIGNoZWNrQ29ycFJlcG9ydEV4
aXN0ZW5jZShlbmRwb2ludCwgYmxvY2tlZFVybCwgY29udGV4dFVybCwgZGVzdGluCiAgICAgfQog
ICAgIGF3YWl0IHdhaXQocmV0cnlEZWxheSk7CiAgIH0KLSAgYXNzZXJ0X3VucmVhY2hlZChgQSBy
ZXBvcnQgd2hvc2UgYmxvY2tlZFVSTCBpcyAke2Jsb2NrZWRVcmx9IGFuZCB1cmwgaXMgJHtjb250
ZXh0VXJsfSBpcyBub3QgZm91bmQuYCk7CisgIGFzc2VydF91bnJlYWNoZWQoYEEgcmVwb3J0IHdo
b3NlIGJsb2NrZWRVUkwgaXMgJHtibG9ja2VkVXJsLnNwbGl0KCI/IilbMF19IGFuZCB1cmwgaXMg
JHtjb250ZXh0VXJsfSBpcyBub3QgZm91bmQuYCk7CiB9CiAKIGFzeW5jIGZ1bmN0aW9uIGNoZWNr
TmF2aWdhdGlvblJlcG9ydEV4aXN0ZW5jZShlbmRwb2ludCwgYmxvY2tlZFVybCwgY29udGV4dFVy
bCwgZGlzcG9zaXRpb24pIHsKQEAgLTgwLDcgKzgzLDcgQEAgYXN5bmMgZnVuY3Rpb24gY2hlY2tO
YXZpZ2F0aW9uUmVwb3J0RXhpc3RlbmNlKGVuZHBvaW50LCBibG9ja2VkVXJsLCBjb250ZXh0VXJs
LAogICAgIH0KICAgICBhd2FpdCB3YWl0KHJldHJ5RGVsYXkpOwogICB9Ci0gIGFzc2VydF91bnJl
YWNoZWQoYEEgcmVwb3J0IHdob3NlIGJsb2NrZWRVUkwgaXMgJHtibG9ja2VkVXJsfSBhbmQgdXJs
IGlzICR7Y29udGV4dFVybH0gaXMgbm90IGZvdW5kLmApOworICBhc3NlcnRfdW5yZWFjaGVkKGBB
IHJlcG9ydCB3aG9zZSBibG9ja2VkVVJMIGlzICR7YmxvY2tlZFVybC5zcGxpdCgiPyIpWzBdfSBh
bmQgdXJsIGlzICR7Y29udGV4dFVybH0gaXMgbm90IGZvdW5kLmApOwogfQogCiBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CkBAIC0xNzcsNCArMTgwLDI3IEBAIHByb21pc2VfdGVzdChhc3luYyAo
dCkgPT4gewogCiB9LCAnVHdvIENPRVAgaGVhZGVycywgc3BsaXQgaW5zaWRlIHJlcG9ydC10byB2
YWx1ZScpOwogCisvLyBTaGFyZWQgd29ya2VyIGRvIG5vdCBzdXBwb3J0IG9ic2VydmVyIGN1cnJl
bnRseSwgc28gYWRkIHRlc3QgZm9yIGVuZHBvaW50CisvLyBoZXJlLgorcHJvbWlzZV90ZXN0KGFz
eW5jICh0KSA9PiB7CisgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lm
cmFtZScpOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGlmcmFtZS5yZW1vdmUoKSk7CisKKyAgaWZy
YW1lLnNyYyA9IEZSQU1FX1VSTDsKKyAgY29uc3QgdGFyZ2V0VXJsID0gYCR7UkVNT1RFX09SSUdJ
Tn0vY29tbW9uL2JsYW5rLmh0bWw/JHt0b2tlbigpfWA7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoaWZyYW1lKTsKKworICBjb25zdCB3b3JrZXIgPSBuZXcgaWZyYW1lLmNvbnRlbnRXaW5k
b3cuU2hhcmVkV29ya2VyKFdPUktFUl9VUkwpOworICB3b3JrZXIucG9ydC5zdGFydCgpOworICBj
b25zdCBzY3JpcHQgPQorICAgIGBmZXRjaCgnJHt0YXJnZXRVcmx9Jywge21vZGU6ICduby1jb3Jz
JywgY2FjaGU6ICduby1zdG9yZSd9KS5jYXRjaChlID0+IHt9KTtgOworICB3b3JrZXIuYWRkRXZl
bnRMaXN0ZW5lcignZXJyb3InLCB0LnVucmVhY2hlZF9mdW5jKCdXb3JrZXIub25lcnJvcicpKTsK
KyAgd29ya2VyLnBvcnQucG9zdE1lc3NhZ2Uoc2NyaXB0KTsKKworICBhd2FpdCBjaGVja0NvcnBS
ZXBvcnRFeGlzdGVuY2UoCisgICAgICAnZW5kcG9pbnQnLCB0YXJnZXRVcmwsIFdPUktFUl9VUkws
ICdpZnJhbWUnLCAnZW5mb3JjZScpOworICBhd2FpdCBjaGVja0NvcnBSZXBvcnRFeGlzdGVuY2Uo
CisgICAgICAncmVwb3J0LW9ubHktZW5kcG9pbnQnLCB0YXJnZXRVcmwsIFdPUktFUl9VUkwsICdp
ZnJhbWUnLCAncmVwb3J0aW5nJyk7Cit9LCAnU2hhcmVkIHdvcmtlciBmZXRjaCcpOworCiA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9ibG9iLXVy
bC1mYWN0b3J5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvYmxvYi11cmwt
ZmFjdG9yeS5odG1sCmluZGV4IGQyMDM5MDY0YThkZjYzMDIxYjdjNzZmOWVlZjVhNjE5ZGUzMjM3
N2QuLjkyOGQ0MDQ2NzJkZGVjZTM1NzZjOGY0ZTExMzIxMjZjNTAzMTU4NzMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1v
cmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9ibG9iLXVybC1mYWN0b3J5Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL2Jsb2ItdXJsLWZhY3RvcnkuaHRtbApA
QCAtNCwxMyArNCwyMCBAQAogY29uc3QgcXVlcnkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRv
dy5sb2NhdGlvbi5zZWFyY2gpOwogY29uc3QgaWQgPSBxdWVyeS5nZXQoImlkIik7CiBjb25zdCB2
YXJpYW50ID0gcXVlcnkuZ2V0KCJ2YXJpYW50Iik7Ci1jb25zdCBwYXJlbnQgPSAodmFyaWFudCA9
PT0gInN1YmZyYW1lIikgPyAicGFyZW50LnBhcmVudCIgOiAicGFyZW50IjsKK2xldCBwYXJlbnQg
PSAicGFyZW50IjsKK2lmICh2YXJpYW50ID09PSAic3ViZnJhbWUiKSB7CisgIHBhcmVudCA9ICJw
YXJlbnQucGFyZW50IjsKK30gZWxzZSBpZiAodmFyaWFudCA9PT0gInBvcHVwIikgeworICBwYXJl
bnQgPSAib3BlbmVyLnBhcmVudCI7Cit9CiBjb25zdCBibG9iID0gbmV3IEJsb2IoW2A8c2NyaXB0
PiR7Y3JlYXRlU2NyaXB0KHdpbmRvdy5vcmlnaW4sIHF1ZXJ5LmdldCgiY3Jvc3NPcmlnaW4iKSwg
cGFyZW50LCBpZCl9PFwvc2NyaXB0PmBdLCB7IHR5cGU6ICJ0ZXh0L2h0bWwiIH0pOwogY29uc3Qg
YmxvYlVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7CiBpZiAodmFyaWFudCA9PT0gInN1
YmZyYW1lIikgewogICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFt
ZSIpOwogICBmcmFtZS5zcmMgPSBibG9iVVJMOwogICBkb2N1bWVudC5ib2R5LmFwcGVuZChmcmFt
ZSk7Cit9IGVsc2UgaWYgKHZhcmlhbnQgPT09ICJwb3B1cCIpIHsKKyAgd2luZG93Lm9wZW4oYmxv
YlVSTCk7CiB9IGVsc2UgewogICB3aW5kb3cubG9jYXRpb24gPSBibG9iVVJMOwogfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL25hdmlnYXRlLW5vbmUuc3ViLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtbm9uZS5zdWIuaHRt
bAppbmRleCBjNGZiM2Y0YWZiZGVlYjg4YjQ1MGRkZWRlZmIzNjRlYWQzOTRhNzQ2Li5mMmZjMzhm
ZjE0NTMyYzQxODkzMzkzNTNjZDY2N2QyZTkwNDU3ODVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtbm9uZS5zdWIuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVt
YmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvbmF2aWdhdGUtbm9uZS5zdWIuaHRtbApAQCAtMTMsNyAr
MTMsMTEgQEAKIAogICBpZiAoY2hhbm5lbE5hbWUpIHsKICAgICBsZXQgYmMgPSBuZXcgQnJvYWRj
YXN0Q2hhbm5lbChjaGFubmVsTmFtZSk7Ci0gICAgYmMucG9zdE1lc3NhZ2UoImxvYWRlZCIpOwor
CisgICAgLy8gQnJvYWRjYXN0IG9ubHkgb25jZSB0aGUgRE9NIGlzIGxvYWRlZCwgc28gdGhhdCB0
aGUgY2FsbGVyIGNhbgorICAgIC8vIGFjY2VzcyByZWxpYWJseSB0aGlzIGRvY3VtZW50J3MgYm9k
eS4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsICgpID0+
CisgICAgYmMucG9zdE1lc3NhZ2UoImxvYWRlZCIpKTsKIAogICAgIC8vIFRoZSBwYWdlIGNhbiBh
bHNvIGJlIHJlc3RvcmVkIGZyb20gdGhlIGJhY2stZm9yd2FyZCBjYWNoZToKICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigncGFnZXNob3cnLCBmdW5jdGlvbihldmVudCkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3Nz
LW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3Bvc3RtZXNzYWdlLXJlYWR5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvcG9zdG1lc3NhZ2UtcmVhZHkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMjgyNzExZGJjMmM5YmFjNTM0ZTQ0ZmE5ZDExZWYzODcwYThjNTYzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3Bvc3RtZXNzYWdl
LXJlYWR5Lmh0bWwKQEAgLTAsMCArMSw0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQ+Cisg
IG9wZW5lci5wb3N0TWVzc2FnZSgicmVhZHkiLCAiKiIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1
ZjJjM2NjMmMzYjVmZTg4ZDU5ZmI4NmVkMTEyYzJmYTI5NjRkNjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mt
b3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci5qcwpAQCAtMCww
ICsxLDcgQEAKK29uY29ubmVjdCA9IChldmVudCkgPT4geworICBjb25zdCBwb3J0ID0gZXZlbnQu
cG9ydHNbMF07CisgIHBvcnQub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7CisgICAgZXZhbChldmVu
dC5kYXRhKTsKKyAgfTsKKyAgcG9ydC5wb3N0TWVzc2FnZSgncmVhZHknKTsKK307CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2lu
LWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKaW5kZXggNWZmYjkyNWQ4
ZDM2YTIwZDcyODdkYmIzM2Q1YWY0N2RmZTBiNTRmNy4uNmE1ODA3N2EyYmM3ZDNkMjg0ZWNiNjQy
YjAzZjNlMjllMWQ4ZmNhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZwpAQCAtMzQsNiArMzQsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L3Jlc291cmNlcy9ub3RoaW5nLWNyb3NzLW9yaWdpbi1jb3JwLnR4dC5oZWFk
ZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL25vdGhpbmctc2FtZS1vcmlnaW4t
Y29ycC50eHQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvbm90aGluZy1zYW1lLW9y
aWdpbi1jb3JwLnR4dC5oZWFkZXJzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3Bv
c3RtZXNzYWdlLXJlYWR5Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvcmVw
b3J0LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3JlcG9ydGluZy1lbXB0eS1m
cmFtZS1tdWx0aXBsZS1oZWFkZXJzLmh0bWwuYXNpcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jl
c291cmNlcy9yZXBvcnRpbmctZW1wdHktZnJhbWUuaHRtbApAQCAtNDQsNiArNDUsNyBAQCBMaXN0
IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9yZXF1aXJlLWNvcnAt
c3cuanMuaGVhZGVycwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9zY3JpcHQtZmFj
dG9yeS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWZl
dGNoLmpzLnB5CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXIu
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9yZXNvdXJjZXMvc3ctc3RvcmUtdG8tY2FjaGUtc3Rv
cmFnZS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3Jlc291cmNlcy9zdy5qcwogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1i
ZWRkZXItcG9saWN5L3Jlc291cmNlcy91bml2ZXJzYWwtd29ya2VyLmpzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5
L3czYy1pbXBvcnQubG9nCmluZGV4IDc2MzNlYTI1YWVmNmQwZTA2ZThkNDVkNzQ5Nzg5YzkwYjUw
ZjllMDcuLmM5Mzc3ZGRmNWZhNTM1MGNmMzdjNWExNzFiNjRhY2IwYTZhYjU4ZmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9z
cy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5L3czYy1pbXBvcnQubG9nCkBAIC0xNiw2ICsxNiw4IEBAIE5vbmUKIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvTUVUQS55bWwKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBv
bGljeS9SRUFETUUubWQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9hYm91dC1ibGFuay1wb3B1cC5o
dHRwcy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYWJvdXQtYmxhbmstcG9wdXAuaHR0cHMu
aHRtbC5oZWFkZXJzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sCiAvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvYmxvYi5odHRwcy5odG1sLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9jYWNoZS1zdG9yYWdlLXJlcG9ydGluZy1kZWRpY2F0ZWQtd29ya2VyLmh0dHBzLmh0
bWwKQEAgLTMxLDYgKzMzLDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGlj
eS9kZWRpY2F0ZWQtd29ya2VyLWNhY2hlLXN0b3JhZ2UuaHR0cHMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRk
ZXItcG9saWN5L2RlZGljYXRlZC13b3JrZXIuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9s
aWN5L2hlYWRlci1wYXJzaW5nLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9pZnJh
bWUtaGlzdG9yeS1ub25lLXJlcXVpcmUtY29ycC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvamF2YXNjcmlwdC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvamF2YXNj
cmlwdC5odHRwcy5odG1sLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9tZXRhLWh0dHAt
ZXF1aXYuaHR0cHMuaHRtbApAQCAtNzAsMyArNzMsNSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
ZW1iZWRkZXItcG9saWN5L3NoYXJlZC13b3JrZXJzLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVy
LXBvbGljeS9zcmNkb2MuaHR0cHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3NyY2RvYy5o
dHRwcy5odG1sLmhlYWRlcnMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS93b3JrZXItaW5oZXJpdGFu
Y2Uuc3ViLmh0dHBzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS93b3JrZXItaW5oZXJpdGFu
Y2Uuc3ViLmh0dHBzLmh0bWwuaGVhZGVycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xp
Y3kvd29ya2VyLWluaGVyaXRhbmNlLnN1Yi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVk
ZGVyLXBvbGljeS93b3JrZXItaW5oZXJpdGFuY2Uuc3ViLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MDhjZjZkMDQyNGJiMmIwNmM4NDA4OTZmODljOTU2YTRjOTVhNDQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvd29ya2VyLWluaGVyaXRhbmNlLnN1Yi5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly93d3cubG9jYWxob3N0Ojk0NDQvY29tbW9uL2JsYW5rLmh0bWwKKwor
RkFJTCBUZXN0IHRoYXQgbG9jYWwgc2NoZW1lIHdvcmtlcnMgaW5oZXJpdCBDT0VQOiByZXF1aXJl
LWNvcnAgZnJvbSB0aGUgY3JlYXRpbmcgZG9jdW1lbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFNoYXJlZFdvcmtlciIKK1BBU1MgYmxvYiBVUkwgZGVkaWNhdGVkIHdvcmtlcjog
U2FtZSBvcmlnaW4gc2hvdWxkIGJlIGFsbG93ZWQuCitQQVNTIGJsb2IgVVJMIGRlZGljYXRlZCB3
b3JrZXI6IENyb3NzIG9yaWdpbiBzaG91bGQgYmUgYmxvY2tlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvd29ya2VyLWluaGVyaXRhbmNlLnN1Yi5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1lbWJlZGRlci1wb2xpY3kvd29ya2VyLWluaGVyaXRhbmNlLnN1Yi5odHRwcy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU5NmM3ZjdlNWQxMGE1ZjEwM2VmYWY4NDQyNTZjYWI1NGMzZjQ5YTgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS93b3JrZXItaW5oZXJpdGFuY2Uuc3ViLmh0
dHBzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8dGl0bGU+VGVzdCB0
aGF0IGxvY2FsIHNjaGVtZSB3b3JrZXJzIGluaGVyaXQgQ09FUDogcmVxdWlyZS1jb3JwIGZyb20g
dGhlIGNyZWF0aW5nIGRvY3VtZW50PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBsZXQgc2FtZU9yaWdpbiA9ICJ7e2xvY2F0aW9uW3NlcnZlcl19fSI7CisgICAg
bGV0IGNyb3NzT3JpZ2luID0gImh0dHBzOi8ve3tob3N0c1tdW3d3d119fTp7e3BvcnRzW2h0dHBz
XVsxXX19IjsKKworICAgIGxldCB0ZXN0SGFybmVzcyA9IGF3YWl0IGZldGNoKGAke3NhbWVPcmln
aW59L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qc2ApCisgICAgICAgIC50aGVuKHIgPT4gci50ZXh0
KCkpOworCisgICAgLy8gVGVzdCB0aGF0IGZldGNoaW5nIHNhbWUtb3JpZ2luIGlzIGFsbG93ZWQg
YnkgQ09FUC4KKyAgICBsZXQgc2FtZV9vcmlnaW5fYWxsb3dlZF90ZXN0ID0gdGVzdE5hbWUgPT4g
YAorICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICAgICAgcmV0dXJuIGZl
dGNoKCIke3NhbWVPcmlnaW59L2NvbW1vbi9ibGFuay5odG1sIiwgeyBtb2RlOiAibm8tY29ycyIg
fSk7CisgICAgICAgIH0sICIke3Rlc3ROYW1lfTogU2FtZSBvcmlnaW4gc2hvdWxkIGJlIGFsbG93
ZWQuIik7CisgICAgYDsKKworICAgIC8vIEZvciBkYXRhIFVSTHMsIHNpbmNlIGV2ZXJ5dGhpbmcg
aXMgY3Jvc3Mtb3JpZ2luIGluIHRoYXQgY2FzZS4KKyAgICBsZXQgc2FtZV9vcmlnaW5fYmxvY2tl
ZF90ZXN0ID0gdGVzdE5hbWUgPT4gYAorICAgICAgICBwcm9taXNlX3Rlc3QodCA9PiB7CisgICAg
ICAgICAgcmV0dXJuIHByb21pc2VfcmVqZWN0c19qcygKKyAgICAgICAgICAgICAgdCwgVHlwZUVy
cm9yLAorICAgICAgICAgICAgICBmZXRjaCgiJHtzYW1lT3JpZ2lufS9jb21tb24vYmxhbmsuaHRt
bCIsIHsgbW9kZTogIm5vLWNvcnMiIH0pKTsKKyAgICAgICAgfSwgIiR7dGVzdE5hbWV9OiBTYW1l
IG9yaWdpbiBzaG91bGQgYmUgYmxvY2tlZC4iKTsKKyAgICBgOworCisgICAgLy8gVGVzdCB0aGF0
IGZldGNoaW5nIGNyb3NzLW9yaWdpbiBpcyBibG9ja2VkIGJ5IENPRVAuCisgICAgbGV0IGNyb3Nz
X29yaWdpbl9ibG9ja2VkX3Rlc3QgPSB0ZXN0TmFtZSA9PiBgCisgICAgICAgIHByb21pc2VfdGVz
dCh0ID0+IHsKKyAgICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzX2pzKAorICAgICAgICAg
ICAgICB0LCBUeXBlRXJyb3IsCisgICAgICAgICAgICAgIGZldGNoKCIke2Nyb3NzT3JpZ2lufS9j
b21tb24vYmxhbmsuaHRtbCIsIHsgbW9kZTogIm5vLWNvcnMiIH0pKTsKKyAgICAgICAgfSwgIiR7
dGVzdE5hbWV9OiBDcm9zcyBvcmlnaW4gc2hvdWxkIGJlIGJsb2NrZWQuIik7CisgICAgYDsKKwor
ICAgIGxldCBibG9iX3N0cmluZyA9IHRlc3ROYW1lID0+IHRlc3RIYXJuZXNzICsKKyAgICAgICAg
c2FtZV9vcmlnaW5fYWxsb3dlZF90ZXN0KHRlc3ROYW1lKSArCisgICAgICAgIGNyb3NzX29yaWdp
bl9ibG9ja2VkX3Rlc3QodGVzdE5hbWUpICsgImRvbmUoKTsiOworCisgICAgbGV0IGRhdGFfc3Ry
aW5nID0gdGVzdE5hbWUgPT4gdGVzdEhhcm5lc3MgKworICAgICAgICBzYW1lX29yaWdpbl9ibG9j
a2VkX3Rlc3QodGVzdE5hbWUpICsKKyAgICAgICAgY3Jvc3Nfb3JpZ2luX2Jsb2NrZWRfdGVzdCh0
ZXN0TmFtZSkgKyAiZG9uZSgpOyI7CisKKyAgICBsZXQgYmxvYl91cmwgPSBjb250ZXh0ID0+IHsK
KyAgICAgIGxldCBibG9iID0gbmV3IEJsb2IoW2Jsb2Jfc3RyaW5nKGBibG9iIFVSTCAke2NvbnRl
eHR9YCldLAorICAgICAgICAgICAgICAgICAgICAgICAgICB7IHR5cGU6ICdhcHBsaWNhdGlvbi9q
YXZhc2NyaXB0JyB9KTsKKyAgICAgIHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpOwor
ICAgIH07CisKKyAgICBhd2FpdCBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKGJs
b2JfdXJsKCJkZWRpY2F0ZWQgd29ya2VyIikpKTsKKyAgICBhd2FpdCBmZXRjaF90ZXN0c19mcm9t
X3dvcmtlcihuZXcgU2hhcmVkV29ya2VyKGJsb2JfdXJsKCJzaGFyZWQgd29ya2VyIikpKTsKKwor
ICAgIGxldCBkYXRhX3VybCA9IGNvbnRleHQgPT4gYGRhdGE6YXBwbGljYXRpb24vamF2YXNjcmlw
dCxgICsKKyAgICAgICAgYCR7ZW5jb2RlVVJJQ29tcG9uZW50KGRhdGFfc3RyaW5nKCJkYXRhIFVS
TCAiICsgY29udGV4dCkpfWA7CisKKyAgICBhd2FpdCBmZXRjaF90ZXN0c19mcm9tX3dvcmtlcihu
ZXcgV29ya2VyKGRhdGFfdXJsKCJkZWRpY2F0ZWQgd29ya2VyIikpKTsKKyAgICBhd2FpdCBmZXRj
aF90ZXN0c19mcm9tX3dvcmtlcihuZXcgV29ya2VyKGRhdGFfdXJsKCJzaGFyZWQgd29ya2VyIikp
KTsKKyAgfSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3dv
cmtlci1pbmhlcml0YW5jZS5zdWIuaHR0cHMuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1w
b2xpY3kvd29ya2VyLWluaGVyaXRhbmNlLnN1Yi5odHRwcy5odG1sLmhlYWRlcnMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjYwNDQ1MDk5MWExMjJlM2UyNDFlNDBiMWI5ZTA1MTZjNTI1Mzg5ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tZW1iZWRkZXItcG9saWN5L3dvcmtlci1pbmhlcml0YW5jZS5zdWIuaHR0cHMu
aHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEgQEAKK0Nyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6
IHJlcXVpcmUtY29ycApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3AtbmF2aWdh
dGUtc2FtZS1vcmlnaW4tY3NwLXNhbmRib3gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9s
aWN5L2Nvb3AtbmF2aWdhdGUtc2FtZS1vcmlnaW4tY3NwLXNhbmRib3gtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFhYjYyMDc2NjQ5YzIyNTgxZDBmODhmMjUzYzljMDdlYTVjYjVhNzAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1uYXZpZ2F0ZS1zYW1lLW9yaWdp
bi1jc3Atc2FuZGJveC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgY29vcC1u
YXZpZ2F0ZS1zYW1lLW9yaWdpbi1jc3Atc2FuZGJveCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
U3VjY2Vzczogbm8gb3BlbmVyIiBidXQgZ290ICJFcnJvcjogaGF2ZSBvcGVuZXIiCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb29wLW5hdmlnYXRlLXNhbWUtb3JpZ2luLWNzcC1z
YW5kYm94Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1uYXZpZ2F0ZS1zYW1lLW9yaWdp
bi1jc3Atc2FuZGJveC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZWQ5NDcxNzIyNzZiOWQ1Y2ZiYjY2MWVi
NTM5NDU5ZjQxNDk4OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29v
cC1uYXZpZ2F0ZS1zYW1lLW9yaWdpbi1jc3Atc2FuZGJveC5odG1sCkBAIC0wLDAgKzEsNjQgQEAK
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2Nv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZGlzcGF0Y2hlci5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitjb25zdCBkaXJlY3RvcnkgPSAnL2h0bWwvY3Jvc3Mt
b3JpZ2luLW9wZW5lci1wb2xpY3kvJzsKK2NvbnN0IGV4ZWN1dG9yX3BhdGggPSBkaXJlY3Rvcnkg
KyAnL3Jlc291cmNlcy9leGVjdXRvci5odG1sP3BpcGU9JzsKKworY29uc3QgaHR0cHNfb3JpZ2lu
ID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX09SSUdJTjsKK2NvbnN0IGNvb3Bfc2FtZV9vcmlnaW4g
PQorICAgICd8aGVhZGVyKENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5LHNhbWUtb3JpZ2luKSc7
Citjb25zdCBjc3Bfc2FuZGJveCA9CisgICAgJ3xoZWFkZXIoQ29udGVudC1TZWN1cml0eS1Qb2xp
Y3ksIHNhbmRib3ggYWxsb3ctc2NyaXB0cyknOworCitwcm9taXNlX3Rlc3QoYXN5bmMgdGVzdCA9
PiB7CisgIGNvbnN0IGRyaXZlcl90b2tlbiA9IHRva2VuKCk7CisKKyAgLy8gMS4gU3RhcnQgZnJv
bSBhIENPT1A6c2FtZS1vcmlnaW4gZG9jdW1lbnQuCisgIGNvbnN0IG9wZW5lcl90b2tlbiA9IHRv
a2VuKCk7CisgIGNvbnN0IG9wZW5lcl91cmwgPSBodHRwc19vcmlnaW4gKyBleGVjdXRvcl9wYXRo
ICsgY29vcF9zYW1lX29yaWdpbiArCisgICAgYCZ1dWlkPSR7b3BlbmVyX3Rva2VufWA7CisgIGNv
bnN0IHcgPSB3aW5kb3cub3BlbihvcGVuZXJfdXJsKTsKKyAgYWRkX2NvbXBsZXRpb25fY2FsbGJh
Y2soKCkgPT4gdy5jbG9zZSgpKTsKKworICAvLyAyLiBJdCBvcGVucyBhIHBvcHVwcywgYW5kIHRo
ZW4gbmF2aWdhdGVzIHRoZSBwb3B1cCB0b3dhcmQgYSBzYW1lLW9yaWdpbgorICAvLyBDT09QOnNh
bWUtb3JpZ2luIGRvY3VtZW50IHdpdGggQ1NQOnNhbmRib3gKKyAgY29uc3Qgb3BlbmVlX3Rva2Vu
ID0gdG9rZW4oKTsKKyAgY29uc3Qgb3BlbmVlX3VybCA9IGh0dHBzX29yaWdpbiArIGV4ZWN1dG9y
X3BhdGggKyBjb29wX3NhbWVfb3JpZ2luICsKKyAgICBjc3Bfc2FuZGJveCArIGAmdXVpZD0ke29w
ZW5lZV90b2tlbn1gOworICBzZW5kKG9wZW5lcl90b2tlbiwgYAorICAgIG9wZW5lZSA9IHdpbmRv
dy5vcGVuKCIke29wZW5lZV91cmx9Iik7CisgIGApOworICBhZGRfY29tcGxldGlvbl9jYWxsYmFj
aygoKSA9PiBzZW5kKG9wZW5lZV90b2tlbiwgImNsb3NlKCkiKSk7CisKKyAgLy8gQmVjYXVzZSBv
ZiBDU1A6c2FuZGJveCwgdGhlIHBvcHVwIGlzIG5vdCBjb25zaWRlcmVkIHNhbWUtb3JpZ2luIHdp
dGgKKyAgLy8gaXRzIG9wZW5lZS4gQ2hlY2sgdGhlIG9wZW5lZS9vcGVuZXIgcmVsYXRpb25zaGlw
IGlzIG5vdyBjbG9zZWQuCisgIHNlbmQob3BlbmVlX3Rva2VuLCBgCisgICAgaWYgKG9wZW5lcikK
KyAgICAgIHNlbmQoIiR7ZHJpdmVyX3Rva2VufSIsICJFcnJvcjogaGF2ZSBvcGVuZXIiKTsKKyAg
ICBlbHNlCisgICAgICBzZW5kKCIke2RyaXZlcl90b2tlbn0iLCAiU3VjY2Vzczogbm8gb3BlbmVy
Iik7CisgIGApOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlY2VpdmUoZHJpdmVyX3Rva2VuKSwg
IlN1Y2Nlc3M6IG5vIG9wZW5lciIpOworCisgIC8vIFRlY2huaWNhbGx5LCB0aGUgb3BlbmVyJ3Mg
Im9wZW5lZSIgV2luZG93UHJveHkgc2hvdWxkIGFwcGVhciBhcyBjbG9zZWQgYXQKKyAgLy8gdGhp
cyB0aW1lLiBUaGUgcG9wdXAgbG9hZGVkIGEgbmV3IGRvY3VtZW50LCBhbmQgYXQgbGVhc3QgdHdv
IGZldGNoIHJlcXVlc3RzCisgIC8vIHdlcmUgbWFkZS4gVGhpcyBpcyBtb3JlIHRoYW4gZW5vdWdo
LiBIb3dldmVyLCBpbiB0aGVvcnksIHRoZXJlIGlzIG5vdGhpbmcKKyAgLy8gdG8gZ3VhcmFudGVl
IHdlIGNhbiBvYnNlcnZlICJvcGVuZWUuY2xvc2UiLiBXYWl0IGEgYml0IHRvIGVuc3VyZSB0aGlz
IHdpbGwKKyAgLy8gbmV2ZXIgZmxha2UuCisgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gdGVzdC5z
dGVwX3RpbWVvdXQociwgMTAwMCkpOworCisgIHNlbmQob3BlbmVyX3Rva2VuLCBgCisgICAgaWYg
KG9wZW5lZS5jbG9zZWQpCisgICAgICBzZW5kKCIke2RyaXZlcl90b2tlbn0iLCAiU3VjY2Vzczog
b3BlbmVlIGNsb3NlZCIpOworICAgIGVsc2UKKyAgICAgIHNlbmQoIiR7ZHJpdmVyX3Rva2VufSIs
ICJFcnJvcjogY2FuIHN0aWxsIGFjY2VzcyBvcGVuZWUiKTsKKyAgYCk7CisgIGFzc2VydF9lcXVh
bHMoYXdhaXQgcmVjZWl2ZShkcml2ZXJfdG9rZW4pLCAiU3VjY2Vzczogb3BlbmVlIGNsb3NlZCIp
OworfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3At
c2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzLWRvY3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmln
aW4tb3BlbmVyLXBvbGljeS9jb29wLXNhbWUtb3JpZ2luLWFsbG93LXBvcHVwcy1kb2N1bWVudC13
cml0ZS1leHBlY3RlZC50eHQKaW5kZXggMGQ2MGE5NTFhOGExMTkxZmQ3NzQ3MTM1M2I2NzU0MTlh
YTg5MDVjYi4uN2NiYmE3YWUwNTk4MjJjYzA5YTEwYjU5YjNhMzkxZmUzMWUzMzk3OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Ny
b3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3Atc2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzLWRv
Y3VtZW50LXdyaXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1z
YW1lLW9yaWdpbi1hbGxvdy1wb3B1cHMtZG9jdW1lbnQtd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1QQVNTIGNvb3Atc2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzLWRvY3VtZW50
LXdyaXRlCitGQUlMIGNvb3Atc2FtZS1vcmlnaW4tYWxsb3ctcG9wdXBzLWRvY3VtZW50LXdyaXRl
IGFzc2VydF9lcXVhbHM6IG9wZW5lciA9PSBudWxsIGV4cGVjdGVkICJ0cnVlIiBidXQgZ290ICJm
YWxzZSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3Atc2FtZS1vcmlnaW4t
YWxsb3ctcG9wdXBzLWRvY3VtZW50LXdyaXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29v
cC1zYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHMtZG9jdW1lbnQtd3JpdGUuaHRtbAppbmRleCBjNTc3
OTcyMjE2NjkxYzA5NzAyZjBhODRjM2I4MmE5Y2Y4ODFhYzhmLi42YjZiNGUwODU3NjcxMzg2Y2I2
MmIyMGZkMzcyM2Q2MjNiYWUwNWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29v
cC1zYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHMtZG9jdW1lbnQtd3JpdGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2lu
LW9wZW5lci1wb2xpY3kvY29vcC1zYW1lLW9yaWdpbi1hbGxvdy1wb3B1cHMtZG9jdW1lbnQtd3Jp
dGUuaHRtbApAQCAtNDIsMjAgKzQyLDIyIEBAIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKICAg
ICBvcGVuZWUuZG9jdW1lbnQuY2xvc2UoKTsKICAgYCk7CiAKLSAgLy8gQ2hlY2sgdGhlIG9wZW5l
ZSBpcyBsb2FkZWQgYW5kIGhhcyBhY2Nlc3MgdG8gaXRzIG9wZW5lci4KKyAgLy8gQ2hlY2sgdGhl
IG9wZW5lZSBpcyBsb2FkZWQgd2l0aG91dCBhY2Nlc3MgdG8gdGhlIG9wZW5lci4KICAgc2VuZChv
cGVuZWVfdG9rZW4sIGAKLSAgICBzZW5kKCIke3RoaXNfd2luZG93X3Rva2VufSIsIG9wZW5lciAh
PSBudWxsKQotICAgIHNlbmQoIiR7dGhpc193aW5kb3dfdG9rZW59Iiwgb3BlbmVyLmNsb3NlZCk7
CisgICAgc2VuZCgiJHt0aGlzX3dpbmRvd190b2tlbn0iLCBvcGVuZXIgPT0gbnVsbCkKICAgYCk7
Ci0gIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVjZWl2ZSh0aGlzX3dpbmRvd190b2tlbiksICJ0cnVl
IiwgIm9wZW5lciBleGlzdHMiKTsKLSAgYXNzZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZlKHRoaXNf
d2luZG93X3Rva2VuKSwgImZhbHNlIiwgIm9wZW5lciBub3QgY2xvc2VkIik7CisgIGFzc2VydF9l
cXVhbHMoYXdhaXQgcmVjZWl2ZSh0aGlzX3dpbmRvd190b2tlbiksICJ0cnVlIiwgIm9wZW5lciA9
PSBudWxsIik7CiAKLSAgLy8gQ2hlY2sgdGhlIG9wZW5lciBoYXMgc3RpbGwgYWNjZXNzIHRvIGl0
cyBvcGVuZWUuCisgIC8vIFRvIGdldCB0aGUgc3RhdGUgb2YgdGhlIG9wZW5lZSByZWZsZWN0ZWQg
aW50byB0aGUgb3BlbmVyJ3MgcHJvY2Vzcywgd2FpdGluZworICAvLyBmb3IgdGhlIG9wZW5lZScg
ZG9jdW1lbnQgdG8gbG9hZCBhbmQgdGhlIHZhcmlvdXMgZmV0Y2goKSB3aXRoIHRoZQorICAvLyBk
aXNwYXRjaGVyIHNob3VsZCBiZSBsYXJnZWx5IGVub3VnaC4gSG93ZXZlciB0aGVzZSBhcmVuJ3Qg
Y2F1c2FsIGd1YXJhbnRlZS4KKyAgLy8gU28gd2FpdCBhIGJpdCB0byBiZSBzdXJlOgorICBhd2Fp
dCBuZXcgUHJvbWlzZShyID0+IHRlc3Quc3RlcF90aW1lb3V0KHIsIDEwMDApKTsKKworICAvLyBD
aGVjayB0aGUgb3BlbmVyIHNlZSB0aGUgb3BlbmVlIGFzICdjbG9zZWQnIGFmdGVyIHRoZSBuYXZp
Z2F0aW9uLgogICBzZW5kKG9wZW5lcl90b2tlbiwgYAotICAgIHNlbmQoIiR7dGhpc193aW5kb3df
dG9rZW59Iiwgb3BlbmVlICE9IG51bGwpCi0gICAgc2VuZCgiJHt0aGlzX3dpbmRvd190b2tlbn0i
LCBvcGVuZWUuY2xvc2VkKTsKKyAgICBzZW5kKCIke3RoaXNfd2luZG93X3Rva2VufSIsIG9wZW5l
ZS5jbG9zZWQpCiAgIGApOwotICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlY2VpdmUodGhpc193aW5k
b3dfdG9rZW4pLCAidHJ1ZSIsICJvcGVuZWUgZXhpc3RzIik7Ci0gIGFzc2VydF9lcXVhbHMoYXdh
aXQgcmVjZWl2ZSh0aGlzX3dpbmRvd190b2tlbiksICJmYWxzZSIsICJvcGVuZWUgbm90IGNsb3Nl
ZCIpOworICBhc3NlcnRfZXF1YWxzKGF3YWl0IHJlY2VpdmUodGhpc193aW5kb3dfdG9rZW4pLCAi
dHJ1ZSIsICJvcGVuZWUuY2xvc2VkIik7CiB9KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdp
bi1vcGVuZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3ctZnJvbS1jb29wLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5LXN3LWZyb20tY29vcC5odHRw
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjODE5YzI3ZGEx
MTY1ZGUyMjA2ZGE0Njc1Nzk2ZGJmN2ZjZWRmYjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3ct
ZnJvbS1jb29wLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotCi1QQVNTIHN3X25vcm1hbCwgcG9wdXBfbm9ybWFsCi1QQVNTIHN3X25vcm1hbCwgcG9wdXBf
Y29vcAotUEFTUyBzd19jb29wLCBwb3B1cF9ub3JtYWwKLVBBU1Mgc3dfY29vcCwgcG9wdXBfY29v
cAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcG9wdXAtY29vcC1ieS1zdy1mcm9t
LWNvb3AuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5LXN3LWZy
b20tY29vcC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjdkNmQ5
MTAwMWQ0MDZiNTc1Y2U0MTg1ZjJhZTY4ZWYyYTkwOWUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5
LXN3LWZyb20tY29vcC5odHRwcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAot
PCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotICA8dGl0bGU+Ci0gICAgQ2hlY2sgU2Vy
dmljZVdvcmtlcnMgY2FuIHNldCBDT09QL0NPRVAgaGVhZGVycyBmb3IgZG9jdW1lbnRzJ3MgcmVz
cG9uc2VzCi0gIDwvdGl0bGU+Ci0gIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxvbmci
PgotICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci0g
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
LSAgPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgotICA8c2NyaXB0IHNy
Yz0iL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJz
LnN1Yi5qcyI+Ci0gIDwvc2NyaXB0PgotICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcG9wdXAt
Y29vcC1ieS1zdy5qcyI+IDwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08c2NyaXB0PgotCi0v
LyBUaGUgY3VycmVudCBkb2N1bWVudCBoYXZlIENPT1AvQ09FUCBkZWZpbmVkLiBBIHBvcHVwIHdp
bGwgYmUgb3BlbmVkLgotLy8gSXRzIHJlc3BvbnNlIHdpbGwgYmUgcHJvdmlkZWQgYnkgYSBTZXJ2
aWNlV29ya2VyLiBBIGJyb3dzaW5nIGNvbnRleHQKLS8vIGdyb3VwIHN3YXAgbXVzdCBoYXBwZW4g
aWYgdGhlIHBvcHVwJ3MgaGVhZGVycyBjb250YWlucyBDT09QL0NPRVAgaGVhZGVycy4KLQotcG9w
dXBDb29wQnlTd1Rlc3QoInN3X25vcm1hbCwgcG9wdXBfbm9ybWFsIiwKLSAgICAgICAgICAgICAg
ICAgICBzd19ub3JtYWwsIHBvcHVwX25vcm1hbCwKLSAgICAgICAgICAgICAgICAgICBzd2FwX2Jy
b3dzaW5nX2NvbnRleHRfZ3JvdXApCi0KLXBvcHVwQ29vcEJ5U3dUZXN0KCJzd19ub3JtYWwsIHBv
cHVwX2Nvb3AiLAotICAgICAgICAgICAgICAgICAgIHN3X25vcm1hbCwgcG9wdXBfY29vcCwKLSAg
ICAgICAgICAgICAgICAgICBrZWVwX2Jyb3dzaW5nX2NvbnRleHRfZ3JvdXApCi0KLXBvcHVwQ29v
cEJ5U3dUZXN0KCJzd19jb29wLCBwb3B1cF9ub3JtYWwiLAotICAgICAgICAgICAgICAgICAgIHN3
X2Nvb3AsIHBvcHVwX25vcm1hbCwKLSAgICAgICAgICAgICAgICAgICBzd2FwX2Jyb3dzaW5nX2Nv
bnRleHRfZ3JvdXApCi0KLXBvcHVwQ29vcEJ5U3dUZXN0KCJzd19jb29wLCBwb3B1cF9jb29wIiwK
LSAgICAgICAgICAgICAgICAgICBzd19jb29wLCBwb3B1cF9jb29wLAotICAgICAgICAgICAgICAg
ICAgIGtlZXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCkKLQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcG9wdXAtY29vcC1ieS1zdy1m
cm9tLWNvb3AuaHR0cHMuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVwLWNv
b3AtYnktc3ctZnJvbS1jb29wLmh0dHBzLmh0bWwuaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjNiNjBlNDkwZjQ3ZjRkYjc3ZDMzZDdhNGNhMmY1YjlhNDE4MWRlOC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1w
b2xpY3kvcG9wdXAtY29vcC1ieS1zdy1mcm9tLWNvb3AuaHR0cHMuaHRtbC5oZWFkZXJzCisrKyAv
ZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1Dcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeTogc2Ft
ZS1vcmlnaW4KLUNyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6IHJlcXVpcmUtY29ycApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3cuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3cuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IDBjODE5YzI3ZGExMTY1ZGUyMjA2ZGE0Njc1Nzk2ZGJmN2ZjZWRmYjMuLjJk
Y2M2MTdjNDk2MDg1NDI1OWRiNmE2MjJkZjU1YWFhZjlhYjMwYTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
b3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5LXN3Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLW9wZW5lci1wb2xpY3kvcG9wdXAtY29vcC1ieS1zdy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsNiArMSwxMiBAQAogCi1QQVNTIHN3X25vcm1hbCwgcG9wdXBfbm9ybWFsCi1QQVNTIHN3X25v
cm1hbCwgcG9wdXBfY29vcAotUEFTUyBzd19jb29wLCBwb3B1cF9ub3JtYWwKLVBBU1Mgc3dfY29v
cCwgcG9wdXBfY29vcAorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1RJTUVPVVQgb3BlbmVyOmJhc2ljLCBvcGVuZWU6YmFzaWMsIHN3OmJhc2ljIFRlc3QgdGltZWQg
b3V0CitOT1RSVU4gb3BlbmVyOmJhc2ljLCBvcGVuZWU6YmFzaWMsIHN3OmNvaQorTk9UUlVOIG9w
ZW5lcjpiYXNpYywgb3BlbmVlOmNvaSwgc3c6YmFzaWMKK05PVFJVTiBvcGVuZXI6YmFzaWMsIG9w
ZW5lZTpjb2ksIHN3OmNvaQorTk9UUlVOIG9wZW5lcjpjb2ksIG9wZW5lZTpiYXNpYywgc3c6YmFz
aWMKK05PVFJVTiBvcGVuZXI6Y29pLCBvcGVuZWU6YmFzaWMsIHN3OmNvaQorTk9UUlVOIG9wZW5l
cjpjb2ksIG9wZW5lZTpjb2ksIHN3OmJhc2ljCitOT1RSVU4gb3BlbmVyOmNvaSwgb3BlbmVlOmNv
aSwgc3c6Y29pCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5
LXN3Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcG9wdXAtY29vcC1ieS1zdy5odHRw
cy5odG1sCmluZGV4IDgzMDMxOGMyMDhmM2FkNTI1ODU4ODJiZDI2NTUwMGY1MWE0ZWE5NWQuLjZk
NmFjZTFmZDYyOTk1OWNhMjU4MWNmNmM3MDgyMzQ0ZmU4NzBkYjMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4t
b3BlbmVyLXBvbGljeS9wb3B1cC1jb29wLWJ5LXN3Lmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVu
ZXItcG9saWN5L3BvcHVwLWNvb3AtYnktc3cuaHR0cHMuaHRtbApAQCAtMSw0MCArMSwxMzcgQEAK
LTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgPHRpdGxlPgotICAgIENoZWNrIFNl
cnZpY2VXb3JrZXJzIGNhbiBzZXQgQ09PUC9DT0VQIGhlYWRlcnMgZm9yIGRvY3VtZW50cydzIHJl
c3BvbnNlcwotICA8L3RpdGxlPgotICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KLSAgPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgot
ICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Ci0gIDxzY3JpcHQgc3JjPSIvY29tbW9uL3V0aWxzLmpzIj48L3NjcmlwdD4KLSAgPHNjcmlwdCBz
cmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVy
cy5zdWIuanMiPgotICA8L3NjcmlwdD4KLSAgPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3BvcHVw
LWNvb3AtYnktc3cuanMiPiA8L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgorPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8bWV0YSBuYW1lPSJ2YXJpYW50IiBjb250ZW50PSI/
MS00Ij4KKzxtZXRhIG5hbWU9InZhcmlhbnQiIGNvbnRlbnQ9Ij81LWxhc3QiPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1v
bi9zdWJzZXQtdGVzdHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL2Rpc3BhdGNoZXIuanMiPjwvc2NyaXB0PgogPHNjcmlwdD4KIAotLy8gVGhlIGN1
cnJlbnQgZG9jdW1lbnQgZG8gbm90IGhhdmUgQ09PUC9DT0VQIGRlZmluZWQuIEEgcG9wdXAgd2ls
bCBiZSBvcGVuZWQuCi0vLyBJdHMgcmVzcG9uc2Ugd2lsbCBiZSBwcm92aWRlZCBieSBhIFNlcnZp
Y2VXb3JrZXIuIEEgYnJvd3NpbmcgY29udGV4dCBncm91cAotLy8gc3dhcCBtdXN0IGhhcHBlbiBp
ZiB0aGUgcG9wdXAncyBoZWFkZXJzIGNvbnRhaW5zIENPT1AvQ09FUCBoZWFkZXJzLgorY29uc3Qg
cmVzb3VyY2VzID0gIi9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcyI7
Citjb25zdCBleGVjdXRvcl9wYXRoID0gcmVzb3VyY2VzICsgIi9leGVjdXRvci5odG1sP3BpcGU9
IjsKK2NvbnN0IHN3X2V4ZWN1dG9yX3BhdGggID0gcmVzb3VyY2VzICsgIi9zd19leGVjdXRvci5q
cz9waXBlPSI7CiAKLXBvcHVwQ29vcEJ5U3dUZXN0KCJzd19ub3JtYWwsIHBvcHVwX25vcm1hbCIs
Ci0gICAgICAgICAgICAgICAgICAgc3dfbm9ybWFsLCBwb3B1cF9ub3JtYWwsCi0gICAgICAgICAg
ICAgICAgICAga2VlcF9icm93c2luZ19jb250ZXh0X2dyb3VwKQorY29uc3QgY29vcF9oZWFkZXIg
PSBgfGhlYWRlcihDcm9zcy1PcmlnaW4tT3BlbmVyLVBvbGljeSxzYW1lLW9yaWdpbilgOworY29u
c3QgY29lcF9oZWFkZXIgPSBgfGhlYWRlcihDcm9zcy1PcmlnaW4tRW1iZWRkZXItUG9saWN5LHJl
cXVpcmUtY29ycClgOwogCi1wb3B1cENvb3BCeVN3VGVzdCgic3dfbm9ybWFsLCBwb3B1cF9jb29w
IiwKLSAgICAgICAgICAgICAgICAgICBzd19ub3JtYWwsIHBvcHVwX2Nvb3AsCi0gICAgICAgICAg
ICAgICAgICAgc3dhcF9icm93c2luZ19jb250ZXh0X2dyb3VwKQorY29uc3QgaHR0cHNfb3JpZ2lu
ID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBTX09SSUdJTjsKIAotcG9wdXBDb29wQnlTd1Rlc3QoInN3
X2Nvb3AsIHBvcHVwX25vcm1hbCIsCi0gICAgICAgICAgICAgICAgICAgc3dfY29vcCwgcG9wdXBf
bm9ybWFsLAotICAgICAgICAgICAgICAgICAgIGtlZXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCkK
K2NvbnN0IHN3YXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCA9IHRydWU7Citjb25zdCBrZWVwX2Jy
b3dzaW5nX2NvbnRleHRfZ3JvdXAgPSBmYWxzZTsKIAotcG9wdXBDb29wQnlTd1Rlc3QoInN3X2Nv
b3AsIHBvcHVwX2Nvb3AiLAotICAgICAgICAgICAgICAgICAgIHN3X2Nvb3AsIHBvcHVwX2Nvb3As
Ci0gICAgICAgICAgICAgICAgICAgc3dhcF9icm93c2luZ19jb250ZXh0X2dyb3VwKQorY29uc3Qg
b3BlbmVyX2Jhc2ljID0gIiI7Citjb25zdCBvcGVuZXJfY29pID0gY29vcF9oZWFkZXIgKyBjb2Vw
X2hlYWRlcjsKIAorY29uc3Qgc3dfYmFzaWMgPSAiIjsKK2NvbnN0IHN3X2NvaSA9IGNvb3BfaGVh
ZGVyICsgY29lcF9oZWFkZXI7CisKK2NvbnN0IG9wZW5lZV9iYXNpYyA9IHsKKyAgJ2NvbnRlbnQt
dHlwZSc6ICd0ZXh0L2h0bWwnLAorfTsKK2NvbnN0IG9wZW5lZV9jb2kgPSB7CisgICdjb250ZW50
LXR5cGUnOiAndGV4dC9odG1sJywKKyAgJ2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3knOiAn
cmVxdWlyZS1jb3JwJywKKyAgJ2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5JzogJ3NhbWUtb3Jp
Z2luJywKK307CisKKy8vIEEgZG9jdW1lbnQgb3BlbnMgYSBwb3B1cC4gVGhlIHBvcHVwJ3MgZG9j
dW1lbnQgaXMgc2VydmVkIGZyb20gYSBzeW50aGV0aWMKKy8vIHJlc3BvbnNlIGJ5IGEgU2Vydmlj
ZVdvcmtlci4gQ2hlY2sgaG93IGNyb3NzLW9yaWdpbiBpc29sYXRpb24gd29ya3MgaW4gdGhpcwor
Ly8gY2FzZS4KK2NvbnN0IHBvcHVwQ29vcEJ5U3dUZXN0ID0gKAorICBkZXNjcmlwdGlvbiwKKyAg
Ly8gVGVzdCBwYXJhbWV0ZXJzOgorICBvcGVuZXJfaGVhZGVycywKKyAgb3BlbmVlX2hlYWRlcnMs
CisgIHN3X2hlYWRlcnMsCisgIC8vIFRlc3QgZXhwZWN0YXRpb25zOgorICBleHBlY3RlZF9icm93
aW5nX2NvbnRleHRfZ3JvdXAKKykgPT4geworICBzdWJzZXRUZXN0KHByb21pc2VfdGVzdCwgYXN5
bmMgdGVzdCA9PiB7CisgICAgY29uc3QgZHJpdmVyX3Rva2VuID0gdG9rZW4oKTsKKworICAgIC8v
IDEuIENyZWF0ZSB0aGUgb3BlbmVyLgorICAgIGNvbnN0IG9wZW5lcl90b2tlbiA9IHRva2VuKCk7
CisgICAgY29uc3Qgb3BlbmVyX3VybCA9IGh0dHBzX29yaWdpbiArIGV4ZWN1dG9yX3BhdGggKyBv
cGVuZXJfaGVhZGVycyArCisgICAgICBgJnV1aWQ9JHtvcGVuZXJfdG9rZW59YDsKKyAgICBjb25z
dCBvcGVuZXJfd2luZG93ID0gd2luZG93Lm9wZW4ob3BlbmVyX3VybCk7CisgICAgdGVzdC5hZGRf
Y2xlYW51cCgoKSA9PiBvcGVuZXJfd2luZG93LmNsb3NlKCkpOworCisgICAgLy8gMi4gRGVmaW5l
IHRoZSBvcGVuZWUncyBVUkwgYXMgYmVpbmcgc2VydmVkIGJ5IHRoZSBzZXJ2aWNlIHdvcmtlci4K
KyAgICBjb25zdCBvcGVuZWVfdXJsID0gaHR0cHNfb3JpZ2luICsgcmVzb3VyY2VzICsgIi9wcm94
aWVkPyIgKyB0b2tlbigpOworCisgICAgLy8gMy4gUmVnaXN0ZXIsIGluc3RhbGwgYW5kIGFjdGl2
YXRlIGEgU2VydmljZVdvcmtlciBzZXJ2aW5nIHRoZSBvcGVuZWVfdXJsLgorICAgIGNvbnN0IHN3
X3Rva2VuID0gdG9rZW4oKTsKKyAgICBjb25zdCBzd191cmwgPSBodHRwc19vcmlnaW4gKyBzd19l
eGVjdXRvcl9wYXRoICsgc3dfaGVhZGVycyArCisgICAgICBgJnV1aWQ9JHtzd190b2tlbn1gOwor
ICAgIGNvbnN0IHN3X3Njb3BlID0gb3BlbmVlX3VybDsgLy8gT25lLXRpbWUgc2NvcGUsIGJlY2F1
c2Ugb2YgdGhlIHRva2VuLgorCisgICAgY29uc3Qgc3dfcmVnaXN0cmF0aW9uID0KKyAgICAgIGF3
YWl0IHNlcnZpY2Vfd29ya2VyX3VucmVnaXN0ZXJfYW5kX3JlZ2lzdGVyKHRlc3QsIHN3X3VybCwg
c3dfc2NvcGUpOworICAgIHRlc3QuYWRkX2NsZWFudXAoKCkgPT4gc3dfcmVnaXN0cmF0aW9uLnVu
cmVnaXN0ZXIoKSk7CisgICAgYXdhaXQgd2FpdF9mb3Jfc3RhdGUodGVzdCwgc3dfcmVnaXN0cmF0
aW9uLmluc3RhbGxpbmcsICdhY3RpdmF0ZWQnKTsKKworICAgIHNlbmQoc3dfdG9rZW4sIGAKKyAg
ICAgIGZldGNoSGFuZGxlciA9IGV2ZW50ID0+IHsKKyAgICAgICAgaWYgKCFldmVudC5yZXF1ZXN0
LnVybC5pbmNsdWRlcygicHJveGllZCIpKQorICAgICAgICAgIHJldHVybjsKKworICAgICAgICBj
b25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShcYAorICAgICAgICAgIDxzY3JpcHQgc3JjPSIu
L2Rpc3BhdGNoZXIuanMiPjwvc2NyXGArXGBpcHQ+CisgICAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIHNlbmQoIiR7ZHJpdmVyX3Rva2VufSIsIG9wZW5lciA/ICJvcGVuZXIgaXMgc2V0Igor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIm9wZW5lciBpcyBu
dWxsIik7CisgICAgICAgICAgPC9zY3JcYCArIFxgaXB0PgorICAgICAgICBcYCwgeworICAgICAg
ICAgIHN0YXR1czogMjAwLAorICAgICAgICAgIGhlYWRlcnM6ICR7SlNPTi5zdHJpbmdpZnkob3Bl
bmVlX2hlYWRlcnMpfSwKKyAgICAgICAgfSk7CisgICAgICAgIGV2ZW50LnJlc3BvbmRXaXRoKHJl
c3BvbnNlKTsKKyAgICAgIH0KKworICAgICAgYXdhaXQgY2xpZW50cy5jbGFpbSgpOworCisgICAg
ICBzZW5kKCIke2RyaXZlcl90b2tlbn0iLCBzZXJ2aWNlV29ya2VyLnN0YXRlKTsKKyAgICBgKQor
ICAgIGFzc2VydF9lcXVhbHMoYXdhaXQgcmVjZWl2ZShkcml2ZXJfdG9rZW4pLCAiYWN0aXZhdGVk
Iik7CisKKyAgICAvLyA0LiBUaGUgb3BlbmVyIG9wZW5zIGEgcG9wdXAuIEl0cyBkb2N1bWVudCBp
cyBhIHN5bnRoZXRpYyByZXNwb25zZSBzZXJ2ZWQKKyAgICAvLyBmcm9tIHRoZSBTZXJ2aWNlIFdv
cmtlci4KKyAgICBzZW5kKG9wZW5lcl90b2tlbiwgYAorICAgICAgICB3aW5kb3cub3BlbigiJHtv
cGVuZWVfdXJsfSIpOworICAgIGApOworCisgICAgYXNzZXJ0X2VxdWFscyhhd2FpdCByZWNlaXZl
KGRyaXZlcl90b2tlbiksCisgICAgIChleHBlY3RlZF9icm93aW5nX2NvbnRleHRfZ3JvdXAgPT0g
c3dhcF9icm93c2luZ19jb250ZXh0X2dyb3VwKQorICAgICAgICAgICAgPyAib3BlbmVyIGlzIG51
bGwiCisgICAgICAgICAgICA6ICJvcGVuZXIgaXMgc2V0Iik7CisgIH0sIGRlc2NyaXB0aW9uKTsK
K307CisKK3BvcHVwQ29vcEJ5U3dUZXN0KCJvcGVuZXI6YmFzaWMsIG9wZW5lZTpiYXNpYywgc3c6
YmFzaWMiLAorICAgICAgICAgICAgICAgICAgIG9wZW5lcl9iYXNpYywgb3BlbmVlX2Jhc2ljLCBz
d19iYXNpYywKKyAgICAgICAgICAgICAgICAgICBrZWVwX2Jyb3dzaW5nX2NvbnRleHRfZ3JvdXAp
OworcG9wdXBDb29wQnlTd1Rlc3QoIm9wZW5lcjpiYXNpYywgb3BlbmVlOmJhc2ljLCBzdzpjb2ki
LAorICAgICAgICAgICAgICAgICAgIG9wZW5lcl9iYXNpYywgb3BlbmVlX2Jhc2ljLCBzd19jb2ks
CisgICAgICAgICAgICAgICAgICAga2VlcF9icm93c2luZ19jb250ZXh0X2dyb3VwKTsKK3BvcHVw
Q29vcEJ5U3dUZXN0KCJvcGVuZXI6YmFzaWMsIG9wZW5lZTpjb2ksIHN3OmJhc2ljIiwKKyAgICAg
ICAgICAgICAgICAgICBvcGVuZXJfYmFzaWMsIG9wZW5lZV9jb2ksIHN3X2Jhc2ljLAorICAgICAg
ICAgICAgICAgICAgIHN3YXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCk7Citwb3B1cENvb3BCeVN3
VGVzdCgib3BlbmVyOmJhc2ljLCBvcGVuZWU6Y29pLCBzdzpjb2kiLAorICAgICAgICAgICAgICAg
ICAgIG9wZW5lcl9iYXNpYywgb3BlbmVlX2NvaSwgc3dfY29pLAorICAgICAgICAgICAgICAgICAg
IHN3YXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCk7Citwb3B1cENvb3BCeVN3VGVzdCgib3BlbmVy
OmNvaSwgb3BlbmVlOmJhc2ljLCBzdzpiYXNpYyIsCisgICAgICAgICAgICAgICAgICAgb3BlbmVy
X2NvaSwgb3BlbmVlX2Jhc2ljLCBzd19iYXNpYywKKyAgICAgICAgICAgICAgICAgICBzd2FwX2Jy
b3dzaW5nX2NvbnRleHRfZ3JvdXApOworcG9wdXBDb29wQnlTd1Rlc3QoIm9wZW5lcjpjb2ksIG9w
ZW5lZTpiYXNpYywgc3c6Y29pIiwKKyAgICAgICAgICAgICAgICAgICBvcGVuZXJfY29pLCBvcGVu
ZWVfYmFzaWMsIHN3X2NvaSwKKyAgICAgICAgICAgICAgICAgICBzd2FwX2Jyb3dzaW5nX2NvbnRl
eHRfZ3JvdXApOworcG9wdXBDb29wQnlTd1Rlc3QoIm9wZW5lcjpjb2ksIG9wZW5lZTpjb2ksIHN3
OmJhc2ljIiwKKyAgICAgICAgICAgICAgICAgICBvcGVuZXJfY29pLCBvcGVuZWVfY29pLCBzd19i
YXNpYywKKyAgICAgICAgICAgICAgICAgICBrZWVwX2Jyb3dzaW5nX2NvbnRleHRfZ3JvdXApOwor
cG9wdXBDb29wQnlTd1Rlc3QoIm9wZW5lcjpjb2ksIG9wZW5lZTpjb2ksIHN3OmNvaSIsCisgICAg
ICAgICAgICAgICAgICAgb3BlbmVyX2NvaSwgb3BlbmVlX2NvaSwgc3dfY29pLAorICAgICAgICAg
ICAgICAgICAgIGtlZXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCk7CiA8L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXNvdXJjZXMvcG9w
dXAtY29vcC1ieS1zdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXNvdXJjZXMvcG9wdXAtY29v
cC1ieS1zdy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2IxNmUzMTYyNzEzZGU4
MTMyODg2MTc4YzVjOGJlMTA2ZTdlYzcxMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVzb3VyY2VzL3BvcHVwLWNvb3At
Ynktc3cuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQgKzAsMCBAQAotY29uc3QgdGVzdF90b2tl
biA9IHRva2VuKCk7Ci1jb25zdCBiYyA9IG5ldyBCcm9hZGNhc3RDaGFubmVsKHRlc3RfdG9rZW4p
OwotCi0vLyBEZWZpbmUgYSBwYWdlIHNlcnZlZCBlbnRpcmVseSBmcm9tIHRoZSBTZXJ2aWNlV29y
a2VyLgotY29uc3QgcG9wdXBfdXJsID0gbmV3IFVSTCgiLi9yZXNvdXJjZXMvaS1kby1ub3QtZXhp
c3QuaHRtbCIsIGxvY2F0aW9uKTsKLWNvbnN0IHBvcHVwX25vcm1hbD0gewotICAnY29udGVudC10
eXBlJzogJ3RleHQvaHRtbCcsCi19OwotY29uc3QgcG9wdXBfY29vcCA9IHsKLSAgJ2NvbnRlbnQt
dHlwZSc6ICd0ZXh0L2h0bWwnLAotICAnY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeSc6ICdy
ZXF1aXJlLWNvcnAnLAotICAnY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3knOiAnc2FtZS1vcmln
aW4nLAotfTsKLWNvbnN0IHBvcHVwX2JvZHkgPSBgCi0gIDxzY3JpcHQ+Ci0gICAgY29uc3QgYmMg
PSBuZXcgQnJvYWRjYXN0Q2hhbm5lbCgnJHt0ZXN0X3Rva2VufScpOwotICAgIGlmIChvcGVuZXIp
Ci0gICAgICBiYy5wb3N0TWVzc2FnZSgiQW4gb3BlbmVyIGlzIHNldCIpOwotICAgIGVsc2UKLSAg
ICAgIGJjLnBvc3RNZXNzYWdlKCJObyBvcGVuZXIgaXMgc2V0Iik7Ci0gICAgd2luZG93LmNsb3Nl
KCk7Ci0gIDwvc2NyaXBgK2B0PgotYDsKLQotY29uc3QgaGVhZGVyX2Nvb3A9IGB8aGVhZGVyKGNy
b3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3ksc2FtZV9vcmlnaW4pYDsKLWNvbnN0IGhlYWRlcl9j
b2VwID0gYHxoZWFkZXIoY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kscmVxdWlyZS1jb3JwKWA7
Ci0KLWNvbnN0IHN3X25vcm1hbCA9IG5ldyBVUkwoIi4vcmVzb3VyY2VzL3VuaXZlcnNhbC13b3Jr
ZXIuanM/cGlwZT0iLCBsb2NhdGlvbik7Ci1jb25zdCBzd19jb29wID0gc3dfbm9ybWFsICsgaGVh
ZGVyX2Nvb3AgKyBoZWFkZXJfY29lcDsKLQotY29uc3Qgc3dhcF9icm93c2luZ19jb250ZXh0X2dy
b3VwID0gdHJ1ZTsKLWNvbnN0IGtlZXBfYnJvd3NpbmdfY29udGV4dF9ncm91cCA9IGZhbHNlOwot
Ci1jb25zdCBTV19TQ09QRSA9ICIuL3Jlc291cmNlcy8iCi0KLS8vIFNlbmQgYSBtZXNzYWdlIHRv
IHRoZSB8d29ya2VyfC4gUmV0dXJuIGEgcHJvbWlzZSBjb250YWluaW5nIGl0cyByZXNwb25zZS4K
LWZ1bmN0aW9uIGV4ZWN1dGVDb21tYW5kSW5TZXJ2aWNlV29ya2VyKHdvcmtlciwgY29tbWFuZCkg
ewotICBjb25zdCBjaGFubmVsID0gbmV3IE1lc3NhZ2VDaGFubmVsKCk7Ci0gIGNvbnN0IHJlc3Bv
bnNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHJl
c29sdmUpOwotICB3b3JrZXIucG9zdE1lc3NhZ2UoY29tbWFuZCwgWyBjaGFubmVsLnBvcnQyIF0p
OwotICByZXR1cm4gcmVzcG9uc2U7Ci19Ci0KLWZ1bmN0aW9uIHBvcHVwQ29vcEJ5U3dUZXN0KHRl
c3RfbmFtZSwKLSAgLy8gVGVzdCBwYXJhbWV0ZXJzCi0gIHN3X3VybCwKLSAgbmV3X3dpbmRvd19o
ZWFkZXJzLAotICAvLyBUZXN0IGV4cGVjdGF0aW9uczoKLSAgZXhwZWN0ZWRfYnJvd2luZ19jb250
ZXh0X2dyb3VwKSB7Ci0gIHByb21pc2VfdGVzdChhc3luYyAodCkgPT4gewotICAgIC8vIENyZWF0
ZSBhIFNlcnZpY2VXb3JrZXIgYW5kIHdhaXQgZm9yIGl0cyBhY3RpdmF0aW9uLgotICAgIHdpbmRv
dy5pZCA9IHdpbmRvdy5pZCA9PSB1bmRlZmluZWQgPyAwIDogd2luZG93LmlkICsgMTsKLSAgICBj
b25zdCByZWcgPQotICAgICAgYXdhaXQgc2VydmljZV93b3JrZXJfdW5yZWdpc3Rlcl9hbmRfcmVn
aXN0ZXIodCwgc3dfdXJsLCBTV19TQ09QRSk7Ci0gICAgdC5hZGRfY2xlYW51cCgoKSA9PiByZWcu
dW5yZWdpc3RlcigpKTsKLSAgICBjb25zdCB3b3JrZXIgPSByZWcuaW5zdGFsbGluZyB8fCByZWcu
d2FpdGluZyB8fCByZWcuYWN0aXZlOwotICAgIHdhaXRfZm9yX3N0YXRlKHQsIHdvcmtlciwgJ2Fj
dGl2ZScpOwotCi0gICAgLy8gUmVnaXN0ZXIgYSBmZXRjaCBoYW5kbGVyLiBOZXcgZG9jdW1lbnRz
IGxvYWRlZCB3aWxsIHVzZSB0aGUKLSAgICAvLyB8bmV3X3dpbmRvd19oZWFkZXJzfCBmcm9tIG5v
dyBhbmQgdGhlIGN1c3RvbSByZXNwb25zZS4KLSAgICBjb25zdCB3b3JrZXJfc2NyaXB0ID0gYAot
ICAgICAgZmV0Y2hIYW5kbGVyID0gZXZlbnQgPT4gewotICAgICAgICBjb25zdCByZXNwb25zZSA9
IG5ldyBSZXNwb25zZShcYCR7cG9wdXBfYm9keX1cYCwgewotICAgICAgICAgIHN0YXR1czogMjAw
LAotICAgICAgICAgIGhlYWRlcnM6ICR7SlNPTi5zdHJpbmdpZnkobmV3X3dpbmRvd19oZWFkZXJz
KX0sCi0gICAgICAgIH0pOwotICAgICAgICBldmVudC5yZXNwb25kV2l0aChyZXNwb25zZSk7Ci0g
ICAgICB9OwotCi0gICAgICBtZXNzYWdlLnBvcnRzWzBdLnBvc3RNZXNzYWdlKCdkb25lJyk7Ci0g
ICAgYDsKLSAgICBjb25zdCBmZXRjaF9oYW5kbGVyX3JlZ2lzdGVyZWQgPQotICAgICAgYXdhaXQg
ZXhlY3V0ZUNvbW1hbmRJblNlcnZpY2VXb3JrZXIod29ya2VyLCB3b3JrZXJfc2NyaXB0KTsKLSAg
ICBhc3NlcnRfZXF1YWxzKGZldGNoX2hhbmRsZXJfcmVnaXN0ZXJlZC5kYXRhLCAiZG9uZSIpOwot
Ci0gICAgLy8gQ3JlYXRlIGEgcG9wdXAuIFRoZSBwb3B1cCBkb2N1bWVudCdzIHJlc3BvbnNlIGlz
IHByb3ZpZGVkIGJ5IHRoZQotICAgIC8vIFNlcnZpY2VXb3JrZXIuCi0gICAgYmNfcmVzcG9uc2Ug
PSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IGJjLm9ubWVzc2FnZSA9IHJlc29sdmUpOwotICAgIGNv
bnN0IG9wZW5lZSA9IHdpbmRvdy5vcGVuKHBvcHVwX3VybCk7Ci0gICAgY29uc3Qge2RhdGF9ID0g
YXdhaXQgYmNfcmVzcG9uc2U7Ci0gICAgYXdhaXQgcmVnLnVucmVnaXN0ZXIoKTsKLQotICAgIGlm
IChleHBlY3RlZF9icm93aW5nX2NvbnRleHRfZ3JvdXAgPT09IGtlZXBfYnJvd3NpbmdfY29udGV4
dF9ncm91cCkgewotICAgICAgLy8gRnJvbSB0aGUgb3BlbmVlIHBvaW50IG9mIHZpZXc6IFRoZSBv
cGVuZXIgaXMgcHJlc2VydmVkLCBiZWNhdXNlIHRoZQotICAgICAgLy8gcG9wdXAgaXMgc3RpbGwg
aW4gdGhlIHNhbWUgYnJvd3NpbmcgY29udGV4dCBncm91cC4KLSAgICAgIGFzc2VydF9lcXVhbHMo
ZGF0YSwgIkFuIG9wZW5lciBpcyBzZXQiKTsKLSAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICAv
LyBGcm9tIHRoZSBvcGVuZWUgcG9pbnQgb2YgdmlldzogVGhlcmUgYXJlIG5vIG9wZW5lciwgYmVj
YXVzZSB0aGUgbmV3Ci0gICAgLy8gd2luZG93IGxpdmVzIGluIGEgZGlmZmVyZW50IGJyb3dzaW5n
IGNvbnRleHQgZ3JvdXAuCi0gICAgYXNzZXJ0X2VxdWFscyhkYXRhLCAiTm8gb3BlbmVyIGlzIHNl
dCIpOwotCi0gICAgLy8gRnJvbSB0aGUgb3BlbmVyIHBvaW50IG9mIHZpZXc6IHRoZSBvcGVuZWUg
bXVzdCBhcHBlYXIgY2xvc2VkIHNob3J0bHkKLSAgICAvLyBhZnRlciB0aGUgcG9wdXAgbmF2aWdh
dGlvbiBjb21taXQuCi0gICAgY29uc3Qgb3BlbmVlX2Nsb3NlZCA9IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gewotICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4gewotICAgICAgICBpZiAob3BlbmVlLmNs
b3NlZCkKLSAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICB9LCAxMDApOwotICAgIH0pOwotICAg
IGF3YWl0IG9wZW5lZV9jbG9zZWQ7Ci0gIH0sIHRlc3RfbmFtZSk7Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLW9wZW5lci1wb2xpY3kvcmVzb3VyY2VzL3N3X2V4ZWN1dG9yLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXIt
cG9saWN5L3Jlc291cmNlcy9zd19leGVjdXRvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQ3ZDY2YjY1ZjA2
NmZiYmY2MDUyYzBkM2FkY2RmMjY3MDZhNTJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVu
ZXItcG9saWN5L3Jlc291cmNlcy9zd19leGVjdXRvci5qcwpAQCAtMCwwICsxLDI0IEBACitpbXBv
cnRTY3JpcHRzKCcuL2Rpc3BhdGNoZXIuanMnKTsKKworY29uc3QgcGFyYW1zID0gbmV3IFVSTFNl
YXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpOworY29uc3QgdXVpZCA9IHBhcmFtcy5nZXQoJ3V1
aWQnKTsKKworLy8gVGhlIGZldGNoIGhhbmRsZXIgbXVzdCBiZSByZWdpc3RlcmVkIGJlZm9yZSBw
YXJzaW5nIHRoZSBtYWluIHNjcmlwdCByZXNwb25zZS4KKy8vIFNvIGRvIGl0IGhlcmUsIGZvciBm
dXR1cmUgdXNlLgorZmV0Y2hIYW5kbGVyID0gKCkgPT4ge30KK2FkZEV2ZW50TGlzdGVuZXIoJ2Zl
dGNoJywgZSA9PiB7CisgIGZldGNoSGFuZGxlcihlKTsKK30pOworCisvLyBGb3JjZSBTZXJ2aWNl
V29ya2VyIHRvIGltbWVkaWF0ZWx5IGFjdGl2YXRlIGl0c2VsZi4KK2FkZEV2ZW50TGlzdGVuZXIo
J2luc3RhbGwnLCBldmVudCA9PiB7CisgIHNraXBXYWl0aW5nKCk7Cit9KTsKKworbGV0IGV4ZWN1
dGVPcmRlcnMgPSBhc3luYyBmdW5jdGlvbigpIHsKKyAgd2hpbGUodHJ1ZSkgeworICAgIGxldCB0
YXNrID0gYXdhaXQgcmVjZWl2ZSh1dWlkKTsKKyAgICBldmFsKGAoYXN5bmMgKCkgPT4geyR7dGFz
a319KSgpYCk7CisgIH0KK307CitleGVjdXRlT3JkZXJzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9w
ZW5lci1wb2xpY3kvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwppbmRleCA3YzEyYzZkNWE5MmFiODM0MDgzZGM5NDhi
MWMzMWMwMTljYzU3YWUxLi43NmFlZDE0NWM3MzdkMTIzYTRjMmFkYzcxOTNhOTlhMjlmMjhmYWE0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9j
cm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTI0
LDEwICsyNCwxMCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXNvdXJj
ZXMvZXhlY3V0b3IuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9yZXNvdXJjZXMvaWZyYW1lLXBv
cHVwLnN1Yi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcy9qYXZhc2NyaXB0LXVy
bC1zYW1lLW9yaWdpbi5odHRwcy5odG1sCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcy9w
b3B1cC1jb29wLWJ5LXN3LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcy9wb3N0YmFj
ay5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcy9wb3N0YmFjay5odG1sLmhlYWRl
cnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jv
c3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcmVzb3VyY2VzL3JlZGlyZWN0LnB5CiAvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVu
ZXItcG9saWN5L3Jlc291cmNlcy9yZXNvdXJjZS1jbGVhbnVwLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1w
b2xpY3kvcmVzb3VyY2VzL3Jlc291cmNlLXBvcHVwLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kv
cmVzb3VyY2VzL3N3X2V4ZWN1dG9yLmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Jlc291cmNlcy91
bml2ZXJzYWwtd29ya2VyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvdzNjLWltcG9ydC5sb2cKaW5kZXggM2UzMTBl
NWY0NjgzZjYwYmEzNjhiODFhMmY3NzMyMjM5MDdmYWRkYS4uZGNjMjI4Y2NiODAyZWNmM2ZlNTMx
ZDVlYTA1NThlZmIxZTJmYjIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3czYy1p
bXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS93M2MtaW1wb3J0LmxvZwpAQCAtMzAs
NiArMzAsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb29wLWNvZXAt
c2FuZGJveC5odHRwcy5odG1sLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1jc3At
c2FuZGJveC1uYXZpZ2F0ZS5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3AtY3Nw
LXNhbmRib3guaHR0cHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9jb29wLW5hdmlnYXRlLXNh
bWUtb3JpZ2luLWNzcC1zYW5kYm94Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1uYXZp
Z2F0ZWQtaGlzdG9yeS1wb3B1cC5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L2Nvb3At
bmF2aWdhdGVkLXBvcHVwLmh0dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvY29vcC1uYXZp
Z2F0ZWQtcG9wdXAuaHR0cHMuaHRtbC5oZWFkZXJzCkBAIC01Niw4ICs1Nyw2IEBAIExpc3Qgb2Yg
ZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L25hdmlnYXRlLXRvcC10by1hYm91dGJsYW5rLmh0
dHBzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvbm8taHR0cHMuaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVy
LXBvbGljeS9uby1odHRwcy5odG1sLmhlYWRlcnMKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1wb2xpY3kvcG9wdXAt
Y29vcC1ieS1zdy1mcm9tLWNvb3AuaHR0cHMuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9jcm9zcy1vcmlnaW4tb3BlbmVyLXBvbGljeS9wb3B1
cC1jb29wLWJ5LXN3LWZyb20tY29vcC5odHRwcy5odG1sLmhlYWRlcnMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLW9wZW5lci1w
b2xpY3kvcG9wdXAtY29vcC1ieS1zdy5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3Bv
cHVwLW1ldGEtaHR0cC1lcXVpdi5odHRwcy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1vcGVuZXItcG9saWN5L3BvcHVw
LXJlZGlyZWN0LWNhY2hlLmh0dHBzLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3Rz
LW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCAyMjUx
Y2ZkOTU1NTUxZjhiM2Y1MTA2Y2E0Nzk0MzE4OGUyOTdjNmE4Li4xMTBmNzA0ZWQxNWYwZjM1ZDIw
NWQ0Mjk2ZjdhY2E3YmYzNjQzOTBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRp
b25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0yNTU1LDYg
KzI1NTUsOSBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY2Fu
dmFzL29mZnNjcmVlbi90ZXh0LzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLnplcm8uaHRtbCI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Nyb3NzLW9yaWdpbi1lbWJlZGRlci1wb2xpY3kvYW5vbnltb3VzLWlmcmFt
ZS9hbm9ueW1vdXMtaWZyYW1lLXBvcHVwLnRlbnRhdGl2ZS5odHRwcy5odG1sIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9jYWNoZS1zdG9yYWdlLXJlcG9ydGluZy1k
ZWRpY2F0ZWQtd29ya2VyLmh0dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCkBA
IC0yNTkxLDYgKzI1OTQsOSBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9oZWFkZXItcGFyc2luZy5odHRwcy5o
dG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3JpZ2luLWVtYmVkZGVyLXBvbGljeS9pZnJhbWUtaGlz
dG9yeS1ub25lLXJlcXVpcmUtY29ycC5odHRwcy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAg
ICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvY3Jvc3Mtb3Jp
Z2luLWVtYmVkZGVyLXBvbGljeS9ub25lLmh0dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93Igog
ICAgIF0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>