<?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>192905</bug_id>
          
          <creation_ts>2018-12-19 17:14:31 -0800</creation_ts>
          <short_desc>Add support to run-benchmark to use non-default copies of the browser apps</short_desc>
          <delta_ts>2019-07-04 06:22:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>199496</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slewis</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1489618</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-19 17:14:31 -0800</bug_when>
    <thetext>Add support to run-benchmark to use non-default copies of the browser apps</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489620</commentid>
    <comment_count>1</comment_count>
      <attachid>357763</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-19 17:16:04 -0800</bug_when>
    <thetext>Created attachment 357763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489621</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-19 17:16:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/46845840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489632</commentid>
    <comment_count>3</comment_count>
      <attachid>357763</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-12-19 17:32:50 -0800</bug_when>
    <thetext>Comment on attachment 357763
Patch

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

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:40
&gt; +        elif self._browser_path:

It&apos;s strange that launch_url takes browser_build_path as an argument but keep &apos;_browser_path&apos; as an instance variable.
It seems cleaner to me to change the signature of launch_url to also take browser_path as an  extra argument instead of changing the contractor of browser drivers.
What do you think?

&gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:47
&gt; +    parser.add_argument(&apos;--browser-path&apos;, help=&apos;Specify the path to a non-default copy of the target browser as a path to the .app.&apos;)

This may need to be mutual exclusive with &apos;--build-directory&apos;.
Refer: https://docs.python.org/2.7/library/argparse.html#argparse.ArgumentParser.add_mutually_exclusive_group</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489641</commentid>
    <comment_count>4</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2018-12-19 17:46:25 -0800</bug_when>
    <thetext>I agree with Dewei&apos;s comment about being consistent with browser_path and build_dir.  I still think it&apos;s a bad idea to add this as an option.  Using a bundle for performance testing can bite you in weird ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489690</commentid>
    <comment_count>5</comment_count>
      <attachid>357763</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-12-19 20:03:40 -0800</bug_when>
    <thetext>Comment on attachment 357763
Patch

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

&gt; Tools/ChangeLog:10
&gt; +        Add support for a --browser-path argument to run-benchmark, which allows you to use
&gt; +        a custom app bundle for a given browser (only implemented for Safari at present).

We already have --build-directory? How is this option different from that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489973</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-20 11:47:35 -0800</bug_when>
    <thetext>--build-directory doesn&apos;t let me point at a custom Safari.app (e.g. an STP).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490061</commentid>
    <comment_count>7</comment_count>
    <who name="">dewei_zhu</who>
    <bug_when>2018-12-20 13:59:45 -0800</bug_when>
    <thetext>If you build the binary locally, --build-directory is expecting a folder than contains Safari.app. Also this folder should contain all related frameworks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490070</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-20 14:16:12 -0800</bug_when>
    <thetext>I want to run against pre-built app bundles (spades). Yes, I&apos;m aware of the perf implications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490102</commentid>
    <comment_count>9</comment_count>
      <attachid>357879</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-20 15:35:06 -0800</bug_when>
    <thetext>Created attachment 357879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490109</commentid>
    <comment_count>10</comment_count>
      <attachid>357883</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-20 15:47:40 -0800</bug_when>
    <thetext>Created attachment 357883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490200</commentid>
    <comment_count>11</comment_count>
      <attachid>357883</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2018-12-20 17:11:08 -0800</bug_when>
    <thetext>Comment on attachment 357883
Patch

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

&gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:49
&gt; +
&gt; +    group = parser.add_mutually_exclusive_group()
&gt; +    group.add_argument(&apos;--browser-path&apos;, help=&apos;Specify the path to a non-default copy of the target browser as a path to the .app.&apos;)
&gt; +    group.add_argument(&apos;--build-directory&apos;, dest=&apos;build_dir&apos;, help=&apos;Path to the browser executable (e.g. WebKitBuild/Release/).&apos;)
&gt; +

Nit: It seems cleaner if we move this section below the last time we invoke parser.add_argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490538</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-12-21 15:53:43 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/239522/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357763</attachid>
            <date>2018-12-19 17:16:04 -0800</date>
            <delta_ts>2018-12-20 15:35:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192905-20181219171603.patch</filename>
            <type>text/plain</type>
            <size>15305</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Mzk3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjlmYjc0NGM2ZDljZWE2NGFmYWFjMjFmZjk1YTkxMGUz
