<?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>180612</bug_id>
          
          <creation_ts>2017-12-08 15:34:13 -0800</creation_ts>
          <short_desc>[python] Modernize &quot;except&quot; usage for python3 compatibility</short_desc>
          <delta_ts>2017-12-10 13:12:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Konstantin Tokarev">annulen</reporter>
          <assigned_to name="Konstantin Tokarev">annulen</assigned_to>
          <cc>bburg</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>lforschler</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1379848</commentid>
    <comment_count>0</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-12-08 15:34:13 -0800</bug_when>
    <thetext>Converts except X, T to except X as T</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379850</commentid>
    <comment_count>1</comment_count>
      <attachid>328880</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-12-08 15:36:23 -0800</bug_when>
    <thetext>Created attachment 328880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379970</commentid>
    <comment_count>2</comment_count>
      <attachid>328911</attachid>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2017-12-09 09:14:34 -0800</bug_when>
    <thetext>Created attachment 328911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379971</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-09 09:16:54 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380083</commentid>
    <comment_count>4</comment_count>
      <attachid>328911</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-10 13:11:22 -0800</bug_when>
    <thetext>Comment on attachment 328911
Patch

Clearing flags on attachment: 328911

Committed r225733: &lt;https://trac.webkit.org/changeset/225733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380084</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-10 13:11:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1380085</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-10 13:12:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/35957679&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328880</attachid>
            <date>2017-12-08 15:36:23 -0800</date>
            <delta_ts>2017-12-09 09:14:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180612-20171209023621.patch</filename>
            <type>text/plain</type>
            <size>98789</size>
            <attacher name="Konstantin Tokarev">annulen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MjE1MWNhYTU1ZWQzMTQ5NDNhYTIxZjE2ODE3NzFmMDkxZGM5YzNmLi4yYjk3NjZkMGJkY2I4NmRj
MWZjZWNiMDJhOWM0MmRkNmFjNjFiMTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNy0xMi0wOCAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5k
ZXgucnU+CisKKyAgICAgICAgW3B5dGhvbl0gTW9kZXJuaXplICJleGNlcHQiIHVzYWdlIGZvciBw
eXRob24zIGNvbXBhdGliaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDYxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5OgorCiAyMDE3LTEyLTA4ICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51
bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBbcHl0aG9uXSBSZXBsYWNlIHByaW50ID4+IG9wZXJh
dG9yIHdpdGggcHJpbnQoKSBmdW5jdGlvbiBmb3IgcHl0aG9uMyBjb21wYXRpYmlsaXR5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQpp
bmRleCA0NDhhYjdhNWU5NmQwNzAzOWRhZGM2MDQ1NDgxZWQwMDIzNjZkYTRmLi4xODIxMzVlNjRl
NmRlNDQzYWM3Y2UzNzVmYjg0YjFjNjhlMzViYjBkIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9n
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTQ4LDcgKzQ4LDcgQEAg
dHJ5OgogCiAjIFdoZW4gY29weWluZyBnZW5lcmF0b3IgZmlsZXMgdG8gSmF2YVNjcmlwdENvcmUn
cyBwcml2YXRlIGhlYWRlcnMgb24gTWFjLAogIyB0aGUgY29kZWdlbi8gbW9kdWxlIGRpcmVjdG9y
eSBpcyBmbGF0dGVuZWQuIFNvLCBpbXBvcnQgZGlyZWN0bHkuCi1leGNlcHQgSW1wb3J0RXJyb3Is
IGU6CitleGNlcHQgSW1wb3J0RXJyb3IgYXMgZToKICAgICAjIGxvZy5lcnJvcihlKSAjIFVuY29t
bWVudCB0aGlzIHRvIGRlYnVnIGVhcmx5IGltcG9ydCBlcnJvcnMuCiAgICAgaW1wb3J0IG1vZGVs
cwogICAgIGZyb20gbW9kZWxzIGltcG9ydCAqCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDkyMzBhOThiZTMyZjQ1NzBhMzBkYzYzZTE0ZTE3MzUz
ZTJhYmMzMC4uOWYzZGIyMDg4ZDUzMzcxZmZjNDgxY2VkZjM3MGY3Njg0YjA2YjY2ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
MSBAQAorMjAxNy0xMi0wOCAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+
CisKKyAgICAgICAgW3B5dGhvbl0gTW9kZXJuaXplICJleGNlcHQiIHVzYWdlIGZvciBweXRob24z
IGNvbXBhdGliaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDYxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29tbWl0
dGVyX2F1dGgucHk6CisgICAgICAgIChDb21taXR0ZXJBdXRoLmF1dGhfanNvbik6CisgICAgICAg
IChDb21taXR0ZXJBdXRoLmF1dGhlbnRpY2F0ZSk6CisgICAgICAgIChDb21taXR0ZXJBdXRoLmlz
X3dlYmtpdF9jb21taXR0ZXIpOgorICAgICAgICAoQ29tbWl0dGVyQXV0aC5pc193ZWJraXRfdHJh
Y191c2VyKToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVy
LnB5OgorICAgICAgICAoZ2V0TGF0ZXN0U1ZOUmV2aXNpb24pOgorICAgICAgICAqIFF1ZXVlU3Rh
dHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZWJhc2UucHk6CisgICAgICAgIChVcGRhdGVCYXNlLl9p
bnRfZnJvbV9yZXF1ZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdzL21h
aW4ucHk6CisgICAgICAgIChCaW5kaW5nc1Rlc3RzLmdlbmVyYXRlX2Zyb21faWRsKToKKyAgICAg
ICAgKEJpbmRpbmdzVGVzdHMuZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kpOgorICAg
ICAgICAoQmluZGluZ3NUZXN0cy5kZXRlY3RfY2hhbmdlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb2RlZ2VuL21haW4ucHk6CisgICAgICAgIChCdWlsdGluc0dlbmVyYXRvclRlc3Rz
LmdlbmVyYXRlX2Zyb21fanNfYnVpbHRpbnMpOgorICAgICAgICAoQnVpbHRpbnNHZW5lcmF0b3JU
ZXN0cy5kZXRlY3RfY2hhbmdlcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvY2hhbmdlbG9nLnB5OgorICAgICAgICAoQ2hhbmdlTG9nLnBhcnNlX2xhdGVzdF9l
bnRyeV9mcm9tX2ZpbGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2NoZWNrb3V0LnB5OgorICAgICAgICAoQ2hlY2tvdXQuYnVnX2lkX2Zvcl90aGlzX2NvbW1p
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5w
eToKKyAgICAgICAgKEdpdC5pbl93b3JraW5nX2RpcmVjdG9yeSk6CisgICAgICAgIChHaXQuY2xv
bmUpOgorICAgICAgICAoR2l0Ll9zdHJpbmdfdG9faW50X29yX25vbmUpOgorICAgICAgICAoR2l0
Ll9jb21taXRfb25fYnJhbmNoKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9zY20vc3ZuLnB5OgorICAgICAgICAoU1ZOLnJldmlzaW9uc19jaGFuZ2luZ19maWxl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5w
eToKKyAgICAgICAgKENvbW1pdHRlckxpc3QubG9hZF9qc29uKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHk6CisgICAgICAgIChfV29ya2VyLnJ1bik6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90
LnB5OgorICAgICAgICAoQnVpbGRlci5mb3JjZV9idWlsZC5wcmVkaWNhdGUpOgorICAgICAgICAo
QnVpbGRlci5fZmV0Y2hfcmV2aXNpb25fdG9fYnVpbGRfbWFwKToKKyAgICAgICAgKEJ1aWxkQm90
Ll9mZXRjaF9idWlsZF9kaWN0aW9uYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvY3JlZGVudGlhbHMucHk6CisgICAgICAgIChDcmVkZW50aWFscy5fY3JlZGVudGlh
bHNfZnJvbV9naXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3
b3JrdHJhbnNhY3Rpb24ucHk6CisgICAgICAgIChOZXR3b3JrVHJhbnNhY3Rpb24ucnVuKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoTmV0d29ya1RyYW5zYWN0aW9uVGVzdC50ZXN0X2V4Y2VwdGlv
bik6CisgICAgICAgIChOZXR3b3JrVHJhbnNhY3Rpb25UZXN0LnRlc3RfdGltZW91dCk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weToKKyAgICAg
ICAgKFN0YXR1c1NlcnZlci5fZmV0Y2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5OgorICAgICAgICAoVW5pdFRlc3RSZXN1bHRz
LnJlc3VsdHNfZnJvbV9zdHJpbmcpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3ByZXR0eXBhdGNoLnB5OgorICAgICAgICAoUHJldHR5UGF0Y2guY2hlY2tfcHJldHR5X3BhdGNo
KToKKyAgICAgICAgKFByZXR0eVBhdGNoLnByZXR0eV9wYXRjaF90ZXh0KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weToKKyAgICAgICAg
KFByZXR0eVBhdGNoVGVzdC5jaGVja19ydWJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHk6CisgICAgICAgIChBdXRvSW5zdGFsbGVyLl9l
eHRyYWN0X3Rhcik6CisgICAgICAgIChBdXRvSW5zdGFsbGVyLl91bnppcCk6CisgICAgICAgIChB
dXRvSW5zdGFsbGVyLl9yZXBsYWNlX2RvbWFpbl93aXRoX25leHRfbWlycm9yKToKKyAgICAgICAg
KEF1dG9JbnN0YWxsZXIuX2Rvd25sb2FkX3RvX3N0cmVhbSk6CisgICAgICAgIChBdXRvSW5zdGFs
bGVyLmluc3RhbGwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9j
cmFzaGxvZ3MucHk6CisgICAgICAgIChDcmFzaExvZ3MuX2ZpbmRfbmV3ZXN0X2xvZ19kYXJ3aW4p
OgorICAgICAgICAoQ3Jhc2hMb2dzLl9maW5kX25ld2VzdF9sb2dfd2luKToKKyAgICAgICAgKENy
YXNoTG9ncy5fZmluZF9hbGxfbG9nc19kYXJ3aW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChFeGVjdXRpdmUua2lsbF9w
cm9jZXNzKToKKyAgICAgICAgKEV4ZWN1dGl2ZS5ydW5uaW5nX3BpZHMpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5OgorICAgICAgICAoRmls
ZVN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeSk6CisgICAgICAgIChGaWxlU3lzdGVtLnJlbW92
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3VzZXIucHk6Cisg
ICAgICAgIChVc2VyLl93YWl0X29uX2xpc3RfcmVzcG9uc2UpOgorICAgICAgICAoVXNlci5lZGl0
KToKKyAgICAgICAgKFVzZXIucGFnZSk6CisgICAgICAgIChVc2VyLmNhbl9vcGVuX3VybCk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3dvcmtzcGFjZS5weToKKyAg
ICAgICAgKFdvcmtzcGFjZS5jcmVhdGVfemlwKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2VyLnB5OgorICAgICAgICAoV2F0Y2hMaXN0
UGFyc2VyLl9wYXJzZV9kZWZpbml0aW9uX3NlY3Rpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3dlYmtpdHVuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdENhc2UuX2Fzc2Vy
dFJhaXNlc1JlZ2V4cCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9pbnNwZWN0b3IvbWFp
bi5weToKKyAgICAgICAgKEluc3BlY3RvckdlbmVyYXRvclRlc3RzLmdlbmVyYXRlX2Zyb21fanNv
bik6CisgICAgICAgIChJbnNwZWN0b3JHZW5lcmF0b3JUZXN0cy5kZXRlY3RfY2hhbmdlcyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0
X3Rlc3RfZmluZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEZpbmRlci5fcmVhZF90ZXN0X25h
bWVzX2Zyb21fZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdFJ1
bm5lci5ydW5fdGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgIChNYW5hZ2VyLnVwbG9hZF9yZXN1bHRz
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAoSlNPTlJlc3VsdHNHZW5lcmF0
b3IudXBsb2FkX2pzb25fZmlsZXMpOgorICAgICAgICAoSlNPTlJlc3VsdHNHZW5lcmF0b3IuX2dl
dF9hcmNoaXZlZF9qc29uX3Jlc3VsdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weToKKyAgICAgICAg
KE1pc2NUZXN0cy50ZXN0X3BhcnNlX3dhcm5pbmcpOgorICAgICAgICAoU2VtYW50aWNUZXN0cy50
ZXN0X2JhZF9idWdpZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHk6CisgICAgICAgIChzdW1tYXJpemVfcmVzdWx0cyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgIChMaWdodHRwZC5fcmVtb3Zl
X3N0YWxlX2xvZ3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Nl
cnZlcnMvaHR0cF9zZXJ2ZXJfYmFzZS5weToKKyAgICAgICAgKEh0dHBTZXJ2ZXJCYXNlLl9pc19y
dW5uaW5nX29uX3BvcnQpOgorICAgICAgICAoSHR0cFNlcnZlckJhc2UuX2NoZWNrX3RoYXRfYWxs
X3BvcnRzX2FyZV9hdmFpbGFibGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAo
QmFzZVRlc3QuYXNzZXJ0X3NlcnZlcnNfYXJlX2Rvd24pOgorICAgICAgICAoQmFzZVRlc3QuYXNz
ZXJ0X3NlcnZlcnNfYXJlX3VwKToKKyAgICAgICAgKEJhc2VUZXN0LmludGVncmF0aW9uX3Rlc3Rf
c2VydmVyX19mYWlscyk6CisgICAgICAgIChCYXNlVGVzdC5tYXliZV9tYWtlX2Rpcik6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0
dHBkLnB5OgorICAgICAgICAocnVuX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvc2VydmVycy93ZWJfcGxhdGZvcm1fdGVzdF9sYXVuY2hlci5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9z
ZXJ2ZXIucHk6CisgICAgICAgIChQeVdlYlNvY2tldC5pc19ydW5uaW5nKToKKyAgICAgICAgKFB5
V2ViU29ja2V0Ll9yZW1vdmVfc3RhbGVfbG9ncyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHk6CisgICAgICAgIChfbWVyZ2Vf
c2xhdmVfY29uZmlnX2pzb24pOgorICAgICAgICAoX21lcmdlX291dHB1dHNfaWZfbmVlZGVkKToK
KyAgICAgICAgKF91cGxvYWRfanNvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9idWlsZF9kcml2ZXIpOgorICAgICAgICAoUG9ydC5f
YnVpbGRfaW1hZ2VfZGlmZik6CisgICAgICAgIChQb3J0Ll9zeW1ib2xzX3N0cmluZyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rvci5weToKKyAgICAgICAgKExl
YWtEZXRlY3Rvci5jb3VudF90b3RhbF9ieXRlc19hbmRfdW5pcXVlX2xlYWtzKToKKyAgICAgICAg
KExlYWtEZXRlY3Rvci5jaGVja19mb3JfbGVha3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvcG9ydC9sZWFrZGV0ZWN0b3JfdmFsZ3JpbmQucHk6CisgICAgICAgIChMZWFrRGV0ZWN0b3JW
YWxncmluZC5fcGFyc2VfbGVha3Nfb3V0cHV0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbWFjLnB5OgorICAgICAgICAoTWFjUG9ydC5yZXNldF9wcmVmZXJlbmNlcyk6CisgICAg
ICAgIChNYWNQb3J0LnN0b3BfaGVscGVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS5hc3NlcnRfc2VydmVy
c19hcmVfZG93bik6CisgICAgICAgIChQb3J0VGVzdENhc2UuYXNzZXJ0X3NlcnZlcnNfYXJlX3Vw
KToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS5pbnRlZ3JhdGlvbl90ZXN0X2h0dHBfc2VydmVyX19m
YWlscyk6CisgICAgICAgIChQb3J0VGVzdENhc2UuaW50ZWdyYXRpb25fdGVzdF93ZWJzb2NrZXRf
c2VydmVyX19mYWlscyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9w
cm9jZXNzLnB5OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy53cml0ZSk6CisgICAgICAgIChTZXJ2
ZXJQcm9jZXNzLl93YWl0X2Zvcl9kYXRhX2FuZF91cGRhdGVfYnVmZmVyc191c2luZ19zZWxlY3Qp
OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy5fbm9uX2Jsb2NraW5nX3JlYWRfd2luMzIpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6CisgICAgICAgIChXaW5Qb3J0Ll9y
dW50aW1lX2ZlYXR1cmVfbGlzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2
ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl94dmZiX3JlYWRfZGlzcGxheV9pZCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5w
eToKKyAgICAgICAgKEpTT05DaGVja2VyLmNoZWNrKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weToKKyAgICAgICAgKFhNTENoZWNrZXIuY2hlY2spOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlci5weToKKyAgICAgICAg
KFRleHRGaWxlUmVhZGVyLnByb2Nlc3NfZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9maWxlcmVhZGVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGV4dEZpbGVSZWFkZXJU
ZXN0LnRlc3RfcHJvY2Vzc19maWxlX19kb2VzX25vdF9leGlzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHk6CisgICAgICAgIChBcmd1bWVudFBhcnNlci5w
YXJzZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5w
eToKKyAgICAgICAgKENyZWF0ZUJ1Zy5leGVjdXRlKToKKyAgICAgICAgKFJvbGxvdXQuZXhlY3V0
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNib3QucHk6CisgICAg
ICAgIChJUkNCb3QucHJvY2Vzc19tZXNzYWdlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVz
dFJlc3VsdHNSZWFkZXIuX3JlYWRfZmlsZV9jb250ZW50cyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weToKKyAgICAgICAgKFBhdGNoQW5h
bHlzaXNUYXNrLl9ydW5fY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9xdWV1ZWVuZ2luZS5weToKKyAgICAgICAgKFF1ZXVlRW5naW5lLnJ1bik6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Fic3RyYWN0c2VxdWVuY2VkY29tbWFu
ZC5weToKKyAgICAgICAgKEFic3RyYWN0U2VxdWVuY2VkQ29tbWFuZC5leGVjdXRlKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAg
IChBYnN0cmFjdFBhdGNoU2VxdWVuY2luZ0NvbW1hbmQuX3ByZXBhcmVfdG9fcHJvY2Vzcyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3Rl
bS5weToKKyAgICAgICAgKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVtLnJldmlld19wYXRjaCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHk6Cisg
ICAgICAgIChGYWlsdXJlUmVhc29uLl9ibGFtZV9saW5lX2Zvcl9yZXZpc2lvbik6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weToKKyAgICAgICAgKEFi
c3RyYWN0UXVldWUuX2NjX3dhdGNoZXJzKToKKyAgICAgICAgKEFic3RyYWN0UXVldWUucnVuX3dl
YmtpdF9wYXRjaCk6CisgICAgICAgIChDb21taXRRdWV1ZS5wcm9jZXNzX3dvcmtfaXRlbSk6Cisg
ICAgICAgIChTdHlsZVF1ZXVlLnJldmlld19wYXRjaCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHk6CisgICAgICAgIChBYnN0cmFjdFBhcmFs
bGVsUmViYXNlbGluZUNvbW1hbmQuX3J1bl93ZWJraXRfcGF0Y2gpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdGVwc2VxdWVuY2UucHk6CisgICAgICAgIChTdGVw
U2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRpb25zLnB5OgorICAgICAgICAoU3VnZ2Vz
dE5vbWluYXRpb25zLl9jb3VudF9yZWNlbnRfcGF0Y2hlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHk6CisgICAgICAgIChNdWx0aUNvbW1hbmRU
b29sLm1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL3JlYmFz
ZWxpbmVzZXJ2ZXIucHk6CisgICAgICAgIChfcmViYXNlbGluZV90ZXN0KToKKyAgICAgICAgKF9t
b3ZlX3Rlc3RfYmFzZWxpbmVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvYWRkc3ZubWltZXR5cGVmb3JwbmdfdW5pdHRlc3QucHk6CisgICAgICAgIChBZGRTdm5NaW1l
dHlwZUZvclBuZ1Rlc3QudGVzdF9ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jaGVja3N0eWxlLnB5OgorICAgICAgICAoQ2hlY2tTdHlsZS5ydW4pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHk6CisgICAgICAgIChDb21t
aXQuX2NoZWNrX3Rlc3RfZXhwZWN0YXRpb25zKToKKyAgICAgICAgKENvbW1pdC5ydW4pOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb25maXJtZGlmZi5weToKKyAgICAg
ICAgKENvbmZpcm1EaWZmLl9zaG93X3ByZXR0eV9kaWZmKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkLnB5OgorICAgICAgICAoSGFzTGFuZGVkLmRpZmZf
ZGlmZik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHk6CisgICAgICAgIChQcmVwYXJlQ2hhbmdlTG9nLnJ1bik6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3Byb21wdGZvcmJ1Z29ydGl0bGUucHk6CisgICAgICAg
IChQcm9tcHRGb3JCdWdPclRpdGxlLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL3NvcnR4Y29kZXByb2plY3RmaWxlcy5weToKKyAgICAgICAgKFNvcnRYY29kZVBy
b2plY3RGaWxlcy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rl
c3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weToKKyAgICAgICAgKFdlYkRyaXZlclczQ1dl
YlNlcnZlci5fd2FpdF9mb3Jfc2VydmVyLmNoZWNrX3BvcnQpOgorICAgICAgICAqIFRlc3RSZXN1
bHRTZXJ2ZXIvbW9kZWwvZGF0YXN0b3JlZmlsZS5weToKKyAgICAgICAgKERhdGFTdG9yZUZpbGUu
c2F2ZV9kYXRhKToKKyAgICAgICAgKiBqaGJ1aWxkL2poYnVpbGR1dGlscy5weToKKyAgICAgICAg
KGVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKToKKwogMjAxNy0xMi0wOCAg
S29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW3B5dGhv
bl0gUmVwbGFjZSBwcmludCA+PiBvcGVyYXRvciB3aXRoIHByaW50KCkgZnVuY3Rpb24gZm9yIHB5
dGhvbjMgY29tcGF0aWJpbGl0eQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29tbWl0dGVyX2F1dGgucHkgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aC5weQppbmRl
eCA5ZWMzNTdhZWJiNWUxYzE0Njk3YmIwOGIxODg1NTkzNzE5M2JmZGRhLi4yY2QyYjEzMmUxMzY0
YjExODZjMmM1OTU1YmM0NjJmMTljODBjNjczIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aC5weQorKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJf
YXV0aC5weQpAQCAtNDQsOSArNDQsOSBAQCBjbGFzcyBDb21taXR0ZXJBdXRoKGJ1aWxkYm90LnN0
YXR1cy53ZWIuYXV0aC5BdXRoQmFzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGgg
c2VsZi5vcGVuX2F1dGhfanNvbl9maWxlKCkgYXMgZjoKICAgICAgICAgICAgICAgICByZXR1cm4g
anNvbi5sb2FkKGYpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICBleGNlcHQg
SU9FcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ0Vycm9yIG9wZW5pbmcgYXV0
aC5qc29uIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJyb3IpKQotICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAgICAg
IHJhaXNlIEVycm9yKCdFcnJvciBwYXJzaW5nIGF1dGguanNvbiBmaWxlOiB7MH0nLmZvcm1hdChl
Lm1lc3NhZ2UpKQogCiAgICAgZGVmIGF1dGhfanNvbl9maWxlbmFtZShzZWxmKToKQEAgLTU1LDcg
KzU1LDcgQEAgY2xhc3MgQ29tbWl0dGVyQXV0aChidWlsZGJvdC5zdGF0dXMud2ViLmF1dGguQXV0
aEJhc2UpOgogICAgIGRlZiBhdXRoZW50aWNhdGUoc2VsZiwgdXNlcm5hbWUsIHBhc3N3b3JkKToK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuaXNfd2Via2l0X2NvbW1pdHRl
cih1c2VybmFtZSkgYW5kIHNlbGYuaXNfd2Via2l0X3RyYWNfdXNlcih1c2VybmFtZSwgcGFzc3dv
cmQpCi0gICAgICAgIGV4Y2VwdCBFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IEVycm9yIGFzIGU6
CiAgICAgICAgICAgICBzZWxmLmVyciA9IGUuYXJnc1swXQogICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCiAKQEAgLTY3LDE0ICs2NywxNCBAQCBjbGFzcyBDb21taXR0ZXJBdXRoKGJ1aWxkYm90LnN0
YXR1cy53ZWIuYXV0aC5BdXRoQmFzZSk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAg
ICBleGNlcHQgQ29uZmlnUGFyc2VyLkVycm9yOgogICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ0Vy
cm9yIHBhcnNpbmcgV2ViS2l0IGNvbW1pdHRlcnMgZmlsZScpCi0gICAgICAgIGV4Y2VwdCBJT0Vy
cm9yLCBlOgorICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2Ug
RXJyb3IoJ0Vycm9yIG9wZW5pbmcgV2ViS2l0IGNvbW1pdHRlcnMgZmlsZTogezB9Jy5mb3JtYXQo
ZS5zdHJlcnJvcikpCiAKICAgICBkZWYgaXNfd2Via2l0X3RyYWNfdXNlcihzZWxmLCB1c2VybmFt
ZSwgcGFzc3dvcmQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIHNlbGYub3Blbl90
cmFjX2NyZWRlbnRpYWxzX2ZpbGUoKSBhcyBmOgogICAgICAgICAgICAgICAgIGh0ZGlnZXN0ID0g
SFREaWdlc3RQYXJzZXIoZikKLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4
Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICByYWlzZSBFcnJvcignRXJyb3Igb3Blbmlu
ZyBUcmFjIGNyZWRlbnRpYWxzIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJyb3IpKQogCiAgICAg
ICAgIGlmIG5vdCBodGRpZ2VzdC5lbnRyaWVzKCk6CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQppbmRleCBhNTUwYmIwYTE5N2U5NjAwNmYwZGYyZTAy
NzBjZDUwZjRhYTQ4ZTA0Li43YmY0MmY5OTNmYjI3NTQzZWQ0M2RlOWFjMGU0OTg1M2MwMDJmNzYw
IDEwMDc1NQotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVy
LnB5CisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkK
QEAgLTM5LDcgKzM5LDcgQEAgZGVmIGdldExhdGVzdFNWTlJldmlzaW9uKFNWTlNlcnZlcik6CiAg
ICAgICAgIGRvYyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKICAgICAg
ICAgZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KICAgICAgICAg
cmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2aXNpb24iKQotICAgIGV4Y2VwdCB4bWwucGFyc2Vy
cy5leHBhdC5FeHBhdEVycm9yLCBlOgorICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBh
dEVycm9yIGFzIGU6CiAgICAgICAgIHByaW50KCJGQUlMRUQgVE8gUEFSU0UgJ3N2biBsb2cnIFhN
TDoiKQogICAgICAgICBwcmludChzdHIoZSkpCiAgICAgICAgIHByaW50KCItLS0tIikKZGlmZiAt
LWdpdCBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZWJhc2UucHkgYi9U
b29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGViYXNlLnB5CmluZGV4IGIwODdl
ODMwNjdkNjU5MTBmNTc3YmI2MDRmNDlhNWIwOWQ5MTllYWEuLjUyNjg1NDIwNDMwNDQwMTFiMTNl
NjBmNTQ2MTMxZjgxMWIxOTkxM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L2hhbmRsZXJzL3VwZGF0ZWJhc2UucHkKKysrIGIvVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFu
ZGxlcnMvdXBkYXRlYmFzZS5weQpAQCAtMzYsNiArMzYsNiBAQCBjbGFzcyBVcGRhdGVCYXNlKHdl
YmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGludF92YWx1
ZSA9IGludChzdHJpbmdfdmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gaW50X3ZhbHVlCi0gICAg
ICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBUeXBlRXJyb3I6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVy
cm9yIGFzIFR5cGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgcmV0dXJuIE5vbmUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weQppbmRleCAxYmQyYTc2MjhmYzNl
Yjg1NWFiYTRjYjg5MDBlM2E2OWYwNGFkMDMzLi4zOTQwNjg3ZGQyNjU4ZWVhNjMwODBlMjhlMDc0
ZTI2NmNkMjZhZDRjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdz
L21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5CkBA
IC02NSw3ICs2NSw3IEBAIGNsYXNzIEJpbmRpbmdzVGVzdHM6CiAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAgICAgICAgICAgICBpZiBvdXRwdXQ6
CiAgICAgICAgICAgICAgICAgcHJpbnQob3V0cHV0KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJy
b3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgcHJp
bnQoZS5vdXRwdXQpCiAgICAgICAgICAgICBleGl0X2NvZGUgPSBlLmV4aXRfY29kZQogICAgICAg
ICByZXR1cm4gZXhpdF9jb2RlCkBAIC05NSw3ICs5NSw3IEBAIGNsYXNzIEJpbmRpbmdzVGVzdHM6
CiAgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAg
ICAgICAgICAgICBpZiBvdXRwdXQ6CiAgICAgICAgICAgICAgICAgcHJpbnQob3V0cHV0KQotICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBh
cyBlOgogICAgICAgICAgICAgcHJpbnQoZS5vdXRwdXQpCiAgICAgICAgICAgICBleGl0X2NvZGUg
PSBlLmV4aXRfY29kZQogICAgICAgICBvcy5yZW1vdmUoaWRsX2ZpbGVzX2xpc3RbMV0pCkBAIC0x
MTMsNyArMTEzLDcgQEAgY2xhc3MgQmluZGluZ3NUZXN0czoKICAgICAgICAgICAgIGV4aXRfY29k
ZSA9IDAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLmV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCi0gICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3Is
IGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICAg
ICBvdXRwdXQgPSBlLm91dHB1dAogICAgICAgICAgICAgICAgIGV4aXRfY29kZSA9IGUuZXhpdF9j
b2RlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29kZWdlbi9tYWluLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2RlZ2VuL21haW4ucHkKaW5kZXggYzIwMmNlMWEx
OWRmZmZjODZlZTUyZjJlMWY2NjgxYWQ0NDNmMWM5Yi4uZDZlN2I2YjZjYzFjMTZlMzRkMTFiNTkz
NjE0ZTA5NzY3OGE2YmZlMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2Rl
Z2VuL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2RlZ2VuL21haW4ucHkK
QEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgQnVpbHRpbnNHZW5lcmF0b3JUZXN0czoKICAgICAgICAg
ICAgIHN0ZGVycl9vdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAgICAg
ICAgICAgICBpZiBzdGRlcnJfb3V0cHV0OgogICAgICAgICAgICAgICAgIHNlbGYud3JpdGVfZXJy
b3JfZmlsZShmcmFtZXdvcmtfbmFtZSArICJKU0J1aWx0aW5zLmgtZXJyb3IiIGlmIGdlbmVyYXRl
X3dyYXBwZXJzIGVsc2UgYnVpbHRpbnNfZmlsZXNbMF0sIG91dHB1dF9kaXJlY3RvcnksIHN0ZGVy
cl9vdXRwdXQpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0
IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBwcmludChlLm91dHB1dCkKICAgICAgICAg
ICAgIGV4aXRfY29kZSA9IGUuZXhpdF9jb2RlCiAgICAgICAgIHJldHVybiBleGl0X2NvZGUKQEAg
LTgwLDcgKzgwLDcgQEAgY2xhc3MgQnVpbHRpbnNHZW5lcmF0b3JUZXN0czoKICAgICAgICAgICAg
IGV4aXRfY29kZSA9IDAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCi0gICAgICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAg
ICAgICAgICAgICBvdXRwdXQgPSBlLm91dHB1dAogICAgICAgICAgICAgICAgIGV4aXRfY29kZSA9
IGUuZXhpdF9jb2RlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NoZWNrb3V0L2NoYW5nZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L2NoYW5nZWxvZy5weQppbmRleCBjZGEzMGM0N2E3ZDJjNGJjZTE2MjVkYzViZjMwMGEz
ZjQ1MzE0YTQzLi40MWNhMGZmOTNmMGJkYTVjOTA4MDQ3NDUzMzE3Y2E4N2I3OGQ0YWEwIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9n
LnB5CkBAIC0zMDgsNyArMzA4LDcgQEAgY2xhc3MgQ2hhbmdlTG9nKG9iamVjdCk6CiAgICAgZGVm
IHBhcnNlX2xhdGVzdF9lbnRyeV9mcm9tX2ZpbGUoY2xzLCBjaGFuZ2Vsb2dfZmlsZSk6CiAgICAg
ICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBuZXh0KGNscy5wYXJzZV9lbnRyaWVzX2Zyb21f
ZmlsZShjaGFuZ2Vsb2dfZmlsZSkpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uLCBlOgor
ICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIE5v
bmUKIAogICAgIHN2bl9ibGFtZV9yZWdleHAgPSByZS5jb21waWxlKHInXihccyooP1A8cmV2aXNp
b24+XGQrKSBbXiBdKylccyooP1A8bGluZT4uKj9cbiknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weQppbmRleCBmNjI4YzQ3MWQyMDc0
ZThjZTVlNDc4ZmE0MGYzODJiMWNlMmVlZWE0Li5kMWQ2MDk5ZTU4MTYwMzE4NjVkMDg3ZjE4OWEw
NzJmNWRjZjhhMTVhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dC5weQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGNsYXNzIENoZWNrb3V0KG9i
amVjdCk6CiAgICAgZGVmIGJ1Z19pZF9mb3JfdGhpc19jb21taXQoc2VsZiwgZ2l0X2NvbW1pdCwg
Y2hhbmdlZF9maWxlcz1Ob25lKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHBh
cnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyhzZWxmLmNvbW1pdF9tZXNzYWdlX2Zvcl90aGlzX2Nv
bW1pdChnaXRfY29tbWl0LCBjaGFuZ2VkX2ZpbGVzKS5tZXNzYWdlKCkpCi0gICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAg
ICAgICAgICBwYXNzICAjIFdlIG1pZ2h0IG5vdCBoYXZlIENoYW5nZUxvZ3MuCiAKICAgICBkZWYg
YXBwbHlfcGF0Y2goc2VsZiwgcGF0Y2gpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKaW5kZXggY2FkNTdhYmZhMTQ1YTFiZTYwNzIwMmRm
ZjYxODAyZGE3ZGEyYmNhMS4uNzkxYTg0MjZhOWVjM2EyM2ZjZTkzNmU3Mjg3NzYzZDViZGRkYjNj
YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
L2dpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
Z2l0LnB5CkBAIC0xMTEsNyArMTExLDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9yeSk6
CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGV4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZSBvciBFeGVj
dXRpdmUoKQogICAgICAgICAgICAgcmV0dXJuIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbY2xzLmV4
ZWN1dGFibGVfbmFtZSwgJ3Jldi1wYXJzZScsICctLWlzLWluc2lkZS13b3JrLXRyZWUnXSwgY3dk
PXBhdGgsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikucnN0cmlwKCkgPT0g
InRydWUiCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgT1NFcnJv
ciBhcyBlOgogICAgICAgICAgICAgIyBUaGUgV2luZG93cyBib3RzIHNlZW0gdG8gdGhyb3VnaCBh
IFdpbmRvd3NFcnJvciB3aGVuIGdpdCBpc24ndCBpbnN0YWxsZWQuCiAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGNsYXNzIEdpdChTQ00sIFNWTlJlcG9zaXRv
cnkpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBleGVjdXRpdmUgPSBleGVjdXRpdmUgb3Ig
RXhlY3V0aXZlKCkKICAgICAgICAgICAgIHJldHVybiBleGVjdXRpdmUucnVuX2NvbW1hbmQoW2Ns
cy5leGVjdXRhYmxlX25hbWUsICdjbG9uZScsICctdicsIHVybCwgZGlyZWN0b3J5XSwgZXJyb3Jf
aGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwg
ZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogCiAgICAgZGVmIGZpbmRfY2hlY2tvdXRfcm9vdChzZWxmLCBwYXRoKToKQEAgLTM1OSw3ICsz
NTksNyBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToKICAgICBkZWYgX3N0cmluZ190
b19pbnRfb3Jfbm9uZShzZWxmLCBzdHJpbmcpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBy
ZXR1cm4gaW50KHN0cmluZykKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGU6CisgICAgICAg
IGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCiAgICAg
QG1lbW9pemVkCkBAIC00NzIsNyArNDcyLDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9y
eSk6CiAKICAgICAgICAgICAgIHNlbGYuX3J1bl9naXQoWydjb21taXQnLCAnLW0nLCBtZXNzYWdl
XSkKICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYucHVzaF9sb2NhbF9jb21taXRzX3RvX3NlcnZl
cih1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9cGFzc3dvcmQpCi0gICAgICAgIGV4Y2VwdCBF
eGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAg
IF9sb2cud2FybmluZygiQ09NTUlUIEZBSUxFRDogIiArIHN0cihlKSkKICAgICAgICAgICAgIG91
dHB1dCA9ICJDb21taXQgZmFpbGVkLiIKICAgICAgICAgICAgIGNvbW1pdF9zdWNjZWVkZWQgPSBG
YWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
c2NtL3N2bi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
dm4ucHkKaW5kZXggNWU5MGUyODlhZTRhYWZhMjU5NzY3YzM2YWE2MWFjODY5MmFhMDE0Yi4uM2Nm
MzMzNjUyNTYzYzM3Nzg2NjU3NDdiNjgwODMxMTE1M2EyZTIwNCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5CkBAIC0yNDMsNyArMjQz
LDcgQEAgY2xhc3MgU1ZOKFNDTSwgU1ZOUmVwb3NpdG9yeSk6CiAgICAgICAgIGxvZ19jb21tYW5k
ID0gWydsb2cnLCAnLS1xdWlldCcsICctLWxpbWl0PSVzJyAlIGxpbWl0LCBwYXRoXQogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICBsb2dfb3V0cHV0ID0gc2VsZi5fcnVuX3N2bihsb2dfY29tbWFu
ZCwgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBl
OgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIHJldHVybiBb
XQogICAgICAgICBmb3IgbGluZSBpbiBsb2dfb3V0cHV0LnNwbGl0bGluZXMoKToKICAgICAgICAg
ICAgIG1hdGNoID0gcmUuc2VhcmNoKCdecig/UDxyZXZpc2lvbj5cZCspICcsIGxpbmUpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5Cmlu
ZGV4IDY2YTBhNjU0NGRkYmUwMDdlYzM4N2RkNmY4MWEyNWY3MGJmYTA0NWMuLmVkOTI3YmE1MmVh
NTI2M2QxNWFmMDE4MWMwYjhlOWVhZjVmMjg4MjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CkBAIC0xOTQsNyArMTk0LDcgQEAg
Y2xhc3MgQ29tbWl0dGVyTGlzdChvYmplY3QpOgogICAgICAgICBqc29uX3BhdGggPSBmaWxlc3lz
dGVtLmpvaW4oZmlsZXN5c3RlbS5kaXJuYW1lKGZpbGVzeXN0ZW0ucGF0aF90b19tb2R1bGUoJ3dl
YmtpdHB5LmNvbW1vbi5jb25maWcnKSksICdjb250cmlidXRvcnMuanNvbicpCiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIGNvbnRyaWJ1dG9ycyA9IGpzb24ubG9hZHMoZmlsZXN5c3RlbS5yZWFk
X3RleHRfZmlsZShqc29uX3BhdGgpKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZToKKyAg
ICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAgICAgIHN5cy5leGl0KCdjb250
cmlidXRvcnMuanNvbiBpcyBtYWxmb3JtZWQ6ICcgKyBzdHIoZSkpCiAKICAgICAgICAgc2VsZi5f
Y29udHJpYnV0b3JzID0gW10KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL21lc3NhZ2VfcG9vbC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL21lc3Nh
Z2VfcG9vbC5weQppbmRleCBiNjM5NTIwNmQxYmI4YTNkOGZhY2FiN2NkZThlNmIzNWQ2MjA3Y2M3
Li43NTIzYzRiMTMwM2U5NWY3MDVmNTI1NjM2MDIxZjQ1Zjg3MDEwMDE1IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbWVzc2FnZV9wb29sLnB5CkBAIC0yNjMsOSArMjYzLDkg
QEAgY2xhc3MgX1dvcmtlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6CiAgICAgICAgICAgICBf
bG9nLmRlYnVnKCIlcyBleGl0aW5nIiAlIHNlbGYubmFtZSkKICAgICAgICAgZXhjZXB0IFF1ZXVl
LkVtcHR5OgogICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAnJXM6IHJhbiBvdXQgb2YgbWVzc2Fn
ZXMgaW4gd29ya2VyIHF1ZXVlLicgJSBzZWxmLm5hbWUKLSAgICAgICAgZXhjZXB0IEtleWJvYXJk
SW50ZXJydXB0LCBlOgorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQgYXMgZToKICAg
ICAgICAgICAgIHNlbGYuX3JhaXNlKHN5cy5leGNfaW5mbygpKQotICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICBz
ZWxmLl9yYWlzZShzeXMuZXhjX2luZm8oKSkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAg
IHRyeToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWls
ZGJvdC9idWlsZGJvdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWls
ZGJvdC9idWlsZGJvdC5weQppbmRleCA5ZjA1NjZjYjQwZGE1NjdhMzFhMThjNDFiNzNiMDZmNjRi
Y2YyZDhlLi42MTRkM2U0NDJlNThmYTJmMjJlYzhhYWQ4MDQ5M2RiM2Q1OWNmOTBmIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxk
Ym90LnB5CkBAIC0xMjgsNyArMTI4LDcgQEAgY2xhc3MgQnVpbGRlcihvYmplY3QpOgogICAgICAg
ICBkZWYgcHJlZGljYXRlKGZvcm0pOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAg
IHJldHVybiBmb3JtLmZpbmRfY29udHJvbCgidXNlcm5hbWUiKQotICAgICAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBpZiBub3Qgc2VsZi5fYnJvd3NlcjoK
QEAgLTE2MSw3ICsxNjEsNyBAQCBjbGFzcyBCdWlsZGVyKG9iamVjdCk6CiAgICAgICAgICAgICBw
cmludCgiTG9hZGluZyByZXZpc2lvbi9idWlsZCBsaXN0IGZyb20gJXMuIiAlIHNlbGYucmVzdWx0
c191cmwoKSkKICAgICAgICAgICAgIHByaW50KCJUaGlzIG1heSB0YWtlIGEgd2hpbGUuLi4iKQog
ICAgICAgICAgICAgcmVzdWx0X2ZpbGVzID0gc2VsZi5fYnVpbGRib3QuX2ZldGNoX3R3aXN0ZWRf
ZGlyZWN0b3J5X2xpc3Rpbmcoc2VsZi5yZXN1bHRzX3VybCgpKQotICAgICAgICBleGNlcHQgdXJs
bGliMi5IVFRQRXJyb3IsIGVycm9yOgorICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJyb3Ig
YXMgZXJyb3I6CiAgICAgICAgICAgICBpZiBlcnJvci5jb2RlICE9IDQwNDoKICAgICAgICAgICAg
ICAgICByYWlzZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmV2aXNpb24vYnVpbGQgbGlzdCBm
YWlsZWQgdG8gbG9hZC4iKQpAQCAtMzY0LDExICszNjQsMTEgQEAgY2xhc3MgQnVpbGRCb3Qob2Jq
ZWN0KToKICAgICAgICAganNvbl91cmwgPSAiJXMvanNvbi9idWlsZGVycy8lcy9idWlsZHMvJXM/
ZmlsdGVyPTEiICUgKHNlbGYuYnVpbGRib3RfdXJsLCB1cmxsaWIucXVvdGUoYnVpbGRlci5uYW1l
KCkpLCBidWlsZF9udW1iZXIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBqc29u
LmxvYWQodXJsbGliMi51cmxvcGVuKGpzb25fdXJsKSkKLSAgICAgICAgZXhjZXB0IHVybGxpYjIu
VVJMRXJyb3IsIGVycjoKKyAgICAgICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3IgYXMgZXJyOgog
ICAgICAgICAgICAgYnVpbGRfdXJsID0gQnVpbGQuYnVpbGRfdXJsKGJ1aWxkZXIsIGJ1aWxkX251
bWJlcikKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkVycm9yIGZldGNoaW5nIGRhdGEgZm9yICVz
IGJ1aWxkICVzICglcywganNvbjogJXMpOiAlcyIgJSAoYnVpbGRlci5uYW1lKCksIGJ1aWxkX251
bWJlciwgYnVpbGRfdXJsLCBqc29uX3VybCwgZXJyKSkKICAgICAgICAgICAgIHJldHVybiBOb25l
Ci0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlcnI6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVy
cm9yIGFzIGVycjoKICAgICAgICAgICAgIGJ1aWxkX3VybCA9IEJ1aWxkLmJ1aWxkX3VybChidWls
ZGVyLCBidWlsZF9udW1iZXIpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCJFcnJvciBkZWNvZGlu
ZyBqc29uIGRhdGEgZnJvbSAlczogJXMiICUgKGJ1aWxkX3VybCwgZXJyKSkKICAgICAgICAgICAg
IHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvY3JlZGVudGlhbHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3Jl
ZGVudGlhbHMucHkKaW5kZXggNGE1NzljYjdiZDZjMGJmNzZkNmEwOTQzNGM0Mjk3Y2YzNDQ1YTcy
ZC4uYTg5MjlmYTU1NGFjYmEwNGY4YjlmODE3NjM3ZTI3N2RhMWE5NmQwMCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2NyZWRlbnRpYWxzLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQpAQCAtNTksNyAr
NTksNyBAQCBjbGFzcyBDcmVkZW50aWFscyhvYmplY3QpOgogICAgICAgICAgICAgICAgIHJldHVy
biAoTm9uZSwgTm9uZSkKICAgICAgICAgICAgIHJldHVybiAoR2l0LnJlYWRfZ2l0X2NvbmZpZyhz
ZWxmLmdpdF9wcmVmaXggKyAidXNlcm5hbWUiKSwKICAgICAgICAgICAgICAgICAgICAgR2l0LnJl
YWRfZ2l0X2NvbmZpZyhzZWxmLmdpdF9wcmVmaXggKyAicGFzc3dvcmQiKSkKLSAgICAgICAgZXhj
ZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAg
ICAjIENhdGNoIGFuZCBpZ25vcmUgT1NFcnJvciBleGNlcHRpb25zIHN1Y2ggYXMgIm5vIHN1Y2gg
ZmlsZQogICAgICAgICAgICAgIyBvciBkaXJlY3RvcnkiIChPU0Vycm9yIGVycm5vIDIpLCB3aGlj
aCBpbXBseSB0aGF0IHRoZSBHaXQKICAgICAgICAgICAgICMgY29tbWFuZCBjYW5ub3QgYmUgZm91
bmQvaXMgbm90IGluc3RhbGxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CmluZGV4IDYwYWNhYWJhMzRiODc5NzFh
MWMyMTFlOTU4MzZlNTAxNThjOTQ5M2IuLjg2ZGFlZTE1YmI4OGMwZDEyZGFlNWM3NGYxOWM0YjAy
N2MwMTE4NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9u
ZXR3b3JrdHJhbnNhY3Rpb24ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weQpAQCAtNTEsNyArNTEsNyBAQCBjbGFzcyBOZXR3b3Jr
VHJhbnNhY3Rpb24ob2JqZWN0KToKICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdCgpCi0gICAgICAgICAgICBleGNlcHQg
dXJsbGliMi5IVFRQRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJy
b3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9jb252ZXJ0XzQwNF90b19Ob25lIGFu
ZCBlLmNvZGUgPT0gNDA0OgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAg
ICAgICAgICAgIHNlbGYuX2NoZWNrX2Zvcl90aW1lb3V0KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uX3Vu
aXR0ZXN0LnB5CmluZGV4IDZjYWFiODJiNGQ2N2U3N2I3Yjg3ZmNkMWFiOGI3ODc4OGVhMTU5NGUu
LjFiYjQ2NzY3ZDZmM2IyN2E3MDhmOWU4ZDgyYmFhNWQwZmQ3YTY4MTYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFu
c2FjdGlvbl91bml0dGVzdC5weQpAQCAtNDksNyArNDksNyBAQCBjbGFzcyBOZXR3b3JrVHJhbnNh
Y3Rpb25UZXN0KExvZ2dpbmdUZXN0Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRy
YW5zYWN0aW9uLnJ1bihsYW1iZGE6IHNlbGYuX3JhaXNlX2V4Y2VwdGlvbigpKQogICAgICAgICAg
ICAgZGlkX3Rocm93X2V4Y2VwdGlvbiA9IEZhbHNlCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24s
IGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIGRpZF9wcm9j
ZXNzX2V4Y2VwdGlvbiA9IFRydWUKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZSwgc2Vs
Zi5leGNlcHRpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaWRfdGhyb3dfZXhjZXB0aW9u
KQpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBOZXR3b3JrVHJhbnNhY3Rpb25UZXN0KExvZ2dpbmdU
ZXN0Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnJ1bihsYW1i
ZGE6IHNlbGYuX3JhaXNlXzUwMF9lcnJvcigpKQogICAgICAgICAgICAgZGlkX3Rocm93X2V4Y2Vw
dGlvbiA9IEZhbHNlCi0gICAgICAgIGV4Y2VwdCBOZXR3b3JrVGltZW91dCwgZToKKyAgICAgICAg
ZXhjZXB0IE5ldHdvcmtUaW1lb3V0IGFzIGU6CiAgICAgICAgICAgICBkaWRfcHJvY2Vzc19leGNl
cHRpb24gPSBUcnVlCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaWRfdGhyb3dfZXhjZXB0aW9u
KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZGlkX3Byb2Nlc3NfZXhjZXB0aW9uKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHkKaW5kZXgg
MjAzN2FmZmVjYTBlNzNiNjkwMTcxNDYyMDI5NmNkNDZmMDIxMjc4NC4uYzA3YWI2NWUzZTM3M2I0
YTBjNzFhYTBlNWU5YWFkMWRiOTU4ZmQwZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5CkBAIC0xNjcsNyArMTY3LDcgQEAgY2xhc3Mg
U3RhdHVzU2VydmVyOgogICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgTmV0d29ya1Ry
YW5zYWN0aW9uJ3MgNDA0IGhhbmRsaW5nIGluc3RlYWQuCiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHJldHVybiB1cmxsaWIyLnVybG9wZW4odXJsLCB0aW1lb3V0PTMwMCkucmVhZCgpCi0gICAg
ICAgIGV4Y2VwdCB1cmxsaWIyLkhUVFBFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IHVybGxpYjIu
SFRUUEVycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmNvZGUgPT0gNDA0OgogICAgICAgICAg
ICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICByYWlzZSBlCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3VuaXR0ZXN0cmVzdWx0cy5weQppbmRleCBiNjE2
YzA5NDZhYWY1ZTg4ZGNmNjU0ZGZmMTZmMTIwYzE4MjQ5ZDEyLi5mMDVhODIyNWFmMjVjY2IwNDgw
NTQwNTJjZTExZWNmMGUzODc5NDFkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC91bml0dGVzdHJlc3VsdHMucHkKQEAgLTQ2LDYgKzQ2LDYgQEAgY2xhc3Mg
VW5pdFRlc3RSZXN1bHRzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGNsYXNzbmFtZSA9
IHRlc3RjYXNlLmdldEF0dHJpYnV0ZSgnY2xhc3NuYW1lJykKICAgICAgICAgICAgICAgICAgICAg
ZmFpbHVyZXMuYXBwZW5kKCIlcy4lcyIgJSAoY2xhc3NuYW1lLCB0ZXN0bmFtZSkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFpbHVyZXMKLSAgICAgICAgZXhjZXB0IHhtbC5wYXJzZXJzLmV4cGF0LkV4
cGF0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJYTUwgZXJyb3IgJXMgcGFyc2luZyB1bml0
IHRlc3Qgb3V0cHV0IiAlIHN0cihlKSkKICAgICAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0eXBhdGNoLnB5CmluZGV4IGRiYzVjZWE3NDVh
NGUzNjAzYWIyNWVhY2MwMmUzNTIwY2U3Yzg3MTIuLjU3NjhjZWI2ZWRiZGQwNDc4MjM3MjBiYTA3
NWUwMzQ0NzE1YmY4ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3ByZXR0eXBhdGNoLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0
eXBhdGNoLnB5CkBAIC04MSw3ICs4MSw3IEBAIGNsYXNzIFByZXR0eVBhdGNoKG9iamVjdCk6CiAg
ICAgICAgICIiIkNoZWNrcyB3aGV0aGVyIHdlIGNhbiB1c2UgdGhlIFByZXR0eVBhdGNoIHJ1Ynkg
c2NyaXB0LiIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBfID0gc2VsZi5fZXhlY3V0aXZl
LnJ1bl9jb21tYW5kKFsncnVieScsICctLXZlcnNpb24nXSkKLSAgICAgICAgZXhjZXB0IE9TRXJy
b3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVy
cm5vIGluIFtlcnJuby5FTk9FTlQsIGVycm5vLkVBQ0NFUywgZXJybm8uRUNISUxEXToKICAgICAg
ICAgICAgICAgICBpZiBsb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmco
IlJ1YnkgaXMgbm90IGluc3RhbGxlZDsgY2FuJ3QgZ2VuZXJhdGUgcHJldHR5IHBhdGNoZXMuIikK
QEAgLTEwNywxMiArMTA3LDEyIEBAIGNsYXNzIFByZXR0eVBhdGNoKG9iamVjdCk6CiAgICAgICAg
ICAgICAjIERpZmZzIGFyZSB0cmVhdGVkIGFzIGJpbmFyeSAod2UgcGFzcyBkZWNvZGVfb3V0cHV0
PUZhbHNlKSBhcyB0aGV5CiAgICAgICAgICAgICAjIG1heSBjb250YWluIG11bHRpcGxlIGZpbGVz
IG9mIGNvbmZsaWN0aW5nIGVuY29kaW5ncy4KICAgICAgICAgICAgIHJldHVybiBzZWxmLl9leGVj
dXRpdmUucnVuX2NvbW1hbmQoY29tbWFuZCwgZGVjb2RlX291dHB1dD1GYWxzZSkKLSAgICAgICAg
ZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAg
ICAgICAjIElmIHRoZSBzeXN0ZW0gaXMgbWlzc2luZyBydWJ5IGxvZyB0aGUgZXJyb3IgYW5kIHN0
b3AgdHJ5aW5nLgogICAgICAgICAgICAgc2VsZi5wcGF0Y2hfYXZhaWxhYmxlID0gRmFsc2UKICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBydW4gUHJldHR5UGF0Y2ggKCVzKTogJXMi
ICUgKGNvbW1hbmQsIGUpKQogICAgICAgICAgICAgcmV0dXJuIHNlbGYucHJldHR5X3BhdGNoX2Vy
cm9yX2h0bWwKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQg
U2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICMgSWYgcnVieSBmYWlsZWQgdG8gcnVuIGZv
ciBzb21lIHJlYXNvbiwgbG9nIHRoZSBjb21tYW5kCiAgICAgICAgICAgICAjIG91dHB1dCBhbmQg
c3RvcCB0cnlpbmcuCiAgICAgICAgICAgICBzZWxmLnBwYXRjaF9hdmFpbGFibGUgPSBGYWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJldHR5cGF0Y2hfdW5p
dHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0
dGVzdC5weQppbmRleCAwYTBhNzdmYTNhYmFiMGRlYWZlNGJmMzkwNzZiMmRlNWNkOWRlYWI1Li45
NDM5OWQ2Y2I1ZDBkOGVmMThlNWMzZjk3ZGRhZTUwMjc1M2Y3NjI4IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weQpAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBQcmV0dHlQYXRjaFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBleGVjdXRpdmUgPSBFeGVjdXRpdmUoKQogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICByZXN1bHQgPSBleGVjdXRpdmUucnVuX2NvbW1hbmQoWydydWJ5JywgJy0tdmVyc2lvbiddKQot
ICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
ICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkKaW5k
ZXggODRjYTdiMDY4NGVhZTQzYzU4ZDAwYWI4NWJjMTgwNmYyMzQyYzQwZC4uODRkNDA2NDQ2MTVj
ZTI3NmY3YjYwM2E0YzBkNjllMDMxYmIxZmE1YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9hdXRvaW5zdGFsbC5weQpAQCAtMjE4LDcgKzIxOCw3IEBA
IGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0KToKIAogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICB0YXJfZmlsZSA9IHRhcmZpbGUub3BlbihwYXRoKQotICAgICAgICBleGNlcHQgdGFyZmlsZS5S
ZWFkRXJyb3IsIGVycjoKKyAgICAgICAgZXhjZXB0IHRhcmZpbGUuUmVhZEVycm9yIGFzIGVycjoK
ICAgICAgICAgICAgICMgQXBwZW5kIGV4aXN0aW5nIEVycm9yIG1lc3NhZ2UgdG8gbmV3IEVycm9y
LgogICAgICAgICAgICAgbWVzc2FnZSA9ICgiQ291bGQgbm90IG9wZW4gdGFyIGZpbGU6ICVzXG4i
CiAgICAgICAgICAgICAgICAgICAgICAgICIgVGhlIGZpbGUgcHJvYmFibHkgZG9lcyBub3QgaGF2
ZSB0aGUgY29ycmVjdCBmb3JtYXQuXG4iCkBAIC0yNjgsNyArMjY4LDcgQEAgY2xhc3MgQXV0b0lu
c3RhbGxlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHppcF9maWxlID0g
emlwZmlsZS5aaXBGaWxlKHBhdGgsICJyIikKLSAgICAgICAgZXhjZXB0IHppcGZpbGUuQmFkWmlw
ZmlsZSwgZXJyOgorICAgICAgICBleGNlcHQgemlwZmlsZS5CYWRaaXBmaWxlIGFzIGVycjoKICAg
ICAgICAgICAgIG1lc3NhZ2UgPSAoIkNvdWxkIG5vdCBvcGVuIHppcCBmaWxlOiAlc1xuIgogICAg
ICAgICAgICAgICAgICAgICAgICAiIC0tPiBJbm5lciBtZXNzYWdlOiAlcyIKICAgICAgICAgICAg
ICAgICAgICAgICAgJSAocGF0aCwgZXJyKSkKQEAgLTM0NCw3ICszNDQsNyBAQCBjbGFzcyBBdXRv
SW5zdGFsbGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgcmVnZXgubWF0Y2gocGFyc2Vk
X3VybFsxXSk6CiAgICAgICAgICAgICAgICAgICAgIHBhcnNlZF91cmxbMV0gPSBhZGRyZXNzZXMu
bmV4dCgpCiAgICAgICAgICAgICAgICAgICAgIG5ld191cmwgPSB1cmxwYXJzZS51cmx1bnBhcnNl
KHBhcnNlZF91cmwpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uLCBlOgorICAgICAgICBl
eGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlOgogICAgICAgICAgICAgX2xvZy5pbmZvKCdSYW4gb3V0
IG9mIG1pcnJvcnMuJykKIAogICAgICAgICByZXR1cm4gbmV3X3VybApAQCAtMzU2LDcgKzM1Niw3
IEBAIGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0KToKICAgICAgICAgICAgIHRyeToKICAgICAg
ICAgICAgICAgICBuZXRzdHJlYW0gPSB1cmxsaWIyLnVybG9wZW4odXJsLCB0aW1lb3V0PTMwKQog
ICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZXJyOgor
ICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICMgVHJ5
IG11bHRpcGxlIHRpbWVzCiAgICAgICAgICAgICAgICAgaWYgZmFpbHVyZXMgPCAyOgogICAgICAg
ICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkZhaWxlZCB0byBkb3dubG9hZCAlcywgJXMgcmV0
cnlpbmciICUgKApAQCAtNTA4LDcgKzUwOCw3IEBAIGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0
KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsPXVybCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdXJsX3N1YnBhdGg9dXJsX3N1YnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbGVzX3RvX3JlbW92ZT1maWxlc190b19yZW1vdmUpCi0gICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGVycjoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAgICAgICAgICAg
ICAjIEFwcGVuZCBleGlzdGluZyBFcnJvciBtZXNzYWdlIHRvIG5ldyBFcnJvci4KICAgICAgICAg
ICAgIG1lc3NhZ2UgPSAoIkVycm9yIGF1dG8taW5zdGFsbGluZyB0aGUgJXMgcGFja2FnZSB0bzpc
biIKICAgICAgICAgICAgICAgICAgICAgICAgJyAiJXMiXG4nCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weQppbmRleCA4MTJkOWFjMTI3ZjA5
MmUzOTcyZWI2NTcwMWJlZDBlMDVjOWFlOWExLi43NWRhNjZjMjk0ODFlZTY3OTFjZDQ5YjFkM2Zi
NmQ0NWY4OTQwMmMwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vY3Jhc2hsb2dzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS9jcmFzaGxvZ3MucHkKQEAgLTg2LDEwICs4NiwxMCBAQCBjbGFzcyBDcmFzaExvZ3Mob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgcGFyc2VkX25hbWUsIHBhcnNlZF9waWQsIGxvZ19j
b250ZW50cyA9IHNlbGYuX3BhcnNlX2Rhcndpbl9jcmFzaF9sb2cocGF0aCkKICAgICAgICAgICAg
ICAgICAgICAgaWYgcGFyc2VkX25hbWUgPT0gcHJvY2Vzc19uYW1lIGFuZCAocGlkIGlzIE5vbmUg
b3IgcGFyc2VkX3BpZCA9PSBwaWQpOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVy
cm9ycyArIGxvZ19jb250ZW50cwotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAg
ICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVf
ZXJyb3JzOgogICAgICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8g
cmVhZCAnJXMnOiAlc1xuIiAlIChwYXRoLCBzdHIoZSkpCi0gICAgICAgICAgICBleGNlcHQgT1NF
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAg
ICAgaWYgaW5jbHVkZV9lcnJvcnM6CiAgICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSAiRVJS
T1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUgKHBhdGgsIHN0cihlKSkKIApAQCAtMTE5
LDE1ICsxMTksMTUgQEAgY2xhc3MgQ3Jhc2hMb2dzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
ICAgICMgTm90ZTogVGhpcyBvdXRwdXQgY29tZXMgZnJvbSBhIHByb2dyYW0gdGhhdCBzaG93cyBQ
SUQgaW4gaGV4OgogICAgICAgICAgICAgICAgICAgICBpZiBpbnQobWF0Y2guZ3JvdXAoJ3BpZCcp
LCAxNikgPT0gcGlkOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9ycyArIGxv
Z19maWxlCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAgICAgICAgICAgIGV4Y2Vw
dCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgcHJpbnQoIklPRXJyb3IgJXMiICUgc3Ry
KGUpKQogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3JzOgogICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gdSJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAocGF0
aCwgc3RyKGUpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAgICBl
eGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHByaW50KCJPU0Vycm9yICVzIiAl
IHN0cihlKSkKICAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoKICAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzICs9IHUiRVJST1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUg
KHBhdGgsIHN0cihlKSkKLSAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IsIGU6
CisgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGU6CiAgICAgICAgICAg
ICAgICAgcHJpbnQoIlVuaWNvZGVEZWNvZGVFcnJvciAlcyIgJSBzdHIoZSkpCiAgICAgICAgICAg
ICAgICAgaWYgaW5jbHVkZV9lcnJvcnM6CiAgICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSB1
IkVSUk9SOiBGYWlsZWQgdG8gZGVjb2RlICclcycgYXMgYXNjaWk6ICVzXG4iICUgKHBhdGgsIHN0
cihlKSkKQEAgLTE3NCwxMCArMTc0LDEwIEBAIGNsYXNzIENyYXNoTG9ncyhvYmplY3QpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX25hbWUgPSByZXN1bHRfbmFtZSArICctJyArIHN0
cihjb3VudCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAg
ICAgICAgICAgY3Jhc2hfbG9nc1t1bmlxdWVfbmFtZV0gPSBlcnJvcnMgKyBsb2dfY29udGVudHMK
LSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IElPRXJy
b3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoKICAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzICs9ICJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAo
cGF0aCwgc3RyKGUpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAg
ICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3Jz
OgogICAgICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCAn
JXMnOiAlc1xuIiAlIChwYXRoLCBzdHIoZSkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CmluZGV4IGEyOWNjYzQwYjFkMjA4YjIwNzE5
M2QwYjQxY2QzOTRlMjdmNDc2NWIuLmEyYWI5ODVjYjlmODQ0YmFjYzA2OTA5OTgzZjIxOGJhMjVm
NDY1YjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9l
eGVjdXRpdmUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZS5weQpAQCAtMTg5LDcgKzE4OSw3IEBAIGNsYXNzIEV4ZWN1dGl2ZShBYnN0cmFjdEV4
ZWN1dGl2ZSk6CiAgICAgICAgICAgICAgICAgIyBhbHJlYWR5IGV4aXRlZCwgYW5kIGZvcmNlZnVs
bHkga2lsbCBpdCBpZiBTSUdURVJNIHdhc24ndCBlbm91Z2guCiAgICAgICAgICAgICAgICAgb3Mu
a2lsbChwaWQsIHNpZ25hbC5TSUdURVJNKQogICAgICAgICAgICAgICAgIG9zLmtpbGwocGlkLCBz
aWduYWwuU0lHS0lMTCkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICAg
ICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVy
cm5vLkVBR0FJTjoKICAgICAgICAgICAgICAgICAgICAgaWYgcmV0cmllc19sZWZ0IDw9IDA6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm4oIkZhaWxlZCB0byBraWxsIHBpZCAlcy4g
IFRvbyBtYW55IEVBR0FJTiBlcnJvcnMuIiAlIHBpZCkKQEAgLTI3OSw3ICsyNzksNyBAQCBjbGFz
cyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgogICAgICAgICAgICAgICAgICAgICBpZiBw
cm9jZXNzX25hbWVfZmlsdGVyKHByb2Nlc3NfbmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5uaW5nX3BpZHMuYXBwZW5kKGludChwaWQpKQogICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5waWRfdG9fc3lzdGVtX3BpZFtpbnQocGlkKV0gPSBpbnQod2lucGlkKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1
ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIHBzX3Byb2Nlc3MgPSBzZWxmLnBvcGVuKFsncHMnLCAnLWVvJywgJ3BpZCxjb21t
J10sIHN0ZG91dD1zZWxmLlBJUEUsIHN0ZGVycj1zZWxmLlBJUEUpCkBAIC0yOTEsNyArMjkxLDcg
QEAgY2xhc3MgRXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgICAgICAgICAg
ICAgcGlkLCBwcm9jZXNzX25hbWUgPSBsaW5lLnN0cmlwKCkuc3BsaXQoJyAnLCAxKQogICAgICAg
ICAgICAgICAgICAgICBpZiBwcm9jZXNzX25hbWVfZmlsdGVyKHByb2Nlc3NfbmFtZSk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5uaW5nX3BpZHMuYXBwZW5kKGludChwaWQpKQotICAgICAg
ICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBW
YWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICByZXR1
cm4gc29ydGVkKHJ1bm5pbmdfcGlkcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2ZpbGVzeXN0ZW0ucHkKaW5kZXggOWZmOTdjOWU2MjVjZjY4ZTNjYjdhM2Uy
OTkzYWI5Mzc0YTFmN2IzMC4uMTQzODczNTRjNWNhYjk1ZmVhYWZlNTQ0NjM0NDI3NDEzYWYyYzYz
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVz
eXN0ZW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVz
eXN0ZW0ucHkKQEAgLTE5OSw3ICsxOTksNyBAQCBjbGFzcyBGaWxlU3lzdGVtKG9iamVjdCk6CiAg
ICAgICAgICIiIkNyZWF0ZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBpZiBpdCBkb2Vzbid0IGFs
cmVhZHkgZXhpc3QuIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNl
bGYuam9pbigqcGF0aCkpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNl
cHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6
CiAgICAgICAgICAgICAgICAgcmFpc2UKIApAQCAtMjg3LDcgKzI4Nyw3IEBAIGNsYXNzIEZpbGVT
eXN0ZW0ob2JqZWN0KToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvc3JlbW92
ZShwYXRoKQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBleGNlcHQg
ZXhjZXB0aW9ucy5XaW5kb3dzRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgZXhjZXB0aW9u
cy5XaW5kb3dzRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKHNsZWVwX2lu
dGVydmFsKQogICAgICAgICAgICAgICAgIHJldHJ5X3RpbWVvdXRfc2VjIC09IHNsZWVwX2ludGVy
dmFsCiAgICAgICAgICAgICAgICAgaWYgcmV0cnlfdGltZW91dF9zZWMgPCAwOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3VzZXIucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weQppbmRleCA0NDAwYzAyZTU0Zjcw
MDdlMDRjYzY2ODE5MjY3NzljOGYyMGNmZTc5Li5lNTEzZWNiMGFhYWFiYjgwNWZlODdmY2QwOGMx
NjZkY2MzMzRlYWVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vdXNlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
dXNlci5weQpAQCAtMTAyLDE0ICsxMDIsMTQgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGljZXMgKz0gcmFuZ2UoaW50KHBhcnRzWzBdKSAtIDEs
IGludChwYXJ0c1sxXSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGljZXMuYXBwZW5kKGludCh2YWx1ZSkgLSAxKQotICAgICAg
ICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlcnI6CisgICAgICAgICAgICAgICAgZXhjZXB0
IFZhbHVlRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFtsaXN0X2l0ZW1zW2ldIGZvciBpIGluIGluZGljZXNdCiAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gaW50KGNscy5wcm9tcHQoIkVudGVyIGEgbnVtYmVyOiAiLCByYXdfaW5wdXQ9cmF3
X2lucHV0KSkgLSAxCi0gICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGVycjoKKyAg
ICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RfaXRlbXNbcmVzdWx0XQog
CkBAIC0xMjgsNyArMTI4LDcgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAgICAjIE5vdGU6
IE5vdCB0aHJlYWQgc2FmZTogaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIzMjAKICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKGFyZ3MgKyBmaWxlcykKLSAgICAg
ICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAg
ICAgICAgICBfbG9nLndhcm4oIlRoZXJlIHdhcyBhIHByb2JsZW0gZWRpdGluZyB0aGUgQ2hhbmdl
TG9nIHVzaW5nIGVkaXRvciAnJXMnOiAlcy4iICUgKGVkaXRvciwgZSkpCiAKICAgICBkZWYgX3dh
cm5faWZfYXBwbGljYXRpb25faXNfeGNvZGUoc2VsZiwgZWRpdF9hcHBsaWNhdGlvbik6CkBAIC0x
NTMsNyArMTUzLDcgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAgICAgICAgIyBOb3RlOiBO
b3QgdGhyZWFkIHNhZmU6IGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMzIwCiAgICAgICAg
ICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihbcGFnZXJdLCBzdGRpbj1zdWJw
cm9jZXNzLlBJUEUpCiAgICAgICAgICAgICBjaGlsZF9wcm9jZXNzLmNvbW11bmljYXRlKGlucHV0
PW1lc3NhZ2UpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgSU9F
cnJvciBhcyBlOgogICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIGNvbmZpcm0oc2VsZiwgbWVz
c2FnZT1Ob25lLCBkZWZhdWx0PURFRkFVTFRfWUVTLCByYXdfaW5wdXQ9cmF3X2lucHV0KToKQEAg
LTE2OSw3ICsxNjksNyBAQCBjbGFzcyBVc2VyKG9iamVjdCk6CiAgICAgICAgIHRyeToKICAgICAg
ICAgICAgIHdlYmJyb3dzZXIuZ2V0KCkKICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAg
IGV4Y2VwdCB3ZWJicm93c2VyLkVycm9yLCBlOgorICAgICAgICBleGNlcHQgd2ViYnJvd3Nlci5F
cnJvciBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICBkZWYgb3Blbl91cmwo
c2VsZiwgdXJsKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS93b3Jrc3BhY2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
d29ya3NwYWNlLnB5CmluZGV4IDFkOTJhY2ExMzE1YjVlNzU4ZWZiYTNmNzM1NmIxMzg2MzYxY2E3
N2EuLjMxMzU4NjkwZGM0MTFiZmZkN2U5MzYyZDQ3OGZlN2VkNTgwN2U0MWMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS93b3Jrc3BhY2UucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3dvcmtzcGFjZS5weQpAQCAtNjYs
NyArNjYsNyBAQCBjbGFzcyBXb3Jrc3BhY2Uob2JqZWN0KToKICAgICAgICAgIyBTbywgZm9yIG5v
dyB3ZSBkZXBlbmQgb24gdGhlIGVudmlyb25tZW50IGhhdmluZyAiemlwIiBpbnN0YWxsZWQgKGxp
a2VseSBmYWlscyBvbiBXaW4zMikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fZXhl
Y3V0aXZlLnJ1bl9jb21tYW5kKFsnemlwJywgJy05JywgJy1yJywgemlwX3BhdGgsICcuJ10sIGN3
ZD1zb3VyY2VfcGF0aCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBl
eGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIldvcmtzcGFj
ZS5jcmVhdGVfemlwIGZhaWxlZCBpbiAlczpcbiVzIiAlIChzb3VyY2VfcGF0aCwgZS5tZXNzYWdl
X3dpdGhfb3V0cHV0KCkpKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJz
ZXIucHkKaW5kZXggYjZlMzA1ZjA5MWZmYWY2ZTAwZTEyMjc5MThkMGQxMDFmOTNiNmQ3Yi4uYTFi
M2U3ZjI1OTVjYWI5ZTE1MTA0OTU4ZDM5OTg1MzY3ZDdmYWJiNyAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2Vy
LnB5CkBAIC0xMTEsNyArMTExLDcgQEAgY2xhc3MgV2F0Y2hMaXN0UGFyc2VyKG9iamVjdCk6CiAK
ICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkX3JlZ2V4
ID0gcmUuY29tcGlsZShkZWZpbml0aW9uW3BhdHRlcm5fdHlwZV0pCi0gICAgICAgICAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2xvZ19lcnJvcignVGhlIHJlZ2V4ICIlcyIg
aXMgaW52YWxpZCBkdWUgdG8gIiVzIi4nICUgKGRlZmluaXRpb25bcGF0dGVybl90eXBlXSwgc3Ry
KGUpKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vd2Via2l0dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi93ZWJraXR1bml0dGVzdC5weQppbmRleCAxOTAyZTcxODE0NzgwY2Vi
YTYyYTdhMWJhMWIyNTI2YmMyZDAxZDFjLi5iY2QxZTY5NTVkNWYwZjUxMjVmOWRhZGRmZmFkMjlh
NWUzOTY1MmYwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93ZWJr
aXR1bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93ZWJraXR1
bml0dGVzdC5weQpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBUZXN0Q2FzZSh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNhbGxhYmxlKCphcmdzKQogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKEZhbHNlLCAnTm8gYXNzZXJ0IHJhaXNlZC4nKQotICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uLCBleGNlcHRpb246CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
YXMgZXhjZXB0aW9uOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoZXhj
ZXB0aW9uLl9fY2xhc3NfXywgZXhwZWN0ZWRfZXhjZXB0aW9uKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnRXhjZXB0aW9uIHR5cGUgd2FzIHVuZXhwZWN0ZWQuJykKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyZWdleF9tZXNzYWdlLCBleGNlcHRpb24uX19zdHJf
XygpKSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvaW5zcGVjdG9yL21haW4u
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2luc3BlY3Rvci9tYWluLnB5CmluZGV4IGE3MWEz
OTNlNzFjYWRkZmFmZjIzODg1MDgwYmUyOWFhY2Y4NjhmOGYuLjE0NjJkODAxOWQ5NDEyZjQ1NmM2
NzE0MDQ5OTIyOGY2YzljYTdiM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
aW5zcGVjdG9yL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9pbnNwZWN0b3Iv
bWFpbi5weQpAQCAtNTMsNyArNTMsNyBAQCBjbGFzcyBJbnNwZWN0b3JHZW5lcmF0b3JUZXN0czoK
ICAgICAgICAgICAgIHN0ZGVycl9vdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChj
bWQpCiAgICAgICAgICAgICBpZiBzdGRlcnJfb3V0cHV0OgogICAgICAgICAgICAgICAgIHNlbGYu
d3JpdGVfZXJyb3JfZmlsZShqc29uX2ZpbGUsIG91dHB1dF9kaXJlY3RvcnksIHN0ZGVycl9vdXRw
dXQpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yIGFzIGU6CiAgICAgICAgICAgICBwcmludChlLm91dHB1dCkKICAgICAgICAgICAgIGV4
aXRfY29kZSA9IGUuZXhpdF9jb2RlCiAgICAgICAgIHJldHVybiBleGl0X2NvZGUKQEAgLTc2LDcg
Kzc2LDcgQEAgY2xhc3MgSW5zcGVjdG9yR2VuZXJhdG9yVGVzdHM6CiAgICAgICAgICAgICBleGl0
X2NvZGUgPSAwCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3V0cHV0ID0gc2Vs
Zi5leGVjdXRpdmUucnVuX2NvbW1hbmQoY21kKQotICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVy
cm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAg
ICAgICAgb3V0cHV0ID0gZS5vdXRwdXQKICAgICAgICAgICAgICAgICBleGl0X2NvZGUgPSBlLmV4
aXRfY29kZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkKaW5kZXgg
NjRmZDY2N2YwYjU0M2Y0YTJkNmZlNjc0MmQ3NWE3OTFiNjk4MTU2ZC4uOGE2ZjlmN2Y1ZWZiMGNm
NzkwMjgwMDAxZmQxOGZjMGY1NjExMjNkMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfZmluZGVyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90
ZXN0X2ZpbmRlci5weQpAQCAtOTksNyArOTksNyBAQCBjbGFzcyBMYXlvdXRUZXN0RmluZGVyKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBzZWxmLl9zdHJpcF9jb21tZW50cyhs
aW5lKQogICAgICAgICAgICAgICAgICAgICBpZiBsaW5lOgogICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMuYXBwZW5kKGxpbmUpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAg
ICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJu
byA9PSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuY3JpdGljYWwoJycp
CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuY3JpdGljYWwoJy0tdGVzdC1saXN0IGZpbGUgIiVz
IiBub3QgZm91bmQnICUgZmlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5l
ci5weQppbmRleCAyNjA5YTZkZGE2M2VkMjk4ZTExMWZhYzVmYzZmMjQ5ZGRiNTM4M2RiLi4wNWY5
MDUxZjkxOTMwN2IxYzQ1YTBlOGI2YjdmOTYwY2NiOGFhMTYzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5u
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CkBAIC0xMjEsMTQgKzEyMSwxNCBAQCBjbGFzcyBMYXlv
dXRUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggbWVz
c2FnZV9wb29sLmdldChzZWxmLCBzZWxmLl93b3JrZXJfZmFjdG9yeSwgbnVtX3dvcmtlcnMsIHNl
bGYuX3BvcnQud29ya2VyX3N0YXJ0dXBfZGVsYXlfc2VjcygpLCBzZWxmLl9wb3J0Lmhvc3QpIGFz
IHBvb2w6CiAgICAgICAgICAgICAgICAgcG9vbC5ydW4oKCd0ZXN0X2xpc3QnLCBzaGFyZC5uYW1l
LCBzaGFyZC50ZXN0X2lucHV0cykgZm9yIHNoYXJkIGluIGFsbF9zaGFyZHMpCi0gICAgICAgIGV4
Y2VwdCBUZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBUZXN0
UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIF9sb2cud2FybmluZyhl
LnJlYXNvbikKICAgICAgICAgICAgIHJ1bl9yZXN1bHRzLmludGVycnVwdGVkID0gVHJ1ZQogICAg
ICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICAgICBzZWxmLl9wcmludGVy
LmZsdXNoKCkKICAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGVsbignSW50ZXJydXB0ZWQs
IGV4aXRpbmcgLi4uJykKICAgICAgICAgICAgIHJ1bl9yZXN1bHRzLmtleWJvYXJkX2ludGVycnVw
dGVkID0gVHJ1ZQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQg
RXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmRlYnVnKCclcygiJXMiKSByYWlzZWQs
IGV4aXRpbmcnICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBzdHIoZSkpKQogICAgICAgICAgICAg
cmFpc2UKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggYjY5YTAwNTNjMzBjNDVlNjNkOWViNmJl
ZGUwZTdjNDAyNWUxYTUyOS4uOTk4MjVkZTViMThkZTZiNzUxZmI5YmU5ZmMwYzliYTk0ZmQxYWJh
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC01MDQsNyArNTA0LDcgQEAgY2xhc3MgTWFuYWdl
cihvYmplY3QpOgogICAgICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQgPSByZXNwb25zZS5yZWFk
KCkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2pz
b24gPSBqc29uLmxvYWRzKHJlc3BvbnNlX3RleHQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFZh
bHVlRXJyb3IsIGVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGVy
cm9yOgogICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJKU09OIHVwbG9hZCBmYWlsZWQ7
IGZhaWxlZCB0byBwYXJzZSB0aGUgcmVzcG9uc2U6ICVzIiwgcmVzcG9uc2VfdGV4dCkKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKIApAQCAtNTEzLDcgKzUxMyw3IEBAIGNsYXNzIE1hbmFn
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAg
ICAgIF9sb2cuaW5mbygiSlNPTiB1cGxvYWRlZC4iKQotICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiwgZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAg
ICAgICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycm9yKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29u
X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IDFlZDM1MTI2ODdkN2IzNGM1YmYxMGRiNDRlZDUy
ZmU0ZTU5NGQzNGIuLjc2OTE4ZTA3OWE5NWE3YzliMTg5ZjdhMGI1Y2UzMWNhMmY0NDE3ZjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5weQpA
QCAtMzI4LDcgKzMyOCw3IEBAIGNsYXNzIEpTT05SZXN1bHRzR2VuZXJhdG9yKG9iamVjdCk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJKU09OIHVwbG9hZCBmYWlsZWQsICVk
OiAnJXMnIiAlIChyZXNwb25zZS5jb2RlLCByZXNwb25zZS5yZWFkKCkpKQogICAgICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkpTT04gdXBsb2FkIGZh
aWxlZDsgbm8gcmVzcG9uc2UgcmV0dXJuZWQiKQotICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZXJyOgorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAgICAgICAgICAg
ICAgICAgX2xvZy5lcnJvcigiVXBsb2FkIGZhaWxlZDogJXMiICUgZXJyKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAKQEAgLTQxOSwxMiArNDE5LDEyIEBAIGNsYXNzIEpTT05SZXN1bHRzR2Vu
ZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICByZXN1bHRzX2ZpbGUgPSB1cmxsaWIyLnVybG9w
ZW4ocmVzdWx0c19maWxlX3VybCkKICAgICAgICAgICAgIGluZm8gPSByZXN1bHRzX2ZpbGUuaW5m
bygpCiAgICAgICAgICAgICBvbGRfcmVzdWx0cyA9IHJlc3VsdHNfZmlsZS5yZWFkKCkKLSAgICAg
ICAgZXhjZXB0IHVybGxpYjIuSFRUUEVycm9yLCBodHRwX2Vycm9yOgorICAgICAgICBleGNlcHQg
dXJsbGliMi5IVFRQRXJyb3IgYXMgaHR0cF9lcnJvcjoKICAgICAgICAgICAgICMgQSBub24tNHh4
IHN0YXR1cyBjb2RlIG1lYW5zIHRoZSBib3QgaXMgaG9zZWQgZm9yIHNvbWUgcmVhc29uCiAgICAg
ICAgICAgICAjIGFuZCB3ZSBjYW4ndCBncmFiIHRoZSByZXN1bHRzLmpzb24gZmlsZSBvZmYgb2Yg
aXQuCiAgICAgICAgICAgICBpZiAoaHR0cF9lcnJvci5jb2RlIDwgNDAwIGFuZCBodHRwX2Vycm9y
LmNvZGUgPj0gNTAwKToKICAgICAgICAgICAgICAgICBlcnJvciA9IGh0dHBfZXJyb3IKLSAgICAg
ICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3IsIHVybF9lcnJvcjoKKyAgICAgICAgZXhjZXB0IHVy
bGxpYjIuVVJMRXJyb3IgYXMgdXJsX2Vycm9yOgogICAgICAgICAgICAgZXJyb3IgPSB1cmxfZXJy
b3IKIAogICAgICAgICBpZiBvbGRfcmVzdWx0czoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVj
dGF0aW9uc191bml0dGVzdC5weQppbmRleCA2MzkwMDViZWJmNWI0MmMxNGE5MDhhZjQ2NTQwZWFm
NDlkZTQ1NTI5Li5lMTA1MGYwZDhmYzVlMGEyMmZkOTA0YTI2MDA3MTAwZDFhMjU1OGQ3IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9l
eHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CkBAIC0xNjgsNyAr
MTY4LDcgQEAgY2xhc3MgTWlzY1Rlc3RzKEJhc2UpOgogICAgICAgICAgICAgICAgICJCdWcocm5p
d2EpIG5vbi1leGlzdGVudC10ZXN0Lmh0bWwgWyBGYWlsdXJlIF1cbiIKICAgICAgICAgICAgICAg
ICAiQnVnKHJuaXdhKSBkaXNhYmxlZC10ZXN0Lmh0bWwtZGlzYWJsZWQgWyBJbWFnZU9ubHlGYWls
dXJlIF0iLCBpc19saW50X21vZGU9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
VHJ1ZSwgIlBhcnNlRXJyb3Igd2Fzbid0IHJhaXNlZCIpCi0gICAgICAgIGV4Y2VwdCBQYXJzZUVy
cm9yLCBlOgorICAgICAgICBleGNlcHQgUGFyc2VFcnJvciBhcyBlOgogICAgICAgICAgICAgd2Fy
bmluZ3MgPSAoImV4cGVjdGF0aW9uczoxIFVucmVjb2duaXplZCBtb2RpZmllciAnZm9vJyBmYWls
dXJlcy9leHBlY3RlZC90ZXh0Lmh0bWxcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICJleHBl
Y3RhdGlvbnM6MiBQYXRoIGRvZXMgbm90IGV4aXN0LiBub24tZXhpc3RlbnQtdGVzdC5odG1sIikK
ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCB3YXJuaW5ncykKQEAgLTM2OSw3
ICszNjksNyBAQCBjbGFzcyBTZW1hbnRpY1Rlc3RzKEJhc2UpOgogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICBzZWxmLnBhcnNlX2V4cCgnQlVHMTIzNCBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0
bWwgWyBGYWlsdXJlIF0nLCBpc19saW50X21vZGU9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuZmFp
bCgnc2hvdWxkIGhhdmUgcmFpc2VkIGFuIGVycm9yIGFib3V0IGEgYmFkIGJ1ZyBpZGVudGlmaWVy
JykKLSAgICAgICAgZXhjZXB0IFBhcnNlRXJyb3IsIGV4cDoKKyAgICAgICAgZXhjZXB0IFBhcnNl
RXJyb3IgYXMgZXhwOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwLndhcm5p
bmdzKSwgMSkKIAogICAgIGRlZiB0ZXN0X21pc3NpbmdfYnVnaWQoc2VsZik6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5fcmVz
dWx0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X3J1bl9yZXN1bHRzLnB5CmluZGV4IDg5ODcwMjAwNDUyOTFiOTY0NWUwMTI1MTA0MzhhZjUwYjI0
NDdlMTMuLjUwMjFhMmZmM2U4NDhhNjk4ZmEzZGJhYWVjYmMyNzJmMDVkNTYxMjQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3J1bl9y
ZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVs
cy90ZXN0X3J1bl9yZXN1bHRzLnB5CkBAIC0zMDQsNyArMzA0LDcgQEAgZGVmIHN1bW1hcml6ZV9y
ZXN1bHRzKHBvcnRfb2JqLCBleHBlY3RhdGlvbnMsIGluaXRpYWxfcmVzdWx0cywgcmV0cnlfcmVz
dWx0cywgZW4KICAgICAgICAgaWYgcG9ydF9vYmouZ2V0X29wdGlvbigiYnVpbGRlcl9uYW1lIik6
CiAgICAgICAgICAgICBwb3J0X29iai5ob3N0LmluaXRpYWxpemVfc2NtKCkKICAgICAgICAgICAg
IHJlc3VsdHNbJ3JldmlzaW9uJ10gPSBwb3J0X29iai5ob3N0LnNjbSgpLmhlYWRfc3ZuX3Jldmlz
aW9uKCkKLSAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gZGV0ZXJtaW5lIHN2biByZXZpc2lvbiBm
b3IgY2hlY2tvdXQgKGN3ZDogJXMsIHdlYmtpdF9iYXNlOiAlcyksIGxlYXZpbmcgJ3JldmlzaW9u
JyBrZXkgYmxhbmsgaW4gZnVsbF9yZXN1bHRzLmpzb24uXG4lcyIgJSAocG9ydF9vYmouX2ZpbGVz
eXN0ZW0uZ2V0Y3dkKCksIHBvcnRfb2JqLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgpLCBlKSkKICAg
ICAgICAgIyBIYW5kbGUgY2FzZXMgd2hlcmUgd2UncmUgcnVubmluZyBvdXRzaWRlIG9mIHZlcnNp
b24gY29udHJvbC4KICAgICAgICAgaW1wb3J0IHRyYWNlYmFjawpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXgg
NWQ2N2Q5NzU5ZDFhNTMyYWVhOGE3ZDlkYzNlYzg5NjFjZTdhZTBlNC4uYzY5ZDhiM2Y3Mzk3Njdj
N2JjYmIxYTVhMzIwZTJlODBmMjE0NDNlNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC02OSw3ICs2OSw3
IEBAIGRlZiBtYWluKGFyZ3YsIHN0ZG91dCwgc3RkZXJyKToKIAogICAgIHRyeToKICAgICAgICAg
cG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldChvcHRpb25zLnBsYXRmb3JtLCBvcHRpb25zKQot
ICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yLCBlOgorICAgIGV4Y2VwdCBOb3RJbXBsZW1l
bnRlZEVycm9yIGFzIGU6CiAgICAgICAgICMgRklYTUU6IGlzIHRoaXMgdGhlIGJlc3Qgd2F5IHRv
IGhhbmRsZSB1bnN1cHBvcnRlZCBwb3J0IG5hbWVzPwogICAgICAgICBwcmludChzdHIoZSksIGZp
bGU9c3RkZXJyKQogICAgICAgICByZXR1cm4gRVhDRVBUSU9OQUxfRVhJVF9TVEFUVVMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9z
ZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0
dHBfc2VydmVyLnB5CmluZGV4IDRlYTYzODQzMzI2Yjc5YjNjZTI0NTQ4MmIxNTcxYmUyMWRkNDg3
NjMuLjBlNDc2ODA3MDAzZDFlNTliYzhmNmZiMGNjZGQyNzcxNmJlYjU3ZDIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRw
X3NlcnZlci5weQpAQCAtMTkzLDcgKzE5Myw3IEBAIGNsYXNzIExpZ2h0dHBkKGh0dHBfc2VydmVy
X2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICBmb3IgbG9nX3ByZWZpeCBpbiAoJ2FjY2Vz
cy5sb2ctJywgJ2Vycm9yLmxvZy0nKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
ICBzZWxmLl9yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9kaXIsIGxvZ19wcmVmaXgpCi0g
ICAgICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdGYWlsZWQgdG8gcmVtb3ZlIG9s
ZCAlcyAlcyBmaWxlcycgJSAoc2VsZi5fbmFtZSwgbG9nX3ByZWZpeCkpCiAKICAgICBkZWYgX3Nw
YXduX3Byb2Nlc3Moc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX2Jhc2UucHkKaW5kZXggOWQ5
ZDhiYWI1ZWZhNzYwNzk1Y2M3OTRhNDc4Y2MwODBkYTBmNmE5ZS4uMTlhY2Q3YmM2ODhkMDBjODc3
ZTkyNjk3YThkOGRhZmZiZGM4YzE5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9iYXNlLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfYmFzZS5weQpA
QCAtMjEwLDcgKzIxMCw3IEBAIGNsYXNzIEh0dHBTZXJ2ZXJCYXNlKG9iamVjdCk6CiAgICAgICAg
IHRyeToKICAgICAgICAgICAgIHMuY29ubmVjdCgoJ2xvY2FsaG9zdCcsIHBvcnQpKQogICAgICAg
ICAgICAgX2xvZy5kZWJ1ZygiU2VydmVyIHJ1bm5pbmcgb24gJWQiICUgcG9ydCkKLSAgICAgICAg
ZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAg
ICAgICBpZiBlLmVycm5vIG5vdCBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJuby5FQ09OTlJF
U0VUKToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiU2Vy
dmVyIE5PVCBydW5uaW5nIG9uICVkOiAlcyIgJSAocG9ydCwgZSkpCkBAIC0yMjYsNyArMjI2LDcg
QEAgY2xhc3MgSHR0cFNlcnZlckJhc2Uob2JqZWN0KToKICAgICAgICAgICAgIHBvcnQgPSBtYXBw
aW5nWydwb3J0J10KICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzLmJpbmQoKCds
b2NhbGhvc3QnLCBwb3J0KSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAg
ICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vIGlu
IChlcnJuby5FQUxSRUFEWSwgZXJybm8uRUFERFJJTlVTRSk6CiAgICAgICAgICAgICAgICAgICAg
IHJhaXNlIFNlcnZlckVycm9yKCdQb3J0ICVkIGlzIGFscmVhZHkgaW4gdXNlLicgJSBwb3J0KQog
ICAgICAgICAgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpIGFuZCBl
LmVycm5vIGluIChlcnJuby5XU0FFQUNDRVMsKTogICMgcHlsaW50OiBkaXNhYmxlPUUxMTAxCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0
dHBfc2VydmVyX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IDcw
ZjQ4YjU5MDNiNjU3OGY0NDdkYWRlYjA4M2YyOWZhMGRmMWJhMzguLjZjOWZjMmI2OTliMDE2ZDk5
ZjAzMTY4ZjQ2ZTllZDY1NDI3ZWM5NmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2
ZXJfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIEJhc2VUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldCA9IHNvY2tldC5z
b2NrZXQoKQogICAgICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNvbm5lY3QoKHNlbGYuSE9TVCwg
cG9ydCkpCiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJ
T0Vycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAg
ICAgICBzZWxmLmFzc2VydFRydWUoZS5lcnJubyBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJu
by5FQ09OTlJFU0VUKSkKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgdGVz
dF9zb2NrZXQuY2xvc2UoKQpAQCAtNjUsNyArNjUsNyBAQCBjbGFzcyBCYXNlVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgdGVzdF9zb2Nr
ZXQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldC5jb25uZWN0
KChzZWxmLkhPU1QsIHBvcnQpKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAg
ICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgn
ZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXM6JWQnICUgKHNlbGYuSE9TVCwgcG9ydCkpCiAgICAgICAg
ICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNsb3NlKCkKQEAgLTk1
LDcgKzk1LDcgQEAgY2xhc3MgQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgdGVzdF9z
b2NrZXQuYmluZCgoc2VsZi5IT1NULCBwb3J0X251bWJlcikpCi0gICAgICAgICAgICAgICAgZXhj
ZXB0IHNvY2tldC5lcnJvciwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9y
IGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gKGVycm5vLkVBRERSSU5V
U0UsIGVycm5vLkVBTFJFQURZKToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgn
Y291bGQgbm90IGJpbmQgdG8gcG9ydCAlZDogJXMnICUgKHBvcnRfbnVtYmVyLCBzdHIoZSkpKQog
ICAgICAgICAgICAgICAgICAgICByYWlzZQpAQCAtMTEwLDcgKzExMCw3IEBAIGNsYXNzIEJhc2VU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgbWF5YmVfbWFrZV9kaXIoc2VsZiwgKmNv
bXBzKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5qb2lu
KCpjb21wcykpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgT1NF
cnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAg
ICAgICAgICAgICAgcmFpc2UKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0dHBkLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0dHBkLnB5CmluZGV4IDZi
MDVkOWIyOGJhYjg0NTQ4OTQ2YzE4YTBhZWJmNzViYWZhNTQ5MmMuLjRlN2U5NDVmM2JhMDE2MDVh
Y2Q0NmM4OTM5Mzk4YzJjNGZkYjkwMWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvcnVuX3dlYmtpdF9odHRwZC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3J1bl93ZWJraXRfaHR0cGQucHkK
QEAgLTY0LDcgKzY0LDcgQEAgZGVmIHJ1bl9zZXJ2ZXIob3B0aW9ucywgYXJncywgc3Rkb3V0LCBz
dGRlcnIpOgogCiAgICAgdHJ5OgogICAgICAgICBwb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0
KG9wdGlvbnMucGxhdGZvcm0sIG9wdGlvbnMpCi0gICAgZXhjZXB0IE5vdEltcGxlbWVudGVkRXJy
b3IsIGU6CisgICAgZXhjZXB0IE5vdEltcGxlbWVudGVkRXJyb3IgYXMgZToKICAgICAgICAgcHJp
bnQoc3RyKGUpLCBmaWxlPXN0ZGVycikKICAgICAgICAgcmV0dXJuIEVYQ0VQVElPTkFMX0VYSVRf
U1RBVFVTCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3NlcnZlcnMvd2ViX3BsYXRmb3JtX3Rlc3RfbGF1bmNoZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYl9wbGF0Zm9ybV90ZXN0X2xhdW5jaGVyLnB5
CmluZGV4IGE1Y2Y0NGVkMmVkMTEzODliMGUyNmQ5Mjc5NTY0NTY3YTE2ZjdiMzAuLjc0ZDg2NTEz
ODFmMWQ4M2YzMDM4OTAwMmMyZTcwZDYxNzAxN2IzOTcgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvd2ViX3BsYXRmb3JtX3Rlc3RfbGF1bmNo
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy93
ZWJfcGxhdGZvcm1fdGVzdF9sYXVuY2hlci5weQpAQCAtMTUsNyArMTUsNyBAQCB0cnk6CiAgICAg
aW1wb3J0IHRvb2xzLnNlcnZlLnNlcnZlIGFzIFdlYlBsYXRmb3JtVGVzdFNlcnZlcgogICAgIHN5
cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4ob3MuZ2V0Y3dkKCksICJ0b29scyIsICJ3cHRz
ZXJ2ZSIsICJ3cHRzZXJ2ZSIpKQogICAgIGltcG9ydCBzdGFzaAotZXhjZXB0IEltcG9ydEVycm9y
LCBlOgorZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6CiAgICAgbG9nZ2VyLmNyaXRpY2FsKCJJbXBv
cnQgb2Ygd3B0IHNlcnZlIG1vZHVsZSBmYWlsZWQuXG4iCiAgICAgICAgICJQbGVhc2UgY2hlY2sg
dGhhdCB0aGUgZmlsZSBzZXJ2ZS5weSBpcyBwcmVzZW50IGluIHRoZSB3ZWItcGxhdGZvcm0tdGVz
dHMgZm9sZGVyLlxuIgogICAgICAgICAiUGxlYXNlIGFsc28gY2hlY2sgdGhhdCBfX2luaXRfXy5w
eSBmaWxlcyBpbiB0aGUgd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzIGZvbGRlciBhbmQgc3ViZm9s
ZGVycyBhcmUgYWxzbyBwcmVzZW50LiIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9zZXJ2ZXIucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9zZXJ2ZXIucHkKaW5k
ZXggMzQ5YjViZTgyMjZiODZlNDdlNWMyMThkODIyOTcxNDNmYzUxMDhhMC4uNGQ0ZjViNzYxNzlk
NGYwMmRkYjI5ZmJiMTJiYTIxYTI0OGIzODAzZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy93ZWJzb2NrZXRfc2VydmVyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvd2Vic29ja2V0X3NlcnZl
ci5weQpAQCAtMTEyLDcgKzExMiw3IEBAIGNsYXNzIFB5V2ViU29ja2V0KGh0dHBfc2VydmVyLkxp
Z2h0dHBkKToKICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICBzLmNvbm5lY3QoKCdsb2NhbGhvc3QnLCBzZWxmLl9wb3J0KSkKLSAgICAgICAgZXhj
ZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAg
ICBpZiBlLmVycm5vIG5vdCBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJuby5FQ09OTlJFU0VU
KToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0x
NzIsNyArMTcyLDcgQEAgY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgog
ICAgIGRlZiBfcmVtb3ZlX3N0YWxlX2xvZ3Moc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHNlbGYuX3JlbW92ZV9sb2dfZmlsZXMoc2VsZi5fb3V0cHV0X2Rpciwgc2VsZi5fbG9nX3By
ZWZpeCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoJ0ZhaWxlZCB0byByZW1vdmUgc3RhbGUg
JXMgbG9nIGZpbGVzOiAlcycgJSAoc2VsZi5fbmFtZSwgc3RyKGUpKSkKIAogICAgIGRlZiBfc3Bh
d25fcHJvY2VzcyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKaW5kZXggODdlMzRkNGNkYTg2
NTVkMDRlOGNiNWZiYTc0NWVmNWNlZTgzMmU1MS4uYjc5ZmUzZWIxYjViMTEwYjAzNmZkNmJiYmE4
MGFmMzM0ODZmOTg3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3Jt
YW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKQEAgLTMyNyw3ICszMjcsNyBA
QCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgIGZvciBrZXkgaW4g
c2xhdmVfY29uZmlnOgogICAgICAgICAgICAgICAgIGNvbnRlbnRzWydidWlsZGVyJyArIGtleS5j
YXBpdGFsaXplKCldID0gc2xhdmVfY29uZmlnW2tleV0KICAgICAgICAgICAgIHJldHVybiBjb250
ZW50cwotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlcnJvcjoKKyAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlcnJvcjoKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBtZXJn
ZSBzbGF2ZSBjb25maWd1cmF0aW9uIEpTT04gZmlsZSAlczogJXMiICUgKHNsYXZlX2NvbmZpZ19q
c29uX3BhdGgsIGVycm9yKSkKICAgICAgICAgcmV0dXJuIE5vbmUKIApAQCAtMzM3LDcgKzMzNyw3
IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmplY3QpOgogICAgICAgICB0cnk6CiAgICAgICAg
ICAgICBleGlzdGluZ19vdXRwdXRzID0ganNvbi5sb2FkcyhzZWxmLl9ob3N0LmZpbGVzeXN0ZW0u
cmVhZF90ZXh0X2ZpbGUob3V0cHV0X2pzb25fcGF0aCkpCiAgICAgICAgICAgICByZXR1cm4gZXhp
c3Rpbmdfb3V0cHV0cyArIFtvdXRwdXRdCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycm9y
OgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAgICAgICAgICAgX2xvZy5l
cnJvcigiRmFpbGVkIHRvIG1lcmdlIG91dHB1dCBKU09OIGZpbGUgJXM6ICVzIiAlIChvdXRwdXRf
anNvbl9wYXRoLCBlcnJvcikpCiAgICAgICAgIHJldHVybiBOb25lCiAKQEAgLTM0OSw3ICszNDks
NyBAQCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKICAgICAgICAgdXBsb2FkZXIgPSBm
aWxlX3VwbG9hZGVyKHVybCwgMTIwKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXNwb25z
ZSA9IHVwbG9hZGVyLnVwbG9hZF9zaW5nbGVfdGV4dF9maWxlKHNlbGYuX2hvc3QuZmlsZXN5c3Rl
bSwgJ2FwcGxpY2F0aW9uL2pzb24nLCBqc29uX3BhdGgpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRp
b24sIGVycm9yOgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAgICAgICAg
ICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIHVwbG9hZCBKU09OIGZpbGUgdG8gJXMgaW4gMTIwczog
JXMiICUgKHVybCwgZXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggNjJhOWI3ODViNjg1MGE4ZjM4MGQyNzVjODM2Y2Mw
ODQzYjIxMmFlOC4uMzk1MmMxNTU5NjUzMjM1Yzc2OWRlNzY0ZTgxNjAzMTEwYjE1YzU5MyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTE0MzQsNyArMTQzNCw3IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAgICAgICAgIHNlbGYuX3J1bl9zY3JpcHQoImJ1aWxkLWR1bXBy
ZW5kZXJ0cmVlIiwgYXJncz1zZWxmLl9idWlsZF9kcml2ZXJfZmxhZ3MoKSwgZW52PWVudikKICAg
ICAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJyk6CiAgICAg
ICAgICAgICAgICAgc2VsZi5fcnVuX3NjcmlwdCgiYnVpbGQtd2Via2l0dGVzdHJ1bm5lciIsIGFy
Z3M9c2VsZi5fYnVpbGRfZHJpdmVyX2ZsYWdzKCksIGVudj1lbnYpCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBfbG9nLmVycm9yKGUubWVzc2FnZV93aXRoX291dHB1dChvdXRwdXRfbGltaXQ9Tm9uZSkp
CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE0NDQs
NyArMTQ0NCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgZW52ID0gZW52aXJvbm1l
bnQudG9fZGljdGlvbmFyeSgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3J1bl9z
Y3JpcHQoImJ1aWxkLWltYWdlZGlmZiIsIGVudj1lbnYpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRF
cnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBf
bG9nLmVycm9yKGUubWVzc2FnZV93aXRoX291dHB1dChvdXRwdXRfbGltaXQ9Tm9uZSkpCiAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE0ODYsNyArMTQ4
Niw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgZm9yIHBhdGhfdG9fbW9kdWxlIGlu
IHNlbGYuX21vZHVsZXNfdG9fc2VhcmNoX2Zvcl9zeW1ib2xzKCk6CiAgICAgICAgICAgICB0cnk6
CiAgICAgICAgICAgICAgICAgc3ltYm9scyArPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQo
W3NlbGYubm1fY29tbWFuZCgpLCBwYXRoX3RvX21vZHVsZV0sIGVycm9yX2hhbmRsZXI9c2VsZi5f
ZXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgor
ICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLndh
cm4oIkZhaWxlZCB0byBydW4gbm06ICVzLiAgQ2FuJ3QgZGV0ZXJtaW5lIHN1cHBvcnRlZCBmZWF0
dXJlcyBjb3JyZWN0bHkuIiAlIGUpCiAgICAgICAgIHJldHVybiBzeW1ib2xzCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0b3IucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGVha2RldGVjdG9yLnB5CmluZGV4IDVhOWI1ZjVhYTVjZTI5
MjA4OTVhMDg1NjJkZDIxMjdmNDJlMWNmNDQuLmRjNGVlNTNiNzQzMmU1NGY1Njk3NzA4NWUxMDBl
MzlkNmZjOTFhM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFr
ZGV0ZWN0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rv
ci5weQpAQCAtOTIsNyArOTIsNyBAQCBjbGFzcyBMZWFrRGV0ZWN0b3Iob2JqZWN0KToKICAgICAg
ICAgXSArIGxlYWtfZmlsZXMKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGFyc2VfbWFsbG9j
X2hpc3Rvcnlfb3V0cHV0ID0gc2VsZi5fcG9ydC5fcnVuX3NjcmlwdCgicGFyc2UtbWFsbG9jLWhp
c3RvcnkiLCBhcmdzLCBpbmNsdWRlX2NvbmZpZ3VyYXRpb25fYXJndW1lbnRzPUZhbHNlKQotICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBh
cyBlOgogICAgICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gcGFyc2UgbGVha3Mgb3V0cHV0
OiAlcyIgJSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIHJldHVybgogCkBA
IC0xMTgsNyArMTE4LDcgQEAgY2xhc3MgTGVha0RldGVjdG9yKG9iamVjdCk6CiAgICAgICAgICAg
ICAjIHRodXMgd2UgcGFzcyBkZWNvZGVfb3V0cHV0PUZhbHNlLiAgV2l0aG91dCB0aGlzIGNvZGUg
d2UndmUgc2VlbiBlcnJvcnMgbGlrZToKICAgICAgICAgICAgICMgIlVuaWNvZGVEZWNvZGVFcnJv
cjogJ3V0ZjgnIGNvZGVjIGNhbid0IGRlY29kZSBieXRlIDB4ODggaW4gcG9zaXRpb24gNzc5ODc0
OiB1bmV4cGVjdGVkIGNvZGUgYnl0ZSIKICAgICAgICAgICAgIGxlYWtzX291dHB1dCA9IHNlbGYu
X3BvcnQuX3J1bl9zY3JpcHQoInJ1bi1sZWFrcyIsIHNlbGYuX2xlYWtzX2FyZ3MocHJvY2Vzc19w
aWQpLCBpbmNsdWRlX2NvbmZpZ3VyYXRpb25fYXJndW1lbnRzPUZhbHNlLCBkZWNvZGVfb3V0cHV0
PUZhbHNlKQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gcnVuIGxl
YWtzIHRvb2w6ICVzIiAlIGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgcmV0
dXJuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0
b3JfdmFsZ3JpbmQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGVha2RldGVjdG9y
X3ZhbGdyaW5kLnB5CmluZGV4IGQwNjE4YTk4NTkxZDcxMzNhY2VkMGY5MjhiZTEzOGE4ZGM1MDNh
NDMuLjk1MTNlMmFmYzY5OTkxMjk0YzUzNDUwZWI0MWM2YjJhYWYxZGI5MzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0b3JfdmFsZ3JpbmQucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rvcl92YWxncmluZC5weQpA
QCAtMjIwLDcgKzIyMCw3IEBAIGNsYXNzIExlYWtEZXRlY3RvclZhbGdyaW5kKG9iamVjdCk6CiAg
ICAgZGVmIF9wYXJzZV9sZWFrc19vdXRwdXQoc2VsZiwgbGVha3Nfb3V0cHV0KToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgcGFyc2VkX3N0cmluZyA9IHBhcnNlU3RyaW5nKGxlYWtzX291dHB1
dCkKLSAgICAgICAgZXhjZXB0IEV4cGF0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBFeHBhdEVy
cm9yIGFzIGU6CiAgICAgICAgICAgICBwYXJzZV9mYWlsZWQgPSBUcnVlCiAgICAgICAgICAgICBf
bG9nLmVycm9yKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChsZWFrc19vdXRwdXQsIGUpKQog
ICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQppbmRleCBlMTBh
YmUxZjE1YWQ5ZmEyNGNiMDM4NTQzNGMzMWM5OGY1NDU2YTM1Li40MmZhZDk3ZmQ2NGUwYTZjY2Jh
OTFhNjhmYjE2ODM0YWE4NDNkNTBjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKQEAg
LTIyMSw3ICsyMjEsNyBAQCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQpOgogICAgICAgICBmb3Ig
ZG9tYWluIGluIFsiRHVtcFJlbmRlclRyZWUiLCAiV2ViS2l0VGVzdFJ1bm5lciJdOgogICAgICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChb
ImRlZmF1bHRzIiwgImRlbGV0ZSIsIGRvbWFpbl0pCi0gICAgICAgICAgICBleGNlcHQgU2NyaXB0
RXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICAjICdkZWZhdWx0cycgcmV0dXJucyAxIGlmIHRoZSBkb21haW4gZGlkIG5vdCBleGlz
dAogICAgICAgICAgICAgICAgIGlmIGUuZXhpdF9jb2RlICE9IDE6CiAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIGUKQEAgLTIzMyw3ICsyMzMsNyBAQCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQp
OgogICAgICAgICAgICAgICAgIHNlbGYuX2hlbHBlci5zdGRpbi53cml0ZSgieFxuIikKICAgICAg
ICAgICAgICAgICBzZWxmLl9oZWxwZXIuc3RkaW4uY2xvc2UoKQogICAgICAgICAgICAgICAgIHNl
bGYuX2hlbHBlci53YWl0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAg
ICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJJ
T0Vycm9yIHJhaXNlZCB3aGlsZSBzdG9wcGluZyBoZWxwZXI6ICVzIiAlIHN0cihlKSkKICAgICAg
ICAgICAgIHNlbGYuX2hlbHBlciA9IE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weQppbmRleCA5ZDI5Mjk5YjViMTRjYTkxZWZiNzJmOGM2YzdiY2I0
MzZjMjkxN2I0Li45MTA4N2I3ZTZiMzA2NjdmZWVjNDI4Y2UxNTc2YTVjYTY5ZGI2Mzk5IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQpAQCAtMTQ0LDcg
KzE0NCw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
ICAgICAgICAgdGVzdF9zb2NrZXQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgICAgICB0
ZXN0X3NvY2tldC5jb25uZWN0KChob3N0LCBwb3J0KSkKICAgICAgICAgICAgICAgICBzZWxmLmZh
aWwoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQg
SU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmVycm5vIGlu
IChlcnJuby5FQ09OTlJFRlVTRUQsIGVycm5vLkVDT05OUkVTRVQpKQogICAgICAgICAgICAgZmlu
YWxseToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldC5jbG9zZSgpCkBAIC0xNTQsNyArMTU0
LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAg
IHRyeToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoKQogICAg
ICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNvbm5lY3QoKGhvc3QsIHBvcnQpKQotICAgICAgICAg
ICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgog
ICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXM6JWQnICUg
KGhvc3QsIHBvcnQpKQogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICB0ZXN0
X3NvY2tldC5jbG9zZSgpCkBAIC0xODYsMTQgKzE4NiwxNCBAQCBjbGFzcyBQb3J0VGVzdENhc2Uo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICAgICAgdGVzdF9zb2NrZXQuYmluZCgoJ2xvY2FsaG9zdCcsIHBv
cnRfbnVtYmVyKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAg
ICAgaWYgZS5lcnJubyBpbiAoZXJybm8uRUFERFJJTlVTRSwgZXJybm8uRUFMUkVBRFkpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdjb3VsZCBub3QgYmluZCB0byBwb3J0ICVk
JyAlIHBvcnRfbnVtYmVyKQogICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAg
ICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcG9ydC5zdGFydF9odHRwX3NlcnZlcigpCiAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnc2hvdWxkIG5vdCBoYXZlIGJlZW4gYWJsZSB0
byBzdGFydCB0aGUgc2VydmVyIHdoaWxlIGJvdW5kIHRvICVkJyAlIHBvcnRfbnVtYmVyKQotICAg
ICAgICAgICAgICAgIGV4Y2VwdCBodHRwX3NlcnZlcl9iYXNlLlNlcnZlckVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBodHRwX3NlcnZlcl9iYXNlLlNlcnZlckVycm9yIGFzIGU6CiAg
ICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAg
ICAgICAgcG9ydC5zdG9wX2h0dHBfc2VydmVyKCkKQEAgLTM2MCw3ICszNjAsNyBAQCBjbGFzcyBQ
b3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgIHRyeToKICAg
ICAgICAgICAgICAgICAgICAgcG9ydC5zdGFydF93ZWJzb2NrZXRfc2VydmVyKCkKICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5mYWlsKCdzaG91bGQgbm90IGhhdmUgYmVlbiBhYmxlIHRvIHN0YXJ0
IHRoZSBzZXJ2ZXIgd2hpbGUgYm91bmQgdG8gJWQnICUgcG9ydF9udW1iZXIpCi0gICAgICAgICAg
ICAgICAgZXhjZXB0IGh0dHBfc2VydmVyX2Jhc2UuU2VydmVyRXJyb3IsIGU6CisgICAgICAgICAg
ICAgICAgZXhjZXB0IGh0dHBfc2VydmVyX2Jhc2UuU2VydmVyRXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBw
b3J0LnN0b3Bfd2Vic29ja2V0X3NlcnZlcigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2VydmVyX3Byb2Nlc3MucHkKaW5kZXggZTY5MGFjNGUxYTk0MWZlMTVhY2JhNTMzMjc3YTBh
M2FhZWQyMjA1MS4uMTE4YjdjMDEwYTFhZWFmMTI5ZWZkYTJiMjUzN2YzMDgxZWYzMjVlMSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpAQCAtMTY2
LDcgKzE2Niw3IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgICAgIHNl
bGYuX3N0YXJ0KCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fcHJvYy5zdGRpbi53
cml0ZShieXRlcykKLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJ
T0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLnN0b3AoMC4wKQogICAgICAgICAgICAgIyBz
dG9wKCkgY2FsbHMgX3Jlc2V0KCksIHNvIHdlIGhhdmUgdG8gc2V0IGNyYXNoZWQgdG8gVHJ1ZSBh
ZnRlciBjYWxsaW5nIHN0b3AoKQogICAgICAgICAgICAgIyB1bmxlc3Mgd2UgYWxyZWFkeSBrbm93
IHRoYXQgdGhpcyBpcyBhIHRpbWVvdXQuCkBAIC0yNTUsNyArMjU1LDcgQEAgY2xhc3MgU2VydmVy
UHJvY2VzcyhvYmplY3QpOgogICAgICAgICBzZWxlY3RfZmRzID0gKG91dF9mZCwgZXJyX2ZkKQog
ICAgICAgICB0cnk6CiAgICAgICAgICAgICByZWFkX2ZkcywgXywgXyA9IHNlbGVjdC5zZWxlY3Qo
c2VsZWN0X2ZkcywgW10sIHNlbGVjdF9mZHMsIG1heChkZWFkbGluZSAtIHRpbWUudGltZSgpLCAw
KSkKLSAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciwgZToKKyAgICAgICAgZXhjZXB0IHNlbGVj
dC5lcnJvciBhcyBlOgogICAgICAgICAgICAgIyBXZSBjYW4gaWdub3JlIEVJTlZBTCBzaW5jZSBp
dCdzIGxpa2VseSB0aGUgcHJvY2VzcyBqdXN0IGNyYXNoZWQgYW5kIHdlJ2xsCiAgICAgICAgICAg
ICAjIGZpZ3VyZSB0aGF0IG91dCB0aGUgbmV4dCB0aW1lIHRocm91Z2ggdGhlIGxvb3AgaW4gX3Jl
YWQoKS4KICAgICAgICAgICAgICMgV2UgYWxzbyBpZ25vcmUgRUlOVFIgYXMgd2UgY2FuIHJlc3Vt
ZSByZWFkaW5nIHRoZSBuZXh0IHRpbWUKQEAgLTI4Myw3ICsyODMsNyBAQCBjbGFzcyBTZXJ2ZXJQ
cm9jZXNzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ1RoaXMgdGVz
dCBtYXJrZWQgYXMgYSBjcmFzaCBiZWNhdXNlIG9mIG5vIGRhdGEgd2hpbGUgcmVhZGluZyBzdGRv
dXQgZm9yIHRoZSBzZXJ2ZXIgcHJvY2Vzcy4nKQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9j
cmFzaGVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yICs9IGRhdGEKLSAgICAg
ICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAg
ICAgICAgICAjIFdlIGNhbiBpZ25vcmUgdGhlIElPRXJyb3JzIGJlY2F1c2Ugd2Ugd2lsbCBkZXRl
Y3QgaWYgdGhlIHN1YnBvcmNlc3MgY3Jhc2hlZAogICAgICAgICAgICAgIyB0aGUgbmV4dCB0aW1l
IHRocm91Z2ggdGhlIGxvb3AgaW4gX3JlYWQoKQogICAgICAgICAgICAgcGFzcwpAQCAtMzE0LDcg
KzMxNCw3IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgICAgIGlmIGF2
YWlsID4gMDoKICAgICAgICAgICAgICAgICBfLCBidWYgPSB3aW4zMmZpbGUuUmVhZEZpbGUoaGFu
ZGxlLCBhdmFpbCwgTm9uZSkKICAgICAgICAgICAgICAgICByZXR1cm4gYnVmCi0gICAgICAgIGV4
Y2VwdCBFeGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAg
ICAgICAgIGlmIGVbMF0gbm90IGluICgxMDksIGVycm5vLkVTSFVURE9XTik6ICAjIDEwOSA9PSB3
aW4zMiBFUlJPUl9CUk9LRU5fUElQRQogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIHJl
dHVybiBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQppbmRleCA2ZGFjZDNmNmQ3MDIz
MThiYmEwYzg0NmQyNmY4NzY2NDM2ZGIzZGE0Li4xN2JhZmJiYjRiOTcwMmFjZTFlYzA4M2YwNTFh
MTAyZDE4YzZjZjA1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2lu
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKQEAgLTEzOCw3ICsx
MzgsNyBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIHN1cHBvcnRlZF9mZWF0
dXJlc19jb21tYW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXByaW50LXN1cHBvcnRl
ZC1mZWF0dXJlcyddCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2V4
ZWN1dGl2ZS5ydW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZXJyb3JfaGFu
ZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwgZToK
KyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cud2FybigiRXhj
ZXB0aW9uIHJ1bm5pbmcgZHJpdmVyOiAlcywgJXMuICBEcml2ZXIgbXVzdCBiZSBidWlsdCBiZWZv
cmUgY2FsbGluZyBXZWJLaXRQb3J0LnRlc3RfZXhwZWN0YXRpb25zKCkuIiAlIChzdXBwb3J0ZWRf
ZmVhdHVyZXNfY29tbWFuZCwgZSkpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CmluZGV4IDgwZDY3NDgyOTcwZDhhMjAz
YzNiMjRhYzYxMzBhN2I3OGUyZmJjYTguLmE2ZjVhZDFkZmY1ZmFlNmM0OWU3NmMxM2Y1NjJkOTFk
ODhjMGJmZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJp
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CkBA
IC02MCw3ICs2MCw3IEBAIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAgd2hpbGUg
ZmRfc2V0OgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZkX2xpc3QgPSBzZWxl
Y3Quc2VsZWN0KGZkX3NldCwgW10sIFtdKVswXQotICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5l
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgcmFpc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvanNvbmNoZWNrZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2pzb25jaGVja2VyLnB5CmluZGV4IDYxYjA1OWI1N2Ew
NTNjYjA3MDc2YjViMGZjZDI3NmJjYzUwYzVmZTEuLjQ2NGRmNmJjYWE1MTg1NWNjYzQ5MDMxYWJh
MmM4MzE2YTFmMThmY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvanNvbmNoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQpAQCAtMzksNyArMzksNyBAQCBjbGFzcyBKU09OQ2hl
Y2tlcihvYmplY3QpOgogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAgICAgIHRyeToK
ICAgICAgICAgICAgIGpzb24ubG9hZHMoJ1xuJy5qb2luKGxpbmVzKSArICdcbicpCi0gICAgICAg
IGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgog
ICAgICAgICAgICAgc2VsZi5faGFuZGxlX3N0eWxlX2Vycm9yKHNlbGYubGluZV9udW1iZXJfZnJv
bV9qc29uX2V4Y2VwdGlvbihlKSwgJ2pzb24vc3ludGF4JywgNSwgc3RyKGUpKQogCiAgICAgQHN0
YXRpY21ldGhvZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy94bWwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5w
eQppbmRleCBmZjRhNDE1OWYxYTIzNzc1MzZjNGJiZWE4MmRhZGI0ZThmY2MwNTYzLi45MGU4YmVk
ODU4ZTU4ZDFlYWVkMGFiMzMzNDJmYjUxYmM5ZmE1MmY3IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weQpAQCAtNDEsNSArNDEsNSBAQCBjbGFzcyBYTUxD
aGVja2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcGFyc2VyLlBhcnNlKGxpbmUpCiAgICAg
ICAgICAgICAgICAgcGFyc2VyLlBhcnNlKCdcbicpCiAgICAgICAgICAgICBwYXJzZXIuUGFyc2Uo
JycsIFRydWUpCi0gICAgICAgIGV4Y2VwdCBleHBhdC5FeHBhdEVycm9yLCBlcnJvcjoKKyAgICAg
ICAgZXhjZXB0IGV4cGF0LkV4cGF0RXJyb3IgYXMgZXJyb3I6CiAgICAgICAgICAgICBzZWxmLl9o
YW5kbGVfc3R5bGVfZXJyb3IoZXJyb3IubGluZW5vLCAneG1sL3N5bnRheCcsIDUsIGV4cGF0LkVy
cm9yU3RyaW5nKGVycm9yLmNvZGUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9maWxlcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxl
cmVhZGVyLnB5CmluZGV4IGFiNThlM2UxNzAwNjdlNmU2ZGIyYTVkY2Y5YTM3YWRlNTZjYWYyNjEu
LjE1ZTliMmUxYjZmYmM2ZDMyOGI3MjI4NzUwY2QzN2ExYTNlMWNmZGIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2ZpbGVyZWFkZXIucHkKQEAgLTEyOSw3ICsxMjksNyBAQCBjbGFz
cyBUZXh0RmlsZVJlYWRlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxp
bmVzID0gc2VsZi5fcmVhZF9saW5lcyhmaWxlX3BhdGgpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9y
LCBlcnI6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIG1lc3Nh
Z2UgPSAoIkNvdWxkIG5vdCByZWFkIGZpbGUuIFNraXBwaW5nOiAnJXMnXG4gICVzIiAlIChmaWxl
X3BhdGgsIGVycikpCiAgICAgICAgICAgICBfbG9nLndhcm4obWVzc2FnZSkKICAgICAgICAgICAg
IHJldHVybgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxlcmVh
ZGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxlcmVhZGVy
X3VuaXR0ZXN0LnB5CmluZGV4IGRlMjlmMmIyYjM5OGI0YzI1M2E2NmZhNGQzN2E2OGY0ZTk5NGQy
ZDEuLjBmYjQ2Mzk3ZTliMThiYzM2ZTQyNzU3Zjg2YmJmZjAxOTQ5MTJlZDYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlcl91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2ZpbGVyZWFkZXJfdW5pdHRlc3QucHkKQEAg
LTgxLDcgKzgxLDcgQEAgY2xhc3MgVGV4dEZpbGVSZWFkZXJUZXN0KExvZ2dpbmdUZXN0Q2FzZSk6
CiAgICAgZGVmIHRlc3RfcHJvY2Vzc19maWxlX19kb2VzX25vdF9leGlzdChzZWxmKToKICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fZmlsZV9yZWFkZXIucHJvY2Vzc19maWxlKCdkb2Vz
X25vdF9leGlzdC50eHQnKQotICAgICAgICBleGNlcHQgSU9FcnJvciwgZXJyOgorICAgICAgICBl
eGNlcHQgSU9FcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihl
cnIpLCAiRmlsZSBkb2VzIG5vdCBleGlzdCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBz
ZWxmLmZhaWwoJ05vIEV4Y2VwdGlvbiByYWlzZWQuJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9vcHRwYXJzZXIucHkKaW5kZXggNjY3OTE3ODJlNWVlODA1ZDcxNjJmNDEwZWJlZmJiMjNl
NzJlYzQzNi4uZTNmOTcwOGVhYTQ1Yjk4MWI2ODFkMzU5NWE2OTcyOTg4ZTYxMGJlYyAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKQEAgLTQ1NSw3ICs0NTUsNyBA
QCBjbGFzcyBBcmd1bWVudFBhcnNlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHZhbGlkYXRlX2ZpbHRlcl9ydWxlcyhmaWx0ZXJfcnVsZXMsIHNlbGYuX2FsbF9jYXRlZ29y
aWVzKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZXJyOgorICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcihlcnIpCiAKICAg
ICAgICAgb3B0aW9ucyA9IENvbW1hbmRPcHRpb25WYWx1ZXMoZmlsdGVyX3J1bGVzPWZpbHRlcl9y
dWxlcywKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2Nv
bW1hbmQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5
CmluZGV4IGUwMmQ4MmU0ZGY1Yzk3NjAwNDlhMjU1NTZkNjEzZGZiMDk0NGNhMjAuLjYxZmRhMWM5
ZTkzOWM4YmQyYjk4Mjc0YTdkNzA1OTdjNjFhYjM0NDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBD
cmVhdGVCdWcoSVJDQ29tbWFuZCk6CiAgICAgICAgICAgICBidWdfaWQgPSB0b29sLmJ1Z3MuY3Jl
YXRlX2J1ZyhidWdfdGl0bGUsIGJ1Z19kZXNjcmlwdGlvbiwgY2M9cmVxdWVzdGVyX2VtYWlsLCBh
c3NpZ25lZT1yZXF1ZXN0ZXJfZW1haWwpCiAgICAgICAgICAgICBidWdfdXJsID0gdG9vbC5idWdz
LmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpCiAgICAgICAgICAgICByZXR1cm4gIiVzOiBDcmVh
dGVkIGJ1ZzogJXMiICUgKG5pY2ssIGJ1Z191cmwpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24s
IGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHJldHVybiAi
JXM6IEZhaWxlZCB0byBjcmVhdGUgYnVnOlxuJXMiICUgKG5pY2ssIGUpCiAKIApAQCAtMjQxLDcg
KzI0MSw3IEBAIGNsYXNzIFJvbGxvdXQoSVJDQ29tbWFuZCk6CiAgICAgICAgICAgICBidWdfaWQg
PSBzaGVyaWZmLnBvc3Rfcm9sbG91dF9wYXRjaChzdm5fcmV2aXNpb25fbGlzdCwgY29tcGxldGVf
cmVhc29uKQogICAgICAgICAgICAgYnVnX3VybCA9IHRvb2wuYnVncy5idWdfdXJsX2Zvcl9idWdf
aWQoYnVnX2lkKQogICAgICAgICAgICAgdG9vbC5pcmMoKS5wb3N0KCIlczogQ3JlYXRlZCByb2xs
b3V0OiAlcyIgJSAobmlja3Nfc3RyaW5nLCBidWdfdXJsKSkKLSAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAg
IHRvb2wuaXJjKCkucG9zdCgiJXM6IEZhaWxlZCB0byBjcmVhdGUgcm9sbG91dCBwYXRjaDoiICUg
bmlja3Nfc3RyaW5nKQogICAgICAgICAgICAgZGlmZl9mYWlsdXJlID0gc2VsZi5fY2hlY2tfZGlm
Zl9mYWlsdXJlKGUub3V0cHV0LCB0b29sKQogICAgICAgICAgICAgaWYgZGlmZl9mYWlsdXJlOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNib3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2JvdC5weQppbmRleCA0OTc0NGM5YjJk
YWMxNGMzZDkzNDNlMzFkYmQ0MmNhMGFjMjY2MzU4Li5iZGVhZjNiNTU4MDk1YjA4ZTMxNDEwZWU4
MGRjN2Y0Mzg1ZDAyZGFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2lyY2JvdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2Jv
dC5weQpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBJUkNCb3Qob2JqZWN0KToKICAgICAgICAgZXhj
ZXB0IFRlcm1pbmF0ZVF1ZXVlOgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgIyBUaGlzIHdp
bGwgY2F0Y2ggZXZlcnl0aGluZyBlbHNlLiBTeXN0ZW1FeGl0IGFuZCBLZXlib2FyZEludGVycnVw
dCBhcmUgbm90IHN1YmNsYXNzZXMgb2YgRXhjZXB0aW9uLCBzbyB3ZSB3b24ndCBjYXRjaCB0aG9z
ZS4KLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biBhcyBlOgogICAgICAgICAgICAgc2VsZi5fdG9vbC5pcmMoKS5wb3N0KCJFeGNlcHRpb24gZXhl
Y3V0aW5nIGNvbW1hbmQ6ICVzIiAlIGUpCiAKICAgICBkZWYgcHJvY2Vzc19wZW5kaW5nX21lc3Nh
Z2VzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9s
YXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKaW5kZXggY2U1MThiYTA3Nzc3ZGQ4OTQxYWE2
Njk0YTg2NTcxNjJmMGVjYjM1Zi4uNjdjZDJkZTRkODdmNjA0ODc5Y2NjZjJjYmE1M2UwZDYxNDcz
ZmI3NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0
ZXN0cmVzdWx0c3JlYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5CkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIExheW91
dFRlc3RSZXN1bHRzUmVhZGVyKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIpOgogICAgIGRlZiBf
cmVhZF9maWxlX2NvbnRlbnRzKHNlbGYsIHBhdGgpOgogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICByZXR1cm4gc2VsZi5faG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKHBhdGgpCi0gICAg
ICAgIGV4Y2VwdCBJT0Vycm9yLCBlOiAgIyBGaWxlIGRvZXMgbm90IGV4aXN0IG9yIGNhbid0IGJl
IHJlYWQuCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6ICAjIEZpbGUgZG9lcyBub3QgZXhp
c3Qgb3IgY2FuJ3QgYmUgcmVhZC4KICAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAjIEZJ
WE1FOiBUaGlzIGxvZ2ljIHNob3VsZCBtb3ZlIHRvIHRoZSBwb3J0IG9iamVjdC4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5Cmlu
ZGV4IDZjZjczMzczNTdkYjRiOWM3NjYxY2MyYjUxYWQyZWRjNzQ2YzdkYTcuLmQ1M2UzNGI2MDM1
MzVlZWU1M2YyNTYyMzM4MjFhYTQ0NGJiMmNkMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weQpAQCAtMTAwLDcgKzEwMCw3
IEBAIGNsYXNzIFBhdGNoQW5hbHlzaXNUYXNrKG9iamVjdCk6CiAgICAgICAgICAgICBzZWxmLl9k
ZWxlZ2F0ZS5ydW5fY29tbWFuZChjb21tYW5kKQogICAgICAgICAgICAgc2VsZi5fZGVsZWdhdGUu
Y29tbWFuZF9wYXNzZWQoc3VjY2Vzc19tZXNzYWdlLCBwYXRjaD1zZWxmLl9wYXRjaCkKICAgICAg
ICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAg
ICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLl9zY3JpcHRfZXJy
b3IgPSBlCiAgICAgICAgICAgICBzZWxmLmZhaWx1cmVfc3RhdHVzX2lkID0gc2VsZi5fZGVsZWdh
dGUuY29tbWFuZF9mYWlsZWQoZmFpbHVyZV9tZXNzYWdlLCBzY3JpcHRfZXJyb3I9c2VsZi5fc2Ny
aXB0X2Vycm9yLCBwYXRjaD1zZWxmLl9wYXRjaCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkKaW5kZXgg
ZmExMzJkYTI1MThiNDJmZGVkZTg2NmRhOWZjZGRjNTU4ZmEyMDdhMy4uOGEyNDVmMmIxYmU5NDFh
NjM0NjhhZGYzZDVmNjUzZTdmZDQ2ZWIzNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L3F1ZXVlZW5naW5lLnB5CkBAIC0xMDMsNyArMTAzLDcgQEAgY2xhc3MgUXVldWVF
bmdpbmU6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9kZWxlZ2F0ZS5wcm9jZXNz
X3dvcmtfaXRlbSh3b3JrX2l0ZW0pOgogICAgICAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCJVbmFibGUgdG8gcHJvY2VzcyB3b3JrIGl0ZW0uIikKICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9vcGVuX3dvcmtfbG9nKHdvcmtfaXRlbSkKICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fd29ya19sb2cud3JpdGUoZS5tZXNzYWdlX3dpdGhfb3V0cHV0KCkpCiAgICAgICAgICAgICAg
ICAgICAgICMgVXNlIGEgc3BlY2lhbCBleGl0IGNvZGUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZXJy
b3Igd2FzIGFscmVhZHkKQEAgLTExMiwxMyArMTEyLDEzIEBAIGNsYXNzIFF1ZXVlRW5naW5lOgog
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgbWVz
c2FnZSA9ICJVbmV4cGVjdGVkIGZhaWx1cmUgd2hlbiBwcm9jZXNzaW5nIHBhdGNoISAgUGxlYXNl
IGZpbGUgYSBidWcgYWdhaW5zdCB3ZWJraXQtcGF0Y2guXG4lcyIgJSBlLm1lc3NhZ2Vfd2l0aF9v
dXRwdXQoKQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9kZWxlZ2F0ZS5oYW5kbGVfdW5leHBl
Y3RlZF9lcnJvcih3b3JrX2l0ZW0sIG1lc3NhZ2UpCi0gICAgICAgICAgICBleGNlcHQgVGVybWlu
YXRlUXVldWUsIGU6CisgICAgICAgICAgICBleGNlcHQgVGVybWluYXRlUXVldWUgYXMgZToKICAg
ICAgICAgICAgICAgICBzZWxmLl9zdG9wcGluZygiVGVybWluYXRlUXVldWUgZXhjZXB0aW9uIHJl
Y2VpdmVkLiIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgIGV4Y2VwdCBL
ZXlib2FyZEludGVycnVwdCwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVw
dCBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuX3N0b3BwaW5nKCJVc2VyIHRlcm1pbmF0ZWQg
cXVldWUuIikKICAgICAgICAgICAgICAgICByZXR1cm4gMQotICAgICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAg
ICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkKICAgICAgICAgICAgICAgICAjIERvbid0IHRy
eSB0ZWxsIHRoZSBzdGF0dXMgYm90LCBpbiBjYXNlIHRlbGxpbmcgaXQgY2F1c2VzIGFuIGV4Y2Vw
dGlvbi4KICAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgiRXhjZXB0aW9uIHdoaWxlIHByZXBh
cmluZyBxdWV1ZSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2Fic3RyYWN0c2VxdWVuY2VkY29tbWFuZC5weQppbmRleCA4ZjQyMGE5
ODg4NDZlNTIyYTY5YjZjMTIwZmZmZDgzNmYzNTg5N2QwLi5kMjQ1NDg5YzAwYzRmYTU0OTdiMDZk
YjMzYjUwMmZhMWMxNDNmNDEyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hYnN0cmFjdHNlcXVlbmNlZGNvbW1hbmQucHkKQEAg
LTQ4LDcgKzQ4LDcgQEAgY2xhc3MgQWJzdHJhY3RTZXF1ZW5jZWRDb21tYW5kKENvbW1hbmQpOgog
ICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAgICB0cnk6
CiAgICAgICAgICAgICBzdGF0ZSA9IHNlbGYuX3ByZXBhcmVfc3RhdGUob3B0aW9ucywgYXJncywg
dG9vbCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoZS5tZXNzYWdlX3dpdGhfb3V0
cHV0KCkpCiAgICAgICAgICAgICBzZWxmLl9leGl0KGUuZXhpdF9jb2RlIG9yIDIpCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5weQppbmRleCBk
OTI3NzBlZTY2Y2U5ZWJlNWZhN2Y0ZmQ5MWQzYTVhYjhiY2M3MTUwLi4zZTQ2NTg5OTQzZTM4ODM0
NzQyZTQ5OTNiMTE4ZTk2NjgxYjllMTYxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5CkBAIC0yMDAsNyArMjAwLDcgQEAgY2xhc3MgQWJz
dHJhY3RQYXRjaFNlcXVlbmNpbmdDb21tYW5kKEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFu
ZCk6CiAgICAgZGVmIF9wcmVwYXJlX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywgYXJncywgdG9v
bCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLl9wcmVwYXJl
X3N0YXRlKG9wdGlvbnMsIGFyZ3MsIHRvb2wpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwg
ZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVy
cm9yKGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgc2VsZi5fZXhpdChlLmV4
aXRfY29kZSBvciAyKQogICAgICAgICBzZWxmLl9wcmVwYXJlX3NlcXVlbmNlLnJ1bl9hbmRfaGFu
ZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zLCBzZWxmLnN0YXRlKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkK
aW5kZXggNDBhMjBkOGMzOTEzNzBlMmZmMjRmYzBiZjY3ZjdlZGY0MjVlMmNhNC4uNzg2ZjczNGE5
ZjQ5MjFjNDk1NDUwMzBhZjRmZDBiZjAxNDg0NjVmZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CkBA
IC0xMDgsMTMgKzEwOCwxMyBAQCBjbGFzcyBBYnN0cmFjdEVhcmx5V2FybmluZ1N5c3RlbShBYnN0
cmFjdFJldmlld1F1ZXVlLCBFYXJseVdhcm5pbmdTeXN0ZW1UYXNrRGVsZQogICAgICAgICBleGNl
cHQgUGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9y
KHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChzZWxmLm5h
bWUsIGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg
ICAgICAgZXhjZXB0IFVuYWJsZVRvQXBwbHlQYXRjaCwgZToKKyAgICAgICAgZXhjZXB0IFVuYWJs
ZVRvQXBwbHlQYXRjaCBhcyBlOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBhdGNoLCAi
JXMgdW5hYmxlIHRvIGFwcGx5IHBhdGNoLiIgJSBzZWxmLm5hbWUpCiAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKLSAgICAgICAgZXhjZXB0IFBhdGNoSXNOb3RBcHBsaWNhYmxlLCBlOgorICAgICAg
ICBleGNlcHQgUGF0Y2hJc05vdEFwcGxpY2FibGUgYXMgZToKICAgICAgICAgICAgIHNlbGYuX2Rp
ZF9za2lwKHBhdGNoKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBzZWxmLl9wb3N0X3JlamVjdF9tZXNzYWdlX29uX2J1ZyhzZWxmLl90b29sLCBwYXRjaCwg
dGFzay5mYWlsdXJlX3N0YXR1c19pZCwgc2VsZi5fZmFpbGluZ190ZXN0c19tZXNzYWdlKHRhc2ss
IHBhdGNoKSkKICAgICAgICAgICAgIHJlc3VsdHNfYXJjaGl2ZSA9IHRhc2sucmVzdWx0c19hcmNo
aXZlX2Zyb21fcGF0Y2hfdGVzdF9ydW4ocGF0Y2gpCiAgICAgICAgICAgICBpZiByZXN1bHRzX2Fy
Y2hpdmU6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVlcmllcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVz
LnB5CmluZGV4IDY0YzljZGY0NzFkN2FhNWU2NTQ3ZGZhZWU0NTc0NzM5NGY0Nzc4YTEuLmZhNDFm
OTdmZjEzNjA0OGM4YTNjYzdhZmNhODA1MTJjMTFmYWQ0YzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CkBAIC0yNTQsNyArMjU0LDcgQEAg
Y2xhc3MgRmFpbHVyZVJlYXNvbihDb21tYW5kKToKICAgICBkZWYgX2JsYW1lX2xpbmVfZm9yX3Jl
dmlzaW9uKHNlbGYsIHJldmlzaW9uKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29tbWl0
X2luZm8gPSBzZWxmLl90b29sLmNoZWNrb3V0KCkuY29tbWl0X2luZm9fZm9yX3JldmlzaW9uKHJl
dmlzaW9uKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gIkZBSUxFRCB0byBmZXRjaCBDb21taXRJ
bmZvIGZvciByJXMsIGV4Y2VwdGlvbjogJXMiICUgKHJldmlzaW9uLCBlKQogICAgICAgICBpZiBu
b3QgY29tbWl0X2luZm86CiAgICAgICAgICAgICByZXR1cm4gIkZBSUxFRCB0byBmZXRjaCBDb21t
aXRJbmZvIGZvciByJXMsIGxpa2VseSBtaXNzaW5nIENoYW5nZUxvZyIgJSByZXZpc2lvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKaW5kZXggYWRj
YTRkYzJmZWIyYWY5YjAyZDQ3M2JlMWQ2Yjg5ZmFjYWQ4ZDA1MS4uMDk2MjRiNDY3YjhkNDQ3M2Jh
NjkzOGRhMDU0MjkyNzBkNmQyOTc5OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVldWVzLnB5CkBAIC04MSw3ICs4MSw3IEBAIGNsYXNzIEFic3RyYWN0UXVl
dWUoQ29tbWFuZCwgUXVldWVFbmdpbmVEZWxlZ2F0ZSk6CiAgICAgZGVmIF9jY193YXRjaGVycyhz
ZWxmLCBidWdfaWQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLl90b29sLmJ1Z3Mu
YWRkX2NjX3RvX2J1ZyhidWdfaWQsIHNlbGYud2F0Y2hlcnMpCi0gICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHRy
YWNlYmFjay5wcmludF9leGMoKQogICAgICAgICAgICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIEND
IHdhdGNoZXJzLiIpCiAKQEAgLTEwMyw3ICsxMDMsNyBAQCBjbGFzcyBBYnN0cmFjdFF1ZXVlKENv
bW1hbmQsIFF1ZXVlRW5naW5lRGVsZWdhdGUpOgogICAgICAgICAgICAgYXJnc19mb3JfcHJpbnRp
bmdbMF0gPSAnd2Via2l0LXBhdGNoJyAgIyBQcmludGluZyBvdXIgcGF0aCBmb3IgZWFjaCBsb2cg
aXMgcmVkdW5kYW50LgogICAgICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nOiAlcyIgJSBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5jb21tYW5kX2Zvcl9wcmludGluZyhhcmdzX2Zvcl9wcmludGluZykp
CiAgICAgICAgICAgICBjb21tYW5kX291dHB1dCA9IHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9j
b21tYW5kKHdlYmtpdF9wYXRjaF9hcmdzLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9y
b290KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3Jp
cHRFcnJvciBhcyBlOgogICAgICAgICAgICAgIyBNYWtlIHN1cmUgdGhlIHdob2xlIG91dHB1dCBn
ZXRzIHByaW50ZWQgaWYgdGhlIGNvbW1hbmQgZmFpbGVkLgogICAgICAgICAgICAgX2xvZy5lcnJv
cihlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQob3V0cHV0X2xpbWl0PU5vbmUpKQogICAgICAgICAgICAg
cmFpc2UKQEAgLTM0Nyw3ICszNDcsNyBAQCBjbGFzcyBDb21taXRRdWV1ZShQYXRjaFByb2Nlc3Np
bmdRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhcwogICAgICAg
ICBleGNlcHQgUGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlk
X2Vycm9yKHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChz
ZWxmLm5hbWUsIGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0
RXJyb3IgYXMgZToKICAgICAgICAgICAgIHZhbGlkYXRvciA9IENvbW1pdHRlclZhbGlkYXRvcihz
ZWxmLl90b29sKQogICAgICAgICAgICAgdmFsaWRhdG9yLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1p
dF9xdWV1ZShwYXRjaC5pZCgpLCBzZWxmLl9lcnJvcl9tZXNzYWdlX2Zvcl9idWcodGFzaywgcGF0
Y2gsIGUpKQogICAgICAgICAgICAgcmVzdWx0c19hcmNoaXZlID0gdGFzay5yZXN1bHRzX2FyY2hp
dmVfZnJvbV9wYXRjaF90ZXN0X3J1bihwYXRjaCkKQEAgLTQ4MCwxMyArNDgwLDEzIEBAIGNsYXNz
IFN0eWxlUXVldWUoQWJzdHJhY3RSZXZpZXdRdWV1ZSwgU3R5bGVRdWV1ZVRhc2tEZWxlZ2F0ZSk6
CiAgICAgICAgICAgICAgICAgIyBDYWxsZXIgdW5sb2NrcyB3aGVuIHJldmlld19wYXRjaCByZXR1
cm5zIFRydWUsIHNvIHdlIG9ubHkgbmVlZCB0byB1bmxvY2sgb24gdHJhbnNpZW50IGZhaWx1cmUu
CiAgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrX3BhdGNoKHBhdGNoKQogICAgICAgICAgICAg
cmV0dXJuIHN0eWxlX2NoZWNrX3N1Y2NlZWRlZAotICAgICAgICBleGNlcHQgVW5hYmxlVG9BcHBs
eVBhdGNoLCBlOgorICAgICAgICBleGNlcHQgVW5hYmxlVG9BcHBseVBhdGNoIGFzIGU6CiAgICAg
ICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBwbHkgcGF0Y2gu
IiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBleGNlcHQg
UGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBh
dGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChzZWxmLm5hbWUs
IGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAg
ICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMg
ZToKICAgICAgICAgICAgIG91dHB1dCA9IHJlLnN1YihyJ0ZhaWxlZCB0byBydW4gLisgZXhpdF9j
b2RlOiAxJywgJycsIGUub3V0cHV0KQogICAgICAgICAgICAgbWVzc2FnZSA9ICJBdHRhY2htZW50
ICVzIGRpZCBub3QgcGFzcyAlczpcblxuJXNcblxuSWYgYW55IG9mIHRoZXNlIGVycm9ycyBhcmUg
ZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgZmlsZSBhIGJ1ZyBhZ2FpbnN0IGNoZWNrLXdlYmtpdC1z
dHlsZS4iICUgKHBhdGNoLmlkKCksIHNlbGYubmFtZSwgb3V0cHV0KQogICAgICAgICAgICAgc2Vs
Zi5fdG9vbC5idWdzLnBvc3RfY29tbWVudF90b19idWcocGF0Y2guYnVnX2lkKCksIG1lc3NhZ2Us
IGNjPXNlbGYud2F0Y2hlcnMpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcmViYXNlbGluZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9yZWJhc2VsaW5lLnB5CmluZGV4IDJiMWU2MDk5Y2M0ODZlNjgzZGQ0MGQ3ODc0ZmEz
NzdlZGNmN2JmZjkuLjY3ZjkwYzRjYmY1ZjgxNWRiNzg3ZjhhM2U5ZTMyNGE2ZmUwYWFhMzcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5l
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5l
LnB5CkBAIC0yMDcsNyArMjA3LDcgQEAgY2xhc3MgQWJzdHJhY3RQYXJhbGxlbFJlYmFzZWxpbmVD
b21tYW5kKEFic3RyYWN0UmViYXNlbGluaW5nQ29tbWFuZCk6CiAgICAgICAgICAgICBzdGRlcnIg
PSBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2VsZi5fdG9vbC5wYXRoKCldICsg
dmVyYm9zZV9hcmdzICsgYXJncywgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCwg
cmV0dXJuX3N0ZGVycj1UcnVlKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gc3RkZXJyLnNwbGl0
bGluZXMoKToKICAgICAgICAgICAgICAgICBwcmludChsaW5lLCBmaWxlPXN5cy5zdGRlcnIpCi0g
ICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVycm9yKGUpCiAKICAgICBkZWYgX2J1aWxkZXJzX3Rv
X2ZldGNoX2Zyb20oc2VsZiwgYnVpbGRlcnNfdG9fY2hlY2spOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N0ZXBzZXF1ZW5jZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdGVwc2VxdWVuY2UucHkKaW5kZXggM2M3YzY4
Mzk3YjIwZmVjZTkzZDU2MjJlNTRiNzYyMzQ2MWQ3NWI2Yy4uMGYwZTlmNzQ0NWViM2Q4MGQ1N2M4
NjE4MWE5NmVmMzY0NzM3Yjk0NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3N0ZXBzZXF1ZW5jZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvc3RlcHNlcXVlbmNlLnB5CkBAIC03MSwxMyArNzEsMTMgQEAgY2xhc3Mg
U3RlcFNlcXVlbmNlKG9iamVjdCk6CiAgICAgICAgICAgICBzdGF0ZSA9IHt9CiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIHNlbGYuX3J1bih0b29sLCBvcHRpb25zLCBzdGF0ZSkKLSAgICAgICAg
ZXhjZXB0IENoZWNrb3V0TmVlZHNVcGRhdGUsIGU6CisgICAgICAgIGV4Y2VwdCBDaGVja291dE5l
ZWRzVXBkYXRlIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmluZm8oIkNvbW1pdCBmYWlsZWQgYmVj
YXVzZSB0aGUgY2hlY2tvdXQgaXMgb3V0IG9mIGRhdGUuIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBh
Z2Fpbi4iKQogICAgICAgICAgICAgaWYgb3B0aW9ucy5wYXJlbnRfY29tbWFuZDoKICAgICAgICAg
ICAgICAgICBjb21tYW5kID0gdG9vbC5jb21tYW5kX2J5X25hbWUob3B0aW9ucy5wYXJlbnRfY29t
bWFuZCkKICAgICAgICAgICAgICAgICBjb21tYW5kLmhhbmRsZV9jaGVja291dF9uZWVkc191cGRh
dGUodG9vbCwgc3RhdGUsIG9wdGlvbnMsIGUpCiAgICAgICAgICAgICBRdWV1ZUVuZ2luZS5leGl0
X2FmdGVyX2hhbmRsZWRfZXJyb3IoZSkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgor
ICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIG5vdCBvcHRp
b25zLnF1aWV0OgogICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoZS5tZXNzYWdlX3dpdGhfb3V0
cHV0KCkpCiAgICAgICAgICAgICBpZiBvcHRpb25zLnBhcmVudF9jb21tYW5kOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dlc3Rub21pbmF0aW9u
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdWdnZXN0bm9taW5h
dGlvbnMucHkKaW5kZXggMGI4MWFjNWRkNzhiZDQ2MGI5MDRmY2FjOTVkZjFhMWQ5NjU2MWY0Zi4u
ZTFlNDZmMjc1NjVhMDY2YTQ3MTI1ZDU3NDRhZTkwZGMzZGFiNjQ0MSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dlc3Rub21pbmF0aW9ucy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRp
b25zLnB5CkBAIC0yMTMsNyArMjEzLDcgQEAgY2xhc3MgU3VnZ2VzdE5vbWluYXRpb25zKEFic3Ry
YWN0Q29tbWl0TG9nQ29tbWFuZCk6CiAgICAgICAgIGZvciBjb21taXRfbWVzc2FnZSBpbiBzZWxm
Ll9yZWNlbnRfY29tbWl0X21lc3NhZ2VzKCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICAgc2VsZi5fY291bnRfY29tbWl0KHNlbGYuX3BhcnNlX2NvbW1pdF9tZXNzYWdlKGNvbW1p
dF9tZXNzYWdlKSwgYW5hbHlzaXMpCi0gICAgICAgICAgICBleGNlcHQgQ29tbWl0TG9nRXJyb3Is
IGV4Y2VwdGlvbjoKKyAgICAgICAgICAgIGV4Y2VwdCBDb21taXRMb2dFcnJvciBhcyBleGNlcHRp
b246CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgcmV0dXJuIGFuYWx5c2lzWydj
b3VudGVyc19ieV9lbWFpbCddCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9tdWx0aWNvbW1hbmR0b29sLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211
bHRpY29tbWFuZHRvb2wucHkKaW5kZXggNDc5MDEyNzFmN2IyNWRlMDg2MTUyZDljZGMyZDM0ZWJi
OGExMWU0Yi4uYjY1Y2VlMjZkODQ0NGFiYTc4OTgzNDlhZWRkZmIxNzVkYzA4YmU4ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHkKQEAgLTMw
NCw3ICszMDQsNyBAQCBjbGFzcyBNdWx0aUNvbW1hbmRUb29sKG9iamVjdCk6CiAgICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29tbWFuZC5jaGVja19hcmd1bWVudHNf
YW5kX2V4ZWN1dGUob3B0aW9ucywgYXJncywgc2VsZikKICAgICAgICAgICAgICAgICBicmVhawot
ICAgICAgICAgICAgZXhjZXB0IFRyeUFnYWluLCBlOgorICAgICAgICAgICAgZXhjZXB0IFRyeUFn
YWluIGFzIGU6CiAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIHNlbGYuY29tbWFuZF9j
b21wbGV0ZWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvcmViYXNlbGluZXNlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL3JlYmFzZWxpbmVzZXJ2ZXIucHkKaW5kZXggYTYxMjNkYzg0YmIxMTM4OTcyOWM2ZDE5Y2U2
NmI1MTJhZWJhOTFhZC4uZDhjNjJmYjFjMTFjYzlhMzk2NWIxMjJmMjU4OWIxNWRmY2E3YjBhYyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvcmViYXNlbGlu
ZXNlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9yZWJh
c2VsaW5lc2VydmVyLnB5CkBAIC0xMTcsNyArMTE3LDcgQEAgZGVmIF9yZWJhc2VsaW5lX3Rlc3Qo
dGVzdF9maWxlLCBiYXNlbGluZV90YXJnZXQsIGJhc2VsaW5lX21vdmVfdG8sIHRlc3RfY29uZmln
LAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzY20uYWRkKGRlc3RpbmF0aW9uX3BhdGgpCiAg
ICAgICAgICAgICBsb2coJyAgICBVcGRhdGVkICVzJyAlIGRlc3RpbmF0aW9uX2ZpbGUpCi0gICAg
ICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZXJyb3I6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJv
ciBhcyBlcnJvcjoKICAgICAgICAgICAgIGxvZygnICAgIENvdWxkIG5vdCB1cGRhdGUgJXMgaW4g
U0NNLCBleGl0IGNvZGUgJWQnICUKICAgICAgICAgICAgICAgICAoZGVzdGluYXRpb25fZmlsZSwg
ZXJyb3IuZXhpdF9jb2RlKSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtMTUzLDcgKzE1
Myw3IEBAIGRlZiBfbW92ZV90ZXN0X2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsIGV4dGVuc2lvbnNfdG9f
bW92ZSwgc291cmNlX3BsYXRmb3JtLCBkZXN0aW5hCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHRlc3RfY29uZmlnLnNjbS5hZGQoZGVzdGluYXRpb25fcGF0aCkKICAgICAgICAgICAgIGxvZygn
ICAgIE1vdmVkICVzJyAlIGZpbGVfbmFtZSkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBl
cnJvcjoKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGVycm9yOgogICAgICAgICAgICAg
bG9nKCcgICAgQ291bGQgbm90IHVwZGF0ZSAlcyBpbiBTQ00sIGV4aXQgY29kZSAlZCcgJQogICAg
ICAgICAgICAgICAgIChmaWxlX25hbWUsIGVycm9yLmV4aXRfY29kZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9hZGRzdm5taW1ldHlwZWZvcnBuZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9hZGRzdm5taW1ldHlwZWZvcnBuZ191bml0dGVzdC5weQppbmRleCA5ZmFi
NmY0Mzg2NTE3Y2Q3NGUyZTQ5ZWI2YTYxNmRiZmQ3MWM1MGQ2Li42ZWM0YTJmMzgzZTU1MTVjZmQ3
YTk3MTE4ZWJkNjQ4ZjFlMjRkMTYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc3RlcHMvYWRkc3ZubWltZXR5cGVmb3JwbmdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2FkZHN2bm1pbWV0eXBlZm9ycG5nX3VuaXR0ZXN0
LnB5CkBAIC01NCw1ICs1NCw1IEBAIGNsYXNzIEFkZFN2bk1pbWV0eXBlRm9yUG5nVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIH0KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY2Fw
dHVyZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3N0YXRlXSkKLSAgICAgICAgZXhj
ZXB0IFN5c3RlbUV4aXQsIGU6CisgICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0IGFzIGU6CiAgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuY29kZSwgMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL2NoZWNrc3R5bGUucHkKaW5kZXggMjgzMzg3NzFlNjEwNWQzZmM3
MzRlOWNiZTUxY2MxODM5YjY5OGVlMi4uZGQ4NjVjMGI4NzI4MjdjNjFlZWZiOTgyNWYwZTAzODAw
MzdiMDNkZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2No
ZWNrc3R5bGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NoZWNr
c3R5bGUucHkKQEAgLTY0LDcgKzY0LDcgQEAgY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFN0ZXAp
OgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9h
bmRfdGhyb3dfaWZfZmFpbChzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLmNoZWNrX3dlYmtp
dF9zdHlsZV9jb21tYW5kKCkgKyBhcmdzLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9y
b290KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3Jp
cHRFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3Rp
dmU6CiAgICAgICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHJlLXJhaXNlIHRoZSBleGNlcHRpb24g
aGVyZSB0byBoYXZlIHRoZQogICAgICAgICAgICAgICAgICMgc3R5bGUtcXVldWUgZG8gdGhlIHJp
Z2h0IHRoaW5nLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L2NvbW1pdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHkK
aW5kZXggODdkYjc4MzMxMzM3MWIyNTJhMjM5NWUzNmU2MzkxNmY2M2MxZmExYS4uOWE1ZDgzYjkz
YTQwMzIxMjJiNmY2YjhlNWMyOTczNjlhMjEwN2MwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3N0ZXBzL2NvbW1pdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvY29tbWl0LnB5CkBAIC02MSw3ICs2MSw3IEBAIGNsYXNzIENvbW1pdChB
YnN0cmFjdFN0ZXApOgogICAgICAgICBhcmdzLmV4dGVuZCh0ZXN0X2V4cGVjdGF0aW9uc19maWxl
cykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2Fu
ZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkuY2hlY2tfd2Via2l0
X3N0eWxlX2NvbW1hbmQoKSArIGFyZ3MsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jv
b3QpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2
ZToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgaWYgbm90IHNlbGYuX3Rvb2wu
dXNlci5jb25maXJtKCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/IiwgZGVmYXVs
dD0ibiIpOgpAQCAtOTAsMTMgKzkwLDEzIEBAIGNsYXNzIENvbW1pdChBYnN0cmFjdFN0ZXApOgog
ICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiQ29tbWl0dGVkIHIlczogPCVzPiIgJSAoc3ZuX3Jl
dmlzaW9uLCB1cmxzLnZpZXdfcmV2aXNpb25fdXJsKHN2bl9yZXZpc2lvbikpKQogICAgICAgICAg
ICAgICAgIHNlbGYuX3N0YXRlWyJjb21taXRfdGV4dCJdID0gY29tbWl0X3RleHQKICAgICAgICAg
ICAgICAgICBicmVhawotICAgICAgICAgICAgZXhjZXB0IEFtYmlndW91c0NvbW1pdEVycm9yLCBl
OgorICAgICAgICAgICAgZXhjZXB0IEFtYmlndW91c0NvbW1pdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICAgICAgaWYgc2VsZi5fdG9vbC51c2VyLmNvbmZpcm0oc2VsZi5fY29tbWl0X3dhcm5pbmco
ZSkpOgogICAgICAgICAgICAgICAgICAgICBmb3JjZV9zcXVhc2ggPSBUcnVlCiAgICAgICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIHdpbGwgY29ycmVjdGx5IGlu
dGVycnVwdCB0aGUgcmVzdCBvZiB0aGUgY29tbWl0IHByb2Nlc3MuCiAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIFNjcmlwdEVycm9yKG1lc3NhZ2U9IkRpZCBub3QgY29tbWl0IikKLSAgICAgICAg
ICAgIGV4Y2VwdCBBdXRoZW50aWNhdGlvbkVycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IEF1
dGhlbnRpY2F0aW9uRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25z
Lm5vbl9pbnRlcmFjdGl2ZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Io
bWVzc2FnZT0iQXV0aGVudGljYXRpb24gcmVxdWlyZWQiKQogICAgICAgICAgICAgICAgIHVzZXJu
YW1lID0gc2VsZi5fdG9vbC51c2VyLnByb21wdCgiJXMgbG9naW46ICIgJSBlLnNlcnZlcl9ob3N0
LCByZXBlYXQ9NSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9jb25maXJtZGlmZi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb25m
aXJtZGlmZi5weQppbmRleCA0Y2M5ODIyZGU2MDgyYjg3YzZhZjZkM2Y2MzI2ZDAyZGM2ZjJkYWVm
Li40OTg5MzEyN2ViMGNlNDgyYTIxNjdmMjg5OTc4ZDFlM2M5YjI4YThmIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29uZmlybWRpZmYucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NvbmZpcm1kaWZmLnB5CkBAIC01OCw5ICs1
OCw5IEBAIGNsYXNzIENvbmZpcm1EaWZmKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICAjIFdl
IHJldHVybiB0aGUgcHJldHR5X2RpZmZfZmlsZSBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byBrZWVw
IHRoZQogICAgICAgICAgICAgIyBmaWxlIGFsaXZlIHVudGlsIHRoZSB1c2VyIGhhcyBoYWQgYSBj
aGFuY2UgdG8gY29uZmlybSB0aGUgZGlmZi4KICAgICAgICAgICAgIHJldHVybiBwcmV0dHlfZGlm
Zl9maWxlCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNj
cmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIlByZXR0eVBhdGNoIGZh
aWxlZC4gIDooIikKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBP
U0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIlByZXR0eVBhdGNoIHVuYXZh
aWxhYmxlLiIpCiAKICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkLnB5CmluZGV4IGIwNjkyYjMyYjI3YjliYTdi
YWIwM2Y2Yjc3MzgwNzc1OTE1NmE2NWUuLmU4NmU0YTRlOTYwNWY1MTAwMGI1YTE1YzE4NTVmNGY3
M2FkN2ExODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9o
YXNsYW5kZWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xh
bmRlZC5weQpAQCAtODIsNyArODIsNyBAQCBjbGFzcyBIYXNMYW5kZWQoY29uZmlybWRpZmYuQ29u
ZmlybURpZmYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gZXhlY3V0aXZlLnJ1
bl9jb21tYW5kKAogICAgICAgICAgICAgICAgIFsiaW50ZXJkaWZmIiwgZGlmZjFfcGF0Y2gubmFt
ZSwgZGlmZjJfcGF0Y2gubmFtZV0sIGRlY29kZV9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIlVuYWJsZSB0byBmaW5kIGludGVyZGlmZiB1dGlsIChwYXJ0
IG9mIEdOVSBkaWZmdG9vbHMgcGFja2FnZSkgd2hpY2ggaXMgcmVxdWlyZWQuIikKICAgICAgICAg
ICAgIHJhaXNlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9wcmVwYXJlY2hhbmdlbG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3ByZXBhcmVjaGFuZ2Vsb2cucHkKaW5kZXggMTNhNDQzOTk2OWU4OGU4MDM4MzE0YjI3ODY3YmFm
ZGExMWJhNjY2NC4uMjgxMmExNWVlNjFhNjdjZWQ0NTVhMTQxMDI2NTQxYTEzZTY1OGU1ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2cucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHkKQEAgLTEyMSw3ICsxMjEsNyBAQCBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nKEFic3Ry
YWN0U3RlcCk6CiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fdG9v
bC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKGFyZ3MsIHNlbGYuX29wdGlvbnMucXVp
ZXQsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBfbG9nLmVycm9yKCJVbmFibGUgdG8gcHJlcGFyZSBDaGFuZ2VMb2dzLiIpCiAgICAgICAg
ICAgICBzeXMuZXhpdCgxKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvc3RlcHMvcHJvbXB0Zm9yYnVnb3J0aXRsZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9wcm9tcHRmb3JidWdvcnRpdGxlLnB5CmluZGV4IDMxMTQ4OTFiY2JlMzhjOGUw
N2I2NmVmNmU0YjhkZTc1MDYwNTM3NzQuLmQ0ZDI4YzEzY2YxZTViZjgyYTFmODZkNTcwZGZiY2Q5
YTdmZjA5YjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9w
cm9tcHRmb3JidWdvcnRpdGxlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
dGVwcy9wcm9tcHRmb3JidWdvcnRpdGxlLnB5CkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIFByb21w
dEZvckJ1Z09yVGl0bGUoQWJzdHJhY3RTdGVwKToKICAgICAgICAgIyBPdGhlcndpc2Ugd2UgYXNz
dW1lIGl0J3MgYSBidWcgc3ViamVjdC4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3RhdGVb
ImJ1Z19pZCJdID0gaW50KHVzZXJfcmVzcG9uc2UpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9y
LCBUeXBlRXJyb3I6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIFR5cGVFcnJvcjoKICAg
ICAgICAgICAgIHN0YXRlWyJidWdfdGl0bGUiXSA9IHVzZXJfcmVzcG9uc2UKICAgICAgICAgICAg
ICMgRklYTUU6IFRoaXMgaXMga2luZCBvZiBhIGxhbWUgZGVzY3JpcHRpb24uCiAgICAgICAgICAg
ICBzdGF0ZVsiYnVnX2Rlc2NyaXB0aW9uIl0gPSB1c2VyX3Jlc3BvbnNlCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc29ydHhjb2RlcHJvamVjdGZpbGVzLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3NvcnR4Y29kZXByb2plY3RmaWxl
cy5weQppbmRleCA1YzAyNmNjZmNkNjg2Y2E5NmVlYmY5NzJiYjc3ZTZiNmI5Y2YxMmFkLi5jNTc1
OTBjMGZlZjllNzNkMTIzMWNhNTliYzYxZWQ4OTRmOWM2OTAxIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc29ydHhjb2RlcHJvamVjdGZpbGVzLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zb3J0eGNvZGVwcm9qZWN0ZmlsZXMu
cHkKQEAgLTUzLDYgKzUzLDYgQEAgY2xhc3MgU29ydFhjb2RlUHJvamVjdEZpbGVzKEFic3RyYWN0
U3RlcCk6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJncywgc2VsZi5f
b3B0aW9ucy5xdWlldCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5kaWRfbW9kaWZ5X2NoZWNrb3V0KHN0YXRlKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiVW5hYmxlIHRv
IHNvcnQgbW9kaWZpZWQgeGNvZGUgcHJvamVjdHMuIikKICAgICAgICAgICAgICAgICAgICAgc3lz
LmV4aXQoMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rl
c3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
d2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weQppbmRleCA1NTE1YjAw
MTE2MWI3ZDQ1Zjg4MmY1YjgwMGE0Nzg4NTVmYjU1ZGMwLi5jOTdlYTY3NDY5YjYyNjIzY2MxMDIx
Nzk2OTYzYWI2OWU1NjIwM2E5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dl
YmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfdzNjX3dlYl9zZXJ2ZXIucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3czY193ZWJfc2VydmVyLnB5
CkBAIC02MSw3ICs2MSw3IEBAIGNsYXNzIFdlYkRyaXZlclczQ1dlYlNlcnZlcihvYmplY3QpOgog
ICAgICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICAgICAgdHJ5OgogICAgICAg
ICAgICAgICAgIHMuY29ubmVjdCgoaG9zdCwgcG9ydCkpCi0gICAgICAgICAgICBleGNlcHQgSU9F
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAg
ICAgaWYgZS5lcnJubyBub3QgaW4gKGVycm5vLkVDT05OUkVGVVNFRCwgZXJybm8uRUNPTk5SRVNF
VCk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2RhdGFzdG9yZWZp
bGUucHkgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2RhdGFzdG9yZWZpbGUucHkKaW5k
ZXggYWMyOGQ2NDFlMDJmNDU3Y2U5NDAyODMwM2Y5ZjM3Y2IxYzEzNzkwYi4uZTNlOTIyMjgwMWM4
MGI1Njk4MzM4ZDI2YmE3OTY0MDA0NDJkYzgyZSAxMDA3NTUKLS0tIGEvVG9vbHMvVGVzdFJlc3Vs
dFNlcnZlci9tb2RlbC9kYXRhc3RvcmVmaWxlLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2
ZXIvbW9kZWwvZGF0YXN0b3JlZmlsZS5weQpAQCAtMTA3LDcgKzEwNyw3IEBAIGNsYXNzIERhdGFT
dG9yZUZpbGUoZGIuTW9kZWwpOgogICAgICAgICAgICAgZGF0YV9lbnRyeS5kYXRhID0gZGIuQmxv
YihkYXRhW3N0YXJ0OiBzdGFydCArIE1BWF9FTlRSWV9MRU5dKQogICAgICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgICAgIGRhdGFfZW50cnkucHV0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAg
ICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkZhaWxlZCB0byBzYXZlIGRhdGEgc3RvcmUgZW50cnk6
ICVzIiwgZXJyKQogICAgICAgICAgICAgICAgIGlmIGtleXM6CiAgICAgICAgICAgICAgICAgICAg
IHNlbGYuZGVsZXRlX2RhdGEoa2V5cykKZGlmZiAtLWdpdCBhL1Rvb2xzL2poYnVpbGQvamhidWls
ZHV0aWxzLnB5IGIvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMucHkKaW5kZXggMTZhNDc5Nzg3
OWNmNzBiMWI5MDAzMjI3YzBhZjQ1YTYzNzA5ODQ5Mi4uZmQ0ZmFlYTEwMGRkZWFiODY3OTRjNmEy
MTQyZTA0NGJjZGViYTFiYyAxMDA2NDQKLS0tIGEvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMu
cHkKKysrIGIvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMucHkKQEAgLTUxLDcgKzUxLDcgQEAg
ZGVmIGVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBsYXRmb3JtKToKICAg
ICAgICAgZnJvbSBqaGJ1aWxkLmVycm9ycyBpbXBvcnQgRmF0YWxFcnJvcgogICAgICAgICBnZXR0
ZXh0Lmluc3RhbGwoJ2poYnVpbGQnLCBsb2NhbGVkaXI9b3MucGF0aC5qb2luKHNvdXJjZV9wYXRo
LCAnbW8nKSwgdW5pY29kZT1UcnVlKQogICAgICAgICBjb25maWcgPSBqaGJ1aWxkLmNvbmZpZy5D
b25maWcoZ2V0X2NvbmZpZ19maWxlX2Zvcl9wbGF0Zm9ybShwbGF0Zm9ybSksIFtdKQotICAgIGV4
Y2VwdCBGYXRhbEVycm9yLCBleGNlcHRpb246CisgICAgZXhjZXB0IEZhdGFsRXJyb3IgYXMgZXhj
ZXB0aW9uOgogICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDb3VsZCBub3QgbG9hZCBqaGJ1aWxk
IGNvbmZpZyBmaWxlOiAlc1xuJyAlIGV4Y2VwdGlvbi5hcmdzWzBdKQogICAgICAgICByZXR1cm4g
RmFsc2UKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328911</attachid>
            <date>2017-12-09 09:14:34 -0800</date>
            <delta_ts>2017-12-10 13:11:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180612-20171209201432.patch</filename>
            <type>text/plain</type>
            <size>98789</size>
            <attacher name="Konstantin Tokarev">annulen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZjQ1ZDY1MTExMDNkYmIxMGMyYzVjODEwYTYxOTBmNTIxMmZlYjJjLi5lYmZmODE4NjhjYWJjNTNi
OWEwZmQ1M2U3NjFhMzA0ODU4YzExYjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNy0xMi0wOCAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5k
ZXgucnU+CisKKyAgICAgICAgW3B5dGhvbl0gTW9kZXJuaXplICJleGNlcHQiIHVzYWdlIGZvciBw
eXRob24zIGNvbXBhdGliaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDYxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5OgorCiAyMDE3LTEyLTA5ICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51
bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBbcHl0aG9uXSBSZXBsYWNlIHByaW50ID4+IG9wZXJh
dG9yIHdpdGggcHJpbnQoKSBmdW5jdGlvbiBmb3IgcHl0aG9uMyBjb21wYXRpYmlsaXR5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQpp
bmRleCA0NDhhYjdhNWU5NmQwNzAzOWRhZGM2MDQ1NDgxZWQwMDIzNjZkYTRmLi4xODIxMzVlNjRl
NmRlNDQzYWM3Y2UzNzVmYjg0YjFjNjhlMzViYjBkIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9n
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTQ4LDcgKzQ4LDcgQEAg
dHJ5OgogCiAjIFdoZW4gY29weWluZyBnZW5lcmF0b3IgZmlsZXMgdG8gSmF2YVNjcmlwdENvcmUn
cyBwcml2YXRlIGhlYWRlcnMgb24gTWFjLAogIyB0aGUgY29kZWdlbi8gbW9kdWxlIGRpcmVjdG9y
eSBpcyBmbGF0dGVuZWQuIFNvLCBpbXBvcnQgZGlyZWN0bHkuCi1leGNlcHQgSW1wb3J0RXJyb3Is
IGU6CitleGNlcHQgSW1wb3J0RXJyb3IgYXMgZToKICAgICAjIGxvZy5lcnJvcihlKSAjIFVuY29t
bWVudCB0aGlzIHRvIGRlYnVnIGVhcmx5IGltcG9ydCBlcnJvcnMuCiAgICAgaW1wb3J0IG1vZGVs
cwogICAgIGZyb20gbW9kZWxzIGltcG9ydCAqCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODIxYjQ4ZDEzMTBkZWIzOTkzZTU2NzRkNjhhODcxOTA2
ZmYwYTNhNi4uNDg1NmFjNGQ5ODI5NDY2OTk2OGZjMDRjOTZmMjE4NTFlMWVkZjA2OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
MSBAQAorMjAxNy0xMi0wOCAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+
CisKKyAgICAgICAgW3B5dGhvbl0gTW9kZXJuaXplICJleGNlcHQiIHVzYWdlIGZvciBweXRob24z
IGNvbXBhdGliaWxpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDYxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29tbWl0
dGVyX2F1dGgucHk6CisgICAgICAgIChDb21taXR0ZXJBdXRoLmF1dGhfanNvbik6CisgICAgICAg
IChDb21taXR0ZXJBdXRoLmF1dGhlbnRpY2F0ZSk6CisgICAgICAgIChDb21taXR0ZXJBdXRoLmlz
X3dlYmtpdF9jb21taXR0ZXIpOgorICAgICAgICAoQ29tbWl0dGVyQXV0aC5pc193ZWJraXRfdHJh
Y191c2VyKToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVy
LnB5OgorICAgICAgICAoZ2V0TGF0ZXN0U1ZOUmV2aXNpb24pOgorICAgICAgICAqIFF1ZXVlU3Rh
dHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZWJhc2UucHk6CisgICAgICAgIChVcGRhdGVCYXNlLl9p
bnRfZnJvbV9yZXF1ZXN0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdzL21h
aW4ucHk6CisgICAgICAgIChCaW5kaW5nc1Rlc3RzLmdlbmVyYXRlX2Zyb21faWRsKToKKyAgICAg
ICAgKEJpbmRpbmdzVGVzdHMuZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kpOgorICAg
ICAgICAoQmluZGluZ3NUZXN0cy5kZXRlY3RfY2hhbmdlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb2RlZ2VuL21haW4ucHk6CisgICAgICAgIChCdWlsdGluc0dlbmVyYXRvclRlc3Rz
LmdlbmVyYXRlX2Zyb21fanNfYnVpbHRpbnMpOgorICAgICAgICAoQnVpbHRpbnNHZW5lcmF0b3JU
ZXN0cy5kZXRlY3RfY2hhbmdlcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvY2hhbmdlbG9nLnB5OgorICAgICAgICAoQ2hhbmdlTG9nLnBhcnNlX2xhdGVzdF9l
bnRyeV9mcm9tX2ZpbGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNr
b3V0L2NoZWNrb3V0LnB5OgorICAgICAgICAoQ2hlY2tvdXQuYnVnX2lkX2Zvcl90aGlzX2NvbW1p
dCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5w
eToKKyAgICAgICAgKEdpdC5pbl93b3JraW5nX2RpcmVjdG9yeSk6CisgICAgICAgIChHaXQuY2xv
bmUpOgorICAgICAgICAoR2l0Ll9zdHJpbmdfdG9faW50X29yX25vbmUpOgorICAgICAgICAoR2l0
Ll9jb21taXRfb25fYnJhbmNoKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9zY20vc3ZuLnB5OgorICAgICAgICAoU1ZOLnJldmlzaW9uc19jaGFuZ2luZ19maWxl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5w
eToKKyAgICAgICAgKENvbW1pdHRlckxpc3QubG9hZF9qc29uKToKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHk6CisgICAgICAgIChfV29ya2VyLnJ1bik6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxkYm90
LnB5OgorICAgICAgICAoQnVpbGRlci5mb3JjZV9idWlsZC5wcmVkaWNhdGUpOgorICAgICAgICAo
QnVpbGRlci5fZmV0Y2hfcmV2aXNpb25fdG9fYnVpbGRfbWFwKToKKyAgICAgICAgKEJ1aWxkQm90
Ll9mZXRjaF9idWlsZF9kaWN0aW9uYXJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvY3JlZGVudGlhbHMucHk6CisgICAgICAgIChDcmVkZW50aWFscy5fY3JlZGVudGlh
bHNfZnJvbV9naXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3
b3JrdHJhbnNhY3Rpb24ucHk6CisgICAgICAgIChOZXR3b3JrVHJhbnNhY3Rpb24ucnVuKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoTmV0d29ya1RyYW5zYWN0aW9uVGVzdC50ZXN0X2V4Y2VwdGlv
bik6CisgICAgICAgIChOZXR3b3JrVHJhbnNhY3Rpb25UZXN0LnRlc3RfdGltZW91dCk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weToKKyAgICAg
ICAgKFN0YXR1c1NlcnZlci5fZmV0Y2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5OgorICAgICAgICAoVW5pdFRlc3RSZXN1bHRz
LnJlc3VsdHNfZnJvbV9zdHJpbmcpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3ByZXR0eXBhdGNoLnB5OgorICAgICAgICAoUHJldHR5UGF0Y2guY2hlY2tfcHJldHR5X3BhdGNo
KToKKyAgICAgICAgKFByZXR0eVBhdGNoLnByZXR0eV9wYXRjaF90ZXh0KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weToKKyAgICAgICAg
KFByZXR0eVBhdGNoVGVzdC5jaGVja19ydWJ5KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHk6CisgICAgICAgIChBdXRvSW5zdGFsbGVyLl9l
eHRyYWN0X3Rhcik6CisgICAgICAgIChBdXRvSW5zdGFsbGVyLl91bnppcCk6CisgICAgICAgIChB
dXRvSW5zdGFsbGVyLl9yZXBsYWNlX2RvbWFpbl93aXRoX25leHRfbWlycm9yKToKKyAgICAgICAg
KEF1dG9JbnN0YWxsZXIuX2Rvd25sb2FkX3RvX3N0cmVhbSk6CisgICAgICAgIChBdXRvSW5zdGFs
bGVyLmluc3RhbGwpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9j
cmFzaGxvZ3MucHk6CisgICAgICAgIChDcmFzaExvZ3MuX2ZpbmRfbmV3ZXN0X2xvZ19kYXJ3aW4p
OgorICAgICAgICAoQ3Jhc2hMb2dzLl9maW5kX25ld2VzdF9sb2dfd2luKToKKyAgICAgICAgKENy
YXNoTG9ncy5fZmluZF9hbGxfbG9nc19kYXJ3aW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6CisgICAgICAgIChFeGVjdXRpdmUua2lsbF9w
cm9jZXNzKToKKyAgICAgICAgKEV4ZWN1dGl2ZS5ydW5uaW5nX3BpZHMpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5OgorICAgICAgICAoRmls
ZVN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeSk6CisgICAgICAgIChGaWxlU3lzdGVtLnJlbW92
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3VzZXIucHk6Cisg
ICAgICAgIChVc2VyLl93YWl0X29uX2xpc3RfcmVzcG9uc2UpOgorICAgICAgICAoVXNlci5lZGl0
KToKKyAgICAgICAgKFVzZXIucGFnZSk6CisgICAgICAgIChVc2VyLmNhbl9vcGVuX3VybCk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3dvcmtzcGFjZS5weToKKyAg
ICAgICAgKFdvcmtzcGFjZS5jcmVhdGVfemlwKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2VyLnB5OgorICAgICAgICAoV2F0Y2hMaXN0
UGFyc2VyLl9wYXJzZV9kZWZpbml0aW9uX3NlY3Rpb24pOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3dlYmtpdHVuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdENhc2UuX2Fzc2Vy
dFJhaXNlc1JlZ2V4cCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9pbnNwZWN0b3IvbWFp
bi5weToKKyAgICAgICAgKEluc3BlY3RvckdlbmVyYXRvclRlc3RzLmdlbmVyYXRlX2Zyb21fanNv
bik6CisgICAgICAgIChJbnNwZWN0b3JHZW5lcmF0b3JUZXN0cy5kZXRlY3RfY2hhbmdlcyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0
X3Rlc3RfZmluZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEZpbmRlci5fcmVhZF90ZXN0X25h
bWVzX2Zyb21fZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdFJ1
bm5lci5ydW5fdGVzdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAgIChNYW5hZ2VyLnVwbG9hZF9yZXN1bHRz
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS9qc29uX3Jlc3VsdHNfZ2VuZXJhdG9yLnB5OgorICAgICAgICAoSlNPTlJlc3VsdHNHZW5lcmF0
b3IudXBsb2FkX2pzb25fZmlsZXMpOgorICAgICAgICAoSlNPTlJlc3VsdHNHZW5lcmF0b3IuX2dl
dF9hcmNoaXZlZF9qc29uX3Jlc3VsdHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5weToKKyAgICAgICAg
KE1pc2NUZXN0cy50ZXN0X3BhcnNlX3dhcm5pbmcpOgorICAgICAgICAoU2VtYW50aWNUZXN0cy50
ZXN0X2JhZF9idWdpZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bW9kZWxzL3Rlc3RfcnVuX3Jlc3VsdHMucHk6CisgICAgICAgIChzdW1tYXJpemVfcmVzdWx0cyk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0
cy5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgIChMaWdodHRwZC5fcmVtb3Zl
X3N0YWxlX2xvZ3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Nl
cnZlcnMvaHR0cF9zZXJ2ZXJfYmFzZS5weToKKyAgICAgICAgKEh0dHBTZXJ2ZXJCYXNlLl9pc19y
dW5uaW5nX29uX3BvcnQpOgorICAgICAgICAoSHR0cFNlcnZlckJhc2UuX2NoZWNrX3RoYXRfYWxs
X3BvcnRzX2FyZV9hdmFpbGFibGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5OgorICAgICAgICAo
QmFzZVRlc3QuYXNzZXJ0X3NlcnZlcnNfYXJlX2Rvd24pOgorICAgICAgICAoQmFzZVRlc3QuYXNz
ZXJ0X3NlcnZlcnNfYXJlX3VwKToKKyAgICAgICAgKEJhc2VUZXN0LmludGVncmF0aW9uX3Rlc3Rf
c2VydmVyX19mYWlscyk6CisgICAgICAgIChCYXNlVGVzdC5tYXliZV9tYWtlX2Rpcik6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0
dHBkLnB5OgorICAgICAgICAocnVuX3NlcnZlcik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvc2VydmVycy93ZWJfcGxhdGZvcm1fdGVzdF9sYXVuY2hlci5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9z
ZXJ2ZXIucHk6CisgICAgICAgIChQeVdlYlNvY2tldC5pc19ydW5uaW5nKToKKyAgICAgICAgKFB5
V2ViU29ja2V0Ll9yZW1vdmVfc3RhbGVfbG9ncyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHk6CisgICAgICAgIChfbWVyZ2Vf
c2xhdmVfY29uZmlnX2pzb24pOgorICAgICAgICAoX21lcmdlX291dHB1dHNfaWZfbmVlZGVkKToK
KyAgICAgICAgKF91cGxvYWRfanNvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9idWlsZF9kcml2ZXIpOgorICAgICAgICAoUG9ydC5f
YnVpbGRfaW1hZ2VfZGlmZik6CisgICAgICAgIChQb3J0Ll9zeW1ib2xzX3N0cmluZyk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rvci5weToKKyAgICAgICAgKExl
YWtEZXRlY3Rvci5jb3VudF90b3RhbF9ieXRlc19hbmRfdW5pcXVlX2xlYWtzKToKKyAgICAgICAg
KExlYWtEZXRlY3Rvci5jaGVja19mb3JfbGVha3MpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvcG9ydC9sZWFrZGV0ZWN0b3JfdmFsZ3JpbmQucHk6CisgICAgICAgIChMZWFrRGV0ZWN0b3JW
YWxncmluZC5fcGFyc2VfbGVha3Nfb3V0cHV0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbWFjLnB5OgorICAgICAgICAoTWFjUG9ydC5yZXNldF9wcmVmZXJlbmNlcyk6CisgICAg
ICAgIChNYWNQb3J0LnN0b3BfaGVscGVyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS5hc3NlcnRfc2VydmVy
c19hcmVfZG93bik6CisgICAgICAgIChQb3J0VGVzdENhc2UuYXNzZXJ0X3NlcnZlcnNfYXJlX3Vw
KToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS5pbnRlZ3JhdGlvbl90ZXN0X2h0dHBfc2VydmVyX19m
YWlscyk6CisgICAgICAgIChQb3J0VGVzdENhc2UuaW50ZWdyYXRpb25fdGVzdF93ZWJzb2NrZXRf
c2VydmVyX19mYWlscyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9w
cm9jZXNzLnB5OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy53cml0ZSk6CisgICAgICAgIChTZXJ2
ZXJQcm9jZXNzLl93YWl0X2Zvcl9kYXRhX2FuZF91cGRhdGVfYnVmZmVyc191c2luZ19zZWxlY3Qp
OgorICAgICAgICAoU2VydmVyUHJvY2Vzcy5fbm9uX2Jsb2NraW5nX3JlYWRfd2luMzIpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6CisgICAgICAgIChXaW5Qb3J0Ll9y
dW50aW1lX2ZlYXR1cmVfbGlzdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2
ZmJkcml2ZXIucHk6CisgICAgICAgIChYdmZiRHJpdmVyLl94dmZiX3JlYWRfZGlzcGxheV9pZCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9qc29uY2hlY2tlci5w
eToKKyAgICAgICAgKEpTT05DaGVja2VyLmNoZWNrKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weToKKyAgICAgICAgKFhNTENoZWNrZXIuY2hlY2spOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlci5weToKKyAgICAgICAg
KFRleHRGaWxlUmVhZGVyLnByb2Nlc3NfZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9maWxlcmVhZGVyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGV4dEZpbGVSZWFkZXJU
ZXN0LnRlc3RfcHJvY2Vzc19maWxlX19kb2VzX25vdF9leGlzdCk6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHk6CisgICAgICAgIChBcmd1bWVudFBhcnNlci5w
YXJzZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5w
eToKKyAgICAgICAgKENyZWF0ZUJ1Zy5leGVjdXRlKToKKyAgICAgICAgKFJvbGxvdXQuZXhlY3V0
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNib3QucHk6CisgICAg
ICAgIChJUkNCb3QucHJvY2Vzc19tZXNzYWdlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5OgorICAgICAgICAoTGF5b3V0VGVz
dFJlc3VsdHNSZWFkZXIuX3JlYWRfZmlsZV9jb250ZW50cyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weToKKyAgICAgICAgKFBhdGNoQW5h
bHlzaXNUYXNrLl9ydW5fY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29s
L2JvdC9xdWV1ZWVuZ2luZS5weToKKyAgICAgICAgKFF1ZXVlRW5naW5lLnJ1bik6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Fic3RyYWN0c2VxdWVuY2VkY29tbWFu
ZC5weToKKyAgICAgICAgKEFic3RyYWN0U2VxdWVuY2VkQ29tbWFuZC5leGVjdXRlKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQucHk6CisgICAgICAg
IChBYnN0cmFjdFBhdGNoU2VxdWVuY2luZ0NvbW1hbmQuX3ByZXBhcmVfdG9fcHJvY2Vzcyk6Cisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3Rl
bS5weToKKyAgICAgICAgKEFic3RyYWN0RWFybHlXYXJuaW5nU3lzdGVtLnJldmlld19wYXRjaCk6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXJpZXMucHk6Cisg
ICAgICAgIChGYWlsdXJlUmVhc29uLl9ibGFtZV9saW5lX2Zvcl9yZXZpc2lvbik6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weToKKyAgICAgICAgKEFi
c3RyYWN0UXVldWUuX2NjX3dhdGNoZXJzKToKKyAgICAgICAgKEFic3RyYWN0UXVldWUucnVuX3dl
YmtpdF9wYXRjaCk6CisgICAgICAgIChDb21taXRRdWV1ZS5wcm9jZXNzX3dvcmtfaXRlbSk6Cisg
ICAgICAgIChTdHlsZVF1ZXVlLnJldmlld19wYXRjaCk6CisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHk6CisgICAgICAgIChBYnN0cmFjdFBhcmFs
bGVsUmViYXNlbGluZUNvbW1hbmQuX3J1bl93ZWJraXRfcGF0Y2gpOgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdGVwc2VxdWVuY2UucHk6CisgICAgICAgIChTdGVw
U2VxdWVuY2UucnVuX2FuZF9oYW5kbGVfZXJyb3JzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRpb25zLnB5OgorICAgICAgICAoU3VnZ2Vz
dE5vbWluYXRpb25zLl9jb3VudF9yZWNlbnRfcGF0Y2hlcyk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHk6CisgICAgICAgIChNdWx0aUNvbW1hbmRU
b29sLm1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL3JlYmFz
ZWxpbmVzZXJ2ZXIucHk6CisgICAgICAgIChfcmViYXNlbGluZV90ZXN0KToKKyAgICAgICAgKF9t
b3ZlX3Rlc3RfYmFzZWxpbmVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3Rl
cHMvYWRkc3ZubWltZXR5cGVmb3JwbmdfdW5pdHRlc3QucHk6CisgICAgICAgIChBZGRTdm5NaW1l
dHlwZUZvclBuZ1Rlc3QudGVzdF9ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9v
bC9zdGVwcy9jaGVja3N0eWxlLnB5OgorICAgICAgICAoQ2hlY2tTdHlsZS5ydW4pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHk6CisgICAgICAgIChDb21t
aXQuX2NoZWNrX3Rlc3RfZXhwZWN0YXRpb25zKToKKyAgICAgICAgKENvbW1pdC5ydW4pOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb25maXJtZGlmZi5weToKKyAgICAg
ICAgKENvbmZpcm1EaWZmLl9zaG93X3ByZXR0eV9kaWZmKToKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkLnB5OgorICAgICAgICAoSGFzTGFuZGVkLmRpZmZf
ZGlmZik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHk6CisgICAgICAgIChQcmVwYXJlQ2hhbmdlTG9nLnJ1bik6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3Byb21wdGZvcmJ1Z29ydGl0bGUucHk6CisgICAgICAg
IChQcm9tcHRGb3JCdWdPclRpdGxlLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90
b29sL3N0ZXBzL3NvcnR4Y29kZXByb2plY3RmaWxlcy5weToKKyAgICAgICAgKFNvcnRYY29kZVBy
b2plY3RGaWxlcy5ydW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rl
c3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weToKKyAgICAgICAgKFdlYkRyaXZlclczQ1dl
YlNlcnZlci5fd2FpdF9mb3Jfc2VydmVyLmNoZWNrX3BvcnQpOgorICAgICAgICAqIFRlc3RSZXN1
bHRTZXJ2ZXIvbW9kZWwvZGF0YXN0b3JlZmlsZS5weToKKyAgICAgICAgKERhdGFTdG9yZUZpbGUu
c2F2ZV9kYXRhKToKKyAgICAgICAgKiBqaGJ1aWxkL2poYnVpbGR1dGlscy5weToKKyAgICAgICAg
KGVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKToKKwogMjAxNy0xMi0wOSAg
S29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW3B5dGhv
bl0gUmVwbGFjZSBwcmludCA+PiBvcGVyYXRvciB3aXRoIHByaW50KCkgZnVuY3Rpb24gZm9yIHB5
dGhvbjMgY29tcGF0aWJpbGl0eQpkaWZmIC0tZ2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvY29tbWl0dGVyX2F1dGgucHkgYi9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aC5weQppbmRl
eCA5ZWMzNTdhZWJiNWUxYzE0Njk3YmIwOGIxODg1NTkzNzE5M2JmZGRhLi4yY2QyYjEzMmUxMzY0
YjExODZjMmM1OTU1YmM0NjJmMTljODBjNjczIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJfYXV0aC5weQorKysgYi9U
b29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9jb21taXR0ZXJf
YXV0aC5weQpAQCAtNDQsOSArNDQsOSBAQCBjbGFzcyBDb21taXR0ZXJBdXRoKGJ1aWxkYm90LnN0
YXR1cy53ZWIuYXV0aC5BdXRoQmFzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGgg
c2VsZi5vcGVuX2F1dGhfanNvbl9maWxlKCkgYXMgZjoKICAgICAgICAgICAgICAgICByZXR1cm4g
anNvbi5sb2FkKGYpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICBleGNlcHQg
SU9FcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ0Vycm9yIG9wZW5pbmcgYXV0
aC5qc29uIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJyb3IpKQotICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAgICAg
IHJhaXNlIEVycm9yKCdFcnJvciBwYXJzaW5nIGF1dGguanNvbiBmaWxlOiB7MH0nLmZvcm1hdChl
Lm1lc3NhZ2UpKQogCiAgICAgZGVmIGF1dGhfanNvbl9maWxlbmFtZShzZWxmKToKQEAgLTU1LDcg
KzU1LDcgQEAgY2xhc3MgQ29tbWl0dGVyQXV0aChidWlsZGJvdC5zdGF0dXMud2ViLmF1dGguQXV0
aEJhc2UpOgogICAgIGRlZiBhdXRoZW50aWNhdGUoc2VsZiwgdXNlcm5hbWUsIHBhc3N3b3JkKToK
ICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuaXNfd2Via2l0X2NvbW1pdHRl
cih1c2VybmFtZSkgYW5kIHNlbGYuaXNfd2Via2l0X3RyYWNfdXNlcih1c2VybmFtZSwgcGFzc3dv
cmQpCi0gICAgICAgIGV4Y2VwdCBFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IEVycm9yIGFzIGU6
CiAgICAgICAgICAgICBzZWxmLmVyciA9IGUuYXJnc1swXQogICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCiAKQEAgLTY3LDE0ICs2NywxNCBAQCBjbGFzcyBDb21taXR0ZXJBdXRoKGJ1aWxkYm90LnN0
YXR1cy53ZWIuYXV0aC5BdXRoQmFzZSk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAg
ICBleGNlcHQgQ29uZmlnUGFyc2VyLkVycm9yOgogICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ0Vy
cm9yIHBhcnNpbmcgV2ViS2l0IGNvbW1pdHRlcnMgZmlsZScpCi0gICAgICAgIGV4Y2VwdCBJT0Vy
cm9yLCBlOgorICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2Ug
RXJyb3IoJ0Vycm9yIG9wZW5pbmcgV2ViS2l0IGNvbW1pdHRlcnMgZmlsZTogezB9Jy5mb3JtYXQo
ZS5zdHJlcnJvcikpCiAKICAgICBkZWYgaXNfd2Via2l0X3RyYWNfdXNlcihzZWxmLCB1c2VybmFt
ZSwgcGFzc3dvcmQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIHNlbGYub3Blbl90
cmFjX2NyZWRlbnRpYWxzX2ZpbGUoKSBhcyBmOgogICAgICAgICAgICAgICAgIGh0ZGlnZXN0ID0g
SFREaWdlc3RQYXJzZXIoZikKLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4
Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICByYWlzZSBFcnJvcignRXJyb3Igb3Blbmlu
ZyBUcmFjIGNyZWRlbnRpYWxzIGZpbGU6IHswfScuZm9ybWF0KGUuc3RyZXJyb3IpKQogCiAgICAg
ICAgIGlmIG5vdCBodGRpZ2VzdC5lbnRyaWVzKCk6CmRpZmYgLS1naXQgYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVyLnB5IGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvd2FpdC1mb3ItU1ZOLXNlcnZlci5weQppbmRleCBhNTUwYmIwYTE5N2U5NjAwNmYwZGYyZTAy
NzBjZDUwZjRhYTQ4ZTA0Li43YmY0MmY5OTNmYjI3NTQzZWQ0M2RlOWFjMGU0OTg1M2MwMDJmNzYw
IDEwMDc1NQotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC93YWl0LWZvci1TVk4tc2VydmVy
LnB5CisrKyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L3dhaXQtZm9yLVNWTi1zZXJ2ZXIucHkK
QEAgLTM5LDcgKzM5LDcgQEAgZGVmIGdldExhdGVzdFNWTlJldmlzaW9uKFNWTlNlcnZlcik6CiAg
ICAgICAgIGRvYyA9IHhtbC5kb20ubWluaWRvbS5wYXJzZVN0cmluZyhyZXNwb25zZSkKICAgICAg
ICAgZWwgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxvZ2VudHJ5IilbMF0KICAgICAgICAg
cmV0dXJuIGVsLmdldEF0dHJpYnV0ZSgicmV2aXNpb24iKQotICAgIGV4Y2VwdCB4bWwucGFyc2Vy
cy5leHBhdC5FeHBhdEVycm9yLCBlOgorICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBh
dEVycm9yIGFzIGU6CiAgICAgICAgIHByaW50KCJGQUlMRUQgVE8gUEFSU0UgJ3N2biBsb2cnIFhN
TDoiKQogICAgICAgICBwcmludChzdHIoZSkpCiAgICAgICAgIHByaW50KCItLS0tIikKZGlmZiAt
LWdpdCBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVyL2hhbmRsZXJzL3VwZGF0ZWJhc2UucHkgYi9U
b29scy9RdWV1ZVN0YXR1c1NlcnZlci9oYW5kbGVycy91cGRhdGViYXNlLnB5CmluZGV4IGIwODdl
ODMwNjdkNjU5MTBmNTc3YmI2MDRmNDlhNWIwOWQ5MTllYWEuLjUyNjg1NDIwNDMwNDQwMTFiMTNl
NjBmNTQ2MTMxZjgxMWIxOTkxM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1F1ZXVlU3RhdHVzU2VydmVy
L2hhbmRsZXJzL3VwZGF0ZWJhc2UucHkKKysrIGIvVG9vbHMvUXVldWVTdGF0dXNTZXJ2ZXIvaGFu
ZGxlcnMvdXBkYXRlYmFzZS5weQpAQCAtMzYsNiArMzYsNiBAQCBjbGFzcyBVcGRhdGVCYXNlKHdl
YmFwcC5SZXF1ZXN0SGFuZGxlcik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGludF92YWx1
ZSA9IGludChzdHJpbmdfdmFsdWUpCiAgICAgICAgICAgICByZXR1cm4gaW50X3ZhbHVlCi0gICAg
ICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBUeXBlRXJyb3I6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVy
cm9yIGFzIFR5cGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgcmV0dXJuIE5vbmUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmluZGluZ3MvbWFpbi5weQppbmRleCAxYmQyYTc2MjhmYzNl
Yjg1NWFiYTRjYjg5MDBlM2E2OWYwNGFkMDMzLi4zOTQwNjg3ZGQyNjU4ZWVhNjMwODBlMjhlMDc0
ZTI2NmNkMjZhZDRjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JpbmRpbmdz
L21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iaW5kaW5ncy9tYWluLnB5CkBA
IC02NSw3ICs2NSw3IEBAIGNsYXNzIEJpbmRpbmdzVGVzdHM6CiAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAgICAgICAgICAgICBpZiBvdXRwdXQ6
CiAgICAgICAgICAgICAgICAgcHJpbnQob3V0cHV0KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJy
b3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgcHJp
bnQoZS5vdXRwdXQpCiAgICAgICAgICAgICBleGl0X2NvZGUgPSBlLmV4aXRfY29kZQogICAgICAg
ICByZXR1cm4gZXhpdF9jb2RlCkBAIC05NSw3ICs5NSw3IEBAIGNsYXNzIEJpbmRpbmdzVGVzdHM6
CiAgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAg
ICAgICAgICAgICBpZiBvdXRwdXQ6CiAgICAgICAgICAgICAgICAgcHJpbnQob3V0cHV0KQotICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBh
cyBlOgogICAgICAgICAgICAgcHJpbnQoZS5vdXRwdXQpCiAgICAgICAgICAgICBleGl0X2NvZGUg
PSBlLmV4aXRfY29kZQogICAgICAgICBvcy5yZW1vdmUoaWRsX2ZpbGVzX2xpc3RbMV0pCkBAIC0x
MTMsNyArMTEzLDcgQEAgY2xhc3MgQmluZGluZ3NUZXN0czoKICAgICAgICAgICAgIGV4aXRfY29k
ZSA9IDAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzZWxmLmV4
ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCi0gICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3Is
IGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICAg
ICBvdXRwdXQgPSBlLm91dHB1dAogICAgICAgICAgICAgICAgIGV4aXRfY29kZSA9IGUuZXhpdF9j
b2RlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29kZWdlbi9tYWluLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2RlZ2VuL21haW4ucHkKaW5kZXggYzIwMmNlMWEx
OWRmZmZjODZlZTUyZjJlMWY2NjgxYWQ0NDNmMWM5Yi4uZDZlN2I2YjZjYzFjMTZlMzRkMTFiNTkz
NjE0ZTA5NzY3OGE2YmZlMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2Rl
Z2VuL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb2RlZ2VuL21haW4ucHkK
QEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgQnVpbHRpbnNHZW5lcmF0b3JUZXN0czoKICAgICAgICAg
ICAgIHN0ZGVycl9vdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCiAgICAg
ICAgICAgICBpZiBzdGRlcnJfb3V0cHV0OgogICAgICAgICAgICAgICAgIHNlbGYud3JpdGVfZXJy
b3JfZmlsZShmcmFtZXdvcmtfbmFtZSArICJKU0J1aWx0aW5zLmgtZXJyb3IiIGlmIGdlbmVyYXRl
X3dyYXBwZXJzIGVsc2UgYnVpbHRpbnNfZmlsZXNbMF0sIG91dHB1dF9kaXJlY3RvcnksIHN0ZGVy
cl9vdXRwdXQpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0
IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBwcmludChlLm91dHB1dCkKICAgICAgICAg
ICAgIGV4aXRfY29kZSA9IGUuZXhpdF9jb2RlCiAgICAgICAgIHJldHVybiBleGl0X2NvZGUKQEAg
LTgwLDcgKzgwLDcgQEAgY2xhc3MgQnVpbHRpbnNHZW5lcmF0b3JUZXN0czoKICAgICAgICAgICAg
IGV4aXRfY29kZSA9IDAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChjbWQpCi0gICAgICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAg
ICAgICAgICAgICBvdXRwdXQgPSBlLm91dHB1dAogICAgICAgICAgICAgICAgIGV4aXRfY29kZSA9
IGUuZXhpdF9jb2RlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NoZWNrb3V0L2NoYW5nZWxvZy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2No
ZWNrb3V0L2NoYW5nZWxvZy5weQppbmRleCBjZGEzMGM0N2E3ZDJjNGJjZTE2MjVkYzViZjMwMGEz
ZjQ1MzE0YTQzLi40MWNhMGZmOTNmMGJkYTVjOTA4MDQ3NDUzMzE3Y2E4N2I3OGQ0YWEwIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGFuZ2Vsb2cu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hhbmdlbG9n
LnB5CkBAIC0zMDgsNyArMzA4LDcgQEAgY2xhc3MgQ2hhbmdlTG9nKG9iamVjdCk6CiAgICAgZGVm
IHBhcnNlX2xhdGVzdF9lbnRyeV9mcm9tX2ZpbGUoY2xzLCBjaGFuZ2Vsb2dfZmlsZSk6CiAgICAg
ICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBuZXh0KGNscy5wYXJzZV9lbnRyaWVzX2Zyb21f
ZmlsZShjaGFuZ2Vsb2dfZmlsZSkpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uLCBlOgor
ICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIE5v
bmUKIAogICAgIHN2bl9ibGFtZV9yZWdleHAgPSByZS5jb21waWxlKHInXihccyooP1A8cmV2aXNp
b24+XGQrKSBbXiBdKylccyooP1A8bGluZT4uKj9cbiknKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dC5weQppbmRleCBmNjI4YzQ3MWQyMDc0
ZThjZTVlNDc4ZmE0MGYzODJiMWNlMmVlZWE0Li5kMWQ2MDk5ZTU4MTYwMzE4NjVkMDg3ZjE4OWEw
NzJmNWRjZjhhMTVhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9j
aGVja291dC9jaGVja291dC5weQpAQCAtMTQ5LDcgKzE0OSw3IEBAIGNsYXNzIENoZWNrb3V0KG9i
amVjdCk6CiAgICAgZGVmIGJ1Z19pZF9mb3JfdGhpc19jb21taXQoc2VsZiwgZ2l0X2NvbW1pdCwg
Y2hhbmdlZF9maWxlcz1Ob25lKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHBh
cnNlX2J1Z19pZF9mcm9tX2NoYW5nZWxvZyhzZWxmLmNvbW1pdF9tZXNzYWdlX2Zvcl90aGlzX2Nv
bW1pdChnaXRfY29tbWl0LCBjaGFuZ2VkX2ZpbGVzKS5tZXNzYWdlKCkpCi0gICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAg
ICAgICAgICBwYXNzICAjIFdlIG1pZ2h0IG5vdCBoYXZlIENoYW5nZUxvZ3MuCiAKICAgICBkZWYg
YXBwbHlfcGF0Y2goc2VsZiwgcGF0Y2gpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKaW5kZXggY2FkNTdhYmZhMTQ1YTFiZTYwNzIwMmRm
ZjYxODAyZGE3ZGEyYmNhMS4uNzkxYTg0MjZhOWVjM2EyM2ZjZTkzNmU3Mjg3NzYzZDViZGRkYjNj
YiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2Nt
L2dpdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
Z2l0LnB5CkBAIC0xMTEsNyArMTExLDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9yeSk6
CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGV4ZWN1dGl2ZSA9IGV4ZWN1dGl2ZSBvciBFeGVj
dXRpdmUoKQogICAgICAgICAgICAgcmV0dXJuIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbY2xzLmV4
ZWN1dGFibGVfbmFtZSwgJ3Jldi1wYXJzZScsICctLWlzLWluc2lkZS13b3JrLXRyZWUnXSwgY3dk
PXBhdGgsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikucnN0cmlwKCkgPT0g
InRydWUiCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgT1NFcnJv
ciBhcyBlOgogICAgICAgICAgICAgIyBUaGUgV2luZG93cyBib3RzIHNlZW0gdG8gdGhyb3VnaCBh
IFdpbmRvd3NFcnJvciB3aGVuIGdpdCBpc24ndCBpbnN0YWxsZWQuCiAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGNsYXNzIEdpdChTQ00sIFNWTlJlcG9zaXRv
cnkpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBleGVjdXRpdmUgPSBleGVjdXRpdmUgb3Ig
RXhlY3V0aXZlKCkKICAgICAgICAgICAgIHJldHVybiBleGVjdXRpdmUucnVuX2NvbW1hbmQoW2Ns
cy5leGVjdXRhYmxlX25hbWUsICdjbG9uZScsICctdicsIHVybCwgZGlyZWN0b3J5XSwgZXJyb3Jf
aGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwg
ZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogCiAgICAgZGVmIGZpbmRfY2hlY2tvdXRfcm9vdChzZWxmLCBwYXRoKToKQEAgLTM1OSw3ICsz
NTksNyBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToKICAgICBkZWYgX3N0cmluZ190
b19pbnRfb3Jfbm9uZShzZWxmLCBzdHJpbmcpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBy
ZXR1cm4gaW50KHN0cmluZykKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGU6CisgICAgICAg
IGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCiAgICAg
QG1lbW9pemVkCkBAIC00NzIsNyArNDcyLDcgQEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9y
eSk6CiAKICAgICAgICAgICAgIHNlbGYuX3J1bl9naXQoWydjb21taXQnLCAnLW0nLCBtZXNzYWdl
XSkKICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYucHVzaF9sb2NhbF9jb21taXRzX3RvX3NlcnZl
cih1c2VybmFtZT11c2VybmFtZSwgcGFzc3dvcmQ9cGFzc3dvcmQpCi0gICAgICAgIGV4Y2VwdCBF
eGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAg
IF9sb2cud2FybmluZygiQ09NTUlUIEZBSUxFRDogIiArIHN0cihlKSkKICAgICAgICAgICAgIG91
dHB1dCA9ICJDb21taXQgZmFpbGVkLiIKICAgICAgICAgICAgIGNvbW1pdF9zdWNjZWVkZWQgPSBG
YWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
c2NtL3N2bi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
dm4ucHkKaW5kZXggNWU5MGUyODlhZTRhYWZhMjU5NzY3YzM2YWE2MWFjODY5MmFhMDE0Yi4uM2Nm
MzMzNjUyNTYzYzM3Nzg2NjU3NDdiNjgwODMxMTE1M2EyZTIwNCAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc3ZuLnB5CkBAIC0yNDMsNyArMjQz
LDcgQEAgY2xhc3MgU1ZOKFNDTSwgU1ZOUmVwb3NpdG9yeSk6CiAgICAgICAgIGxvZ19jb21tYW5k
ID0gWydsb2cnLCAnLS1xdWlldCcsICctLWxpbWl0PSVzJyAlIGxpbWl0LCBwYXRoXQogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICBsb2dfb3V0cHV0ID0gc2VsZi5fcnVuX3N2bihsb2dfY29tbWFu
ZCwgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBl
OgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIHJldHVybiBb
XQogICAgICAgICBmb3IgbGluZSBpbiBsb2dfb3V0cHV0LnNwbGl0bGluZXMoKToKICAgICAgICAg
ICAgIG1hdGNoID0gcmUuc2VhcmNoKCdecig/UDxyZXZpc2lvbj5cZCspICcsIGxpbmUpCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvY29tbWl0dGVycy5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5Cmlu
ZGV4IDY2YTBhNjU0NGRkYmUwMDdlYzM4N2RkNmY4MWEyNWY3MGJmYTA0NWMuLmVkOTI3YmE1MmVh
NTI2M2QxNWFmMDE4MWMwYjhlOWVhZjVmMjg4MjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL2NvbmZpZy9jb21taXR0ZXJzLnB5CkBAIC0xOTQsNyArMTk0LDcgQEAg
Y2xhc3MgQ29tbWl0dGVyTGlzdChvYmplY3QpOgogICAgICAgICBqc29uX3BhdGggPSBmaWxlc3lz
dGVtLmpvaW4oZmlsZXN5c3RlbS5kaXJuYW1lKGZpbGVzeXN0ZW0ucGF0aF90b19tb2R1bGUoJ3dl
YmtpdHB5LmNvbW1vbi5jb25maWcnKSksICdjb250cmlidXRvcnMuanNvbicpCiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIGNvbnRyaWJ1dG9ycyA9IGpzb24ubG9hZHMoZmlsZXN5c3RlbS5yZWFk
X3RleHRfZmlsZShqc29uX3BhdGgpKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZToKKyAg
ICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKICAgICAgICAgICAgIHN5cy5leGl0KCdjb250
cmlidXRvcnMuanNvbiBpcyBtYWxmb3JtZWQ6ICcgKyBzdHIoZSkpCiAKICAgICAgICAgc2VsZi5f
Y29udHJpYnV0b3JzID0gW10KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL21lc3NhZ2VfcG9vbC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL21lc3Nh
Z2VfcG9vbC5weQppbmRleCBiNjM5NTIwNmQxYmI4YTNkOGZhY2FiN2NkZThlNmIzNWQ2MjA3Y2M3
Li43NTIzYzRiMTMwM2U5NWY3MDVmNTI1NjM2MDIxZjQ1Zjg3MDEwMDE1IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9tZXNzYWdlX3Bvb2wucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbWVzc2FnZV9wb29sLnB5CkBAIC0yNjMsOSArMjYzLDkg
QEAgY2xhc3MgX1dvcmtlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6CiAgICAgICAgICAgICBf
bG9nLmRlYnVnKCIlcyBleGl0aW5nIiAlIHNlbGYubmFtZSkKICAgICAgICAgZXhjZXB0IFF1ZXVl
LkVtcHR5OgogICAgICAgICAgICAgYXNzZXJ0IEZhbHNlLCAnJXM6IHJhbiBvdXQgb2YgbWVzc2Fn
ZXMgaW4gd29ya2VyIHF1ZXVlLicgJSBzZWxmLm5hbWUKLSAgICAgICAgZXhjZXB0IEtleWJvYXJk
SW50ZXJydXB0LCBlOgorICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQgYXMgZToKICAg
ICAgICAgICAgIHNlbGYuX3JhaXNlKHN5cy5leGNfaW5mbygpKQotICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICBz
ZWxmLl9yYWlzZShzeXMuZXhjX2luZm8oKSkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAg
IHRyeToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWls
ZGJvdC9idWlsZGJvdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWls
ZGJvdC9idWlsZGJvdC5weQppbmRleCA5ZjA1NjZjYjQwZGE1NjdhMzFhMThjNDFiNzNiMDZmNjRi
Y2YyZDhlLi42MTRkM2U0NDJlNThmYTJmMjJlYzhhYWQ4MDQ5M2RiM2Q1OWNmOTBmIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVpbGRib3QvYnVpbGRib3Qu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1aWxkYm90L2J1aWxk
Ym90LnB5CkBAIC0xMjgsNyArMTI4LDcgQEAgY2xhc3MgQnVpbGRlcihvYmplY3QpOgogICAgICAg
ICBkZWYgcHJlZGljYXRlKGZvcm0pOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAg
IHJldHVybiBmb3JtLmZpbmRfY29udHJvbCgidXNlcm5hbWUiKQotICAgICAgICAgICAgZXhjZXB0
IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAg
ICAgICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgICAgICBpZiBub3Qgc2VsZi5fYnJvd3NlcjoK
QEAgLTE2MSw3ICsxNjEsNyBAQCBjbGFzcyBCdWlsZGVyKG9iamVjdCk6CiAgICAgICAgICAgICBw
cmludCgiTG9hZGluZyByZXZpc2lvbi9idWlsZCBsaXN0IGZyb20gJXMuIiAlIHNlbGYucmVzdWx0
c191cmwoKSkKICAgICAgICAgICAgIHByaW50KCJUaGlzIG1heSB0YWtlIGEgd2hpbGUuLi4iKQog
ICAgICAgICAgICAgcmVzdWx0X2ZpbGVzID0gc2VsZi5fYnVpbGRib3QuX2ZldGNoX3R3aXN0ZWRf
ZGlyZWN0b3J5X2xpc3Rpbmcoc2VsZi5yZXN1bHRzX3VybCgpKQotICAgICAgICBleGNlcHQgdXJs
bGliMi5IVFRQRXJyb3IsIGVycm9yOgorICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJyb3Ig
YXMgZXJyb3I6CiAgICAgICAgICAgICBpZiBlcnJvci5jb2RlICE9IDQwNDoKICAgICAgICAgICAg
ICAgICByYWlzZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmV2aXNpb24vYnVpbGQgbGlzdCBm
YWlsZWQgdG8gbG9hZC4iKQpAQCAtMzY0LDExICszNjQsMTEgQEAgY2xhc3MgQnVpbGRCb3Qob2Jq
ZWN0KToKICAgICAgICAganNvbl91cmwgPSAiJXMvanNvbi9idWlsZGVycy8lcy9idWlsZHMvJXM/
ZmlsdGVyPTEiICUgKHNlbGYuYnVpbGRib3RfdXJsLCB1cmxsaWIucXVvdGUoYnVpbGRlci5uYW1l
KCkpLCBidWlsZF9udW1iZXIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBqc29u
LmxvYWQodXJsbGliMi51cmxvcGVuKGpzb25fdXJsKSkKLSAgICAgICAgZXhjZXB0IHVybGxpYjIu
VVJMRXJyb3IsIGVycjoKKyAgICAgICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3IgYXMgZXJyOgog
ICAgICAgICAgICAgYnVpbGRfdXJsID0gQnVpbGQuYnVpbGRfdXJsKGJ1aWxkZXIsIGJ1aWxkX251
bWJlcikKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkVycm9yIGZldGNoaW5nIGRhdGEgZm9yICVz
IGJ1aWxkICVzICglcywganNvbjogJXMpOiAlcyIgJSAoYnVpbGRlci5uYW1lKCksIGJ1aWxkX251
bWJlciwgYnVpbGRfdXJsLCBqc29uX3VybCwgZXJyKSkKICAgICAgICAgICAgIHJldHVybiBOb25l
Ci0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlcnI6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVy
cm9yIGFzIGVycjoKICAgICAgICAgICAgIGJ1aWxkX3VybCA9IEJ1aWxkLmJ1aWxkX3VybChidWls
ZGVyLCBidWlsZF9udW1iZXIpCiAgICAgICAgICAgICBfbG9nLmVycm9yKCJFcnJvciBkZWNvZGlu
ZyBqc29uIGRhdGEgZnJvbSAlczogJXMiICUgKGJ1aWxkX3VybCwgZXJyKSkKICAgICAgICAgICAg
IHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9u
ZXQvY3JlZGVudGlhbHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3Jl
ZGVudGlhbHMucHkKaW5kZXggNGE1NzljYjdiZDZjMGJmNzZkNmEwOTQzNGM0Mjk3Y2YzNDQ1YTcy
ZC4uYTg5MjlmYTU1NGFjYmEwNGY4YjlmODE3NjM3ZTI3N2RhMWE5NmQwMCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2NyZWRlbnRpYWxzLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9jcmVkZW50aWFscy5weQpAQCAtNTksNyAr
NTksNyBAQCBjbGFzcyBDcmVkZW50aWFscyhvYmplY3QpOgogICAgICAgICAgICAgICAgIHJldHVy
biAoTm9uZSwgTm9uZSkKICAgICAgICAgICAgIHJldHVybiAoR2l0LnJlYWRfZ2l0X2NvbmZpZyhz
ZWxmLmdpdF9wcmVmaXggKyAidXNlcm5hbWUiKSwKICAgICAgICAgICAgICAgICAgICAgR2l0LnJl
YWRfZ2l0X2NvbmZpZyhzZWxmLmdpdF9wcmVmaXggKyAicGFzc3dvcmQiKSkKLSAgICAgICAgZXhj
ZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAg
ICAjIENhdGNoIGFuZCBpZ25vcmUgT1NFcnJvciBleGNlcHRpb25zIHN1Y2ggYXMgIm5vIHN1Y2gg
ZmlsZQogICAgICAgICAgICAgIyBvciBkaXJlY3RvcnkiIChPU0Vycm9yIGVycm5vIDIpLCB3aGlj
aCBpbXBseSB0aGF0IHRoZSBHaXQKICAgICAgICAgICAgICMgY29tbWFuZCBjYW5ub3QgYmUgZm91
bmQvaXMgbm90IGluc3RhbGxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb24ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uLnB5CmluZGV4IDYwYWNhYWJhMzRiODc5NzFh
MWMyMTFlOTU4MzZlNTAxNThjOTQ5M2IuLjg2ZGFlZTE1YmI4OGMwZDEyZGFlNWM3NGYxOWM0YjAy
N2MwMTE4NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9u
ZXR3b3JrdHJhbnNhY3Rpb24ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L25ldHdvcmt0cmFuc2FjdGlvbi5weQpAQCAtNTEsNyArNTEsNyBAQCBjbGFzcyBOZXR3b3Jr
VHJhbnNhY3Rpb24ob2JqZWN0KToKICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICByZXR1cm4gcmVxdWVzdCgpCi0gICAgICAgICAgICBleGNlcHQg
dXJsbGliMi5IVFRQRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgdXJsbGliMi5IVFRQRXJy
b3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9jb252ZXJ0XzQwNF90b19Ob25lIGFu
ZCBlLmNvZGUgPT0gNDA0OgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAg
ICAgICAgICAgIHNlbGYuX2NoZWNrX2Zvcl90aW1lb3V0KCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbmV0d29ya3RyYW5zYWN0aW9uX3Vu
aXR0ZXN0LnB5CmluZGV4IDZjYWFiODJiNGQ2N2U3N2I3Yjg3ZmNkMWFiOGI3ODc4OGVhMTU5NGUu
LjFiYjQ2NzY3ZDZmM2IyN2E3MDhmOWU4ZDgyYmFhNWQwZmQ3YTY4MTYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9uZXR3b3JrdHJhbnNhY3Rpb25fdW5pdHRl
c3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L25ldHdvcmt0cmFu
c2FjdGlvbl91bml0dGVzdC5weQpAQCAtNDksNyArNDksNyBAQCBjbGFzcyBOZXR3b3JrVHJhbnNh
Y3Rpb25UZXN0KExvZ2dpbmdUZXN0Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRy
YW5zYWN0aW9uLnJ1bihsYW1iZGE6IHNlbGYuX3JhaXNlX2V4Y2VwdGlvbigpKQogICAgICAgICAg
ICAgZGlkX3Rocm93X2V4Y2VwdGlvbiA9IEZhbHNlCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24s
IGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIGRpZF9wcm9j
ZXNzX2V4Y2VwdGlvbiA9IFRydWUKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZSwgc2Vs
Zi5leGNlcHRpb24pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaWRfdGhyb3dfZXhjZXB0aW9u
KQpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBOZXR3b3JrVHJhbnNhY3Rpb25UZXN0KExvZ2dpbmdU
ZXN0Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnJ1bihsYW1i
ZGE6IHNlbGYuX3JhaXNlXzUwMF9lcnJvcigpKQogICAgICAgICAgICAgZGlkX3Rocm93X2V4Y2Vw
dGlvbiA9IEZhbHNlCi0gICAgICAgIGV4Y2VwdCBOZXR3b3JrVGltZW91dCwgZToKKyAgICAgICAg
ZXhjZXB0IE5ldHdvcmtUaW1lb3V0IGFzIGU6CiAgICAgICAgICAgICBkaWRfcHJvY2Vzc19leGNl
cHRpb24gPSBUcnVlCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaWRfdGhyb3dfZXhjZXB0aW9u
KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZGlkX3Byb2Nlc3NfZXhjZXB0aW9uKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9zdGF0dXNzZXJ2ZXIucHkKaW5kZXgg
MjAzN2FmZmVjYTBlNzNiNjkwMTcxNDYyMDI5NmNkNDZmMDIxMjc4NC4uYzA3YWI2NWUzZTM3M2I0
YTBjNzFhYTBlNWU5YWFkMWRiOTU4ZmQwZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vbmV0L3N0YXR1c3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvc3RhdHVzc2VydmVyLnB5CkBAIC0xNjcsNyArMTY3LDcgQEAgY2xhc3Mg
U3RhdHVzU2VydmVyOgogICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgTmV0d29ya1Ry
YW5zYWN0aW9uJ3MgNDA0IGhhbmRsaW5nIGluc3RlYWQuCiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHJldHVybiB1cmxsaWIyLnVybG9wZW4odXJsLCB0aW1lb3V0PTMwMCkucmVhZCgpCi0gICAg
ICAgIGV4Y2VwdCB1cmxsaWIyLkhUVFBFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IHVybGxpYjIu
SFRUUEVycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmNvZGUgPT0gNDA0OgogICAgICAgICAg
ICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICByYWlzZSBlCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L3VuaXR0ZXN0cmVzdWx0cy5weQppbmRleCBiNjE2
YzA5NDZhYWY1ZTg4ZGNmNjU0ZGZmMTZmMTIwYzE4MjQ5ZDEyLi5mMDVhODIyNWFmMjVjY2IwNDgw
NTQwNTJjZTExZWNmMGUzODc5NDFkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvdW5pdHRlc3RyZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC91bml0dGVzdHJlc3VsdHMucHkKQEAgLTQ2LDYgKzQ2LDYgQEAgY2xhc3Mg
VW5pdFRlc3RSZXN1bHRzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGNsYXNzbmFtZSA9
IHRlc3RjYXNlLmdldEF0dHJpYnV0ZSgnY2xhc3NuYW1lJykKICAgICAgICAgICAgICAgICAgICAg
ZmFpbHVyZXMuYXBwZW5kKCIlcy4lcyIgJSAoY2xhc3NuYW1lLCB0ZXN0bmFtZSkpCiAgICAgICAg
ICAgICByZXR1cm4gZmFpbHVyZXMKLSAgICAgICAgZXhjZXB0IHhtbC5wYXJzZXJzLmV4cGF0LkV4
cGF0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCB4bWwucGFyc2Vycy5leHBhdC5FeHBhdEVycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJYTUwgZXJyb3IgJXMgcGFyc2luZyB1bml0
IHRlc3Qgb3V0cHV0IiAlIHN0cihlKSkKICAgICAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaC5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0eXBhdGNoLnB5CmluZGV4IGRiYzVjZWE3NDVh
NGUzNjAzYWIyNWVhY2MwMmUzNTIwY2U3Yzg3MTIuLjU3NjhjZWI2ZWRiZGQwNDc4MjM3MjBiYTA3
NWUwMzQ0NzE1YmY4ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L3ByZXR0eXBhdGNoLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0
eXBhdGNoLnB5CkBAIC04MSw3ICs4MSw3IEBAIGNsYXNzIFByZXR0eVBhdGNoKG9iamVjdCk6CiAg
ICAgICAgICIiIkNoZWNrcyB3aGV0aGVyIHdlIGNhbiB1c2UgdGhlIFByZXR0eVBhdGNoIHJ1Ynkg
c2NyaXB0LiIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBfID0gc2VsZi5fZXhlY3V0aXZl
LnJ1bl9jb21tYW5kKFsncnVieScsICctLXZlcnNpb24nXSkKLSAgICAgICAgZXhjZXB0IE9TRXJy
b3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVy
cm5vIGluIFtlcnJuby5FTk9FTlQsIGVycm5vLkVBQ0NFUywgZXJybm8uRUNISUxEXToKICAgICAg
ICAgICAgICAgICBpZiBsb2dnaW5nOgogICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmco
IlJ1YnkgaXMgbm90IGluc3RhbGxlZDsgY2FuJ3QgZ2VuZXJhdGUgcHJldHR5IHBhdGNoZXMuIikK
QEAgLTEwNywxMiArMTA3LDEyIEBAIGNsYXNzIFByZXR0eVBhdGNoKG9iamVjdCk6CiAgICAgICAg
ICAgICAjIERpZmZzIGFyZSB0cmVhdGVkIGFzIGJpbmFyeSAod2UgcGFzcyBkZWNvZGVfb3V0cHV0
PUZhbHNlKSBhcyB0aGV5CiAgICAgICAgICAgICAjIG1heSBjb250YWluIG11bHRpcGxlIGZpbGVz
IG9mIGNvbmZsaWN0aW5nIGVuY29kaW5ncy4KICAgICAgICAgICAgIHJldHVybiBzZWxmLl9leGVj
dXRpdmUucnVuX2NvbW1hbmQoY29tbWFuZCwgZGVjb2RlX291dHB1dD1GYWxzZSkKLSAgICAgICAg
ZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAg
ICAgICAjIElmIHRoZSBzeXN0ZW0gaXMgbWlzc2luZyBydWJ5IGxvZyB0aGUgZXJyb3IgYW5kIHN0
b3AgdHJ5aW5nLgogICAgICAgICAgICAgc2VsZi5wcGF0Y2hfYXZhaWxhYmxlID0gRmFsc2UKICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBydW4gUHJldHR5UGF0Y2ggKCVzKTogJXMi
ICUgKGNvbW1hbmQsIGUpKQogICAgICAgICAgICAgcmV0dXJuIHNlbGYucHJldHR5X3BhdGNoX2Vy
cm9yX2h0bWwKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQg
U2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICMgSWYgcnVieSBmYWlsZWQgdG8gcnVuIGZv
ciBzb21lIHJlYXNvbiwgbG9nIHRoZSBjb21tYW5kCiAgICAgICAgICAgICAjIG91dHB1dCBhbmQg
c3RvcCB0cnlpbmcuCiAgICAgICAgICAgICBzZWxmLnBwYXRjaF9hdmFpbGFibGUgPSBGYWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJldHR5cGF0Y2hfdW5p
dHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0
dGVzdC5weQppbmRleCAwYTBhNzdmYTNhYmFiMGRlYWZlNGJmMzkwNzZiMmRlNWNkOWRlYWI1Li45
NDM5OWQ2Y2I1ZDBkOGVmMThlNWMzZjk3ZGRhZTUwMjc1M2Y3NjI4IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaF91bml0dGVzdC5weQpAQCAt
MzksNyArMzksNyBAQCBjbGFzcyBQcmV0dHlQYXRjaFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgICAgICBleGVjdXRpdmUgPSBFeGVjdXRpdmUoKQogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICByZXN1bHQgPSBleGVjdXRpdmUucnVuX2NvbW1hbmQoWydydWJ5JywgJy0tdmVyc2lvbiddKQot
ICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
ICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gVHJ1ZQogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vYXV0b2luc3RhbGwucHkKaW5k
ZXggODRjYTdiMDY4NGVhZTQzYzU4ZDAwYWI4NWJjMTgwNmYyMzQyYzQwZC4uODRkNDA2NDQ2MTVj
ZTI3NmY3YjYwM2E0YzBkNjllMDMxYmIxZmE1YSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2F1dG9pbnN0YWxsLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9hdXRvaW5zdGFsbC5weQpAQCAtMjE4LDcgKzIxOCw3IEBA
IGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0KToKIAogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICB0YXJfZmlsZSA9IHRhcmZpbGUub3BlbihwYXRoKQotICAgICAgICBleGNlcHQgdGFyZmlsZS5S
ZWFkRXJyb3IsIGVycjoKKyAgICAgICAgZXhjZXB0IHRhcmZpbGUuUmVhZEVycm9yIGFzIGVycjoK
ICAgICAgICAgICAgICMgQXBwZW5kIGV4aXN0aW5nIEVycm9yIG1lc3NhZ2UgdG8gbmV3IEVycm9y
LgogICAgICAgICAgICAgbWVzc2FnZSA9ICgiQ291bGQgbm90IG9wZW4gdGFyIGZpbGU6ICVzXG4i
CiAgICAgICAgICAgICAgICAgICAgICAgICIgVGhlIGZpbGUgcHJvYmFibHkgZG9lcyBub3QgaGF2
ZSB0aGUgY29ycmVjdCBmb3JtYXQuXG4iCkBAIC0yNjgsNyArMjY4LDcgQEAgY2xhc3MgQXV0b0lu
c3RhbGxlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHppcF9maWxlID0g
emlwZmlsZS5aaXBGaWxlKHBhdGgsICJyIikKLSAgICAgICAgZXhjZXB0IHppcGZpbGUuQmFkWmlw
ZmlsZSwgZXJyOgorICAgICAgICBleGNlcHQgemlwZmlsZS5CYWRaaXBmaWxlIGFzIGVycjoKICAg
ICAgICAgICAgIG1lc3NhZ2UgPSAoIkNvdWxkIG5vdCBvcGVuIHppcCBmaWxlOiAlc1xuIgogICAg
ICAgICAgICAgICAgICAgICAgICAiIC0tPiBJbm5lciBtZXNzYWdlOiAlcyIKICAgICAgICAgICAg
ICAgICAgICAgICAgJSAocGF0aCwgZXJyKSkKQEAgLTM0NCw3ICszNDQsNyBAQCBjbGFzcyBBdXRv
SW5zdGFsbGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgcmVnZXgubWF0Y2gocGFyc2Vk
X3VybFsxXSk6CiAgICAgICAgICAgICAgICAgICAgIHBhcnNlZF91cmxbMV0gPSBhZGRyZXNzZXMu
bmV4dCgpCiAgICAgICAgICAgICAgICAgICAgIG5ld191cmwgPSB1cmxwYXJzZS51cmx1bnBhcnNl
KHBhcnNlZF91cmwpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uLCBlOgorICAgICAgICBl
eGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlOgogICAgICAgICAgICAgX2xvZy5pbmZvKCdSYW4gb3V0
IG9mIG1pcnJvcnMuJykKIAogICAgICAgICByZXR1cm4gbmV3X3VybApAQCAtMzU2LDcgKzM1Niw3
IEBAIGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0KToKICAgICAgICAgICAgIHRyeToKICAgICAg
ICAgICAgICAgICBuZXRzdHJlYW0gPSB1cmxsaWIyLnVybG9wZW4odXJsLCB0aW1lb3V0PTMwKQog
ICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZXJyOgor
ICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICMgVHJ5
IG11bHRpcGxlIHRpbWVzCiAgICAgICAgICAgICAgICAgaWYgZmFpbHVyZXMgPCAyOgogICAgICAg
ICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIkZhaWxlZCB0byBkb3dubG9hZCAlcywgJXMgcmV0
cnlpbmciICUgKApAQCAtNTA4LDcgKzUwOCw3IEBAIGNsYXNzIEF1dG9JbnN0YWxsZXIob2JqZWN0
KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsPXVybCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdXJsX3N1YnBhdGg9dXJsX3N1YnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbGVzX3RvX3JlbW92ZT1maWxlc190b19yZW1vdmUpCi0gICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGVycjoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAgICAgICAgICAg
ICAjIEFwcGVuZCBleGlzdGluZyBFcnJvciBtZXNzYWdlIHRvIG5ldyBFcnJvci4KICAgICAgICAg
ICAgIG1lc3NhZ2UgPSAoIkVycm9yIGF1dG8taW5zdGFsbGluZyB0aGUgJXMgcGFja2FnZSB0bzpc
biIKICAgICAgICAgICAgICAgICAgICAgICAgJyAiJXMiXG4nCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weQppbmRleCA4MTJkOWFjMTI3ZjA5
MmUzOTcyZWI2NTcwMWJlZDBlMDVjOWFlOWExLi43NWRhNjZjMjk0ODFlZTY3OTFjZDQ5YjFkM2Zi
NmQ0NWY4OTQwMmMwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vY3Jhc2hsb2dzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS9jcmFzaGxvZ3MucHkKQEAgLTg2LDEwICs4NiwxMCBAQCBjbGFzcyBDcmFzaExvZ3Mob2Jq
ZWN0KToKICAgICAgICAgICAgICAgICAgICAgcGFyc2VkX25hbWUsIHBhcnNlZF9waWQsIGxvZ19j
b250ZW50cyA9IHNlbGYuX3BhcnNlX2Rhcndpbl9jcmFzaF9sb2cocGF0aCkKICAgICAgICAgICAg
ICAgICAgICAgaWYgcGFyc2VkX25hbWUgPT0gcHJvY2Vzc19uYW1lIGFuZCAocGlkIGlzIE5vbmUg
b3IgcGFyc2VkX3BpZCA9PSBwaWQpOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVy
cm9ycyArIGxvZ19jb250ZW50cwotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAg
ICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVf
ZXJyb3JzOgogICAgICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8g
cmVhZCAnJXMnOiAlc1xuIiAlIChwYXRoLCBzdHIoZSkpCi0gICAgICAgICAgICBleGNlcHQgT1NF
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAg
ICAgaWYgaW5jbHVkZV9lcnJvcnM6CiAgICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSAiRVJS
T1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUgKHBhdGgsIHN0cihlKSkKIApAQCAtMTE5
LDE1ICsxMTksMTUgQEAgY2xhc3MgQ3Jhc2hMb2dzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
ICAgICMgTm90ZTogVGhpcyBvdXRwdXQgY29tZXMgZnJvbSBhIHByb2dyYW0gdGhhdCBzaG93cyBQ
SUQgaW4gaGV4OgogICAgICAgICAgICAgICAgICAgICBpZiBpbnQobWF0Y2guZ3JvdXAoJ3BpZCcp
LCAxNikgPT0gcGlkOgogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycm9ycyArIGxv
Z19maWxlCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAgICAgICAgICAgIGV4Y2Vw
dCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgcHJpbnQoIklPRXJyb3IgJXMiICUgc3Ry
KGUpKQogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3JzOgogICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gdSJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAocGF0
aCwgc3RyKGUpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAgICBl
eGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHByaW50KCJPU0Vycm9yICVzIiAl
IHN0cihlKSkKICAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoKICAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzICs9IHUiRVJST1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUg
KHBhdGgsIHN0cihlKSkKLSAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IsIGU6
CisgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGU6CiAgICAgICAgICAg
ICAgICAgcHJpbnQoIlVuaWNvZGVEZWNvZGVFcnJvciAlcyIgJSBzdHIoZSkpCiAgICAgICAgICAg
ICAgICAgaWYgaW5jbHVkZV9lcnJvcnM6CiAgICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSB1
IkVSUk9SOiBGYWlsZWQgdG8gZGVjb2RlICclcycgYXMgYXNjaWk6ICVzXG4iICUgKHBhdGgsIHN0
cihlKSkKQEAgLTE3NCwxMCArMTc0LDEwIEBAIGNsYXNzIENyYXNoTG9ncyhvYmplY3QpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX25hbWUgPSByZXN1bHRfbmFtZSArICctJyArIHN0
cihjb3VudCkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAg
ICAgICAgICAgY3Jhc2hfbG9nc1t1bmlxdWVfbmFtZV0gPSBlcnJvcnMgKyBsb2dfY29udGVudHMK
LSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IElPRXJy
b3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoKICAgICAgICAgICAg
ICAgICAgICAgZXJyb3JzICs9ICJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAo
cGF0aCwgc3RyKGUpKQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgICAg
ICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfZXJyb3Jz
OgogICAgICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gIkVSUk9SOiBGYWlsZWQgdG8gcmVhZCAn
JXMnOiAlc1xuIiAlIChwYXRoLCBzdHIoZSkpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CmluZGV4IGEyOWNjYzQwYjFkMjA4YjIwNzE5
M2QwYjQxY2QzOTRlMjdmNDc2NWIuLmEyYWI5ODVjYjlmODQ0YmFjYzA2OTA5OTgzZjIxOGJhMjVm
NDY1YjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9l
eGVjdXRpdmUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZS5weQpAQCAtMTg5LDcgKzE4OSw3IEBAIGNsYXNzIEV4ZWN1dGl2ZShBYnN0cmFjdEV4
ZWN1dGl2ZSk6CiAgICAgICAgICAgICAgICAgIyBhbHJlYWR5IGV4aXRlZCwgYW5kIGZvcmNlZnVs
bHkga2lsbCBpdCBpZiBTSUdURVJNIHdhc24ndCBlbm91Z2guCiAgICAgICAgICAgICAgICAgb3Mu
a2lsbChwaWQsIHNpZ25hbC5TSUdURVJNKQogICAgICAgICAgICAgICAgIG9zLmtpbGwocGlkLCBz
aWduYWwuU0lHS0lMTCkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICAg
ICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVy
cm5vLkVBR0FJTjoKICAgICAgICAgICAgICAgICAgICAgaWYgcmV0cmllc19sZWZ0IDw9IDA6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm4oIkZhaWxlZCB0byBraWxsIHBpZCAlcy4g
IFRvbyBtYW55IEVBR0FJTiBlcnJvcnMuIiAlIHBpZCkKQEAgLTI3OSw3ICsyNzksNyBAQCBjbGFz
cyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgogICAgICAgICAgICAgICAgICAgICBpZiBw
cm9jZXNzX25hbWVfZmlsdGVyKHByb2Nlc3NfbmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAg
ICBydW5uaW5nX3BpZHMuYXBwZW5kKGludChwaWQpKQogICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5waWRfdG9fc3lzdGVtX3BpZFtpbnQocGlkKV0gPSBpbnQod2lucGlkKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1
ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIHBzX3Byb2Nlc3MgPSBzZWxmLnBvcGVuKFsncHMnLCAnLWVvJywgJ3BpZCxjb21t
J10sIHN0ZG91dD1zZWxmLlBJUEUsIHN0ZGVycj1zZWxmLlBJUEUpCkBAIC0yOTEsNyArMjkxLDcg
QEAgY2xhc3MgRXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgICAgICAgICAg
ICAgcGlkLCBwcm9jZXNzX25hbWUgPSBsaW5lLnN0cmlwKCkuc3BsaXQoJyAnLCAxKQogICAgICAg
ICAgICAgICAgICAgICBpZiBwcm9jZXNzX25hbWVfZmlsdGVyKHByb2Nlc3NfbmFtZSk6CiAgICAg
ICAgICAgICAgICAgICAgICAgICBydW5uaW5nX3BpZHMuYXBwZW5kKGludChwaWQpKQotICAgICAg
ICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBW
YWx1ZUVycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICByZXR1
cm4gc29ydGVkKHJ1bm5pbmdfcGlkcykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2ZpbGVzeXN0ZW0ucHkKaW5kZXggOWZmOTdjOWU2MjVjZjY4ZTNjYjdhM2Uy
OTkzYWI5Mzc0YTFmN2IzMC4uMTQzODczNTRjNWNhYjk1ZmVhYWZlNTQ0NjM0NDI3NDEzYWYyYzYz
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVz
eXN0ZW0ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVz
eXN0ZW0ucHkKQEAgLTE5OSw3ICsxOTksNyBAQCBjbGFzcyBGaWxlU3lzdGVtKG9iamVjdCk6CiAg
ICAgICAgICIiIkNyZWF0ZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBpZiBpdCBkb2Vzbid0IGFs
cmVhZHkgZXhpc3QuIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNl
bGYuam9pbigqcGF0aCkpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNl
cHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6
CiAgICAgICAgICAgICAgICAgcmFpc2UKIApAQCAtMjg3LDcgKzI4Nyw3IEBAIGNsYXNzIEZpbGVT
eXN0ZW0ob2JqZWN0KToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvc3JlbW92
ZShwYXRoKQogICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBleGNlcHQg
ZXhjZXB0aW9ucy5XaW5kb3dzRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgZXhjZXB0aW9u
cy5XaW5kb3dzRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKHNsZWVwX2lu
dGVydmFsKQogICAgICAgICAgICAgICAgIHJldHJ5X3RpbWVvdXRfc2VjIC09IHNsZWVwX2ludGVy
dmFsCiAgICAgICAgICAgICAgICAgaWYgcmV0cnlfdGltZW91dF9zZWMgPCAwOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3VzZXIucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vdXNlci5weQppbmRleCA0NDAwYzAyZTU0Zjcw
MDdlMDRjYzY2ODE5MjY3NzljOGYyMGNmZTc5Li5lNTEzZWNiMGFhYWFiYjgwNWZlODdmY2QwOGMx
NjZkY2MzMzRlYWVmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9z
eXN0ZW0vdXNlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
dXNlci5weQpAQCAtMTAyLDE0ICsxMDIsMTQgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGluZGljZXMgKz0gcmFuZ2UoaW50KHBhcnRzWzBdKSAtIDEs
IGludChwYXJ0c1sxXSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGluZGljZXMuYXBwZW5kKGludCh2YWx1ZSkgLSAxKQotICAgICAg
ICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yLCBlcnI6CisgICAgICAgICAgICAgICAgZXhjZXB0
IFZhbHVlRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIFtsaXN0X2l0ZW1zW2ldIGZvciBpIGluIGluZGljZXNdCiAgICAg
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAg
cmVzdWx0ID0gaW50KGNscy5wcm9tcHQoIkVudGVyIGEgbnVtYmVyOiAiLCByYXdfaW5wdXQ9cmF3
X2lucHV0KSkgLSAxCi0gICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IsIGVycjoKKyAg
ICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RfaXRlbXNbcmVzdWx0XQog
CkBAIC0xMjgsNyArMTI4LDcgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAgICAjIE5vdGU6
IE5vdCB0aHJlYWQgc2FmZTogaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIzMjAKICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKGFyZ3MgKyBmaWxlcykKLSAgICAg
ICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAg
ICAgICAgICBfbG9nLndhcm4oIlRoZXJlIHdhcyBhIHByb2JsZW0gZWRpdGluZyB0aGUgQ2hhbmdl
TG9nIHVzaW5nIGVkaXRvciAnJXMnOiAlcy4iICUgKGVkaXRvciwgZSkpCiAKICAgICBkZWYgX3dh
cm5faWZfYXBwbGljYXRpb25faXNfeGNvZGUoc2VsZiwgZWRpdF9hcHBsaWNhdGlvbik6CkBAIC0x
NTMsNyArMTUzLDcgQEAgY2xhc3MgVXNlcihvYmplY3QpOgogICAgICAgICAgICAgIyBOb3RlOiBO
b3QgdGhyZWFkIHNhZmU6IGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMzIwCiAgICAgICAg
ICAgICBjaGlsZF9wcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihbcGFnZXJdLCBzdGRpbj1zdWJw
cm9jZXNzLlBJUEUpCiAgICAgICAgICAgICBjaGlsZF9wcm9jZXNzLmNvbW11bmljYXRlKGlucHV0
PW1lc3NhZ2UpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgSU9F
cnJvciBhcyBlOgogICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIGNvbmZpcm0oc2VsZiwgbWVz
c2FnZT1Ob25lLCBkZWZhdWx0PURFRkFVTFRfWUVTLCByYXdfaW5wdXQ9cmF3X2lucHV0KToKQEAg
LTE2OSw3ICsxNjksNyBAQCBjbGFzcyBVc2VyKG9iamVjdCk6CiAgICAgICAgIHRyeToKICAgICAg
ICAgICAgIHdlYmJyb3dzZXIuZ2V0KCkKICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAg
IGV4Y2VwdCB3ZWJicm93c2VyLkVycm9yLCBlOgorICAgICAgICBleGNlcHQgd2ViYnJvd3Nlci5F
cnJvciBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICBkZWYgb3Blbl91cmwo
c2VsZiwgdXJsKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS93b3Jrc3BhY2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0v
d29ya3NwYWNlLnB5CmluZGV4IDFkOTJhY2ExMzE1YjVlNzU4ZWZiYTNmNzM1NmIxMzg2MzYxY2E3
N2EuLjMxMzU4NjkwZGM0MTFiZmZkN2U5MzYyZDQ3OGZlN2VkNTgwN2U0MWMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS93b3Jrc3BhY2UucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3dvcmtzcGFjZS5weQpAQCAtNjYs
NyArNjYsNyBAQCBjbGFzcyBXb3Jrc3BhY2Uob2JqZWN0KToKICAgICAgICAgIyBTbywgZm9yIG5v
dyB3ZSBkZXBlbmQgb24gdGhlIGVudmlyb25tZW50IGhhdmluZyAiemlwIiBpbnN0YWxsZWQgKGxp
a2VseSBmYWlscyBvbiBXaW4zMikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fZXhl
Y3V0aXZlLnJ1bl9jb21tYW5kKFsnemlwJywgJy05JywgJy1yJywgemlwX3BhdGgsICcuJ10sIGN3
ZD1zb3VyY2VfcGF0aCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBl
eGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIldvcmtzcGFj
ZS5jcmVhdGVfemlwIGZhaWxlZCBpbiAlczpcbiVzIiAlIChzb3VyY2VfcGF0aCwgZS5tZXNzYWdl
X3dpdGhfb3V0cHV0KCkpKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3dhdGNobGlzdC93YXRjaGxpc3RwYXJz
ZXIucHkKaW5kZXggYjZlMzA1ZjA5MWZmYWY2ZTAwZTEyMjc5MThkMGQxMDFmOTNiNmQ3Yi4uYTFi
M2U3ZjI1OTVjYWI5ZTE1MTA0OTU4ZDM5OTg1MzY3ZDdmYWJiNyAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vd2F0Y2hsaXN0L3dhdGNobGlzdHBhcnNlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93YXRjaGxpc3Qvd2F0Y2hsaXN0cGFyc2Vy
LnB5CkBAIC0xMTEsNyArMTExLDcgQEAgY2xhc3MgV2F0Y2hMaXN0UGFyc2VyKG9iamVjdCk6CiAK
ICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVkX3JlZ2V4
ID0gcmUuY29tcGlsZShkZWZpbml0aW9uW3BhdHRlcm5fdHlwZV0pCi0gICAgICAgICAgICAgICAg
ZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz
IGU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2xvZ19lcnJvcignVGhlIHJlZ2V4ICIlcyIg
aXMgaW52YWxpZCBkdWUgdG8gIiVzIi4nICUgKGRlZmluaXRpb25bcGF0dGVybl90eXBlXSwgc3Ry
KGUpKSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9jb21tb24vd2Via2l0dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi93ZWJraXR1bml0dGVzdC5weQppbmRleCAxOTAyZTcxODE0NzgwY2Vi
YTYyYTdhMWJhMWIyNTI2YmMyZDAxZDFjLi5iY2QxZTY5NTVkNWYwZjUxMjVmOWRhZGRmZmFkMjlh
NWUzOTY1MmYwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93ZWJr
aXR1bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi93ZWJraXR1
bml0dGVzdC5weQpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBUZXN0Q2FzZSh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNhbGxhYmxlKCphcmdzKQogICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKEZhbHNlLCAnTm8gYXNzZXJ0IHJhaXNlZC4nKQotICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uLCBleGNlcHRpb246CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
YXMgZXhjZXB0aW9uOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoZXhj
ZXB0aW9uLl9fY2xhc3NfXywgZXhwZWN0ZWRfZXhjZXB0aW9uKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnRXhjZXB0aW9uIHR5cGUgd2FzIHVuZXhwZWN0ZWQuJykKICAgICAgICAgICAg
IHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaChyZWdleF9tZXNzYWdlLCBleGNlcHRpb24uX19zdHJf
XygpKSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvaW5zcGVjdG9yL21haW4u
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2luc3BlY3Rvci9tYWluLnB5CmluZGV4IGE3MWEz
OTNlNzFjYWRkZmFmZjIzODg1MDgwYmUyOWFhY2Y4NjhmOGYuLjE0NjJkODAxOWQ5NDEyZjQ1NmM2
NzE0MDQ5OTIyOGY2YzljYTdiM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
aW5zcGVjdG9yL21haW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9pbnNwZWN0b3Iv
bWFpbi5weQpAQCAtNTMsNyArNTMsNyBAQCBjbGFzcyBJbnNwZWN0b3JHZW5lcmF0b3JUZXN0czoK
ICAgICAgICAgICAgIHN0ZGVycl9vdXRwdXQgPSBzZWxmLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChj
bWQpCiAgICAgICAgICAgICBpZiBzdGRlcnJfb3V0cHV0OgogICAgICAgICAgICAgICAgIHNlbGYu
d3JpdGVfZXJyb3JfZmlsZShqc29uX2ZpbGUsIG91dHB1dF9kaXJlY3RvcnksIHN0ZGVycl9vdXRw
dXQpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yIGFzIGU6CiAgICAgICAgICAgICBwcmludChlLm91dHB1dCkKICAgICAgICAgICAgIGV4
aXRfY29kZSA9IGUuZXhpdF9jb2RlCiAgICAgICAgIHJldHVybiBleGl0X2NvZGUKQEAgLTc2LDcg
Kzc2LDcgQEAgY2xhc3MgSW5zcGVjdG9yR2VuZXJhdG9yVGVzdHM6CiAgICAgICAgICAgICBleGl0
X2NvZGUgPSAwCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3V0cHV0ID0gc2Vs
Zi5leGVjdXRpdmUucnVuX2NvbW1hbmQoY21kKQotICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVy
cm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAg
ICAgICAgb3V0cHV0ID0gZS5vdXRwdXQKICAgICAgICAgICAgICAgICBleGl0X2NvZGUgPSBlLmV4
aXRfY29kZQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9maW5kZXIucHkKaW5kZXgg
NjRmZDY2N2YwYjU0M2Y0YTJkNmZlNjc0MmQ3NWE3OTFiNjk4MTU2ZC4uOGE2ZjlmN2Y1ZWZiMGNm
NzkwMjgwMDAxZmQxOGZjMGY1NjExMjNkMiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbGF5b3V0X3Rlc3RfZmluZGVyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90
ZXN0X2ZpbmRlci5weQpAQCAtOTksNyArOTksNyBAQCBjbGFzcyBMYXlvdXRUZXN0RmluZGVyKG9i
amVjdCk6CiAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBzZWxmLl9zdHJpcF9jb21tZW50cyhs
aW5lKQogICAgICAgICAgICAgICAgICAgICBpZiBsaW5lOgogICAgICAgICAgICAgICAgICAgICAg
ICAgdGVzdHMuYXBwZW5kKGxpbmUpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKKyAg
ICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJu
byA9PSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuY3JpdGljYWwoJycp
CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuY3JpdGljYWwoJy0tdGVzdC1saXN0IGZpbGUgIiVz
IiBub3QgZm91bmQnICUgZmlsZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL2xheW91dF90ZXN0X3J1bm5l
ci5weQppbmRleCAyNjA5YTZkZGE2M2VkMjk4ZTExMWZhYzVmYzZmMjQ5ZGRiNTM4M2RiLi4wNWY5
MDUxZjkxOTMwN2IxYzQ1YTBlOGI2YjdmOTYwY2NiOGFhMTYzIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9sYXlvdXRfdGVzdF9ydW5u
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbGF5b3V0X3Rlc3RfcnVubmVyLnB5CkBAIC0xMjEsMTQgKzEyMSwxNCBAQCBjbGFzcyBMYXlv
dXRUZXN0UnVubmVyKG9iamVjdCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggbWVz
c2FnZV9wb29sLmdldChzZWxmLCBzZWxmLl93b3JrZXJfZmFjdG9yeSwgbnVtX3dvcmtlcnMsIHNl
bGYuX3BvcnQud29ya2VyX3N0YXJ0dXBfZGVsYXlfc2VjcygpLCBzZWxmLl9wb3J0Lmhvc3QpIGFz
IHBvb2w6CiAgICAgICAgICAgICAgICAgcG9vbC5ydW4oKCd0ZXN0X2xpc3QnLCBzaGFyZC5uYW1l
LCBzaGFyZC50ZXN0X2lucHV0cykgZm9yIHNoYXJkIGluIGFsbF9zaGFyZHMpCi0gICAgICAgIGV4
Y2VwdCBUZXN0UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBUZXN0
UnVuSW50ZXJydXB0ZWRFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIF9sb2cud2FybmluZyhl
LnJlYXNvbikKICAgICAgICAgICAgIHJ1bl9yZXN1bHRzLmludGVycnVwdGVkID0gVHJ1ZQogICAg
ICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICAgICBzZWxmLl9wcmludGVy
LmZsdXNoKCkKICAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGVsbignSW50ZXJydXB0ZWQs
IGV4aXRpbmcgLi4uJykKICAgICAgICAgICAgIHJ1bl9yZXN1bHRzLmtleWJvYXJkX2ludGVycnVw
dGVkID0gVHJ1ZQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQg
RXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmRlYnVnKCclcygiJXMiKSByYWlzZWQs
IGV4aXRpbmcnICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBzdHIoZSkpKQogICAgICAgICAgICAg
cmFpc2UKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkKaW5kZXggYjY5YTAwNTNjMzBjNDVlNjNkOWViNmJl
ZGUwZTdjNDAyNWUxYTUyOS4uOTk4MjVkZTViMThkZTZiNzUxZmI5YmU5ZmMwYzliYTk0ZmQxYWJh
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJv
bGxlcnMvbWFuYWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5CkBAIC01MDQsNyArNTA0LDcgQEAgY2xhc3MgTWFuYWdl
cihvYmplY3QpOgogICAgICAgICAgICAgICAgIHJlc3BvbnNlX3RleHQgPSByZXNwb25zZS5yZWFk
KCkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2pz
b24gPSBqc29uLmxvYWRzKHJlc3BvbnNlX3RleHQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFZh
bHVlRXJyb3IsIGVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGVy
cm9yOgogICAgICAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJKU09OIHVwbG9hZCBmYWlsZWQ7
IGZhaWxlZCB0byBwYXJzZSB0aGUgcmVzcG9uc2U6ICVzIiwgcmVzcG9uc2VfdGV4dCkKICAgICAg
ICAgICAgICAgICAgICAgY29udGludWUKIApAQCAtNTEzLDcgKzUxMyw3IEBAIGNsYXNzIE1hbmFn
ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAg
ICAgIF9sb2cuaW5mbygiSlNPTiB1cGxvYWRlZC4iKQotICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiwgZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAg
ICAgICAgICAgICAgIF9sb2cuZXJyb3IoIlVwbG9hZCBmYWlsZWQ6ICVzIiAlIGVycm9yKQogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9qc29u
X3Jlc3VsdHNfZ2VuZXJhdG9yLnB5CmluZGV4IDFlZDM1MTI2ODdkN2IzNGM1YmYxMGRiNDRlZDUy
ZmU0ZTU5NGQzNGIuLjc2OTE4ZTA3OWE5NWE3YzliMTg5ZjdhMGI1Y2UzMWNhMmY0NDE3ZjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL2pzb25fcmVzdWx0c19nZW5lcmF0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvanNvbl9yZXN1bHRzX2dlbmVyYXRvci5weQpA
QCAtMzI4LDcgKzMyOCw3IEBAIGNsYXNzIEpTT05SZXN1bHRzR2VuZXJhdG9yKG9iamVjdCk6CiAg
ICAgICAgICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJKU09OIHVwbG9hZCBmYWlsZWQsICVk
OiAnJXMnIiAlIChyZXNwb25zZS5jb2RlLCByZXNwb25zZS5yZWFkKCkpKQogICAgICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkpTT04gdXBsb2FkIGZh
aWxlZDsgbm8gcmVzcG9uc2UgcmV0dXJuZWQiKQotICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZXJyOgorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAgICAgICAgICAg
ICAgICAgX2xvZy5lcnJvcigiVXBsb2FkIGZhaWxlZDogJXMiICUgZXJyKQogICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCiAKQEAgLTQxOSwxMiArNDE5LDEyIEBAIGNsYXNzIEpTT05SZXN1bHRzR2Vu
ZXJhdG9yKG9iamVjdCk6CiAgICAgICAgICAgICByZXN1bHRzX2ZpbGUgPSB1cmxsaWIyLnVybG9w
ZW4ocmVzdWx0c19maWxlX3VybCkKICAgICAgICAgICAgIGluZm8gPSByZXN1bHRzX2ZpbGUuaW5m
bygpCiAgICAgICAgICAgICBvbGRfcmVzdWx0cyA9IHJlc3VsdHNfZmlsZS5yZWFkKCkKLSAgICAg
ICAgZXhjZXB0IHVybGxpYjIuSFRUUEVycm9yLCBodHRwX2Vycm9yOgorICAgICAgICBleGNlcHQg
dXJsbGliMi5IVFRQRXJyb3IgYXMgaHR0cF9lcnJvcjoKICAgICAgICAgICAgICMgQSBub24tNHh4
IHN0YXR1cyBjb2RlIG1lYW5zIHRoZSBib3QgaXMgaG9zZWQgZm9yIHNvbWUgcmVhc29uCiAgICAg
ICAgICAgICAjIGFuZCB3ZSBjYW4ndCBncmFiIHRoZSByZXN1bHRzLmpzb24gZmlsZSBvZmYgb2Yg
aXQuCiAgICAgICAgICAgICBpZiAoaHR0cF9lcnJvci5jb2RlIDwgNDAwIGFuZCBodHRwX2Vycm9y
LmNvZGUgPj0gNTAwKToKICAgICAgICAgICAgICAgICBlcnJvciA9IGh0dHBfZXJyb3IKLSAgICAg
ICAgZXhjZXB0IHVybGxpYjIuVVJMRXJyb3IsIHVybF9lcnJvcjoKKyAgICAgICAgZXhjZXB0IHVy
bGxpYjIuVVJMRXJyb3IgYXMgdXJsX2Vycm9yOgogICAgICAgICAgICAgZXJyb3IgPSB1cmxfZXJy
b3IKIAogICAgICAgICBpZiBvbGRfcmVzdWx0czoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVjdGF0aW9uc191bml0dGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2V4cGVj
dGF0aW9uc191bml0dGVzdC5weQppbmRleCA2MzkwMDViZWJmNWI0MmMxNGE5MDhhZjQ2NTQwZWFm
NDlkZTQ1NTI5Li5lMTA1MGYwZDhmYzVlMGEyMmZkOTA0YTI2MDA3MTAwZDFhMjU1OGQ3IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9l
eHBlY3RhdGlvbnNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbW9kZWxzL3Rlc3RfZXhwZWN0YXRpb25zX3VuaXR0ZXN0LnB5CkBAIC0xNjgsNyAr
MTY4LDcgQEAgY2xhc3MgTWlzY1Rlc3RzKEJhc2UpOgogICAgICAgICAgICAgICAgICJCdWcocm5p
d2EpIG5vbi1leGlzdGVudC10ZXN0Lmh0bWwgWyBGYWlsdXJlIF1cbiIKICAgICAgICAgICAgICAg
ICAiQnVnKHJuaXdhKSBkaXNhYmxlZC10ZXN0Lmh0bWwtZGlzYWJsZWQgWyBJbWFnZU9ubHlGYWls
dXJlIF0iLCBpc19saW50X21vZGU9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
VHJ1ZSwgIlBhcnNlRXJyb3Igd2Fzbid0IHJhaXNlZCIpCi0gICAgICAgIGV4Y2VwdCBQYXJzZUVy
cm9yLCBlOgorICAgICAgICBleGNlcHQgUGFyc2VFcnJvciBhcyBlOgogICAgICAgICAgICAgd2Fy
bmluZ3MgPSAoImV4cGVjdGF0aW9uczoxIFVucmVjb2duaXplZCBtb2RpZmllciAnZm9vJyBmYWls
dXJlcy9leHBlY3RlZC90ZXh0Lmh0bWxcbiIKICAgICAgICAgICAgICAgICAgICAgICAgICJleHBl
Y3RhdGlvbnM6MiBQYXRoIGRvZXMgbm90IGV4aXN0LiBub24tZXhpc3RlbnQtdGVzdC5odG1sIikK
ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCB3YXJuaW5ncykKQEAgLTM2OSw3
ICszNjksNyBAQCBjbGFzcyBTZW1hbnRpY1Rlc3RzKEJhc2UpOgogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICBzZWxmLnBhcnNlX2V4cCgnQlVHMTIzNCBmYWlsdXJlcy9leHBlY3RlZC90ZXh0Lmh0
bWwgWyBGYWlsdXJlIF0nLCBpc19saW50X21vZGU9VHJ1ZSkKICAgICAgICAgICAgIHNlbGYuZmFp
bCgnc2hvdWxkIGhhdmUgcmFpc2VkIGFuIGVycm9yIGFib3V0IGEgYmFkIGJ1ZyBpZGVudGlmaWVy
JykKLSAgICAgICAgZXhjZXB0IFBhcnNlRXJyb3IsIGV4cDoKKyAgICAgICAgZXhjZXB0IFBhcnNl
RXJyb3IgYXMgZXhwOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZXhwLndhcm5p
bmdzKSwgMSkKIAogICAgIGRlZiB0ZXN0X21pc3NpbmdfYnVnaWQoc2VsZik6CmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9tb2RlbHMvdGVzdF9ydW5fcmVz
dWx0cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0
X3J1bl9yZXN1bHRzLnB5CmluZGV4IDg5ODcwMjAwNDUyOTFiOTY0NWUwMTI1MTA0MzhhZjUwYjI0
NDdlMTMuLjUwMjFhMmZmM2U4NDhhNjk4ZmEzZGJhYWVjYmMyNzJmMDVkNTYxMjQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X3J1bl9y
ZXN1bHRzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVs
cy90ZXN0X3J1bl9yZXN1bHRzLnB5CkBAIC0zMDQsNyArMzA0LDcgQEAgZGVmIHN1bW1hcml6ZV9y
ZXN1bHRzKHBvcnRfb2JqLCBleHBlY3RhdGlvbnMsIGluaXRpYWxfcmVzdWx0cywgcmV0cnlfcmVz
dWx0cywgZW4KICAgICAgICAgaWYgcG9ydF9vYmouZ2V0X29wdGlvbigiYnVpbGRlcl9uYW1lIik6
CiAgICAgICAgICAgICBwb3J0X29iai5ob3N0LmluaXRpYWxpemVfc2NtKCkKICAgICAgICAgICAg
IHJlc3VsdHNbJ3JldmlzaW9uJ10gPSBwb3J0X29iai5ob3N0LnNjbSgpLmhlYWRfc3ZuX3Jldmlz
aW9uKCkKLSAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg
ZToKICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gZGV0ZXJtaW5lIHN2biByZXZpc2lvbiBm
b3IgY2hlY2tvdXQgKGN3ZDogJXMsIHdlYmtpdF9iYXNlOiAlcyksIGxlYXZpbmcgJ3JldmlzaW9u
JyBrZXkgYmxhbmsgaW4gZnVsbF9yZXN1bHRzLmpzb24uXG4lcyIgJSAocG9ydF9vYmouX2ZpbGVz
eXN0ZW0uZ2V0Y3dkKCksIHBvcnRfb2JqLnBhdGhfZnJvbV93ZWJraXRfYmFzZSgpLCBlKSkKICAg
ICAgICAgIyBIYW5kbGUgY2FzZXMgd2hlcmUgd2UncmUgcnVubmluZyBvdXRzaWRlIG9mIHZlcnNp
b24gY29udHJvbC4KICAgICAgICAgaW1wb3J0IHRyYWNlYmFjawpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKaW5kZXgg
NWQ2N2Q5NzU5ZDFhNTMyYWVhOGE3ZDlkYzNlYzg5NjFjZTdhZTBlNC4uYzY5ZDhiM2Y3Mzk3Njdj
N2JjYmIxYTVhMzIwZTJlODBmMjE0NDNlNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5CkBAIC02OSw3ICs2OSw3
IEBAIGRlZiBtYWluKGFyZ3YsIHN0ZG91dCwgc3RkZXJyKToKIAogICAgIHRyeToKICAgICAgICAg
cG9ydCA9IGhvc3QucG9ydF9mYWN0b3J5LmdldChvcHRpb25zLnBsYXRmb3JtLCBvcHRpb25zKQot
ICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yLCBlOgorICAgIGV4Y2VwdCBOb3RJbXBsZW1l
bnRlZEVycm9yIGFzIGU6CiAgICAgICAgICMgRklYTUU6IGlzIHRoaXMgdGhlIGJlc3Qgd2F5IHRv
IGhhbmRsZSB1bnN1cHBvcnRlZCBwb3J0IG5hbWVzPwogICAgICAgICBwcmludChzdHIoZSksIGZp
bGU9c3RkZXJyKQogICAgICAgICByZXR1cm4gRVhDRVBUSU9OQUxfRVhJVF9TVEFUVVMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9z
ZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0
dHBfc2VydmVyLnB5CmluZGV4IDRlYTYzODQzMzI2Yjc5YjNjZTI0NTQ4MmIxNTcxYmUyMWRkNDg3
NjMuLjBlNDc2ODA3MDAzZDFlNTliYzhmNmZiMGNjZGQyNzcxNmJlYjU3ZDIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRw
X3NlcnZlci5weQpAQCAtMTkzLDcgKzE5Myw3IEBAIGNsYXNzIExpZ2h0dHBkKGh0dHBfc2VydmVy
X2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICBmb3IgbG9nX3ByZWZpeCBpbiAoJ2FjY2Vz
cy5sb2ctJywgJ2Vycm9yLmxvZy0nKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg
ICBzZWxmLl9yZW1vdmVfbG9nX2ZpbGVzKHNlbGYuX291dHB1dF9kaXIsIGxvZ19wcmVmaXgpCi0g
ICAgICAgICAgICBleGNlcHQgT1NFcnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5nKCdGYWlsZWQgdG8gcmVtb3ZlIG9s
ZCAlcyAlcyBmaWxlcycgJSAoc2VsZi5fbmFtZSwgbG9nX3ByZWZpeCkpCiAKICAgICBkZWYgX3Nw
YXduX3Byb2Nlc3Moc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyX2Jhc2UucHkKaW5kZXggOWQ5
ZDhiYWI1ZWZhNzYwNzk1Y2M3OTRhNDc4Y2MwODBkYTBmNmE5ZS4uMTlhY2Q3YmM2ODhkMDBjODc3
ZTkyNjk3YThkOGRhZmZiZGM4YzE5ZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlcl9iYXNlLnB5CisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfYmFzZS5weQpA
QCAtMjEwLDcgKzIxMCw3IEBAIGNsYXNzIEh0dHBTZXJ2ZXJCYXNlKG9iamVjdCk6CiAgICAgICAg
IHRyeToKICAgICAgICAgICAgIHMuY29ubmVjdCgoJ2xvY2FsaG9zdCcsIHBvcnQpKQogICAgICAg
ICAgICAgX2xvZy5kZWJ1ZygiU2VydmVyIHJ1bm5pbmcgb24gJWQiICUgcG9ydCkKLSAgICAgICAg
ZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAg
ICAgICBpZiBlLmVycm5vIG5vdCBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJuby5FQ09OTlJF
U0VUKToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgX2xvZy5kZWJ1ZygiU2Vy
dmVyIE5PVCBydW5uaW5nIG9uICVkOiAlcyIgJSAocG9ydCwgZSkpCkBAIC0yMjYsNyArMjI2LDcg
QEAgY2xhc3MgSHR0cFNlcnZlckJhc2Uob2JqZWN0KToKICAgICAgICAgICAgIHBvcnQgPSBtYXBw
aW5nWydwb3J0J10KICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzLmJpbmQoKCds
b2NhbGhvc3QnLCBwb3J0KSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAg
ICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vIGlu
IChlcnJuby5FQUxSRUFEWSwgZXJybm8uRUFERFJJTlVTRSk6CiAgICAgICAgICAgICAgICAgICAg
IHJhaXNlIFNlcnZlckVycm9yKCdQb3J0ICVkIGlzIGFscmVhZHkgaW4gdXNlLicgJSBwb3J0KQog
ICAgICAgICAgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpIGFuZCBl
LmVycm5vIGluIChlcnJuby5XU0FFQUNDRVMsKTogICMgcHlsaW50OiBkaXNhYmxlPUUxMTAxCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0
dHBfc2VydmVyX2ludGVncmF0aW9udGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5CmluZGV4IDcw
ZjQ4YjU5MDNiNjU3OGY0NDdkYWRlYjA4M2YyOWZhMGRmMWJhMzguLjZjOWZjMmI2OTliMDE2ZDk5
ZjAzMTY4ZjQ2ZTllZDY1NDI3ZWM5NmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXJfaW50ZWdyYXRpb250ZXN0LnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2
ZXJfaW50ZWdyYXRpb250ZXN0LnB5CkBAIC01NCw3ICs1NCw3IEBAIGNsYXNzIEJhc2VUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldCA9IHNvY2tldC5z
b2NrZXQoKQogICAgICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNvbm5lY3QoKHNlbGYuSE9TVCwg
cG9ydCkpCiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJ
T0Vycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAg
ICAgICBzZWxmLmFzc2VydFRydWUoZS5lcnJubyBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJu
by5FQ09OTlJFU0VUKSkKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgdGVz
dF9zb2NrZXQuY2xvc2UoKQpAQCAtNjUsNyArNjUsNyBAQCBjbGFzcyBCYXNlVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgdGVzdF9zb2Nr
ZXQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldC5jb25uZWN0
KChzZWxmLkhPU1QsIHBvcnQpKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAg
ICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgn
ZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXM6JWQnICUgKHNlbGYuSE9TVCwgcG9ydCkpCiAgICAgICAg
ICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNsb3NlKCkKQEAgLTk1
LDcgKzk1LDcgQEAgY2xhc3MgQmFzZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgdGVzdF9z
b2NrZXQuYmluZCgoc2VsZi5IT1NULCBwb3J0X251bWJlcikpCi0gICAgICAgICAgICAgICAgZXhj
ZXB0IHNvY2tldC5lcnJvciwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9y
IGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gKGVycm5vLkVBRERSSU5V
U0UsIGVycm5vLkVBTFJFQURZKToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgn
Y291bGQgbm90IGJpbmQgdG8gcG9ydCAlZDogJXMnICUgKHBvcnRfbnVtYmVyLCBzdHIoZSkpKQog
ICAgICAgICAgICAgICAgICAgICByYWlzZQpAQCAtMTEwLDcgKzExMCw3IEBAIGNsYXNzIEJhc2VU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgbWF5YmVfbWFrZV9kaXIoc2VsZiwgKmNv
bXBzKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5qb2lu
KCpjb21wcykpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorICAgICAgICBleGNlcHQgT1NF
cnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CiAgICAg
ICAgICAgICAgICAgcmFpc2UKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0dHBkLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9ydW5fd2Via2l0X2h0dHBkLnB5CmluZGV4IDZi
MDVkOWIyOGJhYjg0NTQ4OTQ2YzE4YTBhZWJmNzViYWZhNTQ5MmMuLjRlN2U5NDVmM2JhMDE2MDVh
Y2Q0NmM4OTM5Mzk4YzJjNGZkYjkwMWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvcnVuX3dlYmtpdF9odHRwZC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3J1bl93ZWJraXRfaHR0cGQucHkK
QEAgLTY0LDcgKzY0LDcgQEAgZGVmIHJ1bl9zZXJ2ZXIob3B0aW9ucywgYXJncywgc3Rkb3V0LCBz
dGRlcnIpOgogCiAgICAgdHJ5OgogICAgICAgICBwb3J0ID0gaG9zdC5wb3J0X2ZhY3RvcnkuZ2V0
KG9wdGlvbnMucGxhdGZvcm0sIG9wdGlvbnMpCi0gICAgZXhjZXB0IE5vdEltcGxlbWVudGVkRXJy
b3IsIGU6CisgICAgZXhjZXB0IE5vdEltcGxlbWVudGVkRXJyb3IgYXMgZToKICAgICAgICAgcHJp
bnQoc3RyKGUpLCBmaWxlPXN0ZGVycikKICAgICAgICAgcmV0dXJuIEVYQ0VQVElPTkFMX0VYSVRf
U1RBVFVTCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3NlcnZlcnMvd2ViX3BsYXRmb3JtX3Rlc3RfbGF1bmNoZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYl9wbGF0Zm9ybV90ZXN0X2xhdW5jaGVyLnB5
CmluZGV4IGE1Y2Y0NGVkMmVkMTEzODliMGUyNmQ5Mjc5NTY0NTY3YTE2ZjdiMzAuLjc0ZDg2NTEz
ODFmMWQ4M2YzMDM4OTAwMmMyZTcwZDYxNzAxN2IzOTcgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvd2ViX3BsYXRmb3JtX3Rlc3RfbGF1bmNo
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy93
ZWJfcGxhdGZvcm1fdGVzdF9sYXVuY2hlci5weQpAQCAtMTUsNyArMTUsNyBAQCB0cnk6CiAgICAg
aW1wb3J0IHRvb2xzLnNlcnZlLnNlcnZlIGFzIFdlYlBsYXRmb3JtVGVzdFNlcnZlcgogICAgIHN5
cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4ob3MuZ2V0Y3dkKCksICJ0b29scyIsICJ3cHRz
ZXJ2ZSIsICJ3cHRzZXJ2ZSIpKQogICAgIGltcG9ydCBzdGFzaAotZXhjZXB0IEltcG9ydEVycm9y
LCBlOgorZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6CiAgICAgbG9nZ2VyLmNyaXRpY2FsKCJJbXBv
cnQgb2Ygd3B0IHNlcnZlIG1vZHVsZSBmYWlsZWQuXG4iCiAgICAgICAgICJQbGVhc2UgY2hlY2sg
dGhhdCB0aGUgZmlsZSBzZXJ2ZS5weSBpcyBwcmVzZW50IGluIHRoZSB3ZWItcGxhdGZvcm0tdGVz
dHMgZm9sZGVyLlxuIgogICAgICAgICAiUGxlYXNlIGFsc28gY2hlY2sgdGhhdCBfX2luaXRfXy5w
eSBmaWxlcyBpbiB0aGUgd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzIGZvbGRlciBhbmQgc3ViZm9s
ZGVycyBhcmUgYWxzbyBwcmVzZW50LiIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9zZXJ2ZXIucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL3dlYnNvY2tldF9zZXJ2ZXIucHkKaW5k
ZXggMzQ5YjViZTgyMjZiODZlNDdlNWMyMThkODIyOTcxNDNmYzUxMDhhMC4uNGQ0ZjViNzYxNzlk
NGYwMmRkYjI5ZmJiMTJiYTIxYTI0OGIzODAzZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy93ZWJzb2NrZXRfc2VydmVyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvd2Vic29ja2V0X3NlcnZl
ci5weQpAQCAtMTEyLDcgKzExMiw3IEBAIGNsYXNzIFB5V2ViU29ja2V0KGh0dHBfc2VydmVyLkxp
Z2h0dHBkKToKICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICB0cnk6CiAgICAg
ICAgICAgICBzLmNvbm5lY3QoKCdsb2NhbGhvc3QnLCBzZWxmLl9wb3J0KSkKLSAgICAgICAgZXhj
ZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAg
ICBpZiBlLmVycm5vIG5vdCBpbiAoZXJybm8uRUNPTk5SRUZVU0VELCBlcnJuby5FQ09OTlJFU0VU
KToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0x
NzIsNyArMTcyLDcgQEAgY2xhc3MgUHlXZWJTb2NrZXQoaHR0cF9zZXJ2ZXIuTGlnaHR0cGQpOgog
ICAgIGRlZiBfcmVtb3ZlX3N0YWxlX2xvZ3Moc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHNlbGYuX3JlbW92ZV9sb2dfZmlsZXMoc2VsZi5fb3V0cHV0X2Rpciwgc2VsZi5fbG9nX3By
ZWZpeCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoJ0ZhaWxlZCB0byByZW1vdmUgc3RhbGUg
JXMgbG9nIGZpbGVzOiAlcycgJSAoc2VsZi5fbmFtZSwgc3RyKGUpKSkKIAogICAgIGRlZiBfc3Bh
d25fcHJvY2VzcyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKaW5kZXggODdlMzRkNGNkYTg2
NTVkMDRlOGNiNWZiYTc0NWVmNWNlZTgzMmU1MS4uYjc5ZmUzZWIxYjViMTEwYjAzNmZkNmJiYmE4
MGFmMzM0ODZmOTg3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3Jt
YW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKQEAgLTMyNyw3ICszMjcsNyBA
QCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgIGZvciBrZXkgaW4g
c2xhdmVfY29uZmlnOgogICAgICAgICAgICAgICAgIGNvbnRlbnRzWydidWlsZGVyJyArIGtleS5j
YXBpdGFsaXplKCldID0gc2xhdmVfY29uZmlnW2tleV0KICAgICAgICAgICAgIHJldHVybiBjb250
ZW50cwotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlcnJvcjoKKyAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlcnJvcjoKICAgICAgICAgICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBtZXJn
ZSBzbGF2ZSBjb25maWd1cmF0aW9uIEpTT04gZmlsZSAlczogJXMiICUgKHNsYXZlX2NvbmZpZ19q
c29uX3BhdGgsIGVycm9yKSkKICAgICAgICAgcmV0dXJuIE5vbmUKIApAQCAtMzM3LDcgKzMzNyw3
IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihvYmplY3QpOgogICAgICAgICB0cnk6CiAgICAgICAg
ICAgICBleGlzdGluZ19vdXRwdXRzID0ganNvbi5sb2FkcyhzZWxmLl9ob3N0LmZpbGVzeXN0ZW0u
cmVhZF90ZXh0X2ZpbGUob3V0cHV0X2pzb25fcGF0aCkpCiAgICAgICAgICAgICByZXR1cm4gZXhp
c3Rpbmdfb3V0cHV0cyArIFtvdXRwdXRdCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGVycm9y
OgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAgICAgICAgICAgX2xvZy5l
cnJvcigiRmFpbGVkIHRvIG1lcmdlIG91dHB1dCBKU09OIGZpbGUgJXM6ICVzIiAlIChvdXRwdXRf
anNvbl9wYXRoLCBlcnJvcikpCiAgICAgICAgIHJldHVybiBOb25lCiAKQEAgLTM0OSw3ICszNDks
NyBAQCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKICAgICAgICAgdXBsb2FkZXIgPSBm
aWxlX3VwbG9hZGVyKHVybCwgMTIwKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXNwb25z
ZSA9IHVwbG9hZGVyLnVwbG9hZF9zaW5nbGVfdGV4dF9maWxlKHNlbGYuX2hvc3QuZmlsZXN5c3Rl
bSwgJ2FwcGxpY2F0aW9uL2pzb24nLCBqc29uX3BhdGgpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRp
b24sIGVycm9yOgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgogICAgICAgICAg
ICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIHVwbG9hZCBKU09OIGZpbGUgdG8gJXMgaW4gMTIwczog
JXMiICUgKHVybCwgZXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2Jhc2UucHkKaW5kZXggNjJhOWI3ODViNjg1MGE4ZjM4MGQyNzVjODM2Y2Mw
ODQzYjIxMmFlOC4uMzk1MmMxNTU5NjUzMjM1Yzc2OWRlNzY0ZTgxNjAzMTEwYjE1YzU5MyAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKQEAgLTE0MzQsNyArMTQzNCw3IEBAIGNsYXNz
IFBvcnQob2JqZWN0KToKICAgICAgICAgICAgIHNlbGYuX3J1bl9zY3JpcHQoImJ1aWxkLWR1bXBy
ZW5kZXJ0cmVlIiwgYXJncz1zZWxmLl9idWlsZF9kcml2ZXJfZmxhZ3MoKSwgZW52PWVudikKICAg
ICAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignd2Via2l0X3Rlc3RfcnVubmVyJyk6CiAgICAg
ICAgICAgICAgICAgc2VsZi5fcnVuX3NjcmlwdCgiYnVpbGQtd2Via2l0dGVzdHJ1bm5lciIsIGFy
Z3M9c2VsZi5fYnVpbGRfZHJpdmVyX2ZsYWdzKCksIGVudj1lbnYpCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBfbG9nLmVycm9yKGUubWVzc2FnZV93aXRoX291dHB1dChvdXRwdXRfbGltaXQ9Tm9uZSkp
CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE0NDQs
NyArMTQ0NCw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgZW52ID0gZW52aXJvbm1l
bnQudG9fZGljdGlvbmFyeSgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3J1bl9z
Y3JpcHQoImJ1aWxkLWltYWdlZGlmZiIsIGVudj1lbnYpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRF
cnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBf
bG9nLmVycm9yKGUubWVzc2FnZV93aXRoX291dHB1dChvdXRwdXRfbGltaXQ9Tm9uZSkpCiAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE0ODYsNyArMTQ4
Niw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICAgICAgZm9yIHBhdGhfdG9fbW9kdWxlIGlu
IHNlbGYuX21vZHVsZXNfdG9fc2VhcmNoX2Zvcl9zeW1ib2xzKCk6CiAgICAgICAgICAgICB0cnk6
CiAgICAgICAgICAgICAgICAgc3ltYm9scyArPSBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQo
W3NlbGYubm1fY29tbWFuZCgpLCBwYXRoX3RvX21vZHVsZV0sIGVycm9yX2hhbmRsZXI9c2VsZi5f
ZXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgor
ICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLndh
cm4oIkZhaWxlZCB0byBydW4gbm06ICVzLiAgQ2FuJ3QgZGV0ZXJtaW5lIHN1cHBvcnRlZCBmZWF0
dXJlcyBjb3JyZWN0bHkuIiAlIGUpCiAgICAgICAgIHJldHVybiBzeW1ib2xzCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0b3IucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvbGVha2RldGVjdG9yLnB5CmluZGV4IDVhOWI1ZjVhYTVjZTI5
MjA4OTVhMDg1NjJkZDIxMjdmNDJlMWNmNDQuLmRjNGVlNTNiNzQzMmU1NGY1Njk3NzA4NWUxMDBl
MzlkNmZjOTFhM2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFr
ZGV0ZWN0b3IucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rv
ci5weQpAQCAtOTIsNyArOTIsNyBAQCBjbGFzcyBMZWFrRGV0ZWN0b3Iob2JqZWN0KToKICAgICAg
ICAgXSArIGxlYWtfZmlsZXMKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGFyc2VfbWFsbG9j
X2hpc3Rvcnlfb3V0cHV0ID0gc2VsZi5fcG9ydC5fcnVuX3NjcmlwdCgicGFyc2UtbWFsbG9jLWhp
c3RvcnkiLCBhcmdzLCBpbmNsdWRlX2NvbmZpZ3VyYXRpb25fYXJndW1lbnRzPUZhbHNlKQotICAg
ICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBh
cyBlOgogICAgICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gcGFyc2UgbGVha3Mgb3V0cHV0
OiAlcyIgJSBlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQoKSkKICAgICAgICAgICAgIHJldHVybgogCkBA
IC0xMTgsNyArMTE4LDcgQEAgY2xhc3MgTGVha0RldGVjdG9yKG9iamVjdCk6CiAgICAgICAgICAg
ICAjIHRodXMgd2UgcGFzcyBkZWNvZGVfb3V0cHV0PUZhbHNlLiAgV2l0aG91dCB0aGlzIGNvZGUg
d2UndmUgc2VlbiBlcnJvcnMgbGlrZToKICAgICAgICAgICAgICMgIlVuaWNvZGVEZWNvZGVFcnJv
cjogJ3V0ZjgnIGNvZGVjIGNhbid0IGRlY29kZSBieXRlIDB4ODggaW4gcG9zaXRpb24gNzc5ODc0
OiB1bmV4cGVjdGVkIGNvZGUgYnl0ZSIKICAgICAgICAgICAgIGxlYWtzX291dHB1dCA9IHNlbGYu
X3BvcnQuX3J1bl9zY3JpcHQoInJ1bi1sZWFrcyIsIHNlbGYuX2xlYWtzX2FyZ3MocHJvY2Vzc19w
aWQpLCBpbmNsdWRlX2NvbmZpZ3VyYXRpb25fYXJndW1lbnRzPUZhbHNlLCBkZWNvZGVfb3V0cHV0
PUZhbHNlKQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gcnVuIGxl
YWtzIHRvb2w6ICVzIiAlIGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgcmV0
dXJuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0
b3JfdmFsZ3JpbmQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbGVha2RldGVjdG9y
X3ZhbGdyaW5kLnB5CmluZGV4IGQwNjE4YTk4NTkxZDcxMzNhY2VkMGY5MjhiZTEzOGE4ZGM1MDNh
NDMuLjk1MTNlMmFmYzY5OTkxMjk0YzUzNDUwZWI0MWM2YjJhYWYxZGI5MzIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9sZWFrZGV0ZWN0b3JfdmFsZ3JpbmQucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2xlYWtkZXRlY3Rvcl92YWxncmluZC5weQpA
QCAtMjIwLDcgKzIyMCw3IEBAIGNsYXNzIExlYWtEZXRlY3RvclZhbGdyaW5kKG9iamVjdCk6CiAg
ICAgZGVmIF9wYXJzZV9sZWFrc19vdXRwdXQoc2VsZiwgbGVha3Nfb3V0cHV0KToKICAgICAgICAg
dHJ5OgogICAgICAgICAgICAgcGFyc2VkX3N0cmluZyA9IHBhcnNlU3RyaW5nKGxlYWtzX291dHB1
dCkKLSAgICAgICAgZXhjZXB0IEV4cGF0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBFeHBhdEVy
cm9yIGFzIGU6CiAgICAgICAgICAgICBwYXJzZV9mYWlsZWQgPSBUcnVlCiAgICAgICAgICAgICBf
bG9nLmVycm9yKCJjb3VsZCBub3QgcGFyc2UgJXM6ICVzIiAlIChsZWFrc19vdXRwdXQsIGUpKQog
ICAgICAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvbWFjLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21hYy5weQppbmRleCBlMTBh
YmUxZjE1YWQ5ZmEyNGNiMDM4NTQzNGMzMWM5OGY1NDU2YTM1Li40MmZhZDk3ZmQ2NGUwYTZjY2Jh
OTFhNjhmYjE2ODM0YWE4NDNkNTBjIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvbWFjLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tYWMucHkKQEAg
LTIyMSw3ICsyMjEsNyBAQCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQpOgogICAgICAgICBmb3Ig
ZG9tYWluIGluIFsiRHVtcFJlbmRlclRyZWUiLCAiV2ViS2l0VGVzdFJ1bm5lciJdOgogICAgICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChb
ImRlZmF1bHRzIiwgImRlbGV0ZSIsIGRvbWFpbl0pCi0gICAgICAgICAgICBleGNlcHQgU2NyaXB0
RXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICAjICdkZWZhdWx0cycgcmV0dXJucyAxIGlmIHRoZSBkb21haW4gZGlkIG5vdCBleGlz
dAogICAgICAgICAgICAgICAgIGlmIGUuZXhpdF9jb2RlICE9IDE6CiAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIGUKQEAgLTIzMyw3ICsyMzMsNyBAQCBjbGFzcyBNYWNQb3J0KERhcndpblBvcnQp
OgogICAgICAgICAgICAgICAgIHNlbGYuX2hlbHBlci5zdGRpbi53cml0ZSgieFxuIikKICAgICAg
ICAgICAgICAgICBzZWxmLl9oZWxwZXIuc3RkaW4uY2xvc2UoKQogICAgICAgICAgICAgICAgIHNl
bGYuX2hlbHBlci53YWl0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgorICAgICAg
ICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJJ
T0Vycm9yIHJhaXNlZCB3aGlsZSBzdG9wcGluZyBoZWxwZXI6ICVzIiAlIHN0cihlKSkKICAgICAg
ICAgICAgIHNlbGYuX2hlbHBlciA9IE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvcG9ydF90ZXN0Y2FzZS5weQppbmRleCA5ZDI5Mjk5YjViMTRjYTkxZWZiNzJmOGM2YzdiY2I0
MzZjMjkxN2I0Li45MTA4N2I3ZTZiMzA2NjdmZWVjNDI4Y2UxNTc2YTVjYTY5ZGI2Mzk5IDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weQpAQCAtMTQ0LDcg
KzE0NCw3IEBAIGNsYXNzIFBvcnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAg
ICAgICAgICAgdGVzdF9zb2NrZXQgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgICAgICB0
ZXN0X3NvY2tldC5jb25uZWN0KChob3N0LCBwb3J0KSkKICAgICAgICAgICAgICAgICBzZWxmLmZh
aWwoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQg
SU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmVycm5vIGlu
IChlcnJuby5FQ09OTlJFRlVTRUQsIGVycm5vLkVDT05OUkVTRVQpKQogICAgICAgICAgICAgZmlu
YWxseToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldC5jbG9zZSgpCkBAIC0xNTQsNyArMTU0
LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAg
IHRyeToKICAgICAgICAgICAgICAgICB0ZXN0X3NvY2tldCA9IHNvY2tldC5zb2NrZXQoKQogICAg
ICAgICAgICAgICAgIHRlc3Rfc29ja2V0LmNvbm5lY3QoKGhvc3QsIHBvcnQpKQotICAgICAgICAg
ICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgog
ICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXM6JWQnICUg
KGhvc3QsIHBvcnQpKQogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICB0ZXN0
X3NvY2tldC5jbG9zZSgpCkBAIC0xODYsMTQgKzE4NiwxNCBAQCBjbGFzcyBQb3J0VGVzdENhc2Uo
dW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHRy
eToKICAgICAgICAgICAgICAgICAgICAgdGVzdF9zb2NrZXQuYmluZCgoJ2xvY2FsaG9zdCcsIHBv
cnRfbnVtYmVyKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAg
ICAgaWYgZS5lcnJubyBpbiAoZXJybm8uRUFERFJJTlVTRSwgZXJybm8uRUFMUkVBRFkpOgogICAg
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdjb3VsZCBub3QgYmluZCB0byBwb3J0ICVk
JyAlIHBvcnRfbnVtYmVyKQogICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAg
ICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcG9ydC5zdGFydF9odHRwX3NlcnZlcigpCiAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnc2hvdWxkIG5vdCBoYXZlIGJlZW4gYWJsZSB0
byBzdGFydCB0aGUgc2VydmVyIHdoaWxlIGJvdW5kIHRvICVkJyAlIHBvcnRfbnVtYmVyKQotICAg
ICAgICAgICAgICAgIGV4Y2VwdCBodHRwX3NlcnZlcl9iYXNlLlNlcnZlckVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBodHRwX3NlcnZlcl9iYXNlLlNlcnZlckVycm9yIGFzIGU6CiAg
ICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAg
ICAgICAgcG9ydC5zdG9wX2h0dHBfc2VydmVyKCkKQEAgLTM2MCw3ICszNjAsNyBAQCBjbGFzcyBQ
b3J0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgIHRyeToKICAg
ICAgICAgICAgICAgICAgICAgcG9ydC5zdGFydF93ZWJzb2NrZXRfc2VydmVyKCkKICAgICAgICAg
ICAgICAgICAgICAgc2VsZi5mYWlsKCdzaG91bGQgbm90IGhhdmUgYmVlbiBhYmxlIHRvIHN0YXJ0
IHRoZSBzZXJ2ZXIgd2hpbGUgYm91bmQgdG8gJWQnICUgcG9ydF9udW1iZXIpCi0gICAgICAgICAg
ICAgICAgZXhjZXB0IGh0dHBfc2VydmVyX2Jhc2UuU2VydmVyRXJyb3IsIGU6CisgICAgICAgICAg
ICAgICAgZXhjZXB0IGh0dHBfc2VydmVyX2Jhc2UuU2VydmVyRXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBw
b3J0LnN0b3Bfd2Vic29ja2V0X3NlcnZlcigpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvc2VydmVyX3Byb2Nlc3MucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvc2VydmVyX3Byb2Nlc3MucHkKaW5kZXggZTY5MGFjNGUxYTk0MWZlMTVhY2JhNTMzMjc3YTBh
M2FhZWQyMjA1MS4uMTE4YjdjMDEwYTFhZWFmMTI5ZWZkYTJiMjUzN2YzMDgxZWYzMjVlMSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3NlcnZlcl9wcm9jZXNzLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9zZXJ2ZXJfcHJvY2Vzcy5weQpAQCAtMTY2
LDcgKzE2Niw3IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgICAgIHNl
bGYuX3N0YXJ0KCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fcHJvYy5zdGRpbi53
cml0ZShieXRlcykKLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJ
T0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLnN0b3AoMC4wKQogICAgICAgICAgICAgIyBz
dG9wKCkgY2FsbHMgX3Jlc2V0KCksIHNvIHdlIGhhdmUgdG8gc2V0IGNyYXNoZWQgdG8gVHJ1ZSBh
ZnRlciBjYWxsaW5nIHN0b3AoKQogICAgICAgICAgICAgIyB1bmxlc3Mgd2UgYWxyZWFkeSBrbm93
IHRoYXQgdGhpcyBpcyBhIHRpbWVvdXQuCkBAIC0yNTUsNyArMjU1LDcgQEAgY2xhc3MgU2VydmVy
UHJvY2VzcyhvYmplY3QpOgogICAgICAgICBzZWxlY3RfZmRzID0gKG91dF9mZCwgZXJyX2ZkKQog
ICAgICAgICB0cnk6CiAgICAgICAgICAgICByZWFkX2ZkcywgXywgXyA9IHNlbGVjdC5zZWxlY3Qo
c2VsZWN0X2ZkcywgW10sIHNlbGVjdF9mZHMsIG1heChkZWFkbGluZSAtIHRpbWUudGltZSgpLCAw
KSkKLSAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciwgZToKKyAgICAgICAgZXhjZXB0IHNlbGVj
dC5lcnJvciBhcyBlOgogICAgICAgICAgICAgIyBXZSBjYW4gaWdub3JlIEVJTlZBTCBzaW5jZSBp
dCdzIGxpa2VseSB0aGUgcHJvY2VzcyBqdXN0IGNyYXNoZWQgYW5kIHdlJ2xsCiAgICAgICAgICAg
ICAjIGZpZ3VyZSB0aGF0IG91dCB0aGUgbmV4dCB0aW1lIHRocm91Z2ggdGhlIGxvb3AgaW4gX3Jl
YWQoKS4KICAgICAgICAgICAgICMgV2UgYWxzbyBpZ25vcmUgRUlOVFIgYXMgd2UgY2FuIHJlc3Vt
ZSByZWFkaW5nIHRoZSBuZXh0IHRpbWUKQEAgLTI4Myw3ICsyODMsNyBAQCBjbGFzcyBTZXJ2ZXJQ
cm9jZXNzKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoJ1RoaXMgdGVz
dCBtYXJrZWQgYXMgYSBjcmFzaCBiZWNhdXNlIG9mIG5vIGRhdGEgd2hpbGUgcmVhZGluZyBzdGRv
dXQgZm9yIHRoZSBzZXJ2ZXIgcHJvY2Vzcy4nKQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9j
cmFzaGVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yICs9IGRhdGEKLSAgICAg
ICAgZXhjZXB0IElPRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAg
ICAgICAgICAjIFdlIGNhbiBpZ25vcmUgdGhlIElPRXJyb3JzIGJlY2F1c2Ugd2Ugd2lsbCBkZXRl
Y3QgaWYgdGhlIHN1YnBvcmNlc3MgY3Jhc2hlZAogICAgICAgICAgICAgIyB0aGUgbmV4dCB0aW1l
IHRocm91Z2ggdGhlIGxvb3AgaW4gX3JlYWQoKQogICAgICAgICAgICAgcGFzcwpAQCAtMzE0LDcg
KzMxNCw3IEBAIGNsYXNzIFNlcnZlclByb2Nlc3Mob2JqZWN0KToKICAgICAgICAgICAgIGlmIGF2
YWlsID4gMDoKICAgICAgICAgICAgICAgICBfLCBidWYgPSB3aW4zMmZpbGUuUmVhZEZpbGUoaGFu
ZGxlLCBhdmFpbCwgTm9uZSkKICAgICAgICAgICAgICAgICByZXR1cm4gYnVmCi0gICAgICAgIGV4
Y2VwdCBFeGNlcHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAg
ICAgICAgIGlmIGVbMF0gbm90IGluICgxMDksIGVycm5vLkVTSFVURE9XTik6ICAjIDEwOSA9PSB3
aW4zMiBFUlJPUl9CUk9LRU5fUElQRQogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIHJl
dHVybiBOb25lCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQppbmRleCBhZTk3ODFjNGNjN2M5
ZTk5MTZlZTBiMjcyODZmMjA5MWFmZDQwOTA4Li4xMmI2ZTE2MjgxYjVjYTUzZDJiZjAzMmNjMmZh
ZDA5MjcxMWFhMTU3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2lu
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKQEAgLTEzOSw3ICsx
MzksNyBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxlUG9ydCk6CiAgICAgICAgIHN1cHBvcnRlZF9mZWF0
dXJlc19jb21tYW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXByaW50LXN1cHBvcnRl
ZC1mZWF0dXJlcyddCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX2V4
ZWN1dGl2ZS5ydW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFuZCwgZXJyb3JfaGFu
ZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQotICAgICAgICBleGNlcHQgT1NFcnJvciwgZToK
KyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cud2FybigiRXhj
ZXB0aW9uIHJ1bm5pbmcgZHJpdmVyOiAlcywgJXMuICBEcml2ZXIgbXVzdCBiZSBidWlsdCBiZWZv
cmUgY2FsbGluZyBXZWJLaXRQb3J0LnRlc3RfZXhwZWN0YXRpb25zKCkuIiAlIChzdXBwb3J0ZWRf
ZmVhdHVyZXNfY29tbWFuZCwgZSkpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CmluZGV4IDgwZDY3NDgyOTcwZDhhMjAz
YzNiMjRhYzYxMzBhN2I3OGUyZmJjYTguLmE2ZjVhZDFkZmY1ZmFlNmM0OWU3NmMxM2Y1NjJkOTFk
ODhjMGJmZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJp
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CkBA
IC02MCw3ICs2MCw3IEBAIGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAgd2hpbGUg
ZmRfc2V0OgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZkX2xpc3QgPSBzZWxl
Y3Quc2VsZWN0KGZkX3NldCwgW10sIFtdKVswXQotICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5l
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IgYXMgZToKICAgICAgICAg
ICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgcmFpc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvanNvbmNoZWNrZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2pzb25jaGVja2VyLnB5CmluZGV4IDYxYjA1OWI1N2Ew
NTNjYjA3MDc2YjViMGZjZDI3NmJjYzUwYzVmZTEuLjQ2NGRmNmJjYWE1MTg1NWNjYzQ5MDMxYWJh
MmM4MzE2YTFmMThmY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvanNvbmNoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9qc29uY2hlY2tlci5weQpAQCAtMzksNyArMzksNyBAQCBjbGFzcyBKU09OQ2hl
Y2tlcihvYmplY3QpOgogICAgIGRlZiBjaGVjayhzZWxmLCBsaW5lcyk6CiAgICAgICAgIHRyeToK
ICAgICAgICAgICAgIGpzb24ubG9hZHMoJ1xuJy5qb2luKGxpbmVzKSArICdcbicpCi0gICAgICAg
IGV4Y2VwdCBWYWx1ZUVycm9yLCBlOgorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgog
ICAgICAgICAgICAgc2VsZi5faGFuZGxlX3N0eWxlX2Vycm9yKHNlbGYubGluZV9udW1iZXJfZnJv
bV9qc29uX2V4Y2VwdGlvbihlKSwgJ2pzb24vc3ludGF4JywgNSwgc3RyKGUpKQogCiAgICAgQHN0
YXRpY21ldGhvZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy94bWwucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5w
eQppbmRleCBmZjRhNDE1OWYxYTIzNzc1MzZjNGJiZWE4MmRhZGI0ZThmY2MwNTYzLi45MGU4YmVk
ODU4ZTU4ZDFlYWVkMGFiMzMzNDJmYjUxYmM5ZmE1MmY3IDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL3htbC5weQpAQCAtNDEsNSArNDEsNSBAQCBjbGFzcyBYTUxD
aGVja2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgcGFyc2VyLlBhcnNlKGxpbmUpCiAgICAg
ICAgICAgICAgICAgcGFyc2VyLlBhcnNlKCdcbicpCiAgICAgICAgICAgICBwYXJzZXIuUGFyc2Uo
JycsIFRydWUpCi0gICAgICAgIGV4Y2VwdCBleHBhdC5FeHBhdEVycm9yLCBlcnJvcjoKKyAgICAg
ICAgZXhjZXB0IGV4cGF0LkV4cGF0RXJyb3IgYXMgZXJyb3I6CiAgICAgICAgICAgICBzZWxmLl9o
YW5kbGVfc3R5bGVfZXJyb3IoZXJyb3IubGluZW5vLCAneG1sL3N5bnRheCcsIDUsIGV4cGF0LkVy
cm9yU3RyaW5nKGVycm9yLmNvZGUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9zdHlsZS9maWxlcmVhZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxl
cmVhZGVyLnB5CmluZGV4IGFiNThlM2UxNzAwNjdlNmU2ZGIyYTVkY2Y5YTM3YWRlNTZjYWYyNjEu
LjE1ZTliMmUxYjZmYmM2ZDMyOGI3MjI4NzUwY2QzN2ExYTNlMWNmZGIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2ZpbGVyZWFkZXIucHkKQEAgLTEyOSw3ICsxMjksNyBAQCBjbGFz
cyBUZXh0RmlsZVJlYWRlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxp
bmVzID0gc2VsZi5fcmVhZF9saW5lcyhmaWxlX3BhdGgpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9y
LCBlcnI6CisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIG1lc3Nh
Z2UgPSAoIkNvdWxkIG5vdCByZWFkIGZpbGUuIFNraXBwaW5nOiAnJXMnXG4gICVzIiAlIChmaWxl
X3BhdGgsIGVycikpCiAgICAgICAgICAgICBfbG9nLndhcm4obWVzc2FnZSkKICAgICAgICAgICAg
IHJldHVybgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxlcmVh
ZGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9maWxlcmVhZGVy
X3VuaXR0ZXN0LnB5CmluZGV4IGRlMjlmMmIyYjM5OGI0YzI1M2E2NmZhNGQzN2E2OGY0ZTk5NGQy
ZDEuLjBmYjQ2Mzk3ZTliMThiYzM2ZTQyNzU3Zjg2YmJmZjAxOTQ5MTJlZDYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvZmlsZXJlYWRlcl91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2ZpbGVyZWFkZXJfdW5pdHRlc3QucHkKQEAg
LTgxLDcgKzgxLDcgQEAgY2xhc3MgVGV4dEZpbGVSZWFkZXJUZXN0KExvZ2dpbmdUZXN0Q2FzZSk6
CiAgICAgZGVmIHRlc3RfcHJvY2Vzc19maWxlX19kb2VzX25vdF9leGlzdChzZWxmKToKICAgICAg
ICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fZmlsZV9yZWFkZXIucHJvY2Vzc19maWxlKCdkb2Vz
X25vdF9leGlzdC50eHQnKQotICAgICAgICBleGNlcHQgSU9FcnJvciwgZXJyOgorICAgICAgICBl
eGNlcHQgSU9FcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihl
cnIpLCAiRmlsZSBkb2VzIG5vdCBleGlzdCIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBz
ZWxmLmZhaWwoJ05vIEV4Y2VwdGlvbiByYWlzZWQuJykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvb3B0cGFyc2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9vcHRwYXJzZXIucHkKaW5kZXggNjY3OTE3ODJlNWVlODA1ZDcxNjJmNDEwZWJlZmJiMjNl
NzJlYzQzNi4uZTNmOTcwOGVhYTQ1Yjk4MWI2ODFkMzU5NWE2OTcyOTg4ZTYxMGJlYyAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9vcHRwYXJzZXIucHkKQEAgLTQ1NSw3ICs0NTUsNyBA
QCBjbGFzcyBBcmd1bWVudFBhcnNlcihvYmplY3QpOgogCiAgICAgICAgIHRyeToKICAgICAgICAg
ICAgIHZhbGlkYXRlX2ZpbHRlcl9ydWxlcyhmaWx0ZXJfcnVsZXMsIHNlbGYuX2FsbF9jYXRlZ29y
aWVzKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvciwgZXJyOgorICAgICAgICBleGNlcHQgVmFs
dWVFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLl9wYXJzZV9lcnJvcihlcnIpCiAKICAg
ICAgICAgb3B0aW9ucyA9IENvbW1hbmRPcHRpb25WYWx1ZXMoZmlsdGVyX3J1bGVzPWZpbHRlcl9y
dWxlcywKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2Nv
bW1hbmQucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY19jb21tYW5kLnB5
CmluZGV4IGUwMmQ4MmU0ZGY1Yzk3NjAwNDlhMjU1NTZkNjEzZGZiMDk0NGNhMjAuLjYxZmRhMWM5
ZTkzOWM4YmQyYjk4Mjc0YTdkNzA1OTdjNjFhYjM0NDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9ib3QvaXJjX2NvbW1hbmQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9pcmNfY29tbWFuZC5weQpAQCAtODUsNyArODUsNyBAQCBjbGFzcyBD
cmVhdGVCdWcoSVJDQ29tbWFuZCk6CiAgICAgICAgICAgICBidWdfaWQgPSB0b29sLmJ1Z3MuY3Jl
YXRlX2J1ZyhidWdfdGl0bGUsIGJ1Z19kZXNjcmlwdGlvbiwgY2M9cmVxdWVzdGVyX2VtYWlsLCBh
c3NpZ25lZT1yZXF1ZXN0ZXJfZW1haWwpCiAgICAgICAgICAgICBidWdfdXJsID0gdG9vbC5idWdz
LmJ1Z191cmxfZm9yX2J1Z19pZChidWdfaWQpCiAgICAgICAgICAgICByZXR1cm4gIiVzOiBDcmVh
dGVkIGJ1ZzogJXMiICUgKG5pY2ssIGJ1Z191cmwpCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24s
IGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHJldHVybiAi
JXM6IEZhaWxlZCB0byBjcmVhdGUgYnVnOlxuJXMiICUgKG5pY2ssIGUpCiAKIApAQCAtMjQxLDcg
KzI0MSw3IEBAIGNsYXNzIFJvbGxvdXQoSVJDQ29tbWFuZCk6CiAgICAgICAgICAgICBidWdfaWQg
PSBzaGVyaWZmLnBvc3Rfcm9sbG91dF9wYXRjaChzdm5fcmV2aXNpb25fbGlzdCwgY29tcGxldGVf
cmVhc29uKQogICAgICAgICAgICAgYnVnX3VybCA9IHRvb2wuYnVncy5idWdfdXJsX2Zvcl9idWdf
aWQoYnVnX2lkKQogICAgICAgICAgICAgdG9vbC5pcmMoKS5wb3N0KCIlczogQ3JlYXRlZCByb2xs
b3V0OiAlcyIgJSAobmlja3Nfc3RyaW5nLCBidWdfdXJsKSkKLSAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAg
IHRvb2wuaXJjKCkucG9zdCgiJXM6IEZhaWxlZCB0byBjcmVhdGUgcm9sbG91dCBwYXRjaDoiICUg
bmlja3Nfc3RyaW5nKQogICAgICAgICAgICAgZGlmZl9mYWlsdXJlID0gc2VsZi5fY2hlY2tfZGlm
Zl9mYWlsdXJlKGUub3V0cHV0LCB0b29sKQogICAgICAgICAgICAgaWYgZGlmZl9mYWlsdXJlOgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9pcmNib3QucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2JvdC5weQppbmRleCA0OTc0NGM5YjJk
YWMxNGMzZDkzNDNlMzFkYmQ0MmNhMGFjMjY2MzU4Li5iZGVhZjNiNTU4MDk1YjA4ZTMxNDEwZWU4
MGRjN2Y0Mzg1ZDAyZGFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2lyY2JvdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2lyY2Jv
dC5weQpAQCAtODgsNyArODgsNyBAQCBjbGFzcyBJUkNCb3Qob2JqZWN0KToKICAgICAgICAgZXhj
ZXB0IFRlcm1pbmF0ZVF1ZXVlOgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgIyBUaGlzIHdp
bGwgY2F0Y2ggZXZlcnl0aGluZyBlbHNlLiBTeXN0ZW1FeGl0IGFuZCBLZXlib2FyZEludGVycnVw
dCBhcmUgbm90IHN1YmNsYXNzZXMgb2YgRXhjZXB0aW9uLCBzbyB3ZSB3b24ndCBjYXRjaCB0aG9z
ZS4KLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
biBhcyBlOgogICAgICAgICAgICAgc2VsZi5fdG9vbC5pcmMoKS5wb3N0KCJFeGNlcHRpb24gZXhl
Y3V0aW5nIGNvbW1hbmQ6ICVzIiAlIGUpCiAKICAgICBkZWYgcHJvY2Vzc19wZW5kaW5nX21lc3Nh
Z2VzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9s
YXlvdXR0ZXN0cmVzdWx0c3JlYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9i
b3QvbGF5b3V0dGVzdHJlc3VsdHNyZWFkZXIucHkKaW5kZXggY2U1MThiYTA3Nzc3ZGQ4OTQxYWE2
Njk0YTg2NTcxNjJmMGVjYjM1Zi4uNjdjZDJkZTRkODdmNjA0ODc5Y2NjZjJjYmE1M2UwZDYxNDcz
ZmI3NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9sYXlvdXR0
ZXN0cmVzdWx0c3JlYWRlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90
L2xheW91dHRlc3RyZXN1bHRzcmVhZGVyLnB5CkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIExheW91
dFRlc3RSZXN1bHRzUmVhZGVyKEFic3RyYWN0VGVzdFJlc3VsdHNSZWFkZXIpOgogICAgIGRlZiBf
cmVhZF9maWxlX2NvbnRlbnRzKHNlbGYsIHBhdGgpOgogICAgICAgICB0cnk6CiAgICAgICAgICAg
ICByZXR1cm4gc2VsZi5faG9zdC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKHBhdGgpCi0gICAg
ICAgIGV4Y2VwdCBJT0Vycm9yLCBlOiAgIyBGaWxlIGRvZXMgbm90IGV4aXN0IG9yIGNhbid0IGJl
IHJlYWQuCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6ICAjIEZpbGUgZG9lcyBub3QgZXhp
c3Qgb3IgY2FuJ3QgYmUgcmVhZC4KICAgICAgICAgICAgIHJldHVybiBOb25lCiAKICAgICAjIEZJ
WE1FOiBUaGlzIGxvZ2ljIHNob3VsZCBtb3ZlIHRvIHRoZSBwb3J0IG9iamVjdC4KZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L3BhdGNoYW5hbHlzaXN0YXNrLnB5Cmlu
ZGV4IDZjZjczMzczNTdkYjRiOWM3NjYxY2MyYjUxYWQyZWRjNzQ2YzdkYTcuLmQ1M2UzNGI2MDM1
MzVlZWU1M2YyNTYyMzM4MjFhYTQ0NGJiMmNkMDAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9ib3QvcGF0Y2hhbmFseXNpc3Rhc2sucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2JvdC9wYXRjaGFuYWx5c2lzdGFzay5weQpAQCAtMTAwLDcgKzEwMCw3
IEBAIGNsYXNzIFBhdGNoQW5hbHlzaXNUYXNrKG9iamVjdCk6CiAgICAgICAgICAgICBzZWxmLl9k
ZWxlZ2F0ZS5ydW5fY29tbWFuZChjb21tYW5kKQogICAgICAgICAgICAgc2VsZi5fZGVsZWdhdGUu
Y29tbWFuZF9wYXNzZWQoc3VjY2Vzc19tZXNzYWdlLCBwYXRjaD1zZWxmLl9wYXRjaCkKICAgICAg
ICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAg
ICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLl9zY3JpcHRfZXJy
b3IgPSBlCiAgICAgICAgICAgICBzZWxmLmZhaWx1cmVfc3RhdHVzX2lkID0gc2VsZi5fZGVsZWdh
dGUuY29tbWFuZF9mYWlsZWQoZmFpbHVyZV9tZXNzYWdlLCBzY3JpcHRfZXJyb3I9c2VsZi5fc2Ny
aXB0X2Vycm9yLCBwYXRjaD1zZWxmLl9wYXRjaCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvcXVldWVlbmdpbmUucHkKaW5kZXgg
ZmExMzJkYTI1MThiNDJmZGVkZTg2NmRhOWZjZGRjNTU4ZmEyMDdhMy4uOGEyNDVmMmIxYmU5NDFh
NjM0NjhhZGYzZDVmNjUzZTdmZDQ2ZWIzNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2JvdC9xdWV1ZWVuZ2luZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvYm90L3F1ZXVlZW5naW5lLnB5CkBAIC0xMDMsNyArMTAzLDcgQEAgY2xhc3MgUXVldWVF
bmdpbmU6CiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9kZWxlZ2F0ZS5wcm9jZXNz
X3dvcmtfaXRlbSh3b3JrX2l0ZW0pOgogICAgICAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCJVbmFibGUgdG8gcHJvY2VzcyB3b3JrIGl0ZW0uIikKICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAg
ICAgICAgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9vcGVuX3dvcmtfbG9nKHdvcmtfaXRlbSkKICAgICAgICAgICAgICAgICAgICAgc2Vs
Zi5fd29ya19sb2cud3JpdGUoZS5tZXNzYWdlX3dpdGhfb3V0cHV0KCkpCiAgICAgICAgICAgICAg
ICAgICAgICMgVXNlIGEgc3BlY2lhbCBleGl0IGNvZGUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZXJy
b3Igd2FzIGFscmVhZHkKQEAgLTExMiwxMyArMTEyLDEzIEBAIGNsYXNzIFF1ZXVlRW5naW5lOgog
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAgICAgbWVz
c2FnZSA9ICJVbmV4cGVjdGVkIGZhaWx1cmUgd2hlbiBwcm9jZXNzaW5nIHBhdGNoISAgUGxlYXNl
IGZpbGUgYSBidWcgYWdhaW5zdCB3ZWJraXQtcGF0Y2guXG4lcyIgJSBlLm1lc3NhZ2Vfd2l0aF9v
dXRwdXQoKQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9kZWxlZ2F0ZS5oYW5kbGVfdW5leHBl
Y3RlZF9lcnJvcih3b3JrX2l0ZW0sIG1lc3NhZ2UpCi0gICAgICAgICAgICBleGNlcHQgVGVybWlu
YXRlUXVldWUsIGU6CisgICAgICAgICAgICBleGNlcHQgVGVybWluYXRlUXVldWUgYXMgZToKICAg
ICAgICAgICAgICAgICBzZWxmLl9zdG9wcGluZygiVGVybWluYXRlUXVldWUgZXhjZXB0aW9uIHJl
Y2VpdmVkLiIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgIGV4Y2VwdCBL
ZXlib2FyZEludGVycnVwdCwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVw
dCBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuX3N0b3BwaW5nKCJVc2VyIHRlcm1pbmF0ZWQg
cXVldWUuIikKICAgICAgICAgICAgICAgICByZXR1cm4gMQotICAgICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAg
ICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkKICAgICAgICAgICAgICAgICAjIERvbid0IHRy
eSB0ZWxsIHRoZSBzdGF0dXMgYm90LCBpbiBjYXNlIHRlbGxpbmcgaXQgY2F1c2VzIGFuIGV4Y2Vw
dGlvbi4KICAgICAgICAgICAgICAgICBzZWxmLl9zbGVlcCgiRXhjZXB0aW9uIHdoaWxlIHByZXBh
cmluZyBxdWV1ZSIpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2Fic3RyYWN0c2VxdWVuY2VkY29tbWFuZC5weQppbmRleCA4ZjQyMGE5
ODg4NDZlNTIyYTY5YjZjMTIwZmZmZDgzNmYzNTg5N2QwLi5kMjQ1NDg5YzAwYzRmYTU0OTdiMDZk
YjMzYjUwMmZhMWMxNDNmNDEyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvYWJzdHJhY3RzZXF1ZW5jZWRjb21tYW5kLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hYnN0cmFjdHNlcXVlbmNlZGNvbW1hbmQucHkKQEAg
LTQ4LDcgKzQ4LDcgQEAgY2xhc3MgQWJzdHJhY3RTZXF1ZW5jZWRDb21tYW5kKENvbW1hbmQpOgog
ICAgIGRlZiBleGVjdXRlKHNlbGYsIG9wdGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAgICB0cnk6
CiAgICAgICAgICAgICBzdGF0ZSA9IHNlbGYuX3ByZXBhcmVfc3RhdGUob3B0aW9ucywgYXJncywg
dG9vbCkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIF9sb2cuZXJyb3IoZS5tZXNzYWdlX3dpdGhfb3V0
cHV0KCkpCiAgICAgICAgICAgICBzZWxmLl9leGl0KGUuZXhpdF9jb2RlIG9yIDIpCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9kb3dubG9hZC5weQppbmRleCBk
OTI3NzBlZTY2Y2U5ZWJlNWZhN2Y0ZmQ5MWQzYTVhYjhiY2M3MTUwLi4zZTQ2NTg5OTQzZTM4ODM0
NzQyZTQ5OTNiMTE4ZTk2NjgxYjllMTYxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL2Rvd25sb2FkLnB5CkBAIC0yMDAsNyArMjAwLDcgQEAgY2xhc3MgQWJz
dHJhY3RQYXRjaFNlcXVlbmNpbmdDb21tYW5kKEFic3RyYWN0UGF0Y2hQcm9jZXNzaW5nQ29tbWFu
ZCk6CiAgICAgZGVmIF9wcmVwYXJlX3RvX3Byb2Nlc3Moc2VsZiwgb3B0aW9ucywgYXJncywgdG9v
bCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBzZWxmLl9wcmVwYXJl
X3N0YXRlKG9wdGlvbnMsIGFyZ3MsIHRvb2wpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwg
ZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVy
cm9yKGUubWVzc2FnZV93aXRoX291dHB1dCgpKQogICAgICAgICAgICAgc2VsZi5fZXhpdChlLmV4
aXRfY29kZSBvciAyKQogICAgICAgICBzZWxmLl9wcmVwYXJlX3NlcXVlbmNlLnJ1bl9hbmRfaGFu
ZGxlX2Vycm9ycyh0b29sLCBvcHRpb25zLCBzZWxmLnN0YXRlKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9lYXJseXdhcm5pbmdzeXN0ZW0ucHkK
aW5kZXggNDBhMjBkOGMzOTEzNzBlMmZmMjRmYzBiZjY3ZjdlZGY0MjVlMmNhNC4uNzg2ZjczNGE5
ZjQ5MjFjNDk1NDUwMzBhZjRmZDBiZjAxNDg0NjVmZCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2Vhcmx5d2FybmluZ3N5c3RlbS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvZWFybHl3YXJuaW5nc3lzdGVtLnB5CkBA
IC0xMDgsMTMgKzEwOCwxMyBAQCBjbGFzcyBBYnN0cmFjdEVhcmx5V2FybmluZ1N5c3RlbShBYnN0
cmFjdFJldmlld1F1ZXVlLCBFYXJseVdhcm5pbmdTeXN0ZW1UYXNrRGVsZQogICAgICAgICBleGNl
cHQgUGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9y
KHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChzZWxmLm5h
bWUsIGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg
ICAgICAgZXhjZXB0IFVuYWJsZVRvQXBwbHlQYXRjaCwgZToKKyAgICAgICAgZXhjZXB0IFVuYWJs
ZVRvQXBwbHlQYXRjaCBhcyBlOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBhdGNoLCAi
JXMgdW5hYmxlIHRvIGFwcGx5IHBhdGNoLiIgJSBzZWxmLm5hbWUpCiAgICAgICAgICAgICByZXR1
cm4gRmFsc2UKLSAgICAgICAgZXhjZXB0IFBhdGNoSXNOb3RBcHBsaWNhYmxlLCBlOgorICAgICAg
ICBleGNlcHQgUGF0Y2hJc05vdEFwcGxpY2FibGUgYXMgZToKICAgICAgICAgICAgIHNlbGYuX2Rp
ZF9za2lwKHBhdGNoKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBzZWxmLl9wb3N0X3JlamVjdF9tZXNzYWdlX29uX2J1ZyhzZWxmLl90b29sLCBwYXRjaCwg
dGFzay5mYWlsdXJlX3N0YXR1c19pZCwgc2VsZi5fZmFpbGluZ190ZXN0c19tZXNzYWdlKHRhc2ss
IHBhdGNoKSkKICAgICAgICAgICAgIHJlc3VsdHNfYXJjaGl2ZSA9IHRhc2sucmVzdWx0c19hcmNo
aXZlX2Zyb21fcGF0Y2hfdGVzdF9ydW4ocGF0Y2gpCiAgICAgICAgICAgICBpZiByZXN1bHRzX2Fy
Y2hpdmU6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMv
cXVlcmllcy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVz
LnB5CmluZGV4IDY0YzljZGY0NzFkN2FhNWU2NTQ3ZGZhZWU0NTc0NzM5NGY0Nzc4YTEuLmZhNDFm
OTdmZjEzNjA0OGM4YTNjYzdhZmNhODA1MTJjMTFmYWQ0YzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWVyaWVzLnB5CkBAIC0yNTQsNyArMjU0LDcgQEAg
Y2xhc3MgRmFpbHVyZVJlYXNvbihDb21tYW5kKToKICAgICBkZWYgX2JsYW1lX2xpbmVfZm9yX3Jl
dmlzaW9uKHNlbGYsIHJldmlzaW9uKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29tbWl0
X2luZm8gPSBzZWxmLl90b29sLmNoZWNrb3V0KCkuY29tbWl0X2luZm9fZm9yX3JldmlzaW9uKHJl
dmlzaW9uKQotICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorICAgICAgICBleGNlcHQgRXhj
ZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gIkZBSUxFRCB0byBmZXRjaCBDb21taXRJ
bmZvIGZvciByJXMsIGV4Y2VwdGlvbjogJXMiICUgKHJldmlzaW9uLCBlKQogICAgICAgICBpZiBu
b3QgY29tbWl0X2luZm86CiAgICAgICAgICAgICByZXR1cm4gIkZBSUxFRCB0byBmZXRjaCBDb21t
aXRJbmZvIGZvciByJXMsIGxpa2VseSBtaXNzaW5nIENoYW5nZUxvZyIgJSByZXZpc2lvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKaW5kZXggYWRj
YTRkYzJmZWIyYWY5YjAyZDQ3M2JlMWQ2Yjg5ZmFjYWQ4ZDA1MS4uMDk2MjRiNDY3YjhkNDQ3M2Jh
NjkzOGRhMDU0MjkyNzBkNmQyOTc5OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVldWVzLnB5CkBAIC04MSw3ICs4MSw3IEBAIGNsYXNzIEFic3RyYWN0UXVl
dWUoQ29tbWFuZCwgUXVldWVFbmdpbmVEZWxlZ2F0ZSk6CiAgICAgZGVmIF9jY193YXRjaGVycyhz
ZWxmLCBidWdfaWQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLl90b29sLmJ1Z3Mu
YWRkX2NjX3RvX2J1ZyhidWdfaWQsIHNlbGYud2F0Y2hlcnMpCi0gICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGU6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHRy
YWNlYmFjay5wcmludF9leGMoKQogICAgICAgICAgICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIEND
IHdhdGNoZXJzLiIpCiAKQEAgLTEwMyw3ICsxMDMsNyBAQCBjbGFzcyBBYnN0cmFjdFF1ZXVlKENv
bW1hbmQsIFF1ZXVlRW5naW5lRGVsZWdhdGUpOgogICAgICAgICAgICAgYXJnc19mb3JfcHJpbnRp
bmdbMF0gPSAnd2Via2l0LXBhdGNoJyAgIyBQcmludGluZyBvdXIgcGF0aCBmb3IgZWFjaCBsb2cg
aXMgcmVkdW5kYW50LgogICAgICAgICAgICAgX2xvZy5pbmZvKCJSdW5uaW5nOiAlcyIgJSBzZWxm
Ll90b29sLmV4ZWN1dGl2ZS5jb21tYW5kX2Zvcl9wcmludGluZyhhcmdzX2Zvcl9wcmludGluZykp
CiAgICAgICAgICAgICBjb21tYW5kX291dHB1dCA9IHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9j
b21tYW5kKHdlYmtpdF9wYXRjaF9hcmdzLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9y
b290KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3Jp
cHRFcnJvciBhcyBlOgogICAgICAgICAgICAgIyBNYWtlIHN1cmUgdGhlIHdob2xlIG91dHB1dCBn
ZXRzIHByaW50ZWQgaWYgdGhlIGNvbW1hbmQgZmFpbGVkLgogICAgICAgICAgICAgX2xvZy5lcnJv
cihlLm1lc3NhZ2Vfd2l0aF9vdXRwdXQob3V0cHV0X2xpbWl0PU5vbmUpKQogICAgICAgICAgICAg
cmFpc2UKQEAgLTM0Nyw3ICszNDcsNyBAQCBjbGFzcyBDb21taXRRdWV1ZShQYXRjaFByb2Nlc3Np
bmdRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhcwogICAgICAg
ICBleGNlcHQgUGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlk
X2Vycm9yKHBhdGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChz
ZWxmLm5hbWUsIGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFs
c2UKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0
RXJyb3IgYXMgZToKICAgICAgICAgICAgIHZhbGlkYXRvciA9IENvbW1pdHRlclZhbGlkYXRvcihz
ZWxmLl90b29sKQogICAgICAgICAgICAgdmFsaWRhdG9yLnJlamVjdF9wYXRjaF9mcm9tX2NvbW1p
dF9xdWV1ZShwYXRjaC5pZCgpLCBzZWxmLl9lcnJvcl9tZXNzYWdlX2Zvcl9idWcodGFzaywgcGF0
Y2gsIGUpKQogICAgICAgICAgICAgcmVzdWx0c19hcmNoaXZlID0gdGFzay5yZXN1bHRzX2FyY2hp
dmVfZnJvbV9wYXRjaF90ZXN0X3J1bihwYXRjaCkKQEAgLTQ4MCwxMyArNDgwLDEzIEBAIGNsYXNz
IFN0eWxlUXVldWUoQWJzdHJhY3RSZXZpZXdRdWV1ZSwgU3R5bGVRdWV1ZVRhc2tEZWxlZ2F0ZSk6
CiAgICAgICAgICAgICAgICAgIyBDYWxsZXIgdW5sb2NrcyB3aGVuIHJldmlld19wYXRjaCByZXR1
cm5zIFRydWUsIHNvIHdlIG9ubHkgbmVlZCB0byB1bmxvY2sgb24gdHJhbnNpZW50IGZhaWx1cmUu
CiAgICAgICAgICAgICAgICAgc2VsZi5fdW5sb2NrX3BhdGNoKHBhdGNoKQogICAgICAgICAgICAg
cmV0dXJuIHN0eWxlX2NoZWNrX3N1Y2NlZWRlZAotICAgICAgICBleGNlcHQgVW5hYmxlVG9BcHBs
eVBhdGNoLCBlOgorICAgICAgICBleGNlcHQgVW5hYmxlVG9BcHBseVBhdGNoIGFzIGU6CiAgICAg
ICAgICAgICBzZWxmLl9kaWRfZXJyb3IocGF0Y2gsICIlcyB1bmFibGUgdG8gYXBwbHkgcGF0Y2gu
IiAlIHNlbGYubmFtZSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBleGNlcHQg
UGF0Y2hJc05vdFZhbGlkIGFzIGVycm9yOgogICAgICAgICAgICAgc2VsZi5fZGlkX2Vycm9yKHBh
dGNoLCAiJXMgZGlkIG5vdCBwcm9jZXNzIHBhdGNoLiBSZWFzb246ICVzIiAlIChzZWxmLm5hbWUs
IGVycm9yLmZhaWx1cmVfbWVzc2FnZSkpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAg
ICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgorICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMg
ZToKICAgICAgICAgICAgIG91dHB1dCA9IHJlLnN1YihyJ0ZhaWxlZCB0byBydW4gLisgZXhpdF9j
b2RlOiAxJywgJycsIGUub3V0cHV0KQogICAgICAgICAgICAgbWVzc2FnZSA9ICJBdHRhY2htZW50
ICVzIGRpZCBub3QgcGFzcyAlczpcblxuJXNcblxuSWYgYW55IG9mIHRoZXNlIGVycm9ycyBhcmUg
ZmFsc2UgcG9zaXRpdmVzLCBwbGVhc2UgZmlsZSBhIGJ1ZyBhZ2FpbnN0IGNoZWNrLXdlYmtpdC1z
dHlsZS4iICUgKHBhdGNoLmlkKCksIHNlbGYubmFtZSwgb3V0cHV0KQogICAgICAgICAgICAgc2Vs
Zi5fdG9vbC5idWdzLnBvc3RfY29tbWVudF90b19idWcocGF0Y2guYnVnX2lkKCksIG1lc3NhZ2Us
IGNjPXNlbGYud2F0Y2hlcnMpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcmViYXNlbGluZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9yZWJhc2VsaW5lLnB5CmluZGV4IDJiMWU2MDk5Y2M0ODZlNjgzZGQ0MGQ3ODc0ZmEz
NzdlZGNmN2JmZjkuLjY3ZjkwYzRjYmY1ZjgxNWRiNzg3ZjhhM2U5ZTMyNGE2ZmUwYWFhMzcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5l
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5l
LnB5CkBAIC0yMDcsNyArMjA3LDcgQEAgY2xhc3MgQWJzdHJhY3RQYXJhbGxlbFJlYmFzZWxpbmVD
b21tYW5kKEFic3RyYWN0UmViYXNlbGluaW5nQ29tbWFuZCk6CiAgICAgICAgICAgICBzdGRlcnIg
PSBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2VsZi5fdG9vbC5wYXRoKCldICsg
dmVyYm9zZV9hcmdzICsgYXJncywgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCwg
cmV0dXJuX3N0ZGVycj1UcnVlKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gc3RkZXJyLnNwbGl0
bGluZXMoKToKICAgICAgICAgICAgICAgICBwcmludChsaW5lLCBmaWxlPXN5cy5zdGRlcnIpCi0g
ICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9y
IGFzIGU6CiAgICAgICAgICAgICBfbG9nLmVycm9yKGUpCiAKICAgICBkZWYgX2J1aWxkZXJzX3Rv
X2ZldGNoX2Zyb20oc2VsZiwgYnVpbGRlcnNfdG9fY2hlY2spOgpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N0ZXBzZXF1ZW5jZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdGVwc2VxdWVuY2UucHkKaW5kZXggM2M3YzY4
Mzk3YjIwZmVjZTkzZDU2MjJlNTRiNzYyMzQ2MWQ3NWI2Yy4uMGYwZTlmNzQ0NWViM2Q4MGQ1N2M4
NjE4MWE5NmVmMzY0NzM3Yjk0NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL3N0ZXBzZXF1ZW5jZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvY29tbWFuZHMvc3RlcHNlcXVlbmNlLnB5CkBAIC03MSwxMyArNzEsMTMgQEAgY2xhc3Mg
U3RlcFNlcXVlbmNlKG9iamVjdCk6CiAgICAgICAgICAgICBzdGF0ZSA9IHt9CiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIHNlbGYuX3J1bih0b29sLCBvcHRpb25zLCBzdGF0ZSkKLSAgICAgICAg
ZXhjZXB0IENoZWNrb3V0TmVlZHNVcGRhdGUsIGU6CisgICAgICAgIGV4Y2VwdCBDaGVja291dE5l
ZWRzVXBkYXRlIGFzIGU6CiAgICAgICAgICAgICBfbG9nLmluZm8oIkNvbW1pdCBmYWlsZWQgYmVj
YXVzZSB0aGUgY2hlY2tvdXQgaXMgb3V0IG9mIGRhdGUuIFBsZWFzZSB1cGRhdGUgYW5kIHRyeSBh
Z2Fpbi4iKQogICAgICAgICAgICAgaWYgb3B0aW9ucy5wYXJlbnRfY29tbWFuZDoKICAgICAgICAg
ICAgICAgICBjb21tYW5kID0gdG9vbC5jb21tYW5kX2J5X25hbWUob3B0aW9ucy5wYXJlbnRfY29t
bWFuZCkKICAgICAgICAgICAgICAgICBjb21tYW5kLmhhbmRsZV9jaGVja291dF9uZWVkc191cGRh
dGUodG9vbCwgc3RhdGUsIG9wdGlvbnMsIGUpCiAgICAgICAgICAgICBRdWV1ZUVuZ2luZS5leGl0
X2FmdGVyX2hhbmRsZWRfZXJyb3IoZSkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBlOgor
ICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIG5vdCBvcHRp
b25zLnF1aWV0OgogICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoZS5tZXNzYWdlX3dpdGhfb3V0
cHV0KCkpCiAgICAgICAgICAgICBpZiBvcHRpb25zLnBhcmVudF9jb21tYW5kOgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dlc3Rub21pbmF0aW9u
cy5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9zdWdnZXN0bm9taW5h
dGlvbnMucHkKaW5kZXggMGI4MWFjNWRkNzhiZDQ2MGI5MDRmY2FjOTVkZjFhMWQ5NjU2MWY0Zi4u
ZTFlNDZmMjc1NjVhMDY2YTQ3MTI1ZDU3NDRhZTkwZGMzZGFiNjQ0MSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3N1Z2dlc3Rub21pbmF0aW9ucy5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvc3VnZ2VzdG5vbWluYXRp
b25zLnB5CkBAIC0yMTMsNyArMjEzLDcgQEAgY2xhc3MgU3VnZ2VzdE5vbWluYXRpb25zKEFic3Ry
YWN0Q29tbWl0TG9nQ29tbWFuZCk6CiAgICAgICAgIGZvciBjb21taXRfbWVzc2FnZSBpbiBzZWxm
Ll9yZWNlbnRfY29tbWl0X21lc3NhZ2VzKCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICAgc2VsZi5fY291bnRfY29tbWl0KHNlbGYuX3BhcnNlX2NvbW1pdF9tZXNzYWdlKGNvbW1p
dF9tZXNzYWdlKSwgYW5hbHlzaXMpCi0gICAgICAgICAgICBleGNlcHQgQ29tbWl0TG9nRXJyb3Is
IGV4Y2VwdGlvbjoKKyAgICAgICAgICAgIGV4Y2VwdCBDb21taXRMb2dFcnJvciBhcyBleGNlcHRp
b246CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgcmV0dXJuIGFuYWx5c2lzWydj
b3VudGVyc19ieV9lbWFpbCddCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9tdWx0aWNvbW1hbmR0b29sLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211
bHRpY29tbWFuZHRvb2wucHkKaW5kZXggNDc5MDEyNzFmN2IyNWRlMDg2MTUyZDljZGMyZDM0ZWJi
OGExMWU0Yi4uYjY1Y2VlMjZkODQ0NGFiYTc4OTgzNDlhZWRkZmIxNzVkYzA4YmU4ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL211bHRpY29tbWFuZHRvb2wucHkKQEAgLTMw
NCw3ICszMDQsNyBAQCBjbGFzcyBNdWx0aUNvbW1hbmRUb29sKG9iamVjdCk6CiAgICAgICAgICAg
ICB0cnk6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29tbWFuZC5jaGVja19hcmd1bWVudHNf
YW5kX2V4ZWN1dGUob3B0aW9ucywgYXJncywgc2VsZikKICAgICAgICAgICAgICAgICBicmVhawot
ICAgICAgICAgICAgZXhjZXB0IFRyeUFnYWluLCBlOgorICAgICAgICAgICAgZXhjZXB0IFRyeUFn
YWluIGFzIGU6CiAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIHNlbGYuY29tbWFuZF9j
b21wbGV0ZWQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZl
cnMvcmViYXNlbGluZXNlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2
ZXJzL3JlYmFzZWxpbmVzZXJ2ZXIucHkKaW5kZXggYTYxMjNkYzg0YmIxMTM4OTcyOWM2ZDE5Y2U2
NmI1MTJhZWJhOTFhZC4uZDhjNjJmYjFjMTFjYzlhMzk2NWIxMjJmMjU4OWIxNWRmY2E3YjBhYyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvcmViYXNlbGlu
ZXNlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9yZWJh
c2VsaW5lc2VydmVyLnB5CkBAIC0xMTcsNyArMTE3LDcgQEAgZGVmIF9yZWJhc2VsaW5lX3Rlc3Qo
dGVzdF9maWxlLCBiYXNlbGluZV90YXJnZXQsIGJhc2VsaW5lX21vdmVfdG8sIHRlc3RfY29uZmln
LAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzY20uYWRkKGRlc3RpbmF0aW9uX3BhdGgpCiAg
ICAgICAgICAgICBsb2coJyAgICBVcGRhdGVkICVzJyAlIGRlc3RpbmF0aW9uX2ZpbGUpCi0gICAg
ICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZXJyb3I6CisgICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJv
ciBhcyBlcnJvcjoKICAgICAgICAgICAgIGxvZygnICAgIENvdWxkIG5vdCB1cGRhdGUgJXMgaW4g
U0NNLCBleGl0IGNvZGUgJWQnICUKICAgICAgICAgICAgICAgICAoZGVzdGluYXRpb25fZmlsZSwg
ZXJyb3IuZXhpdF9jb2RlKSkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtMTUzLDcgKzE1
Myw3IEBAIGRlZiBfbW92ZV90ZXN0X2Jhc2VsaW5lcyh0ZXN0X2ZpbGUsIGV4dGVuc2lvbnNfdG9f
bW92ZSwgc291cmNlX3BsYXRmb3JtLCBkZXN0aW5hCiAgICAgICAgIHRyeToKICAgICAgICAgICAg
IHRlc3RfY29uZmlnLnNjbS5hZGQoZGVzdGluYXRpb25fcGF0aCkKICAgICAgICAgICAgIGxvZygn
ICAgIE1vdmVkICVzJyAlIGZpbGVfbmFtZSkKLSAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yLCBl
cnJvcjoKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGVycm9yOgogICAgICAgICAgICAg
bG9nKCcgICAgQ291bGQgbm90IHVwZGF0ZSAlcyBpbiBTQ00sIGV4aXQgY29kZSAlZCcgJQogICAg
ICAgICAgICAgICAgIChmaWxlX25hbWUsIGVycm9yLmV4aXRfY29kZSkpCiAgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9hZGRzdm5taW1ldHlwZWZvcnBuZ191bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9zdGVwcy9hZGRzdm5taW1ldHlwZWZvcnBuZ191bml0dGVzdC5weQppbmRleCA5ZmFi
NmY0Mzg2NTE3Y2Q3NGUyZTQ5ZWI2YTYxNmRiZmQ3MWM1MGQ2Li42ZWM0YTJmMzgzZTU1MTVjZmQ3
YTk3MTE4ZWJkNjQ4ZjFlMjRkMTYzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3Rvb2wvc3RlcHMvYWRkc3ZubWltZXR5cGVmb3JwbmdfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2FkZHN2bm1pbWV0eXBlZm9ycG5nX3VuaXR0ZXN0
LnB5CkBAIC01NCw1ICs1NCw1IEBAIGNsYXNzIEFkZFN2bk1pbWV0eXBlRm9yUG5nVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIH0KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY2Fw
dHVyZS5hc3NlcnRfb3V0cHV0cyhzZWxmLCBzdGVwLnJ1biwgW3N0YXRlXSkKLSAgICAgICAgZXhj
ZXB0IFN5c3RlbUV4aXQsIGU6CisgICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0IGFzIGU6CiAgICAg
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuY29kZSwgMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jaGVja3N0eWxlLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL3N0ZXBzL2NoZWNrc3R5bGUucHkKaW5kZXggMjgzMzg3NzFlNjEwNWQzZmM3
MzRlOWNiZTUxY2MxODM5YjY5OGVlMi4uZGQ4NjVjMGI4NzI4MjdjNjFlZWZiOTgyNWYwZTAzODAw
MzdiMDNkZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2No
ZWNrc3R5bGUucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NoZWNr
c3R5bGUucHkKQEAgLTY0LDcgKzY0LDcgQEAgY2xhc3MgQ2hlY2tTdHlsZShBYnN0cmFjdFN0ZXAp
OgogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX3Rvb2wuZXhlY3V0aXZlLnJ1bl9h
bmRfdGhyb3dfaWZfZmFpbChzZWxmLl90b29sLmRlcHJlY2F0ZWRfcG9ydCgpLmNoZWNrX3dlYmtp
dF9zdHlsZV9jb21tYW5kKCkgKyBhcmdzLCBjd2Q9c2VsZi5fdG9vbC5zY20oKS5jaGVja291dF9y
b290KQotICAgICAgICBleGNlcHQgU2NyaXB0RXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBTY3Jp
cHRFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgc2VsZi5fb3B0aW9ucy5ub25faW50ZXJhY3Rp
dmU6CiAgICAgICAgICAgICAgICAgIyBXZSBuZWVkIHRvIHJlLXJhaXNlIHRoZSBleGNlcHRpb24g
aGVyZSB0byBoYXZlIHRoZQogICAgICAgICAgICAgICAgICMgc3R5bGUtcXVldWUgZG8gdGhlIHJp
Z2h0IHRoaW5nLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L2NvbW1pdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb21taXQucHkK
aW5kZXggODdkYjc4MzMxMzM3MWIyNTJhMjM5NWUzNmU2MzkxNmY2M2MxZmExYS4uOWE1ZDgzYjkz
YTQwMzIxMjJiNmY2YjhlNWMyOTczNjlhMjEwN2MwZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL3N0ZXBzL2NvbW1pdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvc3RlcHMvY29tbWl0LnB5CkBAIC02MSw3ICs2MSw3IEBAIGNsYXNzIENvbW1pdChB
YnN0cmFjdFN0ZXApOgogICAgICAgICBhcmdzLmV4dGVuZCh0ZXN0X2V4cGVjdGF0aW9uc19maWxl
cykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5fdG9vbC5leGVjdXRpdmUucnVuX2Fu
ZF90aHJvd19pZl9mYWlsKHNlbGYuX3Rvb2wuZGVwcmVjYXRlZF9wb3J0KCkuY2hlY2tfd2Via2l0
X3N0eWxlX2NvbW1hbmQoKSArIGFyZ3MsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jv
b3QpCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlw
dEVycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25zLm5vbl9pbnRlcmFjdGl2
ZToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgaWYgbm90IHNlbGYuX3Rvb2wu
dXNlci5jb25maXJtKCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/IiwgZGVmYXVs
dD0ibiIpOgpAQCAtOTAsMTMgKzkwLDEzIEBAIGNsYXNzIENvbW1pdChBYnN0cmFjdFN0ZXApOgog
ICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiQ29tbWl0dGVkIHIlczogPCVzPiIgJSAoc3ZuX3Jl
dmlzaW9uLCB1cmxzLnZpZXdfcmV2aXNpb25fdXJsKHN2bl9yZXZpc2lvbikpKQogICAgICAgICAg
ICAgICAgIHNlbGYuX3N0YXRlWyJjb21taXRfdGV4dCJdID0gY29tbWl0X3RleHQKICAgICAgICAg
ICAgICAgICBicmVhawotICAgICAgICAgICAgZXhjZXB0IEFtYmlndW91c0NvbW1pdEVycm9yLCBl
OgorICAgICAgICAgICAgZXhjZXB0IEFtYmlndW91c0NvbW1pdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICAgICAgaWYgc2VsZi5fdG9vbC51c2VyLmNvbmZpcm0oc2VsZi5fY29tbWl0X3dhcm5pbmco
ZSkpOgogICAgICAgICAgICAgICAgICAgICBmb3JjZV9zcXVhc2ggPSBUcnVlCiAgICAgICAgICAg
ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIHdpbGwgY29ycmVjdGx5IGlu
dGVycnVwdCB0aGUgcmVzdCBvZiB0aGUgY29tbWl0IHByb2Nlc3MuCiAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIFNjcmlwdEVycm9yKG1lc3NhZ2U9IkRpZCBub3QgY29tbWl0IikKLSAgICAgICAg
ICAgIGV4Y2VwdCBBdXRoZW50aWNhdGlvbkVycm9yLCBlOgorICAgICAgICAgICAgZXhjZXB0IEF1
dGhlbnRpY2F0aW9uRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9vcHRpb25z
Lm5vbl9pbnRlcmFjdGl2ZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3Io
bWVzc2FnZT0iQXV0aGVudGljYXRpb24gcmVxdWlyZWQiKQogICAgICAgICAgICAgICAgIHVzZXJu
YW1lID0gc2VsZi5fdG9vbC51c2VyLnByb21wdCgiJXMgbG9naW46ICIgJSBlLnNlcnZlcl9ob3N0
LCByZXBlYXQ9NSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9jb25maXJtZGlmZi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9jb25m
aXJtZGlmZi5weQppbmRleCA0Y2M5ODIyZGU2MDgyYjg3YzZhZjZkM2Y2MzI2ZDAyZGM2ZjJkYWVm
Li40OTg5MzEyN2ViMGNlNDgyYTIxNjdmMjg5OTc4ZDFlM2M5YjI4YThmIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvY29uZmlybWRpZmYucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2NvbmZpcm1kaWZmLnB5CkBAIC01OCw5ICs1
OCw5IEBAIGNsYXNzIENvbmZpcm1EaWZmKEFic3RyYWN0U3RlcCk6CiAgICAgICAgICAgICAjIFdl
IHJldHVybiB0aGUgcHJldHR5X2RpZmZfZmlsZSBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byBrZWVw
IHRoZQogICAgICAgICAgICAgIyBmaWxlIGFsaXZlIHVudGlsIHRoZSB1c2VyIGhhcyBoYWQgYSBj
aGFuY2UgdG8gY29uZmlybSB0aGUgZGlmZi4KICAgICAgICAgICAgIHJldHVybiBwcmV0dHlfZGlm
Zl9maWxlCi0gICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNj
cmlwdEVycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIlByZXR0eVBhdGNoIGZh
aWxlZC4gIDooIikKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CisgICAgICAgIGV4Y2VwdCBP
U0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBfbG9nLndhcm5pbmcoIlByZXR0eVBhdGNoIHVuYXZh
aWxhYmxlLiIpCiAKICAgICBkZWYgcnVuKHNlbGYsIHN0YXRlKToKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9oYXNsYW5kZWQucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvc3RlcHMvaGFzbGFuZGVkLnB5CmluZGV4IGIwNjkyYjMyYjI3YjliYTdi
YWIwM2Y2Yjc3MzgwNzc1OTE1NmE2NWUuLmU4NmU0YTRlOTYwNWY1MTAwMGI1YTE1YzE4NTVmNGY3
M2FkN2ExODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9o
YXNsYW5kZWQucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL2hhc2xh
bmRlZC5weQpAQCAtODIsNyArODIsNyBAQCBjbGFzcyBIYXNMYW5kZWQoY29uZmlybWRpZmYuQ29u
ZmlybURpZmYpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gZXhlY3V0aXZlLnJ1
bl9jb21tYW5kKAogICAgICAgICAgICAgICAgIFsiaW50ZXJkaWZmIiwgZGlmZjFfcGF0Y2gubmFt
ZSwgZGlmZjJfcGF0Y2gubmFtZV0sIGRlY29kZV9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIGV4Y2Vw
dCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAg
ICAgICAgICBfbG9nLndhcm5pbmcoIlVuYWJsZSB0byBmaW5kIGludGVyZGlmZiB1dGlsIChwYXJ0
IG9mIEdOVSBkaWZmdG9vbHMgcGFja2FnZSkgd2hpY2ggaXMgcmVxdWlyZWQuIikKICAgICAgICAg
ICAgIHJhaXNlCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVw
cy9wcmVwYXJlY2hhbmdlbG9nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBz
L3ByZXBhcmVjaGFuZ2Vsb2cucHkKaW5kZXggMTNhNDQzOTk2OWU4OGU4MDM4MzE0YjI3ODY3YmFm
ZGExMWJhNjY2NC4uMjgxMmExNWVlNjFhNjdjZWQ0NTVhMTQxMDI2NTQxYTEzZTY1OGU1ZCAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFuZ2Vs
b2cucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3ByZXBhcmVjaGFu
Z2Vsb2cucHkKQEAgLTEyMSw3ICsxMjEsNyBAQCBjbGFzcyBQcmVwYXJlQ2hhbmdlTG9nKEFic3Ry
YWN0U3RlcCk6CiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fdG9v
bC5leGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKGFyZ3MsIHNlbGYuX29wdGlvbnMucXVp
ZXQsIGN3ZD1zZWxmLl90b29sLnNjbSgpLmNoZWNrb3V0X3Jvb3QpCi0gICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvciwgZToKKyAgICAgICAgZXhjZXB0IFNjcmlwdEVycm9yIGFzIGU6CiAgICAgICAg
ICAgICBfbG9nLmVycm9yKCJVbmFibGUgdG8gcHJlcGFyZSBDaGFuZ2VMb2dzLiIpCiAgICAgICAg
ICAgICBzeXMuZXhpdCgxKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvc3RlcHMvcHJvbXB0Zm9yYnVnb3J0aXRsZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9zdGVwcy9wcm9tcHRmb3JidWdvcnRpdGxlLnB5CmluZGV4IDMxMTQ4OTFiY2JlMzhjOGUw
N2I2NmVmNmU0YjhkZTc1MDYwNTM3NzQuLmQ0ZDI4YzEzY2YxZTViZjgyYTFmODZkNTcwZGZiY2Q5
YTdmZjA5YjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9w
cm9tcHRmb3JidWdvcnRpdGxlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9z
dGVwcy9wcm9tcHRmb3JidWdvcnRpdGxlLnB5CkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIFByb21w
dEZvckJ1Z09yVGl0bGUoQWJzdHJhY3RTdGVwKToKICAgICAgICAgIyBPdGhlcndpc2Ugd2UgYXNz
dW1lIGl0J3MgYSBidWcgc3ViamVjdC4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3RhdGVb
ImJ1Z19pZCJdID0gaW50KHVzZXJfcmVzcG9uc2UpCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9y
LCBUeXBlRXJyb3I6CisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIFR5cGVFcnJvcjoKICAg
ICAgICAgICAgIHN0YXRlWyJidWdfdGl0bGUiXSA9IHVzZXJfcmVzcG9uc2UKICAgICAgICAgICAg
ICMgRklYTUU6IFRoaXMgaXMga2luZCBvZiBhIGxhbWUgZGVzY3JpcHRpb24uCiAgICAgICAgICAg
ICBzdGF0ZVsiYnVnX2Rlc2NyaXB0aW9uIl0gPSB1c2VyX3Jlc3BvbnNlCmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc29ydHhjb2RlcHJvamVjdGZpbGVzLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL3N0ZXBzL3NvcnR4Y29kZXByb2plY3RmaWxl
cy5weQppbmRleCA1YzAyNmNjZmNkNjg2Y2E5NmVlYmY5NzJiYjc3ZTZiNmI5Y2YxMmFkLi5jNTc1
OTBjMGZlZjllNzNkMTIzMWNhNTliYzYxZWQ4OTRmOWM2OTAxIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc3RlcHMvc29ydHhjb2RlcHJvamVjdGZpbGVzLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zdGVwcy9zb3J0eGNvZGVwcm9qZWN0ZmlsZXMu
cHkKQEAgLTUzLDYgKzUzLDYgQEAgY2xhc3MgU29ydFhjb2RlUHJvamVjdEZpbGVzKEFic3RyYWN0
U3RlcCk6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBvdXRwdXQg
PSBzZWxmLl90b29sLmV4ZWN1dGl2ZS5ydW5fYW5kX3Rocm93X2lmX2ZhaWwoYXJncywgc2VsZi5f
b3B0aW9ucy5xdWlldCwgY3dkPXNlbGYuX3Rvb2wuc2NtKCkuY2hlY2tvdXRfcm9vdCkKICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5kaWRfbW9kaWZ5X2NoZWNrb3V0KHN0YXRlKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBTY3JpcHRFcnJvciwgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgU2Ny
aXB0RXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiVW5hYmxlIHRv
IHNvcnQgbW9kaWZpZWQgeGNvZGUgcHJvamVjdHMuIikKICAgICAgICAgICAgICAgICAgICAgc3lz
LmV4aXQoMSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvd2ViZHJpdmVyX3Rl
c3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
d2ViZHJpdmVyX3Rlc3RzL3dlYmRyaXZlcl93M2Nfd2ViX3NlcnZlci5weQppbmRleCA1NTE1YjAw
MTE2MWI3ZDQ1Zjg4MmY1YjgwMGE0Nzg4NTVmYjU1ZGMwLi5jOTdlYTY3NDY5YjYyNjIzY2MxMDIx
Nzk2OTYzYWI2OWU1NjIwM2E5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3dl
YmRyaXZlcl90ZXN0cy93ZWJkcml2ZXJfdzNjX3dlYl9zZXJ2ZXIucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS93ZWJkcml2ZXJfdGVzdHMvd2ViZHJpdmVyX3czY193ZWJfc2VydmVyLnB5
CkBAIC02MSw3ICs2MSw3IEBAIGNsYXNzIFdlYkRyaXZlclczQ1dlYlNlcnZlcihvYmplY3QpOgog
ICAgICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoKQogICAgICAgICAgICAgdHJ5OgogICAgICAg
ICAgICAgICAgIHMuY29ubmVjdCgoaG9zdCwgcG9ydCkpCi0gICAgICAgICAgICBleGNlcHQgSU9F
cnJvciwgZToKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAg
ICAgaWYgZS5lcnJubyBub3QgaW4gKGVycm5vLkVDT05OUkVGVVNFRCwgZXJybm8uRUNPTk5SRVNF
VCk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZh
bHNlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2RhdGFzdG9yZWZp
bGUucHkgYi9Ub29scy9UZXN0UmVzdWx0U2VydmVyL21vZGVsL2RhdGFzdG9yZWZpbGUucHkKaW5k
ZXggYWMyOGQ2NDFlMDJmNDU3Y2U5NDAyODMwM2Y5ZjM3Y2IxYzEzNzkwYi4uZTNlOTIyMjgwMWM4
MGI1Njk4MzM4ZDI2YmE3OTY0MDA0NDJkYzgyZSAxMDA3NTUKLS0tIGEvVG9vbHMvVGVzdFJlc3Vs
dFNlcnZlci9tb2RlbC9kYXRhc3RvcmVmaWxlLnB5CisrKyBiL1Rvb2xzL1Rlc3RSZXN1bHRTZXJ2
ZXIvbW9kZWwvZGF0YXN0b3JlZmlsZS5weQpAQCAtMTA3LDcgKzEwNyw3IEBAIGNsYXNzIERhdGFT
dG9yZUZpbGUoZGIuTW9kZWwpOgogICAgICAgICAgICAgZGF0YV9lbnRyeS5kYXRhID0gZGIuQmxv
YihkYXRhW3N0YXJ0OiBzdGFydCArIE1BWF9FTlRSWV9MRU5dKQogICAgICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgICAgIGRhdGFfZW50cnkucHV0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBFeGNl
cHRpb24sIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAg
ICAgICAgICAgIGxvZ2dpbmcuZXJyb3IoIkZhaWxlZCB0byBzYXZlIGRhdGEgc3RvcmUgZW50cnk6
ICVzIiwgZXJyKQogICAgICAgICAgICAgICAgIGlmIGtleXM6CiAgICAgICAgICAgICAgICAgICAg
IHNlbGYuZGVsZXRlX2RhdGEoa2V5cykKZGlmZiAtLWdpdCBhL1Rvb2xzL2poYnVpbGQvamhidWls
ZHV0aWxzLnB5IGIvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMucHkKaW5kZXggMTZhNDc5Nzg3
OWNmNzBiMWI5MDAzMjI3YzBhZjQ1YTYzNzA5ODQ5Mi4uZmQ0ZmFlYTEwMGRkZWFiODY3OTRjNmEy
MTQyZTA0NGJjZGViYTFiYyAxMDA2NDQKLS0tIGEvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMu
cHkKKysrIGIvVG9vbHMvamhidWlsZC9qaGJ1aWxkdXRpbHMucHkKQEAgLTUxLDcgKzUxLDcgQEAg
ZGVmIGVudGVyX2poYnVpbGRfZW52aXJvbm1lbnRfaWZfYXZhaWxhYmxlKHBsYXRmb3JtKToKICAg
ICAgICAgZnJvbSBqaGJ1aWxkLmVycm9ycyBpbXBvcnQgRmF0YWxFcnJvcgogICAgICAgICBnZXR0
ZXh0Lmluc3RhbGwoJ2poYnVpbGQnLCBsb2NhbGVkaXI9b3MucGF0aC5qb2luKHNvdXJjZV9wYXRo
LCAnbW8nKSwgdW5pY29kZT1UcnVlKQogICAgICAgICBjb25maWcgPSBqaGJ1aWxkLmNvbmZpZy5D
b25maWcoZ2V0X2NvbmZpZ19maWxlX2Zvcl9wbGF0Zm9ybShwbGF0Zm9ybSksIFtdKQotICAgIGV4
Y2VwdCBGYXRhbEVycm9yLCBleGNlcHRpb246CisgICAgZXhjZXB0IEZhdGFsRXJyb3IgYXMgZXhj
ZXB0aW9uOgogICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDb3VsZCBub3QgbG9hZCBqaGJ1aWxk
IGNvbmZpZyBmaWxlOiAlc1xuJyAlIGV4Y2VwdGlvbi5hcmdzWzBdKQogICAgICAgICByZXR1cm4g
RmFsc2UKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>