M2JkN2Y0Zi4uNTljZGQ1YmEwNzZlZTAzNzY4YjY4NjcxMDIyYTMwNTU5MDYwNDZlYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE4LTEyLTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IHRvIHJ1bi1iZW5jaG1hcmsgdG8gdXNlIG5vbi1kZWZhdWx0
IGNvcGllcyBvZiB0aGUgYnJvd3NlciBhcHBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI5MDUKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDY4NDU4
NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBhIC0tYnJvd3Nlci1wYXRoIGFyZ3VtZW50IHRvIHJ1bi1iZW5j
aG1hcmssIHdoaWNoIGFsbG93cyB5b3UgdG8gdXNlCisgICAgICAgIGEgY3VzdG9tIGFwcCBidW5k
bGUgZm9yIGEgZ2l2ZW4gYnJvd3NlciAob25seSBpbXBsZW1lbnRlZCBmb3IgU2FmYXJpIGF0IHBy
ZXNlbnQpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jl
bmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlci5weToKKyAgICAgICAgKEJyb3dzZXJEcml2ZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlcl9mYWN0b3J5LnB5OgorICAgICAgICAoQnJvd3NlckRyaXZlckZhY3Rv
cnkuY3JlYXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoT1NYQnJvd3Nl
ckRyaXZlci5fbGF1bmNoX3Byb2Nlc3MpOgorICAgICAgICAoT1NYQnJvd3NlckRyaXZlci5fbGF1
bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmZWluYXRlKTogRml4IHNwZWxsaW5nLgorICAgICAgICAoT1NY
QnJvd3NlckRyaXZlci5fbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmaW5hdGUpOiBEZWxldGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9vc3hfY2hyb21lX2RyaXZlci5weToKKyAgICAgICAgKE9TWENocm9tZUNhbmFyeURyaXZlci5s
YXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5OgorICAgICAgICAoT1NYRmlyZWZv
eE5pZ2h0bHlEcml2ZXIubGF1bmNoX3VybCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5OgorICAg
ICAgICAoT1NYU2FmYXJpRHJpdmVyLl9faW5pdF9fKToKKyAgICAgICAgKE9TWFNhZmFyaURyaXZl
ci5sYXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvcnVuX2JlbmNobWFyay5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAocnVu
X2JlbmNobWFya19wbGFuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChXZWJTZXJ2ZXJC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYnJv
d3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weToKKyAgICAgICAgKEZha2VC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorCiAyMDE4LTEyLTE5ICBNZWdhbiBHYXJkbmVyICA8
bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgY2xpZW50cyB0byBzZXQg
dGhlIG5hdmlnYXRvciBwbGF0Zm9ybQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpvbGQgbW9kZSAxMDA2
NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDc1ZTFjNjRjNzQyYTAwNDA0YTc3ZDZiNmRkZTUwMDU4
M2I5YTg4OGQuLjU4NzZkNjU0NTIxNTI3MTgxMmIwMTMzZDgyZjMwOGYwMGExOTNlYmIKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19ydW5uZXIucHkKQEAgLTIzLDcgKzIzLDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQogY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgbmFtZSA9ICdiZW5j
aG1hcmtfcnVubmVyJwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxf
Y29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBi
cm93c2VyLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2
aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2Nv
cHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJv
d3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVl
cz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwbGFu
X2ZpbGUgPSBzZWxmLl9maW5kX3BsYW5fZmlsZShwbGFuX2ZpbGUpCiAgICAgICAgICAgICB3aXRo
IG9wZW4ocGxhbl9maWxlLCAncicpIGFzIGZwOgpAQCAtMzUsNyArMzUsNyBAQCBjbGFzcyBCZW5j
aG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsnbG9j
YWxfY29weSddID0gbG9jYWxfY29weQogICAgICAgICAgICAgICAgIGlmIGNvdW50X292ZXJyaWRl
OgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9wbGFuWydjb3VudCddID0gY291bnRfb3ZlcnJp
ZGUKLSAgICAgICAgICAgICAgICBzZWxmLl9icm93c2VyX2RyaXZlciA9IEJyb3dzZXJEcml2ZXJG
YWN0b3J5LmNyZWF0ZShwbGF0Zm9ybSwgYnJvd3NlcikKKyAgICAgICAgICAgICAgICBzZWxmLl9i
cm93c2VyX2RyaXZlciA9IEJyb3dzZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShwbGF0Zm9ybSwgYnJv
d3NlciwgYnJvd3Nlcl9wYXRoKQogICAgICAgICAgICAgICAgIHNlbGYuX2J1aWxkX2RpciA9IG9z
LnBhdGguYWJzcGF0aChidWlsZF9kaXIpIGlmIGJ1aWxkX2RpciBlbHNlIE5vbmUKICAgICAgICAg
ICAgICAgICBzZWxmLl9vdXRwdXRfZmlsZSA9IG91dHB1dF9maWxlCiAgICAgICAgICAgICAgICAg
c2VsZi5fc2NhbGVfdW5pdCA9IHNjYWxlX3VuaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlci5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4
IGZmYTJjNjg4Y2I4M2UyNTZjNjlhYWY3ZDY2NWQzZmU2MzE3YmE4MjcuLjVkYjQ3NjhhMzE0ODFj
YjU3NzMyYjg2ZGQzYWY4YzE4N2Q5NGVhOGIKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9icm93
c2VyX2RyaXZlci5weQpAQCAtMTAsNiArMTAsOSBAQCBjbGFzcyBCcm93c2VyRHJpdmVyKG9iamVj
dCk6CiAKICAgICBfX19tZXRhY2xhc3NfX18gPSBBQkNNZXRhCiAKKyAgICBkZWYgX19pbml0X18o
c2VsZiwgYnJvd3Nlcl9wYXRoKToKKyAgICAgICAgc2VsZi5fYnJvd3Nlcl9wYXRoID0gYnJvd3Nl
cl9wYXRoCisKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgcHJlcGFyZV9lbnYoc2VsZiwg
Y29uZmlnKToKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyX2ZhY3Rvcnku
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2
ZXIvYnJvd3Nlcl9kcml2ZXJfZmFjdG9yeS5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAw
NzU1CmluZGV4IGIyN2ZkN2UyOWY4ZGQ3MTI1ZDc5MzUxMjhjODU0ZDc5MzBkMzJlN2UuLjIxNTc1
OWVlYTBiNDRkZDI0NmQ2MmVmYjIwNDNmZjRjOTFlYzg5OGUKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyX2Zh
Y3RvcnkucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jy
b3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVyX2ZhY3RvcnkucHkKQEAgLTI4LDcgKzI4LDcgQEAg
Y2xhc3MgQnJvd3NlckRyaXZlckZhY3Rvcnkob2JqZWN0KToKICAgICAgICAgY2xzLmJyb3dzZXJf
ZHJpdmVyc1twbGF0Zm9ybV1bYnJvd3Nlcl9uYW1lXSA9IGJyb3dzZXJfZHJpdmVyX2NsYXNzCiAK
ICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgY3JlYXRlKGNscywgcGxhdGZvcm0sIGJyb3dzZXJf
bmFtZSk6CisgICAgZGVmIGNyZWF0ZShjbHMsIHBsYXRmb3JtLCBicm93c2VyX25hbWUsIGJyb3dz
ZXJfcGF0aCk6CiAgICAgICAgIGlmIGJyb3dzZXJfbmFtZSBub3QgaW4gY2xzLmJyb3dzZXJfZHJp
dmVyc1twbGF0Zm9ybV06CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJCcm93c2VyIFwi
JXNcIiBpcyBub3QgYXZhaWxhYmxlIG9uIHBsYXRmb3JtIFwiJXNcIiIgJSAoYnJvd3Nlcl9uYW1l
LCBwbGF0Zm9ybSkpCi0gICAgICAgIHJldHVybiBjbHMuYnJvd3Nlcl9kcml2ZXJzW3BsYXRmb3Jt
XVticm93c2VyX25hbWVdKCkKKyAgICAgICAgcmV0dXJuIGNscy5icm93c2VyX2RyaXZlcnNbcGxh
dGZvcm1dW2Jyb3dzZXJfbmFtZV0oYnJvd3Nlcl9wYXRoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2Vy
X2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93
c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2ZXIucHkKaW5kZXggNTA1YzIyMTAzMjdjY2U5ZGQ3
M2RhMWI4MjVhMDQzODVmOTAxNTc0My4uOTA5NTkzMWMzNDY1YjIzYjMzMTY3M2ZlZWNmOTdjODJi
MmQ2NjJhYSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJf
ZHJpdmVyLnB5CkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIE9TWEJyb3dzZXJEcml2ZXIoQnJvd3Nl
ckRyaXZlcik6CiAKICAgICAgICAgIyBGSVhNRTogTWF5IG5lZWQgdG8gYmUgbW9kaWZpZWQgZm9y
IGEgbG9jYWwgYnVpbGQgc3VjaCBhcyBzZXR0aW5nIHVwIERZTEQgbGlicmFyaWVzCiAgICAgICAg
IGFyZ3MgPSBbJ29wZW4nLCAnLWEnLCBhcHBfcGF0aF0gKyBhcmdzCi0gICAgICAgIGNscy5fbGF1
bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmaW5hdGUoYXJncykKKyAgICAgICAgY2xzLl9sYXVuY2hfcHJv
Y2Vzc193aXRoX2NhZmZlaW5hdGUoYXJncykKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBf
bGF1bmNoX3dlYmRyaXZlcihjbHMsIHVybCwgZHJpdmVyKToKQEAgLTU3LDggKzU3LDEzIEBAIGNs
YXNzIE9TWEJyb3dzZXJEcml2ZXIoQnJvd3NlckRyaXZlcik6CiAgICAgICAgIHN1YnByb2Nlc3Mu
Y2FsbChbJy91c3IvYmluL2tpbGxhbGwnLCBwcm9jZXNzX25hbWVdKQogCiAgICAgQGNsYXNzbWV0
aG9kCi0gICAgZGVmIF9sYXVuY2hfcHJvY2Vzc193aXRoX2NhZmZpbmF0ZShjbHMsIGFyZ3MsIGVu
dj1Ob25lKToKLSAgICAgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywgZW52PWVu
dikKKyAgICBkZWYgX2xhdW5jaF9wcm9jZXNzX3dpdGhfY2FmZmVpbmF0ZShjbHMsIGFyZ3MsIGVu
dj1Ob25lKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3Mu
UG9wZW4oYXJncywgZW52PWVudikKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnJvcjoK
KyAgICAgICAgICAgIF9sb2cuZXJyb3IoJ1BvcGVuIGZhaWxlZDoge2Vycm9yfScuZm9ybWF0KGVy
cm9yPWVycm9yKSkKKyAgICAgICAgICAgIHJldHVybgorCiAgICAgICAgIHN1YnByb2Nlc3MuUG9w
ZW4oWyIvdXNyL2Jpbi9jYWZmZWluYXRlIiwgIi1kaXN3Iiwgc3RyKHByb2Nlc3MucGlkKV0pCiAg
ICAgICAgIHJldHVybiBwcm9jZXNzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9v
c3hfY2hyb21lX2RyaXZlci5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4
IDQzYjNjN2VlMjAxNDViZjBhYWExMDUyZWIwZTkyZjkxM2NlMzY1NzcuLjBjOTQxOTJjMWY2NmJk
NzEyYzJjNDg0Y2MwNjUyYTdjOTg4NjBmMzYKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVfZHJpdmVyLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9v
c3hfY2hyb21lX2RyaXZlci5weQpAQCAtMzgsNiArMzgsNyBAQCBjbGFzcyBPU1hDaHJvbWVDYW5h
cnlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgYXBwX25hbWUgPSAnR29vZ2xlIENocm9t
ZSBDYW5hcnkuYXBwJwogCiAgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBi
cm93c2VyX2J1aWxkX3BhdGgpOgorICAgICAgICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nl
cl9wYXRoLgogICAgICAgICBhcmdzX3dpdGhfdXJsID0gc2VsZi5faW5zZXJ0X3VybChjcmVhdGVf
YXJncygpLCAyLCB1cmwpCiAgICAgICAgIHNlbGYuX2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1i
cm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1lPXNlbGYuYXBwX25hbWUsIHVybD11cmwsIGFyZ3M9
YXJnc193aXRoX3VybCkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfZmly
ZWZveF9kcml2ZXIucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBhMjNk
MjUyMjEwZDcxYzFkYzZjNWQ0Njk5MTg3NjU5N2M0MGUyNTdjLi45OTA3Y2VkNWFiNjI5NDA2Njgw
MDVhMDY4ZmYyYmE2NGY3N2IxZDg5Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9m
aXJlZm94X2RyaXZlci5weQpAQCAtMzksNiArMzksNyBAQCBjbGFzcyBPU1hGaXJlZm94TmlnaHRs
eURyaXZlcihPU1hCcm93c2VyRHJpdmVyKToKICAgICBhcHBfbmFtZSA9ICdGaXJlZm94TmlnaHRs
eS5hcHAnCiAKICAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJf
YnVpbGRfcGF0aCk6CisgICAgICAgICMgRklYTUU6IGhhbmRsZSBzZWxmLl9icm93c2VyX3BhdGgu
CiAgICAgICAgIGFyZ3Nfd2l0aF91cmwgPSBzZWxmLl9pbnNlcnRfdXJsKGNyZWF0ZV9hcmdzKCks
IDAsIHVybCkKICAgICAgICAgc2VsZi5fbGF1bmNoX3Byb2Nlc3MoYnVpbGRfZGlyPWJyb3dzZXJf
YnVpbGRfcGF0aCwgYXBwX25hbWU9c2VsZi5hcHBfbmFtZSwgdXJsPXVybCwgYXJncz1hcmdzX3dp
dGhfdXJsKQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2
ZXIucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCBhMjBhZGE0NGM5MGJj
OGQ3MDRlZWYxNjBjMTUwODIxM2E0YmNjM2E4Li5hZmYzMDdlZDA3ZGJjZDJkNjFkNGIyNTgwYjM5
YjU3NzgwM2Q3OWRkCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2
ZXIucHkKQEAgLTE2LDYgKzE2LDkgQEAgY2xhc3MgT1NYU2FmYXJpRHJpdmVyKE9TWEJyb3dzZXJE
cml2ZXIpOgogICAgIHByb2Nlc3NfbmFtZSA9ICdTYWZhcmknCiAgICAgYnJvd3Nlcl9uYW1lID0g
J3NhZmFyaScKIAorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm93c2VyX3BhdGgpOgorICAgICAg
ICBzdXBlcihPU1hTYWZhcmlEcml2ZXIsIHNlbGYpLl9faW5pdF9fKGJyb3dzZXJfcGF0aCkKKwog
ICAgIGRlZiBwcmVwYXJlX2VudihzZWxmLCBjb25maWcpOgogICAgICAgICBzZWxmLl9zYWZhcmlf
cHJvY2VzcyA9IE5vbmUKICAgICAgICAgc3VwZXIoT1NYU2FmYXJpRHJpdmVyLCBzZWxmKS5wcmVw
YXJlX2Vudihjb25maWcpCkBAIC0zNCwxMCArMzcsMTYgQEAgY2xhc3MgT1NYU2FmYXJpRHJpdmVy
KE9TWEJyb3dzZXJEcml2ZXIpOgogICAgICAgICAgICAgICAgIGVudiA9IHsnRFlMRF9GUkFNRVdP
UktfUEFUSCc6IGJyb3dzZXJfYnVpbGRfcGF0aCwgJ0RZTERfTElCUkFSWV9QQVRIJzogYnJvd3Nl
cl9idWlsZF9wYXRoLCAnX19YUENfRFlMRF9GUkFNRVdPUktfUEFUSCc6IGJyb3dzZXJfYnVpbGRf
cGF0aCwgJ19fWFBDX0RZTERfTElCUkFSWV9QQVRIJzogYnJvd3Nlcl9idWlsZF9wYXRofQogICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ0NvdWxkIG5vdCBmaW5k
IFNhZmFyaS5hcHAgYXQgJXMsIHVzaW5nIHRoZSBzeXN0ZW0gU2FmYXJpIGluc3RlYWQnICUgc2Fm
YXJpX2FwcF9pbl9idWlsZF9wYXRoKQorICAgICAgICBlbGlmIHNlbGYuX2Jyb3dzZXJfcGF0aDoK
KyAgICAgICAgICAgIHNhZmFyaV9hcHBfaW5fYnJvd3Nlcl9wYXRoID0gb3MucGF0aC5qb2luKHNl
bGYuX2Jyb3dzZXJfcGF0aCwgJ0NvbnRlbnRzL01hY09TL1NhZmFyaScpCisgICAgICAgICAgICBp
ZiBvcy5wYXRoLmV4aXN0cyhzYWZhcmlfYXBwX2luX2Jyb3dzZXJfcGF0aCk6CisgICAgICAgICAg
ICAgICAgYXJncyA9IFtzYWZhcmlfYXBwX2luX2Jyb3dzZXJfcGF0aF0KKyAgICAgICAgICAgIGVs
c2U6CisgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCdDb3VsZCBub3QgZmluZCBhcHBsaWNhdGlv
biBhdCAlcywgdXNpbmcgdGhlIHN5c3RlbSBTYWZhcmkgaW5zdGVhZCcgJSBzYWZhcmlfYXBwX2lu
X2Jyb3dzZXJfcGF0aCkKIAogICAgICAgICBhcmdzLmV4dGVuZChzZWxmLl9zYWZhcmlfcHJlZmVy
ZW5jZXMpCiAgICAgICAgIF9sb2cuaW5mbygnTGF1bmNoaW5nIHNhZmFyaTogJXMgd2l0aCB1cmw6
ICVzJyAlIChhcmdzWzBdLCB1cmwpKQotICAgICAgICBzZWxmLl9zYWZhcmlfcHJvY2VzcyA9IE9T
WFNhZmFyaURyaXZlci5fbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmaW5hdGUoYXJncywgZW52KQor
ICAgICAgICBzZWxmLl9zYWZhcmlfcHJvY2VzcyA9IE9TWFNhZmFyaURyaXZlci5fbGF1bmNoX3By
b2Nlc3Nfd2l0aF9jYWZmZWluYXRlKGFyZ3MsIGVudikKIAogICAgICAgICAjIFN0b3AgZm9yIGlu
aXRpYWxpemF0aW9uIG9mIHRoZSBzYWZhcmkgcHJvY2Vzcywgb3RoZXJ3aXNlLCBvcGVuCiAgICAg
ICAgICMgY29tbWFuZCBtYXkgdXNlIHRoZSBzeXN0ZW0gc2FmYXJpLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9iZW5jaG1hcmsucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFyay5weQpp
bmRleCA4NzUyZjJiNmZjNzZiNDQxMGJiNGJjNjQ2NTBjN2U4YTY5MjVmOWJkLi41MmQyZmU4OTZh
YzFkNDg3ODUwOGFlOGJlNGM0YTE0YWQxYjYwNjI2IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFyay5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFyay5weQpAQCAtNDQs
NiArNDQsNyBAQCBkZWYgcGFyc2VfYXJncygpOgogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
Y291bnQnLCB0eXBlPWludCwgaGVscD0nTnVtYmVyIG9mIHRpbWVzIHRvIHJ1biB0aGUgYmVuY2ht
YXJrIChlLmcuIDUpLicpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kcml2ZXInLCBkZWZh
dWx0PVdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1lLCBjaG9pY2VzPWJlbmNobWFya19ydW5u
ZXJfc3ViY2xhc3Nlcy5rZXlzKCksIGhlbHA9J1VzZSB0aGUgc3BlY2lmaWVkIGJlbmNobWFyayBk
cml2ZXIuIERlZmF1bHRzIHRvICVzLicgJSBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIubmFtZSkK
ICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJyb3dzZXInLCBkZWZhdWx0PWRlZmF1bHRfYnJv
d3NlcigpLCBjaG9pY2VzPUJyb3dzZXJEcml2ZXJGYWN0b3J5LmF2YWlsYWJsZV9icm93c2Vycygp
LCBoZWxwPSdCcm93c2VyIHRvIHJ1biB0aGUgbmVjaG1hcmsgaW4uIERlZmF1bHRzIHRvICVzLicg
JSBkZWZhdWx0X2Jyb3dzZXIoKSkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWJyb3dzZXIt
cGF0aCcsIGhlbHA9J1NwZWNpZnkgdGhlIHBhdGggdG8gYSBub24tZGVmYXVsdCBjb3B5IG9mIHRo
ZSB0YXJnZXQgYnJvd3NlciBhcyBhIHBhdGggdG8gdGhlIC5hcHAuJykKICAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCctLXBsYXRmb3JtJywgZGVmYXVsdD1kZWZhdWx0X3BsYXRmb3JtKCksIGNob2lj
ZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX3BsYXRmb3JtcygpLCBoZWxwPSdQbGF0
Zm9ybSB0aGF0IHRoaXMgc2NyaXB0IGlzIHJ1bm5pbmcgb24uIERlZmF1bHRzIHRvICVzLicgJSBk
ZWZhdWx0X3BsYXRmb3JtKCkpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5
JywgaGVscD0nUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyayAoZS5nLiBQZXJm
b3JtYW5jZVRlc3RzL1N1blNwaWRlci8pLicpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1k
ZXZpY2UtaWQnLCBkZWZhdWx0PU5vbmUsIGhlbHA9J1VuZG9jdW1lbnRlZCBvcHRpb24gZm9yIG1v
YmlsZSBkZXZpY2UgdGVzdGluZy4nKQpAQCAtNjUsNyArNjYsNyBAQCBkZWYgcGFyc2VfYXJncygp
OgogCiBkZWYgcnVuX2JlbmNobWFya19wbGFuKGFyZ3MsIHBsYW4pOgogICAgIGJlbmNobWFya19y
dW5uZXJfY2xhc3MgPSBiZW5jaG1hcmtfcnVubmVyX3N1YmNsYXNzZXNbYXJncy5kcml2ZXJdCi0g
ICAgcnVubmVyID0gYmVuY2htYXJrX3J1bm5lcl9jbGFzcyhwbGFuLCBhcmdzLmxvY2FsX2NvcHks
IGFyZ3MuY291bnQsIGFyZ3MuYnVpbGRfZGlyLCBhcmdzLm91dHB1dF9maWxlLCBhcmdzLnBsYXRm
b3JtLCBhcmdzLmJyb3dzZXIsIGFyZ3Muc2NhbGVfdW5pdCwgYXJncy5zaG93X2l0ZXJhdGlvbl92
YWx1ZXMsIGFyZ3MuZGV2aWNlX2lkKQorICAgIHJ1bm5lciA9IGJlbmNobWFya19ydW5uZXJfY2xh
c3MocGxhbiwgYXJncy5sb2NhbF9jb3B5LCBhcmdzLmNvdW50LCBhcmdzLmJ1aWxkX2RpciwgYXJn
cy5vdXRwdXRfZmlsZSwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93c2VyLCBhcmdzLmJyb3dzZXJf
cGF0aCwgYXJncy5zY2FsZV91bml0LCBhcmdzLnNob3dfaXRlcmF0aW9uX3ZhbHVlcywgYXJncy5k
ZXZpY2VfaWQpCiAgICAgcnVubmVyLmV4ZWN1dGUoKQogCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5l
ci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJf
YmVuY2htYXJrX3J1bm5lci5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4
IGIwY2I4OGQ5MTczNzNmOTM2ODQ2ODllNDhiMTlkOTFhNGIwZjg1ZjUuLmVjMjNmMjJiOWVhOGJm
NGQ1NTQ5ODY4N2Y0MGVjNjJjZjVlNDc2M2QKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5jaG1hcmtfcnVubmVyLnB5CisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1
bm5lci5weQpAQCAtMTUsMTAgKzE1LDEwIEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKIGNsYXNzIFdlYlNlcnZlckJlbmNobWFya1J1bm5lcihCZW5jaG1hcmtSdW5uZXIpOgog
ICAgIG5hbWUgPSAnd2Vic2VydmVyJwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmls
ZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBs
YXRmb3JtLCBicm93c2VyLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1G
YWxzZSwgZGV2aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUs
IGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0
Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0
aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUpOgogICAgICAgICBzZWxmLl9odHRwX3Nl
cnZlcl9kcml2ZXIgPSBIVFRQU2VydmVyRHJpdmVyRmFjdG9yeS5jcmVhdGUocGxhdGZvcm0pCiAg
ICAgICAgIHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlci5zZXRfZGV2aWNlX2lkKGRldmljZV9pZCkK
LSAgICAgICAgc3VwZXIoV2ViU2VydmVyQmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2luaXRfXyhw
bGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9m
aWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwgc2NhbGVfdW5pdCwgc2hvd19pdGVyYXRpb25fdmFsdWVz
LCBkZXZpY2VfaWQpCisgICAgICAgIHN1cGVyKFdlYlNlcnZlckJlbmNobWFya1J1bm5lciwgc2Vs
ZikuX19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRf
ZGlyLCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVf
dW5pdCwgc2hvd19pdGVyYXRpb25fdmFsdWVzLCBkZXZpY2VfaWQpCiAKICAgICBkZWYgX2dldF9y
ZXN1bHQoc2VsZiwgdGVzdF91cmwpOgogICAgICAgICByZXN1bHQgPSBzZWxmLl9icm93c2VyX2Ry
aXZlci5hZGRfYWRkaXRpb25hbF9yZXN1bHRzKHRlc3RfdXJsLCBzZWxmLl9odHRwX3NlcnZlcl9k
cml2ZXIuZmV0Y2hfcmVzdWx0KCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkK
b2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCAzNDYxNTE4NjQxNGRkZDcxYzBh
OWMwMmFkN2ZiOTVhNDYzNTNmODFlLi4zMjVmOGE2YWQ0MmYxZmVhYzVjNTkxYzhmYzMyNjFhZjY3
MDFjZTFiCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3NlcnBlcmZkYXNoL2Jyb3dz
ZXJwZXJmZGFzaF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dz
ZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkKQEAgLTQwLDggKzQwLDggQEAg
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgRmFrZUJlbmNobWFya1J1
bm5lcihCZW5jaG1hcmtSdW5uZXIpOgogICAgIG5hbWUgPSAnZmFrZScKIAotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9k
aXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlcik6Ci0gICAgICAgIHN1cGVyKEZha2VC
ZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291
bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyKQor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJy
aWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9w
YXRoKToKKyAgICAgICAgc3VwZXIoRmFrZUJlbmNobWFya1J1bm5lciwgc2VsZikuX19pbml0X18o
cGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRf
ZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCkKIAogICAgIGRlZiBleGVjdXRl
KHNlbGYpOgogICAgICAgICByZXR1cm4gVHJ1ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357879</attachid>
            <date>2018-12-20 15:35:06 -0800</date>
            <delta_ts>2018-12-20 15:47:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192905-20181220153506.patch</filename>
            <type>text/plain</type>
            <size>24293</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzY4ZGI0YzM3NDE1NTY2YmIwODViZGY4MTRhYzUyYTJk
ZTM4YWZmMi4uODY4M2Q1OTMxZDNhMDU5ZWZjNjQyMWVkMmVkYWU0ODE0N2ZjNDdlMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE4LTEyLTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IHRvIHJ1bi1iZW5jaG1hcmsgdG8gdXNlIG5vbi1kZWZhdWx0
IGNvcGllcyBvZiB0aGUgYnJvd3NlciBhcHBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI5MDUKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDY4NDU4
NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBhIC0tYnJvd3Nlci1wYXRoIGFyZ3VtZW50IHRvIHJ1bi1iZW5j
aG1hcmssIHdoaWNoIGFsbG93cyB5b3UgdG8gdXNlCisgICAgICAgIGEgY3VzdG9tIGFwcCBidW5k
bGUgZm9yIGEgZ2l2ZW4gYnJvd3NlciAob25seSBpbXBsZW1lbnRlZCBmb3IgU2FmYXJpIGF0IHBy
ZXNlbnQpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jl
bmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlci5weToKKyAgICAgICAgKEJyb3dzZXJEcml2ZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlcl9mYWN0b3J5LnB5OgorICAgICAgICAoQnJvd3NlckRyaXZlckZhY3Rv
cnkuY3JlYXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoT1NYQnJvd3Nl
ckRyaXZlci5fbGF1bmNoX3Byb2Nlc3MpOgorICAgICAgICAoT1NYQnJvd3NlckRyaXZlci5fbGF1
bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmZWluYXRlKTogRml4IHNwZWxsaW5nLgorICAgICAgICAoT1NY
QnJvd3NlckRyaXZlci5fbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmaW5hdGUpOiBEZWxldGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9vc3hfY2hyb21lX2RyaXZlci5weToKKyAgICAgICAgKE9TWENocm9tZUNhbmFyeURyaXZlci5s
YXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5OgorICAgICAgICAoT1NYRmlyZWZv
eE5pZ2h0bHlEcml2ZXIubGF1bmNoX3VybCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5OgorICAg
ICAgICAoT1NYU2FmYXJpRHJpdmVyLl9faW5pdF9fKToKKyAgICAgICAgKE9TWFNhZmFyaURyaXZl
ci5sYXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvcnVuX2JlbmNobWFyay5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAocnVu
X2JlbmNobWFya19wbGFuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChXZWJTZXJ2ZXJC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYnJv
d3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weToKKyAgICAgICAgKEZha2VC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorCiAyMDE4LTEyLTIwICBKb25hdGhhbiBCZWRhcmQg
IDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWJraXRweTogQXV0b2luc3RhbGwgcGFj
a2FnZSBVUkxzIGhhdmUgY2hhbmdlZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpvbGQgbW9kZSAxMDA2
NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDc1ZTFjNjRjNzQyYTAwNDA0YTc3ZDZiNmRkZTUwMDU4
M2I5YTg4OGQuLjc1N2Q4YjhhZGFkNmJhMmIzYjhlMWZmOWFlYmU2NDdmZWM3NjRkN2YKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19ydW5uZXIucHkKQEAgLTIzLDcgKzIzLDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQogY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgbmFtZSA9ICdiZW5j
aG1hcmtfcnVubmVyJwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxf
Y29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBi
cm93c2VyLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2
aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2Nv
cHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJv
d3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVl
cz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwbGFu
X2ZpbGUgPSBzZWxmLl9maW5kX3BsYW5fZmlsZShwbGFuX2ZpbGUpCiAgICAgICAgICAgICB3aXRo
IG9wZW4ocGxhbl9maWxlLCAncicpIGFzIGZwOgpAQCAtMzYsNiArMzYsNyBAQCBjbGFzcyBCZW5j
aG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBpZiBjb3VudF9vdmVycmlkZToK
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsnY291bnQnXSA9IGNvdW50X292ZXJyaWRl
CiAgICAgICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9kcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFj
dG9yeS5jcmVhdGUocGxhdGZvcm0sIGJyb3dzZXIpCisgICAgICAgICAgICAgICAgc2VsZi5fYnJv
d3Nlcl9wYXRoID0gYnJvd3Nlcl9wYXRoCiAgICAgICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGly
ID0gb3MucGF0aC5hYnNwYXRoKGJ1aWxkX2RpcikgaWYgYnVpbGRfZGlyIGVsc2UgTm9uZQogICAg
ICAgICAgICAgICAgIHNlbGYuX291dHB1dF9maWxlID0gb3V0cHV0X2ZpbGUKICAgICAgICAgICAg
ICAgICBzZWxmLl9zY2FsZV91bml0ID0gc2NhbGVfdW5pdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJp
dmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUK
aW5kZXggZmZhMmM2ODhjYjgzZTI1NmM2OWFhZjdkNjY1ZDNmZTYzMTdiYTgyNy4uZjFhZjU3ZTlh
ZGUyNzU2YzhiNGRjZGJiZWFiMGI3NzBkMWM1N2YzMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvYnJvd3Nlcl9kcml2ZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVy
L2Jyb3dzZXJfZHJpdmVyLnB5CkBAIC0xNSw3ICsxNSw3IEBAIGNsYXNzIEJyb3dzZXJEcml2ZXIo
b2JqZWN0KToKICAgICAgICAgcGFzcwogCiAgICAgQGFic3RyYWN0bWV0aG9kCi0gICAgZGVmIGxh
dW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGg9Tm9uZSk6Cisg
ICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGg9
Tm9uZSwgYnJvd3Nlcl9wYXRoPU5vbmUpOgogICAgICAgICBwYXNzCiAKICAgICBAYWJzdHJhY3Rt
ZXRob2QKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlcl9mYWN0b3J5LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVy
X2ZhY3RvcnkucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2Jyb3dzZXJfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4IDk4YjU5
OGM5YzNjNTc1NWRjZmE2MWU3Yjc0NWM3OTVhY2MyZGRkN2IuLjcyOGQ1MGI0YTdiOTI1ZmUyYWRk
NDVlZjhlM2QyM2MzZTBkNWQwMjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9saW51eF9icm93c2VyX2RyaXZlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2
ZXIvbGludXhfYnJvd3Nlcl9kcml2ZXIucHkKQEAgLTg4LDcgKzg4LDcgQEAgY2xhc3MgTGludXhC
cm93c2VyRHJpdmVyKEJyb3dzZXJEcml2ZXIpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJyb3dzZXJfbmFtZT1zZWxmLmJyb3dzZXJfbmFtZSwgYnJvd3Nlcl9waWQ9c2VsZi5fYnJvd3Nl
cl9wcm9jZXNzLnBpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyX3JldGNv
ZGU9c2VsZi5fYnJvd3Nlcl9wcm9jZXNzLnJldHVybmNvZGUpKQogCi0gICAgZGVmIGxhdW5jaF91
cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVu
Y2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3Bh
dGgpOgogICAgICAgICBpZiBub3Qgc2VsZi5fYnJvd3Nlcl9hcmd1bWVudHM6CiAgICAgICAgICAg
ICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9IFt1cmxdCiAgICAgICAgIGV4ZWNfYXJncyA9IFtz
ZWxmLnByb2Nlc3NfbmFtZV0gKyBzZWxmLl9icm93c2VyX2FyZ3VtZW50cwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2Nocm9tZV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfY2hyb21lX2RyaXZlci5weQppbmRleCBjZWYyODY3
OTQwN2ViNjdmYTFhNzc0N2FiYzY4YjA1ZDdhNDU5NDU2Li40Nzk4NjAzYjJhNTMwZTU1N2ExOTFl
ODgxMzQ1YjkxNTQxZmYxYTk5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfY2hyb21lX2RyaXZlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIv
bGludXhfY2hyb21lX2RyaXZlci5weQpAQCAtMzMsMTAgKzMzLDEwIEBAIGNsYXNzIExpbnV4Q2hy
b21lRHJpdmVyKExpbnV4QnJvd3NlckRyaXZlcik6CiAgICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9t
ZScKICAgICBwcm9jZXNzX3NlYXJjaF9saXN0ID0gWydjaHJvbWl1bScsICdjaHJvbWl1bS1icm93
c2VyJywgJ2Nocm9tZSddCiAKLSAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMs
IGJyb3dzZXJfYnVpbGRfcGF0aCk6CisgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRp
b25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJyb3dzZXJfcGF0aCk6CiAgICAgICAgIHNlbGYuX2Jy
b3dzZXJfYXJndW1lbnRzID0gWyctLXRlbXAtcHJvZmlsZScsICctLXN0YXJ0LW1heGltaXplZCcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWhvbWVwYWdlJywgdXJsXQot
ICAgICAgICBzdXBlcihMaW51eENocm9tZURyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9w
dGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCkKKyAgICAgICAgc3VwZXIoTGludXhDaHJvbWVEcml2
ZXIsIHNlbGYpLmxhdW5jaF91cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJy
b3dzZXJfcGF0aCkKIAogICAgIGRlZiBsYXVuY2hfZHJpdmVyKHNlbGYsIHVybCwgb3B0aW9ucywg
YnJvd3Nlcl9idWlsZF9wYXRoKToKICAgICAgICAgaW1wb3J0IHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC5zZWxlbml1bQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2VwaXBoYW55X2RyaXZlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9saW51eF9lcGlwaGFueV9kcml2ZXIucHkKaW5kZXggZDJjNjAwZTMxMjFiZjk5NGFkNjVmNzQz
NjI5MDg0ZGM4YjIyZjYyYi4uYjc0YTJmODJkNWQ2M2VlNGRlNWU1N2YwNDY5ZGVlZjQ3MTJhYzNl
NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jy
b3dzZXJfZHJpdmVyL2xpbnV4X2VwaXBoYW55X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfZXBpcGhhbnlf
ZHJpdmVyLnB5CkBAIC0zMSwxMSArMzEsMTEgQEAgY2xhc3MgRXBpcGhhbnlCcm93c2VyRHJpdmVy
KExpbnV4QnJvd3NlckRyaXZlcik6CiAgICAgYnJvd3Nlcl9uYW1lID0gJ2VwaXBoYW55JwogICAg
IHByb2Nlc3Nfc2VhcmNoX2xpc3QgPSBbJ2VwaXBoYW55JywgJ2VwaXBoYW55LWJyb3dzZXInXQog
Ci0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3Bh
dGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWls
ZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9
IFsnLS1uZXctd2luZG93JywgJy1wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tcHJvZmlsZT17cHJvZmlsZX0nLmZvcm1hdChwcm9maWxlPXNlbGYuX3RlbXBfcHJvZmls
ZWRpciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF0KLSAgICAgICAg
c3VwZXIoRXBpcGhhbnlCcm93c2VyRHJpdmVyLCBzZWxmKS5sYXVuY2hfdXJsKHVybCwgb3B0aW9u
cywgYnJvd3Nlcl9idWlsZF9wYXRoKQorICAgICAgICBzdXBlcihFcGlwaGFueUJyb3dzZXJEcml2
ZXIsIHNlbGYpLmxhdW5jaF91cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJy
b3dzZXJfcGF0aCkKIAogICAgIGRlZiBsYXVuY2hfZHJpdmVyKHNlbGYsIHVybCwgb3B0aW9ucywg
YnJvd3Nlcl9idWlsZF9wYXRoKToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQnJvd3NlciB7
YnJvd3Nlcn0gaXMgbm90IGF2YWlsYWJsZSB3aXRoIHdlYmRyaXZlciIuZm9ybWF0KGJyb3dzZXI9
c2VsZi5icm93c2VyX25hbWUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2ZpcmVmb3hfZHJpdmVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2ZpcmVmb3hfZHJpdmVyLnB5CmluZGV4IDRjYjNjZjFhMWVjMmNiNDZlMWRlODgyMTQ4NmMy
NjkyN2M4Njg1ZTAuLmRmZjc2NGMxN2YxYzNjMjJhOTA0NGY3YTQ1YzcyZDhkOTBkNGMzZjIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9saW51eF9maXJlZm94X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfZmlyZWZveF9kcml2ZXIu
cHkKQEAgLTMzLDEyICszMywxMiBAQCBjbGFzcyBMaW51eEZpcmVmb3hEcml2ZXIoTGludXhCcm93
c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnZmlyZWZveCcKICAgICBwcm9jZXNzX3Nl
YXJjaF9saXN0ID0gWydmaXJlZm94JywgJ2ZpcmVmb3gtYmluJ10KIAotICAgIGRlZiBsYXVuY2hf
dXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1
bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9w
YXRoKToKICAgICAgICAgc2VsZi5fYnJvd3Nlcl9hcmd1bWVudHMgPSBbJy1uZXctaW5zdGFuY2Un
LCAnLXByb2ZpbGUnLCBzZWxmLl90ZW1wX3Byb2ZpbGVkaXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctd2lkdGgnLCBzdHIoc2VsZi5fc2NyZWVuX3NpemUoKS53aWR0aCks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctaGVpZ2h0Jywgc3RyKHNlbGYu
X3NjcmVlbl9zaXplKCkuaGVpZ2h0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsXQotICAgICAgICBzdXBlcihMaW51eEZpcmVmb3hEcml2ZXIsIHNlbGYpLmxhdW5jaF91
cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpCisgICAgICAgIHN1cGVyKExpbnV4
RmlyZWZveERyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVp
bGRfcGF0aCwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGxhdW5jaF9kcml2ZXIoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgogICAgICAgICBpbXBvcnQgd2Via2l0cHku
dGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkLnNlbGVuaXVtCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfbWluaWJy
b3dzZXJndGtfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X21pbmlicm93c2VyZ3RrX2RyaXZlci5weQppbmRleCAz
MTQ4ZjdmNzA0NjgxNGYxOWUyNGVlNDE0ZmIzZDRlMDFkMDhkMmZmLi5lOGQ1YzA5ZjYxYzc3MTU5
MGIzMjYwZWY1OTQ0ODdiNDZmZTBkN2ZiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfbWluaWJyb3dzZXJndGtf
ZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9saW51eF9taW5pYnJvd3Nlcmd0a19kcml2ZXIucHkKQEAgLTMxLDEzICsz
MSwxMyBAQCBjbGFzcyBHVEtNaW5pQnJvd3NlckRyaXZlcihMaW51eEJyb3dzZXJEcml2ZXIpOgog
ICAgIGJyb3dzZXJfbmFtZSA9ICdtaW5pYnJvd3Nlci1ndGsnCiAgICAgcHJvY2Vzc19zZWFyY2hf
bGlzdCA9IFsnVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXInLCAnTWluaUJyb3dzZXInXQog
Ci0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3Bh
dGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWls
ZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9
IFtdCiAgICAgICAgIGlmIHNlbGYucHJvY2Vzc19uYW1lLmVuZHN3aXRoKCdydW4tbWluaWJyb3dz
ZXInKToKICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfYXJndW1lbnRzLmFwcGVuZCgnLS1ndGsn
KQogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cy5hcHBlbmQoJy0tZ2VvbWV0cnk9e3d9
eHtofScuZm9ybWF0KHc9c2VsZi5fc2NyZWVuX3NpemUoKS53aWR0aCwgaD1zZWxmLl9zY3JlZW5f
c2l6ZSgpLmhlaWdodCkpCiAgICAgICAgIHNlbGYuX2Jyb3dzZXJfYXJndW1lbnRzLmFwcGVuZCh1
cmwpCi0gICAgICAgIHN1cGVyKEdUS01pbmlCcm93c2VyRHJpdmVyLCBzZWxmKS5sYXVuY2hfdXJs
KHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKQorICAgICAgICBzdXBlcihHVEtNaW5p
QnJvd3NlckRyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVp
bGRfcGF0aCwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGxhdW5jaF9kcml2ZXIoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9y
KCJCcm93c2VyIHticm93c2VyfSBpcyBub3QgYXZhaWxhYmxlIHdpdGggd2ViZHJpdmVyIi5mb3Jt
YXQoYnJvd3Nlcj1zZWxmLmJyb3dzZXJfbmFtZSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJp
dmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQppbmRleCA1MDVjMjIxMDMyN2NjZTlkZDczZGEx
YjgyNWEwNDM4NWY5MDE1NzQzLi45MDk1OTMxYzM0NjViMjNiMzMxNjczZmVlY2Y5N2M4MmIyZDY2
MmFhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2
ZXIucHkKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJp
dmVyKToKIAogICAgICAgICAjIEZJWE1FOiBNYXkgbmVlZCB0byBiZSBtb2RpZmllZCBmb3IgYSBs
b2NhbCBidWlsZCBzdWNoIGFzIHNldHRpbmcgdXAgRFlMRCBsaWJyYXJpZXMKICAgICAgICAgYXJn
cyA9IFsnb3BlbicsICctYScsIGFwcF9wYXRoXSArIGFyZ3MKLSAgICAgICAgY2xzLl9sYXVuY2hf
cHJvY2Vzc193aXRoX2NhZmZpbmF0ZShhcmdzKQorICAgICAgICBjbHMuX2xhdW5jaF9wcm9jZXNz
X3dpdGhfY2FmZmVpbmF0ZShhcmdzKQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9sYXVu
Y2hfd2ViZHJpdmVyKGNscywgdXJsLCBkcml2ZXIpOgpAQCAtNTcsOCArNTcsMTMgQEAgY2xhc3Mg
T1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToKICAgICAgICAgc3VicHJvY2Vzcy5jYWxs
KFsnL3Vzci9iaW4va2lsbGFsbCcsIHByb2Nlc3NfbmFtZV0pCiAKICAgICBAY2xhc3NtZXRob2QK
LSAgICBkZWYgX2xhdW5jaF9wcm9jZXNzX3dpdGhfY2FmZmluYXRlKGNscywgYXJncywgZW52PU5v
bmUpOgotICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52KQor
ICAgIGRlZiBfbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmZWluYXRlKGNscywgYXJncywgZW52PU5v
bmUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3Bl
bihhcmdzLCBlbnY9ZW52KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgorICAg
ICAgICAgICAgX2xvZy5lcnJvcignUG9wZW4gZmFpbGVkOiB7ZXJyb3J9Jy5mb3JtYXQoZXJyb3I9
ZXJyb3IpKQorICAgICAgICAgICAgcmV0dXJuCisKICAgICAgICAgc3VicHJvY2Vzcy5Qb3Blbihb
Ii91c3IvYmluL2NhZmZlaW5hdGUiLCAiLWRpc3ciLCBzdHIocHJvY2Vzcy5waWQpXSkKICAgICAg
ICAgcmV0dXJuIHByb2Nlc3MKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVfZHJpdmVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9j
aHJvbWVfZHJpdmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggNDNi
M2M3ZWUyMDE0NWJmMGFhYTEwNTJlYjBlOTJmOTEzY2UzNjU3Ny4uYjM5NjI2ZTc0NWVhMDI2MjAw
NjI2YWQwODcwMmFlYmFjMmNjZWJkNAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9j
aHJvbWVfZHJpdmVyLnB5CkBAIC0xNCw3ICsxNCw4IEBAIGNsYXNzIE9TWENocm9tZURyaXZlcihP
U1hCcm93c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnY2hyb21lJwogICAgIGFwcF9u
YW1lID0gJ0dvb2dsZSBDaHJvbWUuYXBwJwogCi0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYs
IHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgorICAgICAg
ICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgogICAgICAgICBhcmdzX3dpdGhf
dXJsID0gc2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygpLCAyLCB1cmwpCiAgICAgICAgIHNl
bGYuX2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1l
PXNlbGYuYXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193aXRoX3VybCkKIApAQCAtMzcsNyAr
MzgsOCBAQCBjbGFzcyBPU1hDaHJvbWVDYW5hcnlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAg
ICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9tZS1jYW5hcnknCiAgICAgYXBwX25hbWUgPSAnR29vZ2xl
IENocm9tZSBDYW5hcnkuYXBwJwogCi0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRp
b25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwg
b3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgorICAgICAgICAjIEZJ
WE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgogICAgICAgICBhcmdzX3dpdGhfdXJsID0g
c2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygpLCAyLCB1cmwpCiAgICAgICAgIHNlbGYuX2xh
dW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1lPXNlbGYu
YXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193aXRoX3VybCkKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9m
aXJlZm94X2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkKb2xkIG1vZGUgMTAwNjQ0Cm5l
dyBtb2RlIDEwMDc1NQppbmRleCBhMjNkMjUyMjEwZDcxYzFkYzZjNWQ0Njk5MTg3NjU5N2M0MGUy
NTdjLi5mYTA5OTdkNmQxYzliNDRkNjFiYjQ3OTAxYWEzZDI5MDg1NzIyYjNiCi0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfZmly
ZWZveF9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weQpAQCAtMTQsNyArMTQsOCBA
QCBjbGFzcyBPU1hGaXJlZm94RHJpdmVyKE9TWEJyb3dzZXJEcml2ZXIpOgogICAgIGJyb3dzZXJf
bmFtZSA9ICdmaXJlZm94JwogICAgIGFwcF9uYW1lID0gJ0ZpcmVmb3guYXBwJwogCi0gICAgZGVm
IGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAg
IGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBi
cm93c2VyX3BhdGgpOgorICAgICAgICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRo
LgogICAgICAgICBhcmdzX3dpdGhfdXJsID0gc2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygp
LCAwLCB1cmwpCiAgICAgICAgIHNlbGYuX2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2Vy
X2J1aWxkX3BhdGgsIGFwcF9uYW1lPXNlbGYuYXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193
aXRoX3VybCkKIApAQCAtMzgsNyArMzksOCBAQCBjbGFzcyBPU1hGaXJlZm94TmlnaHRseURyaXZl
cihPU1hCcm93c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnZmlyZWZveC1uaWdodGx5
JwogICAgIGFwcF9uYW1lID0gJ0ZpcmVmb3hOaWdodGx5LmFwcCcKIAotICAgIGRlZiBsYXVuY2hf
dXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1
bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9w
YXRoKToKKyAgICAgICAgIyBGSVhNRTogaGFuZGxlIHNlbGYuX2Jyb3dzZXJfcGF0aC4KICAgICAg
ICAgYXJnc193aXRoX3VybCA9IHNlbGYuX2luc2VydF91cmwoY3JlYXRlX2FyZ3MoKSwgMCwgdXJs
KQogICAgICAgICBzZWxmLl9sYXVuY2hfcHJvY2VzcyhidWlsZF9kaXI9YnJvd3Nlcl9idWlsZF9w
YXRoLCBhcHBfbmFtZT1zZWxmLmFwcF9uYW1lLCB1cmw9dXJsLCBhcmdzPWFyZ3Nfd2l0aF91cmwp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpv
bGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IGEyMGFkYTQ0YzkwYmM4ZDcwNGVl
ZjE2MGMxNTA4MjEzYTRiY2MzYTguLjFiMWFkMzNiM2ZiZDc1YjkyNzhlZTU0OTM2YTFkOGRhOTQ1
NWUwNTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpA
QCAtMjQsNyArMjQsNyBAQCBjbGFzcyBPU1hTYWZhcmlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6
CiAgICAgICAgIHNlbGYuX21heGltaXplX3dpbmRvdygpCiAgICAgICAgIHNlbGYuX3NhZmFyaV9w
cmVmZXJlbmNlcyA9IFsiLUhvbWVQYWdlIiwgImFib3V0OmJsYW5rIiwgIi1XYXJuQWJvdXRGcmF1
ZHVsZW50V2Vic2l0ZXMiLCAiMCIsICItRXh0ZW5zaW9uc0VuYWJsZWQiLCAiMCIsICItU2hvd1N0
YXR1c0JhciIsICIwIiwgIi1OZXdXaW5kb3dCZWhhdmlvciIsICIxIiwgIi1OZXdUYWJCZWhhdmlv
ciIsICIxIl0KIAotICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nl
cl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJy
b3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9wYXRoKToKICAgICAgICAgYXJncyA9IFsnL0FwcGxp
Y2F0aW9ucy9TYWZhcmkuYXBwL0NvbnRlbnRzL01hY09TL1NhZmFyaSddCiAgICAgICAgIGVudiA9
IHt9CiAgICAgICAgIGlmIGJyb3dzZXJfYnVpbGRfcGF0aDoKQEAgLTM0LDEwICszNCwxNiBAQCBj
bGFzcyBPU1hTYWZhcmlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgICAgICAgICAgICAg
ZW52ID0geydEWUxEX0ZSQU1FV09SS19QQVRIJzogYnJvd3Nlcl9idWlsZF9wYXRoLCAnRFlMRF9M
SUJSQVJZX1BBVEgnOiBicm93c2VyX2J1aWxkX3BhdGgsICdfX1hQQ19EWUxEX0ZSQU1FV09SS19Q
QVRIJzogYnJvd3Nlcl9idWlsZF9wYXRoLCAnX19YUENfRFlMRF9MSUJSQVJZX1BBVEgnOiBicm93
c2VyX2J1aWxkX3BhdGh9CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIF9sb2cu
aW5mbygnQ291bGQgbm90IGZpbmQgU2FmYXJpLmFwcCBhdCAlcywgdXNpbmcgdGhlIHN5c3RlbSBT
YWZhcmkgaW5zdGVhZCcgJSBzYWZhcmlfYXBwX2luX2J1aWxkX3BhdGgpCisgICAgICAgIGVsaWYg
YnJvd3Nlcl9wYXRoOgorICAgICAgICAgICAgc2FmYXJpX2FwcF9pbl9icm93c2VyX3BhdGggPSBv
cy5wYXRoLmpvaW4oYnJvd3Nlcl9wYXRoLCAnQ29udGVudHMvTWFjT1MvU2FmYXJpJykKKyAgICAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNhZmFyaV9hcHBfaW5fYnJvd3Nlcl9wYXRoKToKKyAg
ICAgICAgICAgICAgICBhcmdzID0gW3NhZmFyaV9hcHBfaW5fYnJvd3Nlcl9wYXRoXQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ0NvdWxkIG5vdCBmaW5kIGFw
cGxpY2F0aW9uIGF0ICVzLCB1c2luZyB0aGUgc3lzdGVtIFNhZmFyaSBpbnN0ZWFkJyAlIHNhZmFy
aV9hcHBfaW5fYnJvd3Nlcl9wYXRoKQogCiAgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuX3NhZmFy
aV9wcmVmZXJlbmNlcykKICAgICAgICAgX2xvZy5pbmZvKCdMYXVuY2hpbmcgc2FmYXJpOiAlcyB3
aXRoIHVybDogJXMnICUgKGFyZ3NbMF0sIHVybCkpCi0gICAgICAgIHNlbGYuX3NhZmFyaV9wcm9j
ZXNzID0gT1NYU2FmYXJpRHJpdmVyLl9sYXVuY2hfcHJvY2Vzc193aXRoX2NhZmZpbmF0ZShhcmdz
LCBlbnYpCisgICAgICAgIHNlbGYuX3NhZmFyaV9wcm9jZXNzID0gT1NYU2FmYXJpRHJpdmVyLl9s
YXVuY2hfcHJvY2Vzc193aXRoX2NhZmZlaW5hdGUoYXJncywgZW52KQogCiAgICAgICAgICMgU3Rv
cCBmb3IgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHNhZmFyaSBwcm9jZXNzLCBvdGhlcndpc2UsIG9w
ZW4KICAgICAgICAgIyBjb21tYW5kIG1heSB1c2UgdGhlIHN5c3RlbSBzYWZhcmkuCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFy
ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2ht
YXJrLnB5CmluZGV4IDg3NTJmMmI2ZmM3NmI0NDEwYmI0YmM2NDY1MGM3ZThhNjkyNWY5YmQuLjUy
ZDJmZTg5NmFjMWQ0ODc4NTA4YWU4YmU0YzRhMTRhZDFiNjA2MjYgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2htYXJrLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2htYXJrLnB5
CkBAIC00NCw2ICs0NCw3IEBAIGRlZiBwYXJzZV9hcmdzKCk6CiAgICAgcGFyc2VyLmFkZF9hcmd1
bWVudCgnLS1jb3VudCcsIHR5cGU9aW50LCBoZWxwPSdOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRo
ZSBiZW5jaG1hcmsgKGUuZy4gNSkuJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRyaXZl
cicsIGRlZmF1bHQ9V2ViU2VydmVyQmVuY2htYXJrUnVubmVyLm5hbWUsIGNob2ljZXM9YmVuY2ht
YXJrX3J1bm5lcl9zdWJjbGFzc2VzLmtleXMoKSwgaGVscD0nVXNlIHRoZSBzcGVjaWZpZWQgYmVu
Y2htYXJrIGRyaXZlci4gRGVmYXVsdHMgdG8gJXMuJyAlIFdlYlNlcnZlckJlbmNobWFya1J1bm5l
ci5uYW1lKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYnJvd3NlcicsIGRlZmF1bHQ9ZGVm
YXVsdF9icm93c2VyKCksIGNob2ljZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jy
b3dzZXJzKCksIGhlbHA9J0Jyb3dzZXIgdG8gcnVuIHRoZSBuZWNobWFyayBpbi4gRGVmYXVsdHMg
dG8gJXMuJyAlIGRlZmF1bHRfYnJvd3NlcigpKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0t
YnJvd3Nlci1wYXRoJywgaGVscD0nU3BlY2lmeSB0aGUgcGF0aCB0byBhIG5vbi1kZWZhdWx0IGNv
cHkgb2YgdGhlIHRhcmdldCBicm93c2VyIGFzIGEgcGF0aCB0byB0aGUgLmFwcC4nKQogICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJy0tcGxhdGZvcm0nLCBkZWZhdWx0PWRlZmF1bHRfcGxhdGZvcm0o
KSwgY2hvaWNlcz1Ccm93c2VyRHJpdmVyRmFjdG9yeS5hdmFpbGFibGVfcGxhdGZvcm1zKCksIGhl
bHA9J1BsYXRmb3JtIHRoYXQgdGhpcyBzY3JpcHQgaXMgcnVubmluZyBvbi4gRGVmYXVsdHMgdG8g
JXMuJyAlIGRlZmF1bHRfcGxhdGZvcm0oKSkKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWxv
Y2FsLWNvcHknLCBoZWxwPSdQYXRoIHRvIGEgbG9jYWwgY29weSBvZiB0aGUgYmVuY2htYXJrIChl
LmcuIFBlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyLykuJykKICAgICBwYXJzZXIuYWRkX2FyZ3Vt
ZW50KCctLWRldmljZS1pZCcsIGRlZmF1bHQ9Tm9uZSwgaGVscD0nVW5kb2N1bWVudGVkIG9wdGlv
biBmb3IgbW9iaWxlIGRldmljZSB0ZXN0aW5nLicpCkBAIC02NSw3ICs2Niw3IEBAIGRlZiBwYXJz
ZV9hcmdzKCk6CiAKIGRlZiBydW5fYmVuY2htYXJrX3BsYW4oYXJncywgcGxhbik6CiAgICAgYmVu
Y2htYXJrX3J1bm5lcl9jbGFzcyA9IGJlbmNobWFya19ydW5uZXJfc3ViY2xhc3Nlc1thcmdzLmRy
aXZlcl0KLSAgICBydW5uZXIgPSBiZW5jaG1hcmtfcnVubmVyX2NsYXNzKHBsYW4sIGFyZ3MubG9j
YWxfY29weSwgYXJncy5jb3VudCwgYXJncy5idWlsZF9kaXIsIGFyZ3Mub3V0cHV0X2ZpbGUsIGFy
Z3MucGxhdGZvcm0sIGFyZ3MuYnJvd3NlciwgYXJncy5zY2FsZV91bml0LCBhcmdzLnNob3dfaXRl
cmF0aW9uX3ZhbHVlcywgYXJncy5kZXZpY2VfaWQpCisgICAgcnVubmVyID0gYmVuY2htYXJrX3J1
bm5lcl9jbGFzcyhwbGFuLCBhcmdzLmxvY2FsX2NvcHksIGFyZ3MuY291bnQsIGFyZ3MuYnVpbGRf
ZGlyLCBhcmdzLm91dHB1dF9maWxlLCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIsIGFyZ3Mu
YnJvd3Nlcl9wYXRoLCBhcmdzLnNjYWxlX3VuaXQsIGFyZ3Muc2hvd19pdGVyYXRpb25fdmFsdWVz
LCBhcmdzLmRldmljZV9pZCkKICAgICBydW5uZXIuZXhlY3V0ZSgpCiAKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYmRyaXZlcl9iZW5jaG1h
cmtfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dl
YmRyaXZlcl9iZW5jaG1hcmtfcnVubmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3
NTUKaW5kZXggN2QwNzcyYWIwZDkwMjcyZmY5ZTFmY2Q0NTE0YzkwMWY2N2MzNzk0Mi4uYjNiNmNj
ODM3ZDI5MjJlYmQ4ZmI2ODI3YjQ0NGI4YjVkMTk2ZjY0ZgotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2ViZHJpdmVyX2JlbmNobWFya19ydW5uZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYmRyaXZlcl9iZW5j
aG1hcmtfcnVubmVyLnB5CkBAIC0yMiw3ICsyMiw3IEBAIGNsYXNzIFdlYkRyaXZlckJlbmNobWFy
a1J1bm5lcihCZW5jaG1hcmtSdW5uZXIpOgogICAgICAgICByZXN1bHQgPSBOb25lCiAgICAgICAg
IHRyeToKICAgICAgICAgICAgIHVybCA9ICdmaWxlOi8ve3Jvb3R9L3twbGFuX25hbWV9L3t0ZXN0
X2ZpbGV9Jy5mb3JtYXQocm9vdD13ZWJfcm9vdCwgcGxhbl9uYW1lPXNlbGYuX3BsYW5fbmFtZSwg
dGVzdF9maWxlPXRlc3RfZmlsZSkKLSAgICAgICAgICAgIGRyaXZlciA9IHNlbGYuX2Jyb3dzZXJf
ZHJpdmVyLmxhdW5jaF9kcml2ZXIodXJsLCBzZWxmLl9wbGFuWydvcHRpb25zJ10sIHNlbGYuX2J1
aWxkX2RpcikKKyAgICAgICAgICAgIGRyaXZlciA9IHNlbGYuX2Jyb3dzZXJfZHJpdmVyLmxhdW5j
aF9kcml2ZXIodXJsLCBzZWxmLl9wbGFuWydvcHRpb25zJ10sIHNlbGYuX2J1aWxkX2Rpciwgc2Vs
Zi5fYnJvd3Nlcl9wYXRoKQogICAgICAgICAgICAgX2xvZy5pbmZvKCdXYWl0aW5nIG9uIHJlc3Vs
dHMgZnJvbSB3ZWIgYnJvd3NlcicpCiAgICAgICAgICAgICByZXN1bHQgPSBXZWJEcml2ZXJXYWl0
KGRyaXZlciwgc2VsZi5fcGxhblsndGltZW91dCddLCBwb2xsX2ZyZXF1ZW5jeT0xLjApLnVudGls
KHNlbGYuX2dldF9yZXN1bHQpCiAgICAgICAgICAgICBkcml2ZXIucXVpdCgpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNo
bWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
d2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEw
MDc1NQppbmRleCBiMGNiODhkOTE3MzczZjkzNjg0Njg5ZTQ4YjE5ZDkxYTRiMGY4NWY1Li4zY2Ix
NGVjYTVlMzg4YzY0NDZhNGM2OTZhMzVlMzZmMGRhMDFjMGEyCi0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5lci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2Jl
bmNobWFya19ydW5uZXIucHkKQEAgLTE1LDEwICsxNSwxMCBAQCBfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCiBjbGFzcyBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIoQmVuY2htYXJr
UnVubmVyKToKICAgICBuYW1lID0gJ3dlYnNlcnZlcicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1
dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlciwgc2NhbGVfdW5pdD1UcnVlLCBzaG93X2l0ZXJhdGlv
bl92YWx1ZXM9RmFsc2UsIGRldmljZV9pZD1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRf
ZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5pdD1UcnVlLCBz
aG93X2l0ZXJhdGlvbl92YWx1ZXM9RmFsc2UsIGRldmljZV9pZD1Ob25lKToKICAgICAgICAgc2Vs
Zi5faHR0cF9zZXJ2ZXJfZHJpdmVyID0gSFRUUFNlcnZlckRyaXZlckZhY3RvcnkuY3JlYXRlKHBs
YXRmb3JtKQogICAgICAgICBzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIuc2V0X2RldmljZV9pZChk
ZXZpY2VfaWQpCi0gICAgICAgIHN1cGVyKFdlYlNlcnZlckJlbmNobWFya1J1bm5lciwgc2VsZiku
X19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGly
LCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIHNjYWxlX3VuaXQsIHNob3dfaXRlcmF0
aW9uX3ZhbHVlcywgZGV2aWNlX2lkKQorICAgICAgICBzdXBlcihXZWJTZXJ2ZXJCZW5jaG1hcmtS
dW5uZXIsIHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJp
ZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3Bh
dGgsIHNjYWxlX3VuaXQsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcywgZGV2aWNlX2lkKQogCiAgICAg
ZGVmIF9nZXRfcmVzdWx0KHNlbGYsIHRlc3RfdXJsKToKICAgICAgICAgcmVzdWx0ID0gc2VsZi5f
YnJvd3Nlcl9kcml2ZXIuYWRkX2FkZGl0aW9uYWxfcmVzdWx0cyh0ZXN0X3VybCwgc2VsZi5faHR0
cF9zZXJ2ZXJfZHJpdmVyLmZldGNoX3Jlc3VsdCgpKQpAQCAtMzAsNyArMzAsNyBAQCBjbGFzcyBX
ZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIoQmVuY2htYXJrUnVubmVyKToKICAgICAgICAgdHJ5Ogog
ICAgICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyLnNlcnZlKHdlYl9yb290KQogICAg
ICAgICAgICAgdXJsID0gdXJscGFyc2UudXJsam9pbihzZWxmLl9odHRwX3NlcnZlcl9kcml2ZXIu
YmFzZV91cmwoKSwgc2VsZi5fcGxhbl9uYW1lICsgJy8nICsgdGVzdF9maWxlKQotICAgICAgICAg
ICAgc2VsZi5fYnJvd3Nlcl9kcml2ZXIubGF1bmNoX3VybCh1cmwsIHNlbGYuX3BsYW5bJ29wdGlv
bnMnXSwgc2VsZi5fYnVpbGRfZGlyKQorICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9kcml2ZXIu
bGF1bmNoX3VybCh1cmwsIHNlbGYuX3BsYW5bJ29wdGlvbnMnXSwgc2VsZi5fYnVpbGRfZGlyLCBz
ZWxmLl9icm93c2VyX3BhdGgpCiAgICAgICAgICAgICB3aXRoIFRpbWVvdXQoc2VsZi5fcGxhblsn
dGltZW91dCddKToKICAgICAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLl9nZXRfcmVzdWx0KHVy
bCkKICAgICAgICAgZmluYWxseToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YnJvd3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYnJvd3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weQpv
bGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDM0NjE1MTg2NDE0ZGRkNzFjMGE5
YzAyYWQ3ZmI5NWE0NjM1M2Y4MWUuLmQ4Y2JmMDA5YjgxMmQ0NDFiNjYxNmJmYmZmZDA0MTk0ODlk
Y2I5OGMKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9icm93c2VycGVyZmRhc2gvYnJvd3Nl
cnBlcmZkYXNoX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3Nl
cnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weQpAQCAtNDAsOCArNDAsOCBAQCBf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBGYWtlQmVuY2htYXJrUnVu
bmVyKEJlbmNobWFya1J1bm5lcik6CiAgICAgbmFtZSA9ICdmYWtlJwogCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rp
ciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyKToKLSAgICAgICAgc3VwZXIoRmFrZUJl
bmNobWFya1J1bm5lciwgc2VsZikuX19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3Vu
dF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIpCisg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJp
ZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3Bh
dGgpOgorICAgICAgICBzdXBlcihGYWtlQmVuY2htYXJrUnVubmVyLCBzZWxmKS5fX2luaXRfXyhw
bGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9m
aWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGV4ZWN1dGUo
c2VsZik6CiAgICAgICAgIHJldHVybiBUcnVlCkBAIC02MCw1ICs2MCw1IEBAIGNsYXNzIEJyb3dz
ZXJQZXJmRGFzaFJ1bm5lclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAjIFRoaXMg
dGVzdHMgdGhhdCBjb25zdHJ1Y3RpbmcgdGhlIGJlbmNobWFya19ydW5uZXIgb2JqZWN0IHNwZWNp
ZnlpbmcgdGhlIG1pbmltdW0gcmVxdWlyZWQgcGFyYW1hdGVycyBpcyBvay4KICAgICAgICAgcGxh
bl9saXN0ID0gQmVuY2htYXJrUnVubmVyLmF2YWlsYWJsZV9wbGFucygpCiAgICAgICAgIGJ1aWxk
X2RpciA9IG9zLnBhdGguYWJzcGF0aChvcy5jdXJkaXIpCi0gICAgICAgIHJ1bm5lciA9IEZha2VC
ZW5jaG1hcmtSdW5uZXIocGxhbl9saXN0WzBdLCBGYWxzZSwgMSwgYnVpbGRfZGlyLCAiL3RtcC90
ZXN0T3V0cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZvcm0oKSwgZGVmYXVsdF9icm93c2VyKCkpCisg
ICAgICAgIHJ1bm5lciA9IEZha2VCZW5jaG1hcmtSdW5uZXIocGxhbl9saXN0WzBdLCBGYWxzZSwg
MSwgYnVpbGRfZGlyLCAiL3RtcC90ZXN0T3V0cHV0LnR4dCIsIGRlZmF1bHRfcGxhdGZvcm0oKSwg
ZGVmYXVsdF9icm93c2VyKCksIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShydW5uZXIu
ZXhlY3V0ZSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357883</attachid>
            <date>2018-12-20 15:47:40 -0800</date>
            <delta_ts>2018-12-20 17:11:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192905-20181220154739.patch</filename>
            <type>text/plain</type>
            <size>24921</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDY1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzY4ZGI0YzM3NDE1NTY2YmIwODViZGY4MTRhYzUyYTJk
ZTM4YWZmMi4uODY4M2Q1OTMxZDNhMDU5ZWZjNjQyMWVkMmVkYWU0ODE0N2ZjNDdlMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5
IEBACisyMDE4LTEyLTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIEFkZCBzdXBwb3J0IHRvIHJ1bi1iZW5jaG1hcmsgdG8gdXNlIG5vbi1kZWZhdWx0
IGNvcGllcyBvZiB0aGUgYnJvd3NlciBhcHBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTI5MDUKKyAgICAgICAgcmRhcjovL3Byb2JsZW0vNDY4NDU4
NDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIEFkZCBzdXBwb3J0IGZvciBhIC0tYnJvd3Nlci1wYXRoIGFyZ3VtZW50IHRvIHJ1bi1iZW5j
aG1hcmssIHdoaWNoIGFsbG93cyB5b3UgdG8gdXNlCisgICAgICAgIGEgY3VzdG9tIGFwcCBidW5k
bGUgZm9yIGEgZ2l2ZW4gYnJvd3NlciAob25seSBpbXBsZW1lbnRlZCBmb3IgU2FmYXJpIGF0IHBy
ZXNlbnQpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jl
bmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlci5weToKKyAgICAgICAgKEJyb3dzZXJEcml2ZXIuX19pbml0X18pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9icm93c2VyX2RyaXZlcl9mYWN0b3J5LnB5OgorICAgICAgICAoQnJvd3NlckRyaXZlckZhY3Rv
cnkuY3JlYXRlKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5OgorICAgICAgICAoT1NYQnJvd3Nl
ckRyaXZlci5fbGF1bmNoX3Byb2Nlc3MpOgorICAgICAgICAoT1NYQnJvd3NlckRyaXZlci5fbGF1
bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmZWluYXRlKTogRml4IHNwZWxsaW5nLgorICAgICAgICAoT1NY
QnJvd3NlckRyaXZlci5fbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmaW5hdGUpOiBEZWxldGVkLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9vc3hfY2hyb21lX2RyaXZlci5weToKKyAgICAgICAgKE9TWENocm9tZUNhbmFyeURyaXZlci5s
YXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5OgorICAgICAgICAoT1NYRmlyZWZv
eE5pZ2h0bHlEcml2ZXIubGF1bmNoX3VybCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5OgorICAg
ICAgICAoT1NYU2FmYXJpRHJpdmVyLl9faW5pdF9fKToKKyAgICAgICAgKE9TWFNhZmFyaURyaXZl
ci5sYXVuY2hfdXJsKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvcnVuX2JlbmNobWFyay5weToKKyAgICAgICAgKHBhcnNlX2FyZ3MpOgorICAgICAgICAocnVu
X2JlbmNobWFya19wbGFuKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChXZWJTZXJ2ZXJC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYnJv
d3NlcnBlcmZkYXNoL2Jyb3dzZXJwZXJmZGFzaF91bml0dGVzdC5weToKKyAgICAgICAgKEZha2VC
ZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOgorCiAyMDE4LTEyLTIwICBKb25hdGhhbiBCZWRhcmQg
IDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICB3ZWJraXRweTogQXV0b2luc3RhbGwgcGFj
a2FnZSBVUkxzIGhhdmUgY2hhbmdlZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpvbGQgbW9kZSAxMDA2
NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IDc1ZTFjNjRjNzQyYTAwNDA0YTc3ZDZiNmRkZTUwMDU4
M2I5YTg4OGQuLjc1N2Q4YjhhZGFkNmJhMmIzYjhlMWZmOWFlYmU2NDdmZWM3NjRkN2YKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19ydW5uZXIucHkKQEAgLTIzLDcgKzIzLDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQogY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgbmFtZSA9ICdiZW5j
aG1hcmtfcnVubmVyJwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBsYW5fZmlsZSwgbG9jYWxf
Y29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBi
cm93c2VyLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2
aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2Nv
cHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJv
d3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVl
cz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwbGFu
X2ZpbGUgPSBzZWxmLl9maW5kX3BsYW5fZmlsZShwbGFuX2ZpbGUpCiAgICAgICAgICAgICB3aXRo
IG9wZW4ocGxhbl9maWxlLCAncicpIGFzIGZwOgpAQCAtMzYsNiArMzYsNyBAQCBjbGFzcyBCZW5j
aG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBpZiBjb3VudF9vdmVycmlkZToK
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGxhblsnY291bnQnXSA9IGNvdW50X292ZXJyaWRl
CiAgICAgICAgICAgICAgICAgc2VsZi5fYnJvd3Nlcl9kcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFj
dG9yeS5jcmVhdGUocGxhdGZvcm0sIGJyb3dzZXIpCisgICAgICAgICAgICAgICAgc2VsZi5fYnJv
d3Nlcl9wYXRoID0gYnJvd3Nlcl9wYXRoCiAgICAgICAgICAgICAgICAgc2VsZi5fYnVpbGRfZGly
ID0gb3MucGF0aC5hYnNwYXRoKGJ1aWxkX2RpcikgaWYgYnVpbGRfZGlyIGVsc2UgTm9uZQogICAg
ICAgICAgICAgICAgIHNlbGYuX291dHB1dF9maWxlID0gb3V0cHV0X2ZpbGUKICAgICAgICAgICAg
ICAgICBzZWxmLl9zY2FsZV91bml0ID0gc2NhbGVfdW5pdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJp
dmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL2Jyb3dzZXJfZHJpdmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUK
aW5kZXggZmZhMmM2ODhjYjgzZTI1NmM2OWFhZjdkNjY1ZDNmZTYzMTdiYTgyNy4uZjFhZjU3ZTlh
ZGUyNzU2YzhiNGRjZGJiZWFiMGI3NzBkMWM1N2YzMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvYnJvd3Nlcl9kcml2ZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVy
L2Jyb3dzZXJfZHJpdmVyLnB5CkBAIC0xNSw3ICsxNSw3IEBAIGNsYXNzIEJyb3dzZXJEcml2ZXIo
b2JqZWN0KToKICAgICAgICAgcGFzcwogCiAgICAgQGFic3RyYWN0bWV0aG9kCi0gICAgZGVmIGxh
dW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGg9Tm9uZSk6Cisg
ICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGg9
Tm9uZSwgYnJvd3Nlcl9wYXRoPU5vbmUpOgogICAgICAgICBwYXNzCiAKICAgICBAYWJzdHJhY3Rt
ZXRob2QKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9icm93c2VyX2RyaXZlcl9mYWN0b3J5LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2Jyb3dzZXJfZHJpdmVy
X2ZhY3RvcnkucHkKb2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2Jyb3dzZXJfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4IDk4YjU5
OGM5YzNjNTc1NWRjZmE2MWU3Yjc0NWM3OTVhY2MyZGRkN2IuLjcyOGQ1MGI0YTdiOTI1ZmUyYWRk
NDVlZjhlM2QyM2MzZTBkNWQwMjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9saW51eF9icm93c2VyX2RyaXZlci5weQor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2
ZXIvbGludXhfYnJvd3Nlcl9kcml2ZXIucHkKQEAgLTg4LDcgKzg4LDcgQEAgY2xhc3MgTGludXhC
cm93c2VyRHJpdmVyKEJyb3dzZXJEcml2ZXIpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGJyb3dzZXJfbmFtZT1zZWxmLmJyb3dzZXJfbmFtZSwgYnJvd3Nlcl9waWQ9c2VsZi5fYnJvd3Nl
cl9wcm9jZXNzLnBpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VyX3JldGNv
ZGU9c2VsZi5fYnJvd3Nlcl9wcm9jZXNzLnJldHVybmNvZGUpKQogCi0gICAgZGVmIGxhdW5jaF91
cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVu
Y2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3Bh
dGgpOgogICAgICAgICBpZiBub3Qgc2VsZi5fYnJvd3Nlcl9hcmd1bWVudHM6CiAgICAgICAgICAg
ICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9IFt1cmxdCiAgICAgICAgIGV4ZWNfYXJncyA9IFtz
ZWxmLnByb2Nlc3NfbmFtZV0gKyBzZWxmLl9icm93c2VyX2FyZ3VtZW50cwpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2Nocm9tZV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfY2hyb21lX2RyaXZlci5weQppbmRleCBjZWYyODY3
OTQwN2ViNjdmYTFhNzc0N2FiYzY4YjA1ZDdhNDU5NDU2Li40Nzk4NjAzYjJhNTMwZTU1N2ExOTFl
ODgxMzQ1YjkxNTQxZmYxYTk5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfY2hyb21lX2RyaXZlci5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIv
bGludXhfY2hyb21lX2RyaXZlci5weQpAQCAtMzMsMTAgKzMzLDEwIEBAIGNsYXNzIExpbnV4Q2hy
b21lRHJpdmVyKExpbnV4QnJvd3NlckRyaXZlcik6CiAgICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9t
ZScKICAgICBwcm9jZXNzX3NlYXJjaF9saXN0ID0gWydjaHJvbWl1bScsICdjaHJvbWl1bS1icm93
c2VyJywgJ2Nocm9tZSddCiAKLSAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMs
IGJyb3dzZXJfYnVpbGRfcGF0aCk6CisgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRp
b25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJyb3dzZXJfcGF0aCk6CiAgICAgICAgIHNlbGYuX2Jy
b3dzZXJfYXJndW1lbnRzID0gWyctLXRlbXAtcHJvZmlsZScsICctLXN0YXJ0LW1heGltaXplZCcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWhvbWVwYWdlJywgdXJsXQot
ICAgICAgICBzdXBlcihMaW51eENocm9tZURyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9w
dGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCkKKyAgICAgICAgc3VwZXIoTGludXhDaHJvbWVEcml2
ZXIsIHNlbGYpLmxhdW5jaF91cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJy
b3dzZXJfcGF0aCkKIAogICAgIGRlZiBsYXVuY2hfZHJpdmVyKHNlbGYsIHVybCwgb3B0aW9ucywg
YnJvd3Nlcl9idWlsZF9wYXRoKToKICAgICAgICAgaW1wb3J0IHdlYmtpdHB5LnRoaXJkcGFydHku
YXV0b2luc3RhbGxlZC5zZWxlbml1bQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2VwaXBoYW55X2RyaXZlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZl
ci9saW51eF9lcGlwaGFueV9kcml2ZXIucHkKaW5kZXggZDJjNjAwZTMxMjFiZjk5NGFkNjVmNzQz
NjI5MDg0ZGM4YjIyZjYyYi4uYjc0YTJmODJkNWQ2M2VlNGRlNWU1N2YwNDY5ZGVlZjQ3MTJhYzNl
NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jy
b3dzZXJfZHJpdmVyL2xpbnV4X2VwaXBoYW55X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfZXBpcGhhbnlf
ZHJpdmVyLnB5CkBAIC0zMSwxMSArMzEsMTEgQEAgY2xhc3MgRXBpcGhhbnlCcm93c2VyRHJpdmVy
KExpbnV4QnJvd3NlckRyaXZlcik6CiAgICAgYnJvd3Nlcl9uYW1lID0gJ2VwaXBoYW55JwogICAg
IHByb2Nlc3Nfc2VhcmNoX2xpc3QgPSBbJ2VwaXBoYW55JywgJ2VwaXBoYW55LWJyb3dzZXInXQog
Ci0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3Bh
dGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWls
ZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9
IFsnLS1uZXctd2luZG93JywgJy1wJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tcHJvZmlsZT17cHJvZmlsZX0nLmZvcm1hdChwcm9maWxlPXNlbGYuX3RlbXBfcHJvZmls
ZWRpciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybF0KLSAgICAgICAg
c3VwZXIoRXBpcGhhbnlCcm93c2VyRHJpdmVyLCBzZWxmKS5sYXVuY2hfdXJsKHVybCwgb3B0aW9u
cywgYnJvd3Nlcl9idWlsZF9wYXRoKQorICAgICAgICBzdXBlcihFcGlwaGFueUJyb3dzZXJEcml2
ZXIsIHNlbGYpLmxhdW5jaF91cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJy
b3dzZXJfcGF0aCkKIAogICAgIGRlZiBsYXVuY2hfZHJpdmVyKHNlbGYsIHVybCwgb3B0aW9ucywg
YnJvd3Nlcl9idWlsZF9wYXRoKToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQnJvd3NlciB7
YnJvd3Nlcn0gaXMgbm90IGF2YWlsYWJsZSB3aXRoIHdlYmRyaXZlciIuZm9ybWF0KGJyb3dzZXI9
c2VsZi5icm93c2VyX25hbWUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X2ZpcmVmb3hfZHJpdmVyLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL2xp
bnV4X2ZpcmVmb3hfZHJpdmVyLnB5CmluZGV4IDRjYjNjZjFhMWVjMmNiNDZlMWRlODgyMTQ4NmMy
NjkyN2M4Njg1ZTAuLmRmZjc2NGMxN2YxYzNjMjJhOTA0NGY3YTQ1YzcyZDhkOTBkNGMzZjIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9saW51eF9maXJlZm94X2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfZmlyZWZveF9kcml2ZXIu
cHkKQEAgLTMzLDEyICszMywxMiBAQCBjbGFzcyBMaW51eEZpcmVmb3hEcml2ZXIoTGludXhCcm93
c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnZmlyZWZveCcKICAgICBwcm9jZXNzX3Nl
YXJjaF9saXN0ID0gWydmaXJlZm94JywgJ2ZpcmVmb3gtYmluJ10KIAotICAgIGRlZiBsYXVuY2hf
dXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1
bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9w
YXRoKToKICAgICAgICAgc2VsZi5fYnJvd3Nlcl9hcmd1bWVudHMgPSBbJy1uZXctaW5zdGFuY2Un
LCAnLXByb2ZpbGUnLCBzZWxmLl90ZW1wX3Byb2ZpbGVkaXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctd2lkdGgnLCBzdHIoc2VsZi5fc2NyZWVuX3NpemUoKS53aWR0aCks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctaGVpZ2h0Jywgc3RyKHNlbGYu
X3NjcmVlbl9zaXplKCkuaGVpZ2h0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdXJsXQotICAgICAgICBzdXBlcihMaW51eEZpcmVmb3hEcml2ZXIsIHNlbGYpLmxhdW5jaF91
cmwodXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpCisgICAgICAgIHN1cGVyKExpbnV4
RmlyZWZveERyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVp
bGRfcGF0aCwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGxhdW5jaF9kcml2ZXIoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgogICAgICAgICBpbXBvcnQgd2Via2l0cHku
dGhpcmRwYXJ0eS5hdXRvaW5zdGFsbGVkLnNlbGVuaXVtCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfbWluaWJy
b3dzZXJndGtfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL2xpbnV4X21pbmlicm93c2VyZ3RrX2RyaXZlci5weQppbmRleCAz
MTQ4ZjdmNzA0NjgxNGYxOWUyNGVlNDE0ZmIzZDRlMDFkMDhkMmZmLi5lOGQ1YzA5ZjYxYzc3MTU5
MGIzMjYwZWY1OTQ0ODdiNDZmZTBkN2ZiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvbGludXhfbWluaWJyb3dzZXJndGtf
ZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9saW51eF9taW5pYnJvd3Nlcmd0a19kcml2ZXIucHkKQEAgLTMxLDEzICsz
MSwxMyBAQCBjbGFzcyBHVEtNaW5pQnJvd3NlckRyaXZlcihMaW51eEJyb3dzZXJEcml2ZXIpOgog
ICAgIGJyb3dzZXJfbmFtZSA9ICdtaW5pYnJvd3Nlci1ndGsnCiAgICAgcHJvY2Vzc19zZWFyY2hf
bGlzdCA9IFsnVG9vbHMvU2NyaXB0cy9ydW4tbWluaWJyb3dzZXInLCAnTWluaUJyb3dzZXInXQog
Ci0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3Bh
dGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWls
ZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cyA9
IFtdCiAgICAgICAgIGlmIHNlbGYucHJvY2Vzc19uYW1lLmVuZHN3aXRoKCdydW4tbWluaWJyb3dz
ZXInKToKICAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfYXJndW1lbnRzLmFwcGVuZCgnLS1ndGsn
KQogICAgICAgICBzZWxmLl9icm93c2VyX2FyZ3VtZW50cy5hcHBlbmQoJy0tZ2VvbWV0cnk9e3d9
eHtofScuZm9ybWF0KHc9c2VsZi5fc2NyZWVuX3NpemUoKS53aWR0aCwgaD1zZWxmLl9zY3JlZW5f
c2l6ZSgpLmhlaWdodCkpCiAgICAgICAgIHNlbGYuX2Jyb3dzZXJfYXJndW1lbnRzLmFwcGVuZCh1
cmwpCi0gICAgICAgIHN1cGVyKEdUS01pbmlCcm93c2VyRHJpdmVyLCBzZWxmKS5sYXVuY2hfdXJs
KHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKQorICAgICAgICBzdXBlcihHVEtNaW5p
QnJvd3NlckRyaXZlciwgc2VsZikubGF1bmNoX3VybCh1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVp
bGRfcGF0aCwgYnJvd3Nlcl9wYXRoKQogCiAgICAgZGVmIGxhdW5jaF9kcml2ZXIoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9y
KCJCcm93c2VyIHticm93c2VyfSBpcyBub3QgYXZhaWxhYmxlIHdpdGggd2ViZHJpdmVyIi5mb3Jt
YXQoYnJvd3Nlcj1zZWxmLmJyb3dzZXJfbmFtZSkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJp
dmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQppbmRleCA1MDVjMjIxMDMyN2NjZTlkZDczZGEx
YjgyNWEwNDM4NWY5MDE1NzQzLi45MDk1OTMxYzM0NjViMjNiMzMxNjczZmVlY2Y5N2M4MmIyZDY2
MmFhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9kcml2
ZXIucHkKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJp
dmVyKToKIAogICAgICAgICAjIEZJWE1FOiBNYXkgbmVlZCB0byBiZSBtb2RpZmllZCBmb3IgYSBs
b2NhbCBidWlsZCBzdWNoIGFzIHNldHRpbmcgdXAgRFlMRCBsaWJyYXJpZXMKICAgICAgICAgYXJn
cyA9IFsnb3BlbicsICctYScsIGFwcF9wYXRoXSArIGFyZ3MKLSAgICAgICAgY2xzLl9sYXVuY2hf
cHJvY2Vzc193aXRoX2NhZmZpbmF0ZShhcmdzKQorICAgICAgICBjbHMuX2xhdW5jaF9wcm9jZXNz
X3dpdGhfY2FmZmVpbmF0ZShhcmdzKQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9sYXVu
Y2hfd2ViZHJpdmVyKGNscywgdXJsLCBkcml2ZXIpOgpAQCAtNTcsOCArNTcsMTMgQEAgY2xhc3Mg
T1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToKICAgICAgICAgc3VicHJvY2Vzcy5jYWxs
KFsnL3Vzci9iaW4va2lsbGFsbCcsIHByb2Nlc3NfbmFtZV0pCiAKICAgICBAY2xhc3NtZXRob2QK
LSAgICBkZWYgX2xhdW5jaF9wcm9jZXNzX3dpdGhfY2FmZmluYXRlKGNscywgYXJncywgZW52PU5v
bmUpOgotICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52KQor
ICAgIGRlZiBfbGF1bmNoX3Byb2Nlc3Nfd2l0aF9jYWZmZWluYXRlKGNscywgYXJncywgZW52PU5v
bmUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3Bl
bihhcmdzLCBlbnY9ZW52KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycm9yOgorICAg
ICAgICAgICAgX2xvZy5lcnJvcignUG9wZW4gZmFpbGVkOiB7ZXJyb3J9Jy5mb3JtYXQoZXJyb3I9
ZXJyb3IpKQorICAgICAgICAgICAgcmV0dXJuCisKICAgICAgICAgc3VicHJvY2Vzcy5Qb3Blbihb
Ii91c3IvYmluL2NhZmZlaW5hdGUiLCAiLWRpc3ciLCBzdHIocHJvY2Vzcy5waWQpXSkKICAgICAg
ICAgcmV0dXJuIHByb2Nlc3MKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVfZHJpdmVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9j
aHJvbWVfZHJpdmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAxMDA3NTUKaW5kZXggNDNi
M2M3ZWUyMDE0NWJmMGFhYTEwNTJlYjBlOTJmOTEzY2UzNjU3Ny4uYjM5NjI2ZTc0NWVhMDI2MjAw
NjI2YWQwODcwMmFlYmFjMmNjZWJkNAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9j
aHJvbWVfZHJpdmVyLnB5CkBAIC0xNCw3ICsxNCw4IEBAIGNsYXNzIE9TWENocm9tZURyaXZlcihP
U1hCcm93c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnY2hyb21lJwogICAgIGFwcF9u
YW1lID0gJ0dvb2dsZSBDaHJvbWUuYXBwJwogCi0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJs
LCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYs
IHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgorICAgICAg
ICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgogICAgICAgICBhcmdzX3dpdGhf
dXJsID0gc2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygpLCAyLCB1cmwpCiAgICAgICAgIHNl
bGYuX2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1l
PXNlbGYuYXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193aXRoX3VybCkKIApAQCAtMzcsNyAr
MzgsOCBAQCBjbGFzcyBPU1hDaHJvbWVDYW5hcnlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAg
ICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9tZS1jYW5hcnknCiAgICAgYXBwX25hbWUgPSAnR29vZ2xl
IENocm9tZSBDYW5hcnkuYXBwJwogCi0gICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRp
b25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwg
b3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgorICAgICAgICAjIEZJ
WE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgogICAgICAgICBhcmdzX3dpdGhfdXJsID0g
c2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygpLCAyLCB1cmwpCiAgICAgICAgIHNlbGYuX2xh
dW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2VyX2J1aWxkX3BhdGgsIGFwcF9uYW1lPXNlbGYu
YXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193aXRoX3VybCkKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9m
aXJlZm94X2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkKb2xkIG1vZGUgMTAwNjQ0Cm5l
dyBtb2RlIDEwMDc1NQppbmRleCBhMjNkMjUyMjEwZDcxYzFkYzZjNWQ0Njk5MTg3NjU5N2M0MGUy
NTdjLi5mYTA5OTdkNmQxYzliNDRkNjFiYjQ3OTAxYWEzZDI5MDg1NzIyYjNiCi0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfZmly
ZWZveF9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weQpAQCAtMTQsNyArMTQsOCBA
QCBjbGFzcyBPU1hGaXJlZm94RHJpdmVyKE9TWEJyb3dzZXJEcml2ZXIpOgogICAgIGJyb3dzZXJf
bmFtZSA9ICdmaXJlZm94JwogICAgIGFwcF9uYW1lID0gJ0ZpcmVmb3guYXBwJwogCi0gICAgZGVm
IGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgpOgorICAg
IGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBi
cm93c2VyX3BhdGgpOgorICAgICAgICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRo
LgogICAgICAgICBhcmdzX3dpdGhfdXJsID0gc2VsZi5faW5zZXJ0X3VybChjcmVhdGVfYXJncygp
LCAwLCB1cmwpCiAgICAgICAgIHNlbGYuX2xhdW5jaF9wcm9jZXNzKGJ1aWxkX2Rpcj1icm93c2Vy
X2J1aWxkX3BhdGgsIGFwcF9uYW1lPXNlbGYuYXBwX25hbWUsIHVybD11cmwsIGFyZ3M9YXJnc193
aXRoX3VybCkKIApAQCAtMzgsNyArMzksOCBAQCBjbGFzcyBPU1hGaXJlZm94TmlnaHRseURyaXZl
cihPU1hCcm93c2VyRHJpdmVyKToKICAgICBicm93c2VyX25hbWUgPSAnZmlyZWZveC1uaWdodGx5
JwogICAgIGFwcF9uYW1lID0gJ0ZpcmVmb3hOaWdodGx5LmFwcCcKIAotICAgIGRlZiBsYXVuY2hf
dXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1
bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9w
YXRoKToKKyAgICAgICAgIyBGSVhNRTogaGFuZGxlIHNlbGYuX2Jyb3dzZXJfcGF0aC4KICAgICAg
ICAgYXJnc193aXRoX3VybCA9IHNlbGYuX2luc2VydF91cmwoY3JlYXRlX2FyZ3MoKSwgMCwgdXJs
KQogICAgICAgICBzZWxmLl9sYXVuY2hfcHJvY2VzcyhidWlsZF9kaXI9YnJvd3Nlcl9idWlsZF9w
YXRoLCBhcHBfbmFtZT1zZWxmLmFwcF9uYW1lLCB1cmw9dXJsLCBhcmdzPWFyZ3Nfd2l0aF91cmwp
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpv
bGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAwNzU1CmluZGV4IGEyMGFkYTQ0YzkwYmM4ZDcwNGVl
ZjE2MGMxNTA4MjEzYTRiY2MzYTguLjFiMWFkMzNiM2ZiZDc1YjkyNzhlZTU0OTM2YTFkOGRhOTQ1
NWUwNTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpA
QCAtMjQsNyArMjQsNyBAQCBjbGFzcyBPU1hTYWZhcmlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6
CiAgICAgICAgIHNlbGYuX21heGltaXplX3dpbmRvdygpCiAgICAgICAgIHNlbGYuX3NhZmFyaV9w
cmVmZXJlbmNlcyA9IFsiLUhvbWVQYWdlIiwgImFib3V0OmJsYW5rIiwgIi1XYXJuQWJvdXRGcmF1
ZHVsZW50V2Vic2l0ZXMiLCAiMCIsICItRXh0ZW5zaW9uc0VuYWJsZWQiLCAiMCIsICItU2hvd1N0
YXR1c0JhciIsICIwIiwgIi1OZXdXaW5kb3dCZWhhdmlvciIsICIxIiwgIi1OZXdUYWJCZWhhdmlv
ciIsICIxIl0KIAotICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nl
cl9idWlsZF9wYXRoKToKKyAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJy
b3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9wYXRoKToKICAgICAgICAgYXJncyA9IFsnL0FwcGxp
Y2F0aW9ucy9TYWZhcmkuYXBwL0NvbnRlbnRzL01hY09TL1NhZmFyaSddCiAgICAgICAgIGVudiA9
IHt9CiAgICAgICAgIGlmIGJyb3dzZXJfYnVpbGRfcGF0aDoKQEAgLTM0LDEwICszNCwxNiBAQCBj
bGFzcyBPU1hTYWZhcmlEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgICAgICAgICAgICAg
ZW52ID0geydEWUxEX0ZSQU1FV09SS19QQVRIJzogYnJvd3Nlcl9idWlsZF9wYXRoLCAnRFlMRF9M
SUJSQVJZX1BBVEgnOiBicm93c2VyX2J1aWxkX3BhdGgsICdfX1hQQ19EWUxEX0ZSQU1FV09SS19Q
QVRIJzogYnJvd3Nlcl9idWlsZF9wYXRoLCAnX19YUENfRFlMRF9MSUJSQVJZX1BBVEgnOiBicm93
c2VyX2J1aWxkX3BhdGh9CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIF9sb2cu
aW5mbygnQ291bGQgbm90IGZpbmQgU2FmYXJpLmFwcCBhdCAlcywgdXNpbmcgdGhlIHN5c3RlbSBT
YWZhcmkgaW5zdGVhZCcgJSBzYWZhcmlfYXBwX2luX2J1aWxkX3BhdGgpCisgICAgICAgIGVsaWYg
YnJvd3Nlcl9wYXRoOgorICAgICAgICAgICAgc2FmYXJpX2FwcF9pbl9icm93c2VyX3BhdGggPSBv
cy5wYXRoLmpvaW4oYnJvd3Nlcl9wYXRoLCAnQ29udGVudHMvTWFjT1MvU2FmYXJpJykKKyAgICAg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNhZmFyaV9hcHBfaW5fYnJvd3Nlcl9wYXRoKToKKyAg
ICAgICAgICAgICAgICBhcmdzID0gW3NhZmFyaV9hcHBfaW5fYnJvd3Nlcl9wYXRoXQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ0NvdWxkIG5vdCBmaW5kIGFw
cGxpY2F0aW9uIGF0ICVzLCB1c2luZyB0aGUgc3lzdGVtIFNhZmFyaSBpbnN0ZWFkJyAlIHNhZmFy
aV9hcHBfaW5fYnJvd3Nlcl9wYXRoKQogCiAgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuX3NhZmFy
aV9wcmVmZXJlbmNlcykKICAgICAgICAgX2xvZy5pbmZvKCdMYXVuY2hpbmcgc2FmYXJpOiAlcyB3
aXRoIHVybDogJXMnICUgKGFyZ3NbMF0sIHVybCkpCi0gICAgICAgIHNlbGYuX3NhZmFyaV9wcm9j
ZXNzID0gT1NYU2FmYXJpRHJpdmVyLl9sYXVuY2hfcHJvY2Vzc193aXRoX2NhZmZpbmF0ZShhcmdz
LCBlbnYpCisgICAgICAgIHNlbGYuX3NhZmFyaV9wcm9jZXNzID0gT1NYU2FmYXJpRHJpdmVyLl9s
YXVuY2hfcHJvY2Vzc193aXRoX2NhZmZlaW5hdGUoYXJncywgZW52KQogCiAgICAgICAgICMgU3Rv
cCBmb3IgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHNhZmFyaSBwcm9jZXNzLCBvdGhlcndpc2UsIG9w
ZW4KICAgICAgICAgIyBjb21tYW5kIG1heSB1c2UgdGhlIHN5c3RlbSBzYWZhcmkuCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvcnVuX2JlbmNobWFy
ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2ht
YXJrLnB5CmluZGV4IDg3NTJmMmI2ZmM3NmI0NDEwYmI0YmM2NDY1MGM3ZThhNjkyNWY5YmQuLmFj
M2ZlZTBkOWI1NGYwM2U3ODc3MjllYWE2M2Y1NTlmNDdlMzI3MGMgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2htYXJrLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2htYXJrLnB5
CkBAIC00MCw5ICs0MCwxMyBAQCBkZWYgcGFyc2VfYXJncygpOgogICAgIG11dHVhbF9ncm91cC5h
ZGRfYXJndW1lbnQoJy0tYWxscGxhbnMnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSdSdW4g
YWxsIGF2YWlsYWJsZSBiZW5jaG1hcmsgcGxhbnMgaW4gb3JkZXIuJykKICAgICBtdXR1YWxfZ3Jv
dXAuYWRkX2FyZ3VtZW50KCctLXJlYWQtcmVzdWx0cy1qc29uJywgZGVzdD0nanNvbl9maWxlJywg
aGVscD0nSW5zdGVhZCBvZiBydW5uaW5nIGEgYmVuY2htYXJrLCBmb3JtYXQgdGhlIG91dHB1dCBz
YXZlZCBpbiBKU09OX0ZJTEUuJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dC1m
aWxlJywgZGVmYXVsdD1Ob25lLCBoZWxwPSdTYXZlIGRldGFpbGVkIHJlc3VsdHMgdG8gT1VUUFVU
IGluIEpTT04gZm9ybWF0LiBCeSBkZWZhdWx0LCByZXN1bHRzIHdpbGwgbm90IGJlIHNhdmVkLicp
Ci0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1idWlsZC1kaXJlY3RvcnknLCBkZXN0PSdidWls
ZF9kaXInLCBoZWxwPSdQYXRoIHRvIHRoZSBicm93c2VyIGV4ZWN1dGFibGUgKGUuZy4gV2ViS2l0
QnVpbGQvUmVsZWFzZS8pLicpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jb3VudCcsIHR5
cGU9aW50LCBoZWxwPSdOdW1iZXIgb2YgdGltZXMgdG8gcnVuIHRoZSBiZW5jaG1hcmsgKGUuZy4g
NSkuJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRyaXZlcicsIGRlZmF1bHQ9V2ViU2Vy
dmVyQmVuY2htYXJrUnVubmVyLm5hbWUsIGNob2ljZXM9YmVuY2htYXJrX3J1bm5lcl9zdWJjbGFz
c2VzLmtleXMoKSwgaGVscD0nVXNlIHRoZSBzcGVjaWZpZWQgYmVuY2htYXJrIGRyaXZlci4gRGVm
YXVsdHMgdG8gJXMuJyAlIFdlYlNlcnZlckJlbmNobWFya1J1bm5lci5uYW1lKQorCisgICAgZ3Jv
dXAgPSBwYXJzZXIuYWRkX211dHVhbGx5X2V4Y2x1c2l2ZV9ncm91cCgpCisgICAgZ3JvdXAuYWRk
X2FyZ3VtZW50KCctLWJyb3dzZXItcGF0aCcsIGhlbHA9J1NwZWNpZnkgdGhlIHBhdGggdG8gYSBu
b24tZGVmYXVsdCBjb3B5IG9mIHRoZSB0YXJnZXQgYnJvd3NlciBhcyBhIHBhdGggdG8gdGhlIC5h
cHAuJykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy0tYnVpbGQtZGlyZWN0b3J5JywgZGVzdD0n
YnVpbGRfZGlyJywgaGVscD0nUGF0aCB0byB0aGUgYnJvd3NlciBleGVjdXRhYmxlIChlLmcuIFdl
YktpdEJ1aWxkL1JlbGVhc2UvKS4nKQorCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1icm93
c2VyJywgZGVmYXVsdD1kZWZhdWx0X2Jyb3dzZXIoKSwgY2hvaWNlcz1Ccm93c2VyRHJpdmVyRmFj
dG9yeS5hdmFpbGFibGVfYnJvd3NlcnMoKSwgaGVscD0nQnJvd3NlciB0byBydW4gdGhlIG5lY2ht
YXJrIGluLiBEZWZhdWx0cyB0byAlcy4nICUgZGVmYXVsdF9icm93c2VyKCkpCiAgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgnLS1wbGF0Zm9ybScsIGRlZmF1bHQ9ZGVmYXVsdF9wbGF0Zm9ybSgpLCBj
aG9pY2VzPUJyb3dzZXJEcml2ZXJGYWN0b3J5LmF2YWlsYWJsZV9wbGF0Zm9ybXMoKSwgaGVscD0n
UGxhdGZvcm0gdGhhdCB0aGlzIHNjcmlwdCBpcyBydW5uaW5nIG9uLiBEZWZhdWx0cyB0byAlcy4n
ICUgZGVmYXVsdF9wbGF0Zm9ybSgpKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9jYWwt
Y29weScsIGhlbHA9J1BhdGggdG8gYSBsb2NhbCBjb3B5IG9mIHRoZSBiZW5jaG1hcmsgKGUuZy4g
UGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvKS4nKQpAQCAtNjUsNyArNjksNyBAQCBkZWYgcGFy
c2VfYXJncygpOgogCiBkZWYgcnVuX2JlbmNobWFya19wbGFuKGFyZ3MsIHBsYW4pOgogICAgIGJl
bmNobWFya19ydW5uZXJfY2xhc3MgPSBiZW5jaG1hcmtfcnVubmVyX3N1YmNsYXNzZXNbYXJncy5k
cml2ZXJdCi0gICAgcnVubmVyID0gYmVuY2htYXJrX3J1bm5lcl9jbGFzcyhwbGFuLCBhcmdzLmxv
Y2FsX2NvcHksIGFyZ3MuY291bnQsIGFyZ3MuYnVpbGRfZGlyLCBhcmdzLm91dHB1dF9maWxlLCBh
cmdzLnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIsIGFyZ3Muc2NhbGVfdW5pdCwgYXJncy5zaG93X2l0
ZXJhdGlvbl92YWx1ZXMsIGFyZ3MuZGV2aWNlX2lkKQorICAgIHJ1bm5lciA9IGJlbmNobWFya19y
dW5uZXJfY2xhc3MocGxhbiwgYXJncy5sb2NhbF9jb3B5LCBhcmdzLmNvdW50LCBhcmdzLmJ1aWxk
X2RpciwgYXJncy5vdXRwdXRfZmlsZSwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93c2VyLCBhcmdz
LmJyb3dzZXJfcGF0aCwgYXJncy5zY2FsZV91bml0LCBhcmdzLnNob3dfaXRlcmF0aW9uX3ZhbHVl
cywgYXJncy5kZXZpY2VfaWQpCiAgICAgcnVubmVyLmV4ZWN1dGUoKQogCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJkcml2ZXJfYmVuY2ht
YXJrX3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93
ZWJkcml2ZXJfYmVuY2htYXJrX3J1bm5lci5weQpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAw
NzU1CmluZGV4IDdkMDc3MmFiMGQ5MDI3MmZmOWUxZmNkNDUxNGM5MDFmNjdjMzc5NDIuLmIzYjZj
YzgzN2QyOTIyZWJkOGZiNjgyN2I0NDRiOGI1ZDE5NmY2NGYKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYmRyaXZlcl9iZW5jaG1hcmtfcnVubmVyLnB5Cisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJkcml2ZXJfYmVu
Y2htYXJrX3J1bm5lci5weQpAQCAtMjIsNyArMjIsNyBAQCBjbGFzcyBXZWJEcml2ZXJCZW5jaG1h
cmtSdW5uZXIoQmVuY2htYXJrUnVubmVyKToKICAgICAgICAgcmVzdWx0ID0gTm9uZQogICAgICAg
ICB0cnk6CiAgICAgICAgICAgICB1cmwgPSAnZmlsZTovL3tyb290fS97cGxhbl9uYW1lfS97dGVz
dF9maWxlfScuZm9ybWF0KHJvb3Q9d2ViX3Jvb3QsIHBsYW5fbmFtZT1zZWxmLl9wbGFuX25hbWUs
IHRlc3RfZmlsZT10ZXN0X2ZpbGUpCi0gICAgICAgICAgICBkcml2ZXIgPSBzZWxmLl9icm93c2Vy
X2RyaXZlci5sYXVuY2hfZHJpdmVyKHVybCwgc2VsZi5fcGxhblsnb3B0aW9ucyddLCBzZWxmLl9i
dWlsZF9kaXIpCisgICAgICAgICAgICBkcml2ZXIgPSBzZWxmLl9icm93c2VyX2RyaXZlci5sYXVu
Y2hfZHJpdmVyKHVybCwgc2VsZi5fcGxhblsnb3B0aW9ucyddLCBzZWxmLl9idWlsZF9kaXIsIHNl
bGYuX2Jyb3dzZXJfcGF0aCkKICAgICAgICAgICAgIF9sb2cuaW5mbygnV2FpdGluZyBvbiByZXN1
bHRzIGZyb20gd2ViIGJyb3dzZXInKQogICAgICAgICAgICAgcmVzdWx0ID0gV2ViRHJpdmVyV2Fp
dChkcml2ZXIsIHNlbGYuX3BsYW5bJ3RpbWVvdXQnXSwgcG9sbF9mcmVxdWVuY3k9MS4wKS51bnRp
bChzZWxmLl9nZXRfcmVzdWx0KQogICAgICAgICAgICAgZHJpdmVyLnF1aXQoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9iZW5j
aG1hcmtfcnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L3dlYnNlcnZlcl9iZW5jaG1hcmtfcnVubmVyLnB5Cm9sZCBtb2RlIDEwMDY0NApuZXcgbW9kZSAx
MDA3NTUKaW5kZXggYjBjYjg4ZDkxNzM3M2Y5MzY4NDY4OWU0OGIxOWQ5MWE0YjBmODVmNS4uM2Ni
MTRlY2E1ZTM4OGM2NDQ2YTRjNjk2YTM1ZTM2ZjBkYTAxYzBhMgotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3dlYnNlcnZlcl9i
ZW5jaG1hcmtfcnVubmVyLnB5CkBAIC0xNSwxMCArMTUsMTAgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0
TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgV2ViU2VydmVyQmVuY2htYXJrUnVubmVyKEJlbmNobWFy
a1J1bm5lcik6CiAgICAgbmFtZSA9ICd3ZWJzZXJ2ZXInCiAKLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRw
dXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIHNjYWxlX3VuaXQ9VHJ1ZSwgc2hvd19pdGVyYXRp
b25fdmFsdWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs
IHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0
X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBicm93c2VyX3BhdGgsIHNjYWxlX3VuaXQ9VHJ1ZSwg
c2hvd19pdGVyYXRpb25fdmFsdWVzPUZhbHNlLCBkZXZpY2VfaWQ9Tm9uZSk6CiAgICAgICAgIHNl
bGYuX2h0dHBfc2VydmVyX2RyaXZlciA9IEhUVFBTZXJ2ZXJEcml2ZXJGYWN0b3J5LmNyZWF0ZShw
bGF0Zm9ybSkKICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyLnNldF9kZXZpY2VfaWQo
ZGV2aWNlX2lkKQotICAgICAgICBzdXBlcihXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIsIHNlbGYp
Ll9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rp
ciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyLCBzY2FsZV91bml0LCBzaG93X2l0ZXJh
dGlvbl92YWx1ZXMsIGRldmljZV9pZCkKKyAgICAgICAgc3VwZXIoV2ViU2VydmVyQmVuY2htYXJr
UnVubmVyLCBzZWxmKS5fX2luaXRfXyhwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJy
aWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9w
YXRoLCBzY2FsZV91bml0LCBzaG93X2l0ZXJhdGlvbl92YWx1ZXMsIGRldmljZV9pZCkKIAogICAg
IGRlZiBfZ2V0X3Jlc3VsdChzZWxmLCB0ZXN0X3VybCk6CiAgICAgICAgIHJlc3VsdCA9IHNlbGYu
X2Jyb3dzZXJfZHJpdmVyLmFkZF9hZGRpdGlvbmFsX3Jlc3VsdHModGVzdF91cmwsIHNlbGYuX2h0
dHBfc2VydmVyX2RyaXZlci5mZXRjaF9yZXN1bHQoKSkKQEAgLTMwLDcgKzMwLDcgQEAgY2xhc3Mg
V2ViU2VydmVyQmVuY2htYXJrUnVubmVyKEJlbmNobWFya1J1bm5lcik6CiAgICAgICAgIHRyeToK
ICAgICAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVyX2RyaXZlci5zZXJ2ZSh3ZWJfcm9vdCkKICAg
ICAgICAgICAgIHVybCA9IHVybHBhcnNlLnVybGpvaW4oc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVy
LmJhc2VfdXJsKCksIHNlbGYuX3BsYW5fbmFtZSArICcvJyArIHRlc3RfZmlsZSkKLSAgICAgICAg
ICAgIHNlbGYuX2Jyb3dzZXJfZHJpdmVyLmxhdW5jaF91cmwodXJsLCBzZWxmLl9wbGFuWydvcHRp
b25zJ10sIHNlbGYuX2J1aWxkX2RpcikKKyAgICAgICAgICAgIHNlbGYuX2Jyb3dzZXJfZHJpdmVy
LmxhdW5jaF91cmwodXJsLCBzZWxmLl9wbGFuWydvcHRpb25zJ10sIHNlbGYuX2J1aWxkX2Rpciwg
c2VsZi5fYnJvd3Nlcl9wYXRoKQogICAgICAgICAgICAgd2l0aCBUaW1lb3V0KHNlbGYuX3BsYW5b
J3RpbWVvdXQnXSk6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5fZ2V0X3Jlc3VsdCh1
cmwpCiAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2Jyb3dzZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkK
b2xkIG1vZGUgMTAwNjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCAzNDYxNTE4NjQxNGRkZDcxYzBh
OWMwMmFkN2ZiOTVhNDYzNTNmODFlLi5kOGNiZjAwOWI4MTJkNDQxYjY2MTZiZmJmZmQwNDE5NDg5
ZGNiOThjCi0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYnJvd3NlcnBlcmZkYXNoL2Jyb3dz
ZXJwZXJmZGFzaF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jyb3dz
ZXJwZXJmZGFzaC9icm93c2VycGVyZmRhc2hfdW5pdHRlc3QucHkKQEAgLTQwLDggKzQwLDggQEAg
X2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgRmFrZUJlbmNobWFya1J1
bm5lcihCZW5jaG1hcmtSdW5uZXIpOgogICAgIG5hbWUgPSAnZmFrZScKIAotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9k
aXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3Nlcik6Ci0gICAgICAgIHN1cGVyKEZha2VC
ZW5jaG1hcmtSdW5uZXIsIHNlbGYpLl9faW5pdF9fKHBsYW5fZmlsZSwgbG9jYWxfY29weSwgY291
bnRfb3ZlcnJpZGUsIGJ1aWxkX2Rpciwgb3V0cHV0X2ZpbGUsIHBsYXRmb3JtLCBicm93c2VyKQor
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJy
aWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9w
YXRoKToKKyAgICAgICAgc3VwZXIoRmFrZUJlbmNobWFya1J1bm5lciwgc2VsZikuX19pbml0X18o
cGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRf
ZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCkKIAogICAgIGRlZiBleGVjdXRl
KHNlbGYpOgogICAgICAgICByZXR1cm4gVHJ1ZQpAQCAtNjAsNSArNjAsNSBAQCBjbGFzcyBCcm93
c2VyUGVyZkRhc2hSdW5uZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBUaGlz
IHRlc3RzIHRoYXQgY29uc3RydWN0aW5nIHRoZSBiZW5jaG1hcmtfcnVubmVyIG9iamVjdCBzcGVj
aWZ5aW5nIHRoZSBtaW5pbXVtIHJlcXVpcmVkIHBhcmFtYXRlcnMgaXMgb2suCiAgICAgICAgIHBs
YW5fbGlzdCA9IEJlbmNobWFya1J1bm5lci5hdmFpbGFibGVfcGxhbnMoKQogICAgICAgICBidWls
ZF9kaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuY3VyZGlyKQotICAgICAgICBydW5uZXIgPSBGYWtl
QmVuY2htYXJrUnVubmVyKHBsYW5fbGlzdFswXSwgRmFsc2UsIDEsIGJ1aWxkX2RpciwgIi90bXAv
dGVzdE91dHB1dC50eHQiLCBkZWZhdWx0X3BsYXRmb3JtKCksIGRlZmF1bHRfYnJvd3NlcigpKQor
ICAgICAgICBydW5uZXIgPSBGYWtlQmVuY2htYXJrUnVubmVyKHBsYW5fbGlzdFswXSwgRmFsc2Us
IDEsIGJ1aWxkX2RpciwgIi90bXAvdGVzdE91dHB1dC50eHQiLCBkZWZhdWx0X3BsYXRmb3JtKCks
IGRlZmF1bHRfYnJvd3NlcigpLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocnVubmVy
LmV4ZWN1dGUoKSkK
</data>
<flag name="review"
          id="374770"
          type_id="1"
          status="+"
          setter="dewei_zhu"
    />
          </attachment>
      

    </bug>

</bugzilla>