<?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>163960</bug_id>
          
          <creation_ts>2016-10-25 11:50:38 -0700</creation_ts>
          <short_desc>Implement the &quot;noopener&quot; feature for window.open()</short_desc>
          <delta_ts>2017-03-22 09:15:30 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=155166</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zcorpan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244319</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-25 11:50:38 -0700</bug_when>
    <thetext>Step 9.1 of https://html.spec.whatwg.org/#dom-open says:

    If the result of splitting features on commas contains the token &quot;noopener&quot;, then disown target browsing context&apos;s opener and return null.

We should implement this feature to compliment our support for rel=noopener on a and area elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244320</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-10-25 11:51:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/28941679&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289741</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Pieters (:zcorpan)">zcorpan</who>
    <bug_when>2017-03-21 02:54:05 -0700</bug_when>
    <thetext>web-platform-tests:
html/browsers/windows/auxiliary-browsing-contexts/opener-noopener.html

added in https://github.com/w3c/web-platform-tests/pull/5131</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289794</commentid>
    <comment_count>3</comment_count>
      <attachid>305008</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-21 12:23:26 -0700</bug_when>
    <thetext>Created attachment 305008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289817</commentid>
    <comment_count>4</comment_count>
      <attachid>305019</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-03-21 13:28:08 -0700</bug_when>
    <thetext>Created attachment 305019
Reuploading patch for ews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290064</commentid>
    <comment_count>5</comment_count>
      <attachid>305008</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-22 09:15:25 -0700</bug_when>
    <thetext>Comment on attachment 305008
Patch

Clearing flags on attachment: 305008

Committed r214251: &lt;http://trac.webkit.org/changeset/214251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1290065</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-03-22 09:15:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305008</attachid>
            <date>2017-03-21 12:23:26 -0700</date>
            <delta_ts>2017-03-22 09:15:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163960-20170321122324.patch</filename>
            <type>text/plain</type>
            <size>35500</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE4MDdjNzlkYmI2Zjlj
MDdlMjlhZWE4OTRmZWRjYjI4ZTdlZDI2NS4uNWQ3OTkzMWJmODRjZDQxNGYxYjM1ZjhkMTI4ZDVl
MTBjN2U0NGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTAzLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSAibm9v
cGVuZXIiIGZlYXR1cmUgZm9yIHdpbmRvdy5vcGVuKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzk2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Mjg5NDE2Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSAibm9vcGVuZXIiIGZlYXR1cmUgZm9yIHdpbmRvdy5vcGVuKCkuIElm
ICdub29wZW5lcicgaXMgcGFzc2VkIHRvIHdpbmRvdy5vcGVuKCkKKyAgICAgICAgdGhlbiB0aGUg
bmV3IFdpbmRvdydzIG9wZW5lciBwcm9wZXJ0eSB3aWxsIGJlIG51bGwuCisKKyAgICAgICAgVGVz
dHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5k
b3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vcmVmZXJy
ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogcGFnZS9XaW5kb3dGZWF0dXJlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVdpbmRvd0ZlYXR1cmVzKToKKyAgICAgICAgKFdl
YkNvcmU6OnNldFdpbmRvd0ZlYXR1cmUpOgorICAgICAgICAqIHBhZ2UvV2luZG93RmVhdHVyZXMu
aDoKKwogMjAxNy0wMy0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1c3BlbmQgbWVkaWEgcGxheWJhY2sgaW4gYmFja2dyb3VuZCB0YWJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKaW5kZXggMmZiMTUwODg4NzNiYWY3YTE5YWMwYmQwYWU0NzRjNDU4NzUy
M2U4YS4uOWVlN2Y5NjllNmYzNTI5ZDlmZmViZmNkYzZiYmQzNDg5OWIzMTMzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjE5OCw3ICsyMTk4LDggQEAgUmVmUHRyPEZyYW1lPiBE
T01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgQXRv
bWljU3RyaW4KICAgICBpZiAoIW5ld0ZyYW1lKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAot
ICAgIG5ld0ZyYW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm9wZW5lckZyYW1lKTsKKyAgICBpZiAo
IXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKQorICAgICAgICBuZXdGcmFtZS0+bG9hZGVyKCkuc2V0
T3BlbmVyKCZvcGVuZXJGcmFtZSk7CiAgICAgbmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlE
T00oKTsKIAogICAgIGlmIChuZXdGcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmlzSW5z
ZWN1cmVTY3JpcHRBY2Nlc3MoYWN0aXZlV2luZG93LCBjb21wbGV0ZWRVUkwpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcAppbmRleCBiOGFkY2I0NDk0MmZhNWViYmU1YWI1ZDcx
NTQxOTI4MjcwMGYxMmRjLi5iODk0NGVkMjdhODQ2MWQ4ZDJhN2E5OGZhNjJiNmIyOWY5ZjRhYjc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcApAQCAtNjMsNiArNjMsNyBA
QCBXaW5kb3dGZWF0dXJlcyBwYXJzZVdpbmRvd0ZlYXR1cmVzKFN0cmluZ1ZpZXcgZmVhdHVyZXNT
dHJpbmcpCiAgICAgZmVhdHVyZXMudG9vbEJhclZpc2libGUgPSBmYWxzZTsKICAgICBmZWF0dXJl
cy5sb2NhdGlvbkJhclZpc2libGUgPSBmYWxzZTsKICAgICBmZWF0dXJlcy5zY3JvbGxiYXJzVmlz
aWJsZSA9IGZhbHNlOworICAgIGZlYXR1cmVzLm5vb3BlbmVyID0gZmFsc2U7CiAKICAgICBwcm9j
ZXNzRmVhdHVyZXNTdHJpbmcoZmVhdHVyZXNTdHJpbmcsIFsmZmVhdHVyZXNdKFN0cmluZ1ZpZXcg
a2V5LCBTdHJpbmdWaWV3IHZhbHVlKSB7CiAgICAgICAgIHNldFdpbmRvd0ZlYXR1cmUoZmVhdHVy
ZXMsIGtleSwgdmFsdWUpOwpAQCAtMTM1LDYgKzEzNiw4IEBAIHN0YXRpYyB2b2lkIHNldFdpbmRv
d0ZlYXR1cmUoV2luZG93RmVhdHVyZXMmIGZlYXR1cmVzLCBTdHJpbmdWaWV3IGtleSwgU3RyaW5n
VmllCiAgICAgICAgIGZlYXR1cmVzLmZ1bGxzY3JlZW4gPSBudW1lcmljVmFsdWU7CiAgICAgZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2V5LCAic2Nyb2xsYmFycyIpKQog
ICAgICAgICBmZWF0dXJlcy5zY3JvbGxiYXJzVmlzaWJsZSA9IG51bWVyaWNWYWx1ZTsKKyAgICBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShrZXksICJub29wZW5lciIpKQor
ICAgICAgICBmZWF0dXJlcy5ub29wZW5lciA9IG51bWVyaWNWYWx1ZTsKICAgICBlbHNlIGlmIChu
dW1lcmljVmFsdWUgPT0gMSkKICAgICAgICAgZmVhdHVyZXMuYWRkaXRpb25hbEZlYXR1cmVzLmFw
cGVuZChrZXkudG9TdHJpbmcoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1dpbmRvd0ZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmgK
aW5kZXggZDQ2YTc1YTAyMDY1MzJmNmJhODAwMjY5Njk0NDZjOGEyYmZiNmQ4YS4uZjdlYjVmZTVj
NjMwN2MyNTE2M2QzYWRlMTY2MGFmOWYyYjM2ZDVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9XaW5kb3dGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93
RmVhdHVyZXMuaApAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXMgewogCiAg
ICAgYm9vbCBmdWxsc2NyZWVuIHsgZmFsc2UgfTsKICAgICBib29sIGRpYWxvZyB7IGZhbHNlIH07
CisgICAgYm9vbCBub29wZW5lciB7IGZhbHNlIH07CiAKICAgICBWZWN0b3I8U3RyaW5nPiBhZGRp
dGlvbmFsRmVhdHVyZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggN2Yy
Njk3ZjEzOWRkMzE4NWQ2ZDc1NzQ1MmVlZTdlNGM4NzEzOTkxMC4uMWQzMDU1ODlhMmJmOGIyZTRj
YTk1ZmRiMGNhYjFlZTFhNTgxM2Q0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMTctMDMtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlICJub29wZW5lciIgZmVhdHVyZSBmb3Igd2luZG93
Lm9wZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYzOTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODk0MTY3OT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgdGVzdCBjb3ZlcmFnZSBm
cm9tIFdQVCB1cHN0cmVhbS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9QcmVmaXhlZExv
Y2FsU3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZSk6Cisg
ICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZS5wcm90b3R5cGUuY2xlYXIpOgorICAgICAgICAo
UHJlZml4ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnVybCk6CisgICAgICAgIChQcmVmaXhlZExv
Y2FsU3RvcmFnZS5wcm90b3R5cGUucHJlZml4ZWRLZXkpOgorICAgICAgICAoUHJlZml4ZWRMb2Nh
bFN0b3JhZ2UucHJvdG90eXBlLnNldEl0ZW0pOgorICAgICAgICAoUHJlZml4ZWRMb2NhbFN0b3Jh
Z2UucHJvdG90eXBlLm9uU2V0KToKKyAgICAgICAgKFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdCk6
CisgICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QucHJvdG90eXBlLmNsZWFudXApOgor
ICAgICAgICAoUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0
cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4
dHMvb3BlbmVyLWNsb3NlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVu
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVs
dGlwbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXIt
bXVsdGlwbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vb3Bl
bmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5v
b3BlbmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jy
b3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3JlZmVy
cmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5v
cmVmZXJyZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRv
d3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL21lc3NhZ2Utd2luZG93
LW9wZW5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbXVs
dGlwbGUtb3BlbmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNl
cy9uby1vcGVuZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2Vz
L29wZW4tY2xvc2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBv
cnQubG9nOgorCiAyMDE3LTAzLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IHNlbGYub3JpZ2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4
IGI2NTgyNGM2OGNmOGY5NDNlMDE4MjJkMzYyYTY0ZmU5ZDYxZjIxNTkuLmE0YWNkODRhMjBlOGIx
MTNlZDdkZTVkMWUwZjk0N2MxMDdiNzhmODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0x
MDIsNiArMTAyLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Jyb3dzZXItcGF5bWVudC1h
cGkiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY2xlYXItc2l0ZS1kYXRhIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2NsaXBib2FyZCI6ICJza2lwIiwgCisg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvY29tcGF0IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnNvbGUiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0
eS1wb2xpY3kiOiAic2tpcCIsIApAQCAtMTk1LDYgKzE5Niw3IEBACiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL29mZmxpbmUvYXBwbGljYXRpb24tY2FjaGUtYXBpIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3Nz
LW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLnN1Yi5odG1sIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvc2FuZGJveGluZyI6ICJza2lw
IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9icm93c2luZy1jb250ZXh0LWZpcnN0LWNyZWF0ZWQu
eGh0bWwiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL25lc3RlZC1icm93c2luZy1jb250ZXh0cy9mcmFtZUVsZW1lbnQuaHRtbCI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvdGFyZ2V0
aW5nLWNyb3NzLW9yaWdpbi1uZXN0ZWQtYnJvd3NpbmctY29udGV4dHMuaHRtbCI6ICJza2lwIiwg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL1ByZWZpeGVkTG9jYWxTdG9yYWdlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJmNGU3YjZhMDU1Y2FhM2ZkZDhiZmRmYjM4M2IzNGM0OTZiNjA1NDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcwpAQCAtMCwwICsxLDExNiBAQAorLyoqCisgKiBT
dXBwb3J0cyBwc2V1ZG8tIm5hbWVzcGFjaW5nIiBsb2NhbFN0b3JhZ2UgZm9yIGEgZ2l2ZW4gdGVz
dAorICogYnkgZ2VuZXJhdGluZyBhbmQgdXNpbmcgYSB1bmlxdWUgcHJlZml4IGZvciBrZXlzLiBX
aHkgdHJvdW5jZSBvbiBvdGhlcgorICogdGVzdHMnIGxvY2FsU3RvcmFnZSBpdGVtcyB3aGVuIHlv
dSBjYW4ga2VlcCBpdCAic2VwYXJhdGVkIj8KKyAqCisgKiBQcmVmaXhlZExvY2FsU3RvcmFnZVRl
c3Q6IEluc3RhbnRpYXRlIGluIHRlc3RoYXJuZXNzLmpzIHRlc3RzIHRvIGdlbmVyYXRlCisgKiAg
IGEgbmV3IHVuaXF1ZS1pc2ggcHJlZml4CisgKiBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNl
OiBJbnN0YW50aWF0ZSBpbiBzdXBwb3J0aW5nIHRlc3QgcmVzb3VyY2UKKyAqICAgZmlsZXMgdG8g
dXNlL3NoYXJlIGEgcHJlZml4IGdlbmVyYXRlZCBieSBhIHRlc3QuCisgKi8KK3ZhciBQcmVmaXhl
ZExvY2FsU3RvcmFnZSA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5wcmVmaXggPSAnJzsgLy8gUHJl
Zml4IGZvciBsb2NhbFN0b3JhZ2Uga2V5cworICB0aGlzLnBhcmFtID0gJ3ByZWZpeGVkTG9jYWxT
dG9yYWdlJzsgLy8gUGFyYW0gdG8gdXNlIGluIHF1ZXJ5c3RyaW5ncworfTsKKworUHJlZml4ZWRM
b2NhbFN0b3JhZ2UucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkgeworICBpZiAodGhpcy5w
cmVmaXggPT09ICcnKSB7IHJldHVybjsgfQorICBPYmplY3Qua2V5cyhsb2NhbFN0b3JhZ2UpLmZv
ckVhY2goc0tleSA9PiB7CisgICAgaWYgKHNLZXkuaW5kZXhPZih0aGlzLnByZWZpeCkgPT09IDAp
IHsKKyAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHNLZXkpOworICAgIH0KKyAgfSk7Cit9
OworCisvKioKKyAqIEFwcGVuZC9yZXBsYWNlIHByZWZpeCBwYXJhbWV0ZXIgYW5kIHZhbHVlIGlu
IFVSSSBxdWVyeXN0cmluZworICogVXNlIHRvIGdlbmVyYXRlIFVSTHMgdG8gcmVzb3VyY2UgZmls
ZXMgdGhhdCB3aWxsIHNoYXJlIHRoZSBwcmVmaXguCisgKi8KK1ByZWZpeGVkTG9jYWxTdG9yYWdl
LnByb3RvdHlwZS51cmwgPSBmdW5jdGlvbiAodXJpKSB7CisgIGZ1bmN0aW9uIHVwZGF0ZVVybFBh
cmFtZXRlciAodXJpLCBrZXksIHZhbHVlKSB7CisgICAgdmFyIGkgICAgICAgICA9IHVyaS5pbmRl
eE9mKCcjJyk7CisgICAgdmFyIGhhc2ggICAgICA9IChpID09PSAtMSkgPyAnJyA6IHVyaS5zdWJz
dHIoaSk7CisgICAgdXJpICAgICAgICAgICA9IChpID09PSAtMSkgPyB1cmkgOiB1cmkuc3Vic3Ry
KDAsIGkpOworICAgIHZhciByZSAgICAgICAgPSBuZXcgUmVnRXhwKGAoWz8mXSkke2tleX09Lio/
KCZ8JClgLCAnaScpOworICAgIHZhciBzZXBhcmF0b3IgPSB1cmkuaW5kZXhPZignPycpICE9PSAt
MSA/ICcmJyA6ICc/JzsKKyAgICB1cmkgPSAodXJpLm1hdGNoKHJlKSkgPyB1cmkucmVwbGFjZShy
ZSwgYCQxJHtrZXl9PSR7dmFsdWV9JDJgKSA6CisgICAgICBgJHt1cml9JHtzZXBhcmF0b3J9JHtr
ZXl9PSR7dmFsdWV9YDsKKyAgICByZXR1cm4gdXJpICsgaGFzaDsKKyAgfQorICByZXR1cm4gdXBk
YXRlVXJsUGFyYW1ldGVyKHVyaSwgdGhpcy5wYXJhbSwgdGhpcy5wcmVmaXgpOworfTsKKworUHJl
Zml4ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnByZWZpeGVkS2V5ID0gZnVuY3Rpb24gKGJhc2VL
ZXkpIHsKKyAgcmV0dXJuIGAke3RoaXMucHJlZml4fSR7YmFzZUtleX1gOworfTsKKworUHJlZml4
ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnNldEl0ZW0gPSBmdW5jdGlvbiAoYmFzZUtleSwgdmFs
dWUpIHsKKyAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5wcmVmaXhlZEtleShiYXNlS2V5KSwg
dmFsdWUpOworfTsKKworLyoqCisgKiBMaXN0ZW4gZm9yIGBzdG9yYWdlYCBldmVudHMgcGVydGFp
bmluZyB0byBhIHBhcnRpY3VsYXIga2V5LAorICogcHJlZml4ZWQgd2l0aCB0aGlzIG9iamVjdCdz
IHByZWZpeC4gSWdub3JlIHdoZW4gdmFsdWUgaXMgYmVpbmcgc2V0IHRvIG51bGwKKyAqIChpLmUu
IHJlbW92ZUl0ZW0pLgorICovCitQcmVmaXhlZExvY2FsU3RvcmFnZS5wcm90b3R5cGUub25TZXQg
PSBmdW5jdGlvbiAoYmFzZUtleSwgZm4pIHsKKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0
b3JhZ2UnLCBlID0+IHsKKyAgICB2YXIgbWF0Y2ggPSB0aGlzLnByZWZpeGVkS2V5KGJhc2VLZXkp
OworICAgIGlmIChlLm5ld1ZhbHVlICE9PSBudWxsICYmIGUua2V5LmluZGV4T2YobWF0Y2gpID09
PSAwKSB7CisgICAgICBmbi5jYWxsKHRoaXMsIGUpOworICAgIH0KKyAgfSk7Cit9OworCisvKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKKyAqIFVzZSBpbiBhIHRlc3RoYXJuZXNzanMgdGVzdCB0byBnZW5l
cmF0ZSBhIG5ldyBrZXkgcHJlZml4LgorICogYXN5bmNfdGVzdCh0ID0+IHsKKyAqICAgdmFyIHBy
ZWZpeGVkU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKTsKKyAqICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiBwcmVmaXhlZFN0b3JhZ2UuY2xlYW51cCgpKTsKKyAqICAgLy4uLgor
ICogfSk7CisgKi8KK3ZhciBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QgPSBmdW5jdGlvbiAoKSB7
CisgIFByZWZpeGVkTG9jYWxTdG9yYWdlLmNhbGwodGhpcyk7CisgIHRoaXMucHJlZml4ID0gYCR7
ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWV9LSR7TWF0aC5yYW5kb20oKX0tJHtEYXRlLm5vdygp
fS1gOworfTsKK1ByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC5wcm90b3R5cGUgPSBPYmplY3QuY3Jl
YXRlKFByZWZpeGVkTG9jYWxTdG9yYWdlLnByb3RvdHlwZSk7CitQcmVmaXhlZExvY2FsU3RvcmFn
ZVRlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHJlZml4ZWRMb2NhbFN0b3JhZ2VUZXN0Owor
CisvKioKKyAqIFVzZSBpbiBhIGNsZWFudXAgZnVuY3Rpb24gdG8gY2xlYXIgb3V0IHByZWZpeGVk
IGVudHJpZXMgaW4gbG9jYWxTdG9yYWdlCisgKi8KK1ByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC5w
cm90b3R5cGUuY2xlYW51cCA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5zZXRJdGVtKCdjbG9zZUFs
bCcsICd0cnVlJyk7CisgIHRoaXMuY2xlYXIoKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgorICogVXNlIGluIHRlc3QgcmVzb3VyY2UgZmlsZXMgdG8gc2hhcmUgYSBwcmVmaXggZ2VuZXJh
dGVkIGJ5IGEKKyAqIFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC4gV2lsbCBsb29rIGluIFVSTCBx
dWVyeXN0cmluZyBmb3IgcHJlZml4LgorICogU2V0dGluZyBgY2xvc2Vfb25fY2xlYW51cGAgb3B0
IHRydXRoeSB3aWxsIG1ha2UgdGhpcyBzY3JpcHQncyB3aW5kb3cgbGlzdGVuCisgKiBmb3Igc3Rv
cmFnZSBgY2xvc2VBbGxgIGV2ZW50IGZyb20gY29udHJvbGxpbmcgdGVzdCBhbmQgY2xvc2UgaXRz
ZWxmLgorICoKKyAqIHZhciBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlKHsgY2xvc2Vfb25f
Y2xlYW51cDogdHJ1ZSB9KTsKKyAqLwordmFyIFByZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3VyY2Ug
PSBmdW5jdGlvbiAob3B0aW9ucykgeworICBQcmVmaXhlZExvY2FsU3RvcmFnZS5jYWxsKHRoaXMp
OworICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB7CisgICAgY2xvc2Vfb25fY2xl
YW51cDogZmFsc2UKKyAgfSwgb3B0aW9ucyB8fCB7fSk7CisgIC8vIENoZWNrIFVSTCBxdWVyeXN0
cmluZyBmb3IgcHJlZml4IHRvIHVzZQorICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKGBbPyZdJHt0
aGlzLnBhcmFtfSg9KFteJiNdKil8JnwjfCQpYCksCisgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWMo
ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7CisgIGlmIChyZXN1bHRzICYmIHJlc3VsdHNbMl0pIHsK
KyAgICB0aGlzLnByZWZpeCA9IHJlc3VsdHNbMl07CisgIH0KKyAgLy8gT3B0aW9uYWxseSBoYXZl
IHRoaXMgd2luZG93IGNsb3NlIGl0c2VsZiB3aGVuIHRoZSBQcmVmaXhlZExvY2FsU3RvcmFnZVRl
c3QKKyAgLy8gc2V0cyBhIGBjbG9zZUFsbGAgaXRlbS4KKyAgaWYgKHRoaXMub3B0aW9ucy5jbG9z
ZV9vbl9jbGVhbnVwKSB7CisgICAgdGhpcy5vblNldCgnY2xvc2VBbGwnLCAoKSA9PiB7CisgICAg
ICB3aW5kb3cuY2xvc2UoKTsKKyAgICB9KTsKKyAgfQorfTsKK1ByZWZpeGVkTG9jYWxTdG9yYWdl
UmVzb3VyY2UucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShQcmVmaXhlZExvY2FsU3RvcmFnZS5w
cm90b3R5cGUpOworUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZS5wcm90b3R5cGUuY29uc3Ry
dWN0b3IgPSBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93
M2MtaW1wb3J0LmxvZwppbmRleCA3ZTE0MmFiY2JjZmI2YmI1MmQ5NzNkYzViNDViNGRmNzUyZGFm
MTA4Li5hOGRkZTNlNTMzN2NkNGNlNjZmNmYzZDVlNmQzOGU0ZThkNDJlZTQ0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvbW1vbi93M2MtaW1wb3J0LmxvZwpAQCAtMTYsNiArMTYsNyBAQCBOb25lCiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vT1dORVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9ibGFuay5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vY2FudmFz
LWZyYW1lLmNzcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL2NhbnZhcy1pbmRleC5jc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1i
cm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44OGUwYjZmZDRlN2IyYThjZmU0NjE3ZjExY2U0YTcyMjc4MGEwODRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1j
bG9zZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEFuIGF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0IHNob3VsZCByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9wZW5lcmAg
d2hlbiB0aGF0IGJyb3dzaW5nIGNvbnRleHQgaXMgZGlzY2FyZGVkIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLWNsb3NlZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41YTE1ZDlmY2U0NTkxMTkwNzkyMjQ5NTQ2YzgyODBkYTE4YmVjODczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5l
ci1jbG9zZWQuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+QXV4aWxpYXJ5IEJy
b3dpbmcgQ29udGV4dHM6IHdpbmRvdy5vcGVuZXIgd2hlbiBPcGVuZXIgUmVtb3ZlZC9DbG9zZWQ8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8u
Li8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIvY29tbW9uL1ByZWZpeGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKyAg
PC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgIDxzY3JpcHQ+
CisgICAgdmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlOworICAgIHNldHVwICgoKSA9PiBwcmVmaXhl
ZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5
bmNfdGVzdCh0ID0+IHsKKyAgICAgIHQuYWRkX2NsZWFudXAgKCgpID0+IHByZWZpeGVkTG9jYWxT
dG9yYWdlLmNsZWFudXAoKSk7CisgICAgICB2YXIgYSAgICAgICA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2EnKTsKKyAgICAgIGEuaHJlZiAgICAgID0gcHJlZml4ZWRMb2NhbFN0b3JhZ2UudXJs
KCdyZXNvdXJjZXMvb3Blbi1jbG9zZXIuaHRtbCcpOworICAgICAgYS50YXJnZXQgICAgPSAnX2Js
YW5rJzsKKyAgICAgIHByZWZpeGVkTG9jYWxTdG9yYWdlLm9uU2V0KCdvcGVuZXJJc051bGwnLCB0
LnN0ZXBfZnVuY19kb25lKGUgPT4geworICAgICAgICAvLyBUaGUgd2luZG93IGZvciB0aGlzIGF1
eGlsaWFyeSBicm93c2luZyBjb250ZXh0J3Mgb3BlbmVyCisgICAgICAgIC8vIGhhcyBiZWVuIGNs
b3NlZCBhbmQgZGlzY2FyZGVkLCBzbyB0aGUgYXV4IGJyb3dzaW5nIGNvbnRleHQKKyAgICAgICAg
Ly8gc2hvdWxkIG5vdyByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9wZW5lcmAKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlLm5ld1ZhbHVlLCAndHJ1ZScpOworICAgICAgfSkpOworICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmQoYSk7CisgICAgICBhLmNsaWNrKCk7CisgICAgfSwgJ0FuIGF1eGls
aWFyeSBicm93c2luZyBjb250ZXh0IHNob3VsZCByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9w
ZW5lcmAgd2hlbiB0aGF0IGJyb3dzaW5nIGNvbnRleHQgaXMgZGlzY2FyZGVkJyk7CisgICAgPC9z
Y3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFy
eS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3
ODQ3N2UwYTQ0NDQyZDI0NGNjMzY1NGRiNGY3M2FhOTNlZmExYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIE5ld2x5LWNyZWF0ZWQgYXV4aWxpYXJ5IGJyb3dzaW5n
IGNvbnRleHQgc2hvdWxkIHJlcG9ydCBgd2luZG93Lm9wZW5lcmAgCitQQVNTIEJyb3dzaW5nIGNv
bnRleHQgY3JlYXRlZCB3aXRoIGB3aW5kb3cub3BlbmAgc2hvdWxkIHJlcG9ydCBgd2luZG93Lm9w
ZW5lcmAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0
cy9vcGVuZXItbXVsdGlwbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dz
aW5nLWNvbnRleHRzL29wZW5lci1tdWx0aXBsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUz
MzkxYjc0MzBkMGYxMGVmNjUzODVlZmUzNzI5OWMwZjJiMTU5ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEFuIGF1eGlsaWFyeSBicm93c2luZyBj
b250ZXh0IHNob3VsZCBiZSBhYmxlIHRvIG9wZW4gYW5vdGhlciBhdXhpbGlhcnkgYnJvd3Npbmcg
Y29udGV4dCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRl
eHRzL29wZW5lci1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNv
bnRleHRzL29wZW5lci1tdWx0aXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczY2VkMjViYjY2MzE3NzQy
ZGZjZDI5OTMyMDg2MmVmYTkxNjg4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhp
bGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW11bHRpcGxlLmh0bWwKQEAgLTAsMCArMSwz
NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPkF1eGls
aWFyeSBCcm93aW5nIENvbnRleHRzOiB3aW5kb3cub3BlbmVyLCBtdWx0aXBsZTwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+Cisg
IDxib2R5PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICB2YXIg
cHJlZml4ZWRMb2NhbFN0b3JhZ2U7CisgICAgc2V0dXAgKCgpID0+IHByZWZpeGVkTG9jYWxTdG9y
YWdlID0gbmV3IFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdCgpKTsKKyAgICBhc3luY190ZXN0KHQg
PT4geworICAgICAgdC5hZGRfY2xlYW51cCAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3JhZ2UuY2xl
YW51cCgpKTsKKyAgICAgIHZhciBhICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScp
OworICAgICAgYS5ocmVmICAgICAgPSBwcmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNl
cy9tdWx0aXBsZS1vcGVuZXIuaHRtbCcpOworICAgICAgYS50YXJnZXQgICAgPSAnbXVsdGlwbGVP
cGVuZXInOworICAgICAgd2luZG93Lm5hbWUgPSAndG9wT3BlbmVyJzsKKyAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoYSk7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIHQuc3RlcF9mdW5jX2RvbmUoZSA9PiB7CisgICAgICAgIHZhciBhdXgxID0gZS5kYXRh
LmF1eDE7IC8vIEZpcnN0IG9wZW5lZCBjb250ZXh0CisgICAgICAgIHZhciBhdXgyID0gZS5kYXRh
LmF1eDI7IC8vIENvbnRleHQgb3BlbmVkIGJ5IGZpcnN0LW9wZW5lZCBjb250ZXh0CisgICAgICAg
IGFzc2VydF9lcXVhbHMoYXV4MS5uYW1lLCAnbXVsdGlwbGVPcGVuZXInKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhhdXgxLm9wZW5lck5hbWUsIHdpbmRvdy5uYW1lKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhhdXgxLmlzVG9wLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhdXgyLm5h
bWUsICdtdWx0aXBsZU9wZW5lZScpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGF1eDIub3BlbmVy
TmFtZSwgYXV4MS5uYW1lKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhdXgyLmlzVG9wLCB0cnVl
KTsKKyAgICAgIH0pKTsKKyAgICAgIGEuY2xpY2soKTsKKyAgICB9LCAnQW4gYXV4aWxpYXJ5IGJy
b3dzaW5nIGNvbnRleHQgc2hvdWxkIGJlIGFibGUgdG8gb3BlbiBhbm90aGVyIGF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0Jyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9v
cGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRz
L29wZW5lci1ub29wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZjViZjEzZTNhYzRl
ZTFiNDdhMjY4Yzg2OTZjOGI4YzgxMDY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9vcGVuZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEF1eGlsaWFyeSBicm93c2luZyBjb250ZXh0IGNyZWF0ZWQg
dmlhIGB3aW5kb3cub3BlbmAgc2V0dGluZyBgbm9vcGVuZXJgIHNob3VsZCByZXBvcnQgYHdpbmRv
dy5vcGVuZXJgIGBudWxsYCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dz
aW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJy
b3dzaW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwOGE0ZWUz
MDU0MTUwZTZhNTY5ZWYxNWNlZGQwMjY4MTA2ZGVjMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vb3BlbmVyLmh0bWwKQEAg
LTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRp
dGxlPkF1eGlsaWFyeSBCcm93aW5nIENvbnRleHRzOiB3aW5kb3cub3BlbmVyIG5vb3BlbmVyPC90
aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcyI+PC9zY3JpcHQ+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0Pgor
ICAgIHZhciBwcmVmaXhlZExvY2FsU3RvcmFnZTsKKyAgICBzZXR1cCgoKSA9PiBwcmVmaXhlZExv
Y2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5bmNf
dGVzdCh0ID0+IHsKKyAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3Jh
Z2UuY2xlYW51cCgpKTsKKyAgICAgIHByZWZpeGVkTG9jYWxTdG9yYWdlLm9uU2V0KCdvcGVuZXJJ
c051bGwnLCB0LnN0ZXBfZnVuY19kb25lKGUgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGUu
bmV3VmFsdWUsICd0cnVlJyk7CisgICAgICB9KSk7CisgICAgICB3aW5kb3cub3BlbihwcmVmaXhl
ZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9uby1vcGVuZXIuaHRtbCcpLAorICAgICAgICAn
aVNob3VsZE5vdEhhdmVBbk9wZW5lcicsCisgICAgICAgICdub29wZW5lcicpOworICAgIH0sICdB
dXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHZpYSBgd2luZG93Lm9wZW5gIHNldHRp
bmcgYG5vb3BlbmVyYCBzaG91bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCBgbnVsbGAnKTsKKyAg
ICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4
aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3JlZmVycmVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzc5ZWQzMjY4MmNkZWYyYzcwNzBiODYxMTg5MDIyZTlj
ZTI4N2JlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1j
b250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgQXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHQgY3JlYXRlZCB3aXRoIGByZWw9Im5vcmVm
ZXJyZXIiYCBzaG91bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCBgbnVsbGAgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3Jl
ZmVycmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZlOGQzOGU5ZTEyMGFhZmMxYWYxOTBkMWMwZjM2NWU0
Y2Q3NWVlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1j
b250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5BdXhpbGlhcnkgQnJvd2luZyBD
b250ZXh0czogd2luZG93Lm9wZW5lciBub3JlZmVycmVyPC90aXRsZT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi9QcmVm
aXhlZExvY2FsU3RvcmFnZS5qcyI+PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAg
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgIHZhciBwcmVmaXhlZExvY2Fs
U3RvcmFnZTsKKyAgICBzZXR1cCgoKSA9PiBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVm
aXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3JhZ2UuY2xlYW51cCgpKTsKKyAgICAg
IHZhciBhICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOworICAgICAgYS5ocmVm
ICAgICAgPSBwcmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9uby1vcGVuZXIuaHRt
bCcpOworICAgICAgYS50YXJnZXQgICAgPSAnX2JsYW5rJzsKKyAgICAgIGEucmVsICAgICAgID0g
J25vcmVmZXJyZXInOworICAgICAgd2luZG93Lm5hbWUgPSAndG9wV2luZG93JzsKKyAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7CisgICAgICBwcmVmaXhlZExvY2FsU3RvcmFnZS5v
blNldCgnb3BlbmVySXNOdWxsJywgdC5zdGVwX2Z1bmNfZG9uZShlID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlLm5ld1ZhbHVlLCAndHJ1ZScpOworICAgICAgfSkpOworICAgICAgYS5jbGlj
aygpOworICAgIH0sICdBdXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHdpdGggYHJl
bD0ibm9yZWZlcnJlciJgIHNob3VsZCByZXBvcnQgYHdpbmRvdy5vcGVuZXJgIGBudWxsYCcpOwor
ICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9h
dXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlh
cnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY5ZmU2YjNlOWY4
Y2ZkNDlmZDlmYTFiZWRhMDJmNmMxOTMxYzdiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXIuaHRtbApAQCAtMCwwICsxLDU1IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+QXV4aWxpYXJ5
IEJyb3dpbmcgQ29udGV4dHM6IHdpbmRvdy5vcGVuZXI8L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvY29tbW9uL1ByZWZp
eGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHByZWZpeGVkTG9jYWxT
dG9yYWdlOworICAgIHNldHVwICgoKSA9PiB7CisgICAgICB3aW5kb3cubmFtZSA9ICd0b3BXaW5k
b3cnOworICAgICAgcHJlZml4ZWRMb2NhbFN0b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3Jh
Z2VUZXN0KCk7CisgICAgfSk7CisKKyAgICBmdW5jdGlvbiBjbGVhbnVwICgpIHsKKyAgICAgIHBy
ZWZpeGVkTG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Nsb3NlQWxsJywgJ3RydWUnKTsKKyAgICAgIHBy
ZWZpeGVkTG9jYWxTdG9yYWdlLmNsZWFyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdE9w
ZW5lciAodCwgdGFyZ2V0KSB7CisgICAgICB0LmFkZF9jbGVhbnVwKGNsZWFudXApOworICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKKyAg
ICAgICAgaWYgKGUuZGF0YS5uYW1lID09PSB0YXJnZXQpIHsKKyAgICAgICAgICAvLyBUaGUgb3Bl
bmVyIElETCBhdHRyaWJ1dGUuLi5tdXN0IHJldHVybiB0aGUgV2luZG93UHJveHkgb2JqZWN0IG9m
IHRoZQorICAgICAgICAgIC8vIGJyb3dzaW5nIGNvbnRleHQgZnJvbSB3aGljaCB0aGUgY3VycmVu
dCBicm93c2luZyBjb250ZXh0IHdhcyBjcmVhdGVkCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEub3BlbmVyTmFtZSwgJ3RvcFdpbmRvdycpOworICAgICAgICAgIC8vIEF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0cyBhcmUgYWx3YXlzIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0cwor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmlzVG9wLCB0cnVlKTsKKyAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgfQorICAgICAgfSkpOworICAgIH0KKworICAgIGFzeW5jX3Rlc3Qo
dCA9PiB7CisgICAgICB2YXIgdGFyZ2V0ID0gJ3dpbmRvd09wZW5lckEnOworICAgICAgdmFyIGEg
ICAgICA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKKyAgICAgIGEuaHJlZiAgICAgPSBw
cmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9tZXNzYWdlLXdpbmRvdy1vcGVuZXIu
aHRtbCcpOworICAgICAgYS50YXJnZXQgICA9IHRhcmdldDsKKyAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoYSk7CisgICAgICB0ZXN0T3BlbmVyKHQsIHRhcmdldCk7CisgICAgICBhLmNs
aWNrKCk7CisgICAgfSwgJ05ld2x5LWNyZWF0ZWQgYXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHQg
c2hvdWxkIHJlcG9ydCBgd2luZG93Lm9wZW5lcmAnKTsKKworICAgIGFzeW5jX3Rlc3QodCA9PiB7
CisgICAgICB2YXIgdGFyZ2V0ID0gJ3dpbmRvd09wZW5lckInOworICAgICAgdGVzdE9wZW5lcih0
LCB0YXJnZXQpOworICAgICAgd2luZG93Lm9wZW4ocHJlZml4ZWRMb2NhbFN0b3JhZ2UudXJsKCdy
ZXNvdXJjZXMvbWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwnKSwKKyAgICAgICAgdGFyZ2V0KTsK
KyAgICB9LCAnQnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHdpdGggYHdpbmRvdy5vcGVuYCBzaG91
bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCcpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMv
cmVzb3VyY2VzL2Nsb3NlLW9wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDE3NzNl
ZDJjZDAwOTQ1ZTg0NGU2ZWMzYWJiM2MwZTQ5YjAwODU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dp
bmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxodG1sPgorPGJvZHkgb25sb2FkPSJjbG9zZU9wZW5lcigpIj4KKzxwPlRoaXMgd2lu
ZG93IHNob3VsZCBjbG9zZSBpdHMgb3BlbmVyLjwvcD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL1By
ZWZpeGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgcHJlZml4ZWRM
b2NhbFN0b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSh7CisgIGNsb3Nl
X29uX2NsZWFudXA6IHRydWUKK30pOwordmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlID0gbmV3IFBy
ZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3VyY2UoeworICBjbG9zZV9vbl9jbGVhbnVwOiB0cnVlCit9
KTsKK2Z1bmN0aW9uIGNsb3NlT3BlbmVyICgpIHsKKyAgaWYgKHdpbmRvdy5vcGVuZXIpIHsKKyAg
ICB3aW5kb3cub3BlbmVyLmNsb3NlKCk7CisKKyAgICAvLyBHaXZlIHRoZSBicm93c2luZyBjb250
ZXh0IGEgY2hhbmNlIHRvIGRpc3Bvc2Ugb2YgaXRzZWxmCisgICAgZnVuY3Rpb24gd2FpdEZvckNv
bnRleHREaXNjYXJkICgpIHsKKyAgICAgIGlmICh3aW5kb3cub3BlbmVyID09PSBudWxsKSB7Cisg
ICAgICAgIHJldHVybiBwcmVmaXhlZExvY2FsU3RvcmFnZS5zZXRJdGVtKCdvcGVuZXJJc051bGwn
LCAndHJ1ZScpOworICAgICAgfQorICAgICAgcmV0dXJuIHNldFRpbWVvdXQod2FpdEZvckNvbnRl
eHREaXNjYXJkLCAwKTsKKyAgICB9CisgICAgd2FpdEZvckNvbnRleHREaXNjYXJkKCk7CisgIH0K
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4
aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9tZXNzYWdlLXdpbmRvdy1vcGVuZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbWVz
c2FnZS13aW5kb3ctb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEwNTY1MGI2MTBlODNiODdmNzZl
YjE3ZDZjN2Y1NDYyMTBkOWQwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFy
eS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPHNjcmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3Jh
Z2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5l
dyBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlKHsKKyAgY2xvc2Vfb25fY2xlYW51cDogdHJ1
ZQorfSk7CisKK2lmICh3aW5kb3cub3BlbmVyKSB7CisgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3Nh
Z2UgKHsKKyAgICBuYW1lICAgICAgOiB3aW5kb3cubmFtZSwKKyAgICBvcGVuZXJOYW1lOiB3aW5k
b3cub3BlbmVyLm5hbWUsCisgICAgaXNUb3AgICAgIDogd2luZG93LnRvcCA9PT0gd2luZG93Cisg
IH0sICcqJyk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1i
cm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbXVsdGlwbGUtb3BlbmVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93
cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlNjNiOWY0YzY4NWIwMjI5ODY3ZmRmZGQ0ZDMxZTMyNzUzZjQyNjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMv
cmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFn
ZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9Im9wZW5OZXN0ZWQoKSI+Cis8c2NyaXB0Pgor
dmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlID0gbmV3IFByZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3Vy
Y2UoeworICBjbG9zZV9vbl9jbGVhbnVwOiB0cnVlCit9KTsKK2Z1bmN0aW9uIG9wZW5OZXN0ZWQg
KCkgeworICAvLyBMaXN0ZW4gZm9yIG1lc3NhZ2UgZnJvbSBvcGVuZWQgY29udGV4dCBhbmQgcGFz
cyB0aHJvdWdoIHRvIHRoaXMKKyAgLy8gY29udGV4dCdzIG9wZW5lcgorICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbWVzc2FnZScsIChlKSA9PiB7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIpIHsK
KyAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoeworICAgICAgICBhdXgyOiBlLmRhdGEs
IC8vIEZyb20gbXVsdGlwbGVPcGVuZWUKKyAgICAgICAgYXV4MTogeyAvLyBUaGlzIGNvbnRleHQK
KyAgICAgICAgICBuYW1lICAgICAgICAgICAgICAgOiB3aW5kb3cubmFtZSwKKyAgICAgICAgICBv
cGVuZXJOYW1lICAgICAgICAgOiB3aW5kb3cub3BlbmVyLm5hbWUsCisgICAgICAgICAgaXNUb3Ag
ICAgICAgICAgICAgIDogd2luZG93LnRvcCA9PT0gd2luZG93CisgICAgICAgIH0KKyAgICAgIH0s
ICcqJyk7CisgICAgfQorICB9KTsKKyAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdh
Jyk7CisgIGEudGFyZ2V0ID0gJ211bHRpcGxlT3BlbmVlJzsKKyAgYS5ocmVmID0gcHJlZml4ZWRM
b2NhbFN0b3JhZ2UudXJsKCdtZXNzYWdlLXdpbmRvdy1vcGVuZXIuaHRtbCcpOworICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGEpOworICBhLmNsaWNrKCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250
ZXh0cy9yZXNvdXJjZXMvbm8tb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3Np
bmctY29udGV4dHMvcmVzb3VyY2VzL25vLW9wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmZDcyZjk0
OGQ5MTI4ZmRmMmIzODg0NTcwZTM2ZWQ3YThlYTM2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL25vLW9wZW5lci5odG1s
CkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGh0bWw+Cis8cD5UaGlzIHdpbmRvdyBzaG91bGQgaGF2ZSBubyBvcGVuZXIuPC9wPgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK3ZhciBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFn
ZVJlc291cmNlKHsKKyAgY2xvc2Vfb25fY2xlYW51cDogdHJ1ZQorfSk7CitmdW5jdGlvbiBjaGVj
a09wZW5lciAoKSB7CisgIHJldHVybiBwcmVmaXhlZExvY2FsU3RvcmFnZS5zZXRJdGVtKCdvcGVu
ZXJJc051bGwnLCB3aW5kb3cub3BlbmVyID09PSBudWxsKTsKK30KKzwvc2NyaXB0PgorPGJvZHkg
b25sb2FkPSJjaGVja09wZW5lcigpIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Blbi1jbG9zZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Bl
bi1jbG9zZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQzYTUxODhjNzkwNTc3YzRhMWEwM2RhMjcwMzE3
ZWVkYmEwZmIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3Jlc291cmNlcy9vcGVuLWNsb3Nlci5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGh0bWw+Cis8Ym9keSBvbmxv
YWQ9Im9wZW5BdXhpbGlhcnkoKSI+Cis8YSB0YXJnZXQ9Il9ibGFuayI+T3BlbiBhdXhpbGlhcnkg
Y29udGV4dCB0aGF0IHdpbGwgY2xvc2UgdGhpcyB3aW5kb3cgKGl0cyBvcGVuZXIpPC9hPgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Z1bmN0aW9uIG9wZW5BdXhpbGlhcnkgKCkgeworICB2YXIgcHJlZml4ZWRMb2NhbFN0
b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSgpOworICB2YXIgYSA9IGRv
Y3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYScpOworICBhLmhyZWYgPSBwcmVmaXhlZExvY2Fs
U3RvcmFnZS51cmwoJ2Nsb3NlLW9wZW5lci5odG1sJyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5k
KGEpOworICBhLmNsaWNrKCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxM2EyYmI0MzE3YTNlYmNjNDNjNThiMjhl
ZGEzYjM5MTBhNTI3OTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJv
d3NpbmctY29udGV4dHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAK
K1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVu
ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMv
bWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3Npbmct
Y29udGV4dHMvcmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9uby1vcGVuZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Blbi1jbG9zZXIuaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBvcnQu
bG9nCmluZGV4IGY5ODgxNDZlZTRhZWRhMThkNWQyNzY5MTUwMWZmZTgzMWJjY2U4ZjIuLmY3NThi
ZjFlMmFmMTVjNzQ2YjljMjA1NGEwY2NkZmZkZGZlMDI2OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93
cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDMgKzE2
LDggQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9jb250YWlucy5qc29uCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGls
aWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9vcGVuZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dp
bmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305019</attachid>
            <date>2017-03-21 13:28:08 -0700</date>
            <delta_ts>2017-03-21 19:10:49 -0700</delta_ts>
            <desc>Reuploading patch for ews</desc>
            <filename>bug-163960-20170321122324.patch</filename>
            <type>text/plain</type>
            <size>35500</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE4MDdjNzlkYmI2Zjlj
MDdlMjlhZWE4OTRmZWRjYjI4ZTdlZDI2NS4uNWQ3OTkzMWJmODRjZDQxNGYxYjM1ZjhkMTI4ZDVl
MTBjN2U0NGJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTAzLTIxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSAibm9v
cGVuZXIiIGZlYXR1cmUgZm9yIHdpbmRvdy5vcGVuKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzk2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
Mjg5NDE2Nzk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSAibm9vcGVuZXIiIGZlYXR1cmUgZm9yIHdpbmRvdy5vcGVuKCkuIElm
ICdub29wZW5lcicgaXMgcGFzc2VkIHRvIHdpbmRvdy5vcGVuKCkKKyAgICAgICAgdGhlbiB0aGUg
bmV3IFdpbmRvdydzIG9wZW5lciBwcm9wZXJ0eSB3aWxsIGJlIG51bGwuCisKKyAgICAgICAgVGVz
dHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5k
b3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUuaHRtbAorICAg
ICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJv
d3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vcmVmZXJy
ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci5o
dG1sCisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgICogcGFnZS9XaW5kb3dGZWF0dXJlcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVdpbmRvd0ZlYXR1cmVzKToKKyAgICAgICAgKFdl
YkNvcmU6OnNldFdpbmRvd0ZlYXR1cmUpOgorICAgICAgICAqIHBhZ2UvV2luZG93RmVhdHVyZXMu
aDoKKwogMjAxNy0wMy0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1c3BlbmQgbWVkaWEgcGxheWJhY2sgaW4gYmFja2dyb3VuZCB0YWJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKaW5kZXggMmZiMTUwODg4NzNiYWY3YTE5YWMwYmQwYWU0NzRjNDU4NzUy
M2U4YS4uOWVlN2Y5NjllNmYzNTI5ZDlmZmViZmNkYzZiYmQzNDg5OWIzMTMzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjE5OCw3ICsyMTk4LDggQEAgUmVmUHRyPEZyYW1lPiBE
T01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgQXRv
bWljU3RyaW4KICAgICBpZiAoIW5ld0ZyYW1lKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAot
ICAgIG5ld0ZyYW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm9wZW5lckZyYW1lKTsKKyAgICBpZiAo
IXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKQorICAgICAgICBuZXdGcmFtZS0+bG9hZGVyKCkuc2V0
T3BlbmVyKCZvcGVuZXJGcmFtZSk7CiAgICAgbmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlE
T00oKTsKIAogICAgIGlmIChuZXdGcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmlzSW5z
ZWN1cmVTY3JpcHRBY2Nlc3MoYWN0aXZlV2luZG93LCBjb21wbGV0ZWRVUkwpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaW5kb3dGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcAppbmRleCBiOGFkY2I0NDk0MmZhNWViYmU1YWI1ZDcx
NTQxOTI4MjcwMGYxMmRjLi5iODk0NGVkMjdhODQ2MWQ4ZDJhN2E5OGZhNjJiNmIyOWY5ZjRhYjc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmNwcApAQCAtNjMsNiArNjMsNyBA
QCBXaW5kb3dGZWF0dXJlcyBwYXJzZVdpbmRvd0ZlYXR1cmVzKFN0cmluZ1ZpZXcgZmVhdHVyZXNT
dHJpbmcpCiAgICAgZmVhdHVyZXMudG9vbEJhclZpc2libGUgPSBmYWxzZTsKICAgICBmZWF0dXJl
cy5sb2NhdGlvbkJhclZpc2libGUgPSBmYWxzZTsKICAgICBmZWF0dXJlcy5zY3JvbGxiYXJzVmlz
aWJsZSA9IGZhbHNlOworICAgIGZlYXR1cmVzLm5vb3BlbmVyID0gZmFsc2U7CiAKICAgICBwcm9j
ZXNzRmVhdHVyZXNTdHJpbmcoZmVhdHVyZXNTdHJpbmcsIFsmZmVhdHVyZXNdKFN0cmluZ1ZpZXcg
a2V5LCBTdHJpbmdWaWV3IHZhbHVlKSB7CiAgICAgICAgIHNldFdpbmRvd0ZlYXR1cmUoZmVhdHVy
ZXMsIGtleSwgdmFsdWUpOwpAQCAtMTM1LDYgKzEzNiw4IEBAIHN0YXRpYyB2b2lkIHNldFdpbmRv
d0ZlYXR1cmUoV2luZG93RmVhdHVyZXMmIGZlYXR1cmVzLCBTdHJpbmdWaWV3IGtleSwgU3RyaW5n
VmllCiAgICAgICAgIGZlYXR1cmVzLmZ1bGxzY3JlZW4gPSBudW1lcmljVmFsdWU7CiAgICAgZWxz
ZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoa2V5LCAic2Nyb2xsYmFycyIpKQog
ICAgICAgICBmZWF0dXJlcy5zY3JvbGxiYXJzVmlzaWJsZSA9IG51bWVyaWNWYWx1ZTsKKyAgICBl
bHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShrZXksICJub29wZW5lciIpKQor
ICAgICAgICBmZWF0dXJlcy5ub29wZW5lciA9IG51bWVyaWNWYWx1ZTsKICAgICBlbHNlIGlmIChu
dW1lcmljVmFsdWUgPT0gMSkKICAgICAgICAgZmVhdHVyZXMuYWRkaXRpb25hbEZlYXR1cmVzLmFw
cGVuZChrZXkudG9TdHJpbmcoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1dpbmRvd0ZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dpbmRvd0ZlYXR1cmVzLmgK
aW5kZXggZDQ2YTc1YTAyMDY1MzJmNmJhODAwMjY5Njk0NDZjOGEyYmZiNmQ4YS4uZjdlYjVmZTVj
NjMwN2MyNTE2M2QzYWRlMTY2MGFmOWYyYjM2ZDVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9XaW5kb3dGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2luZG93
RmVhdHVyZXMuaApAQCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXMgewogCiAg
ICAgYm9vbCBmdWxsc2NyZWVuIHsgZmFsc2UgfTsKICAgICBib29sIGRpYWxvZyB7IGZhbHNlIH07
CisgICAgYm9vbCBub29wZW5lciB7IGZhbHNlIH07CiAKICAgICBWZWN0b3I8U3RyaW5nPiBhZGRp
dGlvbmFsRmVhdHVyZXM7CiB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggN2Yy
Njk3ZjEzOWRkMzE4NWQ2ZDc1NzQ1MmVlZTdlNGM4NzEzOTkxMC4uMWQzMDU1ODlhMmJmOGIyZTRj
YTk1ZmRiMGNhYjFlZTFhNTgxM2Q0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMTctMDMtMjEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgdGhlICJub29wZW5lciIgZmVhdHVyZSBmb3Igd2luZG93
Lm9wZW4oKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTYzOTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODk0MTY3OT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgdGVzdCBjb3ZlcmFnZSBm
cm9tIFdQVCB1cHN0cmVhbS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9QcmVmaXhlZExv
Y2FsU3RvcmFnZS5qczogQWRkZWQuCisgICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZSk6Cisg
ICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZS5wcm90b3R5cGUuY2xlYXIpOgorICAgICAgICAo
UHJlZml4ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnVybCk6CisgICAgICAgIChQcmVmaXhlZExv
Y2FsU3RvcmFnZS5wcm90b3R5cGUucHJlZml4ZWRLZXkpOgorICAgICAgICAoUHJlZml4ZWRMb2Nh
bFN0b3JhZ2UucHJvdG90eXBlLnNldEl0ZW0pOgorICAgICAgICAoUHJlZml4ZWRMb2NhbFN0b3Jh
Z2UucHJvdG90eXBlLm9uU2V0KToKKyAgICAgICAgKFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdCk6
CisgICAgICAgIChQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QucHJvdG90eXBlLmNsZWFudXApOgor
ICAgICAgICAoUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbW1vbi93M2MtaW1wb3J0LmxvZzoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0
cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4
dHMvb3BlbmVyLWNsb3NlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVu
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVs
dGlwbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXIt
bXVsdGlwbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vb3Bl
bmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5v
b3BlbmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jy
b3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3JlZmVy
cmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5v
cmVmZXJyZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
YnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRv
d3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL21lc3NhZ2Utd2luZG93
LW9wZW5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbXVs
dGlwbGUtb3BlbmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNl
cy9uby1vcGVuZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2Vz
L29wZW4tY2xvc2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZzogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3czYy1pbXBvcnQubG9nLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBv
cnQubG9nOgorCiAyMDE3LTAzLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IHNlbGYub3JpZ2luCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4
IGI2NTgyNGM2OGNmOGY5NDNlMDE4MjJkMzYyYTY0ZmU5ZDYxZjIxNTkuLmE0YWNkODRhMjBlOGIx
MTNlZDdkZTVkMWUwZjk0N2MxMDdiNzhmODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0x
MDIsNiArMTAyLDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Jyb3dzZXItcGF5bWVudC1h
cGkiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY2xlYXItc2l0ZS1kYXRhIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2NsaXBib2FyZCI6ICJza2lwIiwgCisg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvY29tcGF0IjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnNvbGUiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0
eS1wb2xpY3kiOiAic2tpcCIsIApAQCAtMTk1LDYgKzE5Niw3IEBACiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL29mZmxpbmUvYXBwbGljYXRpb24tY2FjaGUtYXBpIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvb3JpZ2luL2Nyb3Nz
LW9yaWdpbi1vYmplY3RzL2Nyb3NzLW9yaWdpbi1vYmplY3RzLnN1Yi5odG1sIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvc2FuZGJveGluZyI6ICJza2lw
IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9icm93c2luZy1jb250ZXh0LWZpcnN0LWNyZWF0ZWQu
eGh0bWwiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL25lc3RlZC1icm93c2luZy1jb250ZXh0cy9mcmFtZUVsZW1lbnQuaHRtbCI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvdGFyZ2V0
aW5nLWNyb3NzLW9yaWdpbi1uZXN0ZWQtYnJvd3NpbmctY29udGV4dHMuaHRtbCI6ICJza2lwIiwg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29tbW9uL1ByZWZpeGVkTG9jYWxTdG9yYWdlLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJmNGU3YjZhMDU1Y2FhM2ZkZDhiZmRmYjM4M2IzNGM0OTZiNjA1NDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcwpAQCAtMCwwICsxLDExNiBAQAorLyoqCisgKiBT
dXBwb3J0cyBwc2V1ZG8tIm5hbWVzcGFjaW5nIiBsb2NhbFN0b3JhZ2UgZm9yIGEgZ2l2ZW4gdGVz
dAorICogYnkgZ2VuZXJhdGluZyBhbmQgdXNpbmcgYSB1bmlxdWUgcHJlZml4IGZvciBrZXlzLiBX
aHkgdHJvdW5jZSBvbiBvdGhlcgorICogdGVzdHMnIGxvY2FsU3RvcmFnZSBpdGVtcyB3aGVuIHlv
dSBjYW4ga2VlcCBpdCAic2VwYXJhdGVkIj8KKyAqCisgKiBQcmVmaXhlZExvY2FsU3RvcmFnZVRl
c3Q6IEluc3RhbnRpYXRlIGluIHRlc3RoYXJuZXNzLmpzIHRlc3RzIHRvIGdlbmVyYXRlCisgKiAg
IGEgbmV3IHVuaXF1ZS1pc2ggcHJlZml4CisgKiBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNl
OiBJbnN0YW50aWF0ZSBpbiBzdXBwb3J0aW5nIHRlc3QgcmVzb3VyY2UKKyAqICAgZmlsZXMgdG8g
dXNlL3NoYXJlIGEgcHJlZml4IGdlbmVyYXRlZCBieSBhIHRlc3QuCisgKi8KK3ZhciBQcmVmaXhl
ZExvY2FsU3RvcmFnZSA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5wcmVmaXggPSAnJzsgLy8gUHJl
Zml4IGZvciBsb2NhbFN0b3JhZ2Uga2V5cworICB0aGlzLnBhcmFtID0gJ3ByZWZpeGVkTG9jYWxT
dG9yYWdlJzsgLy8gUGFyYW0gdG8gdXNlIGluIHF1ZXJ5c3RyaW5ncworfTsKKworUHJlZml4ZWRM
b2NhbFN0b3JhZ2UucHJvdG90eXBlLmNsZWFyID0gZnVuY3Rpb24gKCkgeworICBpZiAodGhpcy5w
cmVmaXggPT09ICcnKSB7IHJldHVybjsgfQorICBPYmplY3Qua2V5cyhsb2NhbFN0b3JhZ2UpLmZv
ckVhY2goc0tleSA9PiB7CisgICAgaWYgKHNLZXkuaW5kZXhPZih0aGlzLnByZWZpeCkgPT09IDAp
IHsKKyAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHNLZXkpOworICAgIH0KKyAgfSk7Cit9
OworCisvKioKKyAqIEFwcGVuZC9yZXBsYWNlIHByZWZpeCBwYXJhbWV0ZXIgYW5kIHZhbHVlIGlu
IFVSSSBxdWVyeXN0cmluZworICogVXNlIHRvIGdlbmVyYXRlIFVSTHMgdG8gcmVzb3VyY2UgZmls
ZXMgdGhhdCB3aWxsIHNoYXJlIHRoZSBwcmVmaXguCisgKi8KK1ByZWZpeGVkTG9jYWxTdG9yYWdl
LnByb3RvdHlwZS51cmwgPSBmdW5jdGlvbiAodXJpKSB7CisgIGZ1bmN0aW9uIHVwZGF0ZVVybFBh
cmFtZXRlciAodXJpLCBrZXksIHZhbHVlKSB7CisgICAgdmFyIGkgICAgICAgICA9IHVyaS5pbmRl
eE9mKCcjJyk7CisgICAgdmFyIGhhc2ggICAgICA9IChpID09PSAtMSkgPyAnJyA6IHVyaS5zdWJz
dHIoaSk7CisgICAgdXJpICAgICAgICAgICA9IChpID09PSAtMSkgPyB1cmkgOiB1cmkuc3Vic3Ry
KDAsIGkpOworICAgIHZhciByZSAgICAgICAgPSBuZXcgUmVnRXhwKGAoWz8mXSkke2tleX09Lio/
KCZ8JClgLCAnaScpOworICAgIHZhciBzZXBhcmF0b3IgPSB1cmkuaW5kZXhPZignPycpICE9PSAt
MSA/ICcmJyA6ICc/JzsKKyAgICB1cmkgPSAodXJpLm1hdGNoKHJlKSkgPyB1cmkucmVwbGFjZShy
ZSwgYCQxJHtrZXl9PSR7dmFsdWV9JDJgKSA6CisgICAgICBgJHt1cml9JHtzZXBhcmF0b3J9JHtr
ZXl9PSR7dmFsdWV9YDsKKyAgICByZXR1cm4gdXJpICsgaGFzaDsKKyAgfQorICByZXR1cm4gdXBk
YXRlVXJsUGFyYW1ldGVyKHVyaSwgdGhpcy5wYXJhbSwgdGhpcy5wcmVmaXgpOworfTsKKworUHJl
Zml4ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnByZWZpeGVkS2V5ID0gZnVuY3Rpb24gKGJhc2VL
ZXkpIHsKKyAgcmV0dXJuIGAke3RoaXMucHJlZml4fSR7YmFzZUtleX1gOworfTsKKworUHJlZml4
ZWRMb2NhbFN0b3JhZ2UucHJvdG90eXBlLnNldEl0ZW0gPSBmdW5jdGlvbiAoYmFzZUtleSwgdmFs
dWUpIHsKKyAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5wcmVmaXhlZEtleShiYXNlS2V5KSwg
dmFsdWUpOworfTsKKworLyoqCisgKiBMaXN0ZW4gZm9yIGBzdG9yYWdlYCBldmVudHMgcGVydGFp
bmluZyB0byBhIHBhcnRpY3VsYXIga2V5LAorICogcHJlZml4ZWQgd2l0aCB0aGlzIG9iamVjdCdz
IHByZWZpeC4gSWdub3JlIHdoZW4gdmFsdWUgaXMgYmVpbmcgc2V0IHRvIG51bGwKKyAqIChpLmUu
IHJlbW92ZUl0ZW0pLgorICovCitQcmVmaXhlZExvY2FsU3RvcmFnZS5wcm90b3R5cGUub25TZXQg
PSBmdW5jdGlvbiAoYmFzZUtleSwgZm4pIHsKKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0
b3JhZ2UnLCBlID0+IHsKKyAgICB2YXIgbWF0Y2ggPSB0aGlzLnByZWZpeGVkS2V5KGJhc2VLZXkp
OworICAgIGlmIChlLm5ld1ZhbHVlICE9PSBudWxsICYmIGUua2V5LmluZGV4T2YobWF0Y2gpID09
PSAwKSB7CisgICAgICBmbi5jYWxsKHRoaXMsIGUpOworICAgIH0KKyAgfSk7Cit9OworCisvKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKKyAqIFVzZSBpbiBhIHRlc3RoYXJuZXNzanMgdGVzdCB0byBnZW5l
cmF0ZSBhIG5ldyBrZXkgcHJlZml4LgorICogYXN5bmNfdGVzdCh0ID0+IHsKKyAqICAgdmFyIHBy
ZWZpeGVkU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKTsKKyAqICAgdC5h
ZGRfY2xlYW51cCgoKSA9PiBwcmVmaXhlZFN0b3JhZ2UuY2xlYW51cCgpKTsKKyAqICAgLy4uLgor
ICogfSk7CisgKi8KK3ZhciBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QgPSBmdW5jdGlvbiAoKSB7
CisgIFByZWZpeGVkTG9jYWxTdG9yYWdlLmNhbGwodGhpcyk7CisgIHRoaXMucHJlZml4ID0gYCR7
ZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWV9LSR7TWF0aC5yYW5kb20oKX0tJHtEYXRlLm5vdygp
fS1gOworfTsKK1ByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC5wcm90b3R5cGUgPSBPYmplY3QuY3Jl
YXRlKFByZWZpeGVkTG9jYWxTdG9yYWdlLnByb3RvdHlwZSk7CitQcmVmaXhlZExvY2FsU3RvcmFn
ZVRlc3QucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHJlZml4ZWRMb2NhbFN0b3JhZ2VUZXN0Owor
CisvKioKKyAqIFVzZSBpbiBhIGNsZWFudXAgZnVuY3Rpb24gdG8gY2xlYXIgb3V0IHByZWZpeGVk
IGVudHJpZXMgaW4gbG9jYWxTdG9yYWdlCisgKi8KK1ByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC5w
cm90b3R5cGUuY2xlYW51cCA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5zZXRJdGVtKCdjbG9zZUFs
bCcsICd0cnVlJyk7CisgIHRoaXMuY2xlYXIoKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KgorICogVXNlIGluIHRlc3QgcmVzb3VyY2UgZmlsZXMgdG8gc2hhcmUgYSBwcmVmaXggZ2VuZXJh
dGVkIGJ5IGEKKyAqIFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdC4gV2lsbCBsb29rIGluIFVSTCBx
dWVyeXN0cmluZyBmb3IgcHJlZml4LgorICogU2V0dGluZyBgY2xvc2Vfb25fY2xlYW51cGAgb3B0
IHRydXRoeSB3aWxsIG1ha2UgdGhpcyBzY3JpcHQncyB3aW5kb3cgbGlzdGVuCisgKiBmb3Igc3Rv
cmFnZSBgY2xvc2VBbGxgIGV2ZW50IGZyb20gY29udHJvbGxpbmcgdGVzdCBhbmQgY2xvc2UgaXRz
ZWxmLgorICoKKyAqIHZhciBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlKHsgY2xvc2Vfb25f
Y2xlYW51cDogdHJ1ZSB9KTsKKyAqLwordmFyIFByZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3VyY2Ug
PSBmdW5jdGlvbiAob3B0aW9ucykgeworICBQcmVmaXhlZExvY2FsU3RvcmFnZS5jYWxsKHRoaXMp
OworICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB7CisgICAgY2xvc2Vfb25fY2xl
YW51cDogZmFsc2UKKyAgfSwgb3B0aW9ucyB8fCB7fSk7CisgIC8vIENoZWNrIFVSTCBxdWVyeXN0
cmluZyBmb3IgcHJlZml4IHRvIHVzZQorICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKGBbPyZdJHt0
aGlzLnBhcmFtfSg9KFteJiNdKil8JnwjfCQpYCksCisgICAgcmVzdWx0cyA9IHJlZ2V4LmV4ZWMo
ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7CisgIGlmIChyZXN1bHRzICYmIHJlc3VsdHNbMl0pIHsK
KyAgICB0aGlzLnByZWZpeCA9IHJlc3VsdHNbMl07CisgIH0KKyAgLy8gT3B0aW9uYWxseSBoYXZl
IHRoaXMgd2luZG93IGNsb3NlIGl0c2VsZiB3aGVuIHRoZSBQcmVmaXhlZExvY2FsU3RvcmFnZVRl
c3QKKyAgLy8gc2V0cyBhIGBjbG9zZUFsbGAgaXRlbS4KKyAgaWYgKHRoaXMub3B0aW9ucy5jbG9z
ZV9vbl9jbGVhbnVwKSB7CisgICAgdGhpcy5vblNldCgnY2xvc2VBbGwnLCAoKSA9PiB7CisgICAg
ICB3aW5kb3cuY2xvc2UoKTsKKyAgICB9KTsKKyAgfQorfTsKK1ByZWZpeGVkTG9jYWxTdG9yYWdl
UmVzb3VyY2UucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShQcmVmaXhlZExvY2FsU3RvcmFnZS5w
cm90b3R5cGUpOworUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZS5wcm90b3R5cGUuY29uc3Ry
dWN0b3IgPSBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vdzNjLWltcG9ydC5s
b2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93
M2MtaW1wb3J0LmxvZwppbmRleCA3ZTE0MmFiY2JjZmI2YmI1MmQ5NzNkYzViNDViNGRmNzUyZGFm
MTA4Li5hOGRkZTNlNTMzN2NkNGNlNjZmNmYzZDVlNmQzOGU0ZThkNDJlZTQ0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi93M2Mt
aW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvbW1vbi93M2MtaW1wb3J0LmxvZwpAQCAtMTYsNiArMTYsNyBAQCBOb25lCiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb21tb24vT1dORVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbW1vbi9ibGFuay5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb21tb24vY2FudmFz
LWZyYW1lLmNzcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29tbW9uL2NhbnZhcy1pbmRleC5jc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1i
cm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItY2xvc2VkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44OGUwYjZmZDRlN2IyYThjZmU0NjE3ZjExY2U0YTcyMjc4MGEwODRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1j
bG9zZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEFuIGF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0IHNob3VsZCByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9wZW5lcmAg
d2hlbiB0aGF0IGJyb3dzaW5nIGNvbnRleHQgaXMgZGlzY2FyZGVkIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMv
d2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLWNsb3NlZC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41YTE1ZDlmY2U0NTkxMTkwNzkyMjQ5NTQ2YzgyODBkYTE4YmVjODczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5l
ci1jbG9zZWQuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04Ij4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+QXV4aWxpYXJ5IEJy
b3dpbmcgQ29udGV4dHM6IHdpbmRvdy5vcGVuZXIgd2hlbiBPcGVuZXIgUmVtb3ZlZC9DbG9zZWQ8
L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8u
Li8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIvY29tbW9uL1ByZWZpeGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKyAg
PC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgIDxzY3JpcHQ+
CisgICAgdmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlOworICAgIHNldHVwICgoKSA9PiBwcmVmaXhl
ZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5
bmNfdGVzdCh0ID0+IHsKKyAgICAgIHQuYWRkX2NsZWFudXAgKCgpID0+IHByZWZpeGVkTG9jYWxT
dG9yYWdlLmNsZWFudXAoKSk7CisgICAgICB2YXIgYSAgICAgICA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2EnKTsKKyAgICAgIGEuaHJlZiAgICAgID0gcHJlZml4ZWRMb2NhbFN0b3JhZ2UudXJs
KCdyZXNvdXJjZXMvb3Blbi1jbG9zZXIuaHRtbCcpOworICAgICAgYS50YXJnZXQgICAgPSAnX2Js
YW5rJzsKKyAgICAgIHByZWZpeGVkTG9jYWxTdG9yYWdlLm9uU2V0KCdvcGVuZXJJc051bGwnLCB0
LnN0ZXBfZnVuY19kb25lKGUgPT4geworICAgICAgICAvLyBUaGUgd2luZG93IGZvciB0aGlzIGF1
eGlsaWFyeSBicm93c2luZyBjb250ZXh0J3Mgb3BlbmVyCisgICAgICAgIC8vIGhhcyBiZWVuIGNs
b3NlZCBhbmQgZGlzY2FyZGVkLCBzbyB0aGUgYXV4IGJyb3dzaW5nIGNvbnRleHQKKyAgICAgICAg
Ly8gc2hvdWxkIG5vdyByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9wZW5lcmAKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlLm5ld1ZhbHVlLCAndHJ1ZScpOworICAgICAgfSkpOworICAgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmQoYSk7CisgICAgICBhLmNsaWNrKCk7CisgICAgfSwgJ0FuIGF1eGls
aWFyeSBicm93c2luZyBjb250ZXh0IHNob3VsZCByZXBvcnQgYG51bGxgIGZvciBgd2luZG93Lm9w
ZW5lcmAgd2hlbiB0aGF0IGJyb3dzaW5nIGNvbnRleHQgaXMgZGlzY2FyZGVkJyk7CisgICAgPC9z
Y3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFy
eS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI3
ODQ3N2UwYTQ0NDQyZDI0NGNjMzY1NGRiNGY3M2FhOTNlZmExYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIE5ld2x5LWNyZWF0ZWQgYXV4aWxpYXJ5IGJyb3dzaW5n
IGNvbnRleHQgc2hvdWxkIHJlcG9ydCBgd2luZG93Lm9wZW5lcmAgCitQQVNTIEJyb3dzaW5nIGNv
bnRleHQgY3JlYXRlZCB3aXRoIGB3aW5kb3cub3BlbmAgc2hvdWxkIHJlcG9ydCBgd2luZG93Lm9w
ZW5lcmAgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0
cy9vcGVuZXItbXVsdGlwbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dz
aW5nLWNvbnRleHRzL29wZW5lci1tdWx0aXBsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUz
MzkxYjc0MzBkMGYxMGVmNjUzODVlZmUzNzI5OWMwZjJiMTU5ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEFuIGF1eGlsaWFyeSBicm93c2luZyBj
b250ZXh0IHNob3VsZCBiZSBhYmxlIHRvIG9wZW4gYW5vdGhlciBhdXhpbGlhcnkgYnJvd3Npbmcg
Y29udGV4dCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRl
eHRzL29wZW5lci1tdWx0aXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNv
bnRleHRzL29wZW5lci1tdWx0aXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczY2VkMjViYjY2MzE3NzQy
ZGZjZDI5OTMyMDg2MmVmYTkxNjg4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhp
bGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW11bHRpcGxlLmh0bWwKQEAgLTAsMCArMSwz
NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPkF1eGls
aWFyeSBCcm93aW5nIENvbnRleHRzOiB3aW5kb3cub3BlbmVyLCBtdWx0aXBsZTwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uLy4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+Cisg
IDxib2R5PgorICAgIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICB2YXIg
cHJlZml4ZWRMb2NhbFN0b3JhZ2U7CisgICAgc2V0dXAgKCgpID0+IHByZWZpeGVkTG9jYWxTdG9y
YWdlID0gbmV3IFByZWZpeGVkTG9jYWxTdG9yYWdlVGVzdCgpKTsKKyAgICBhc3luY190ZXN0KHQg
PT4geworICAgICAgdC5hZGRfY2xlYW51cCAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3JhZ2UuY2xl
YW51cCgpKTsKKyAgICAgIHZhciBhICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScp
OworICAgICAgYS5ocmVmICAgICAgPSBwcmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNl
cy9tdWx0aXBsZS1vcGVuZXIuaHRtbCcpOworICAgICAgYS50YXJnZXQgICAgPSAnbXVsdGlwbGVP
cGVuZXInOworICAgICAgd2luZG93Lm5hbWUgPSAndG9wT3BlbmVyJzsKKyAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQoYSk7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIHQuc3RlcF9mdW5jX2RvbmUoZSA9PiB7CisgICAgICAgIHZhciBhdXgxID0gZS5kYXRh
LmF1eDE7IC8vIEZpcnN0IG9wZW5lZCBjb250ZXh0CisgICAgICAgIHZhciBhdXgyID0gZS5kYXRh
LmF1eDI7IC8vIENvbnRleHQgb3BlbmVkIGJ5IGZpcnN0LW9wZW5lZCBjb250ZXh0CisgICAgICAg
IGFzc2VydF9lcXVhbHMoYXV4MS5uYW1lLCAnbXVsdGlwbGVPcGVuZXInKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhhdXgxLm9wZW5lck5hbWUsIHdpbmRvdy5uYW1lKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhhdXgxLmlzVG9wLCB0cnVlKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhdXgyLm5h
bWUsICdtdWx0aXBsZU9wZW5lZScpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGF1eDIub3BlbmVy
TmFtZSwgYXV4MS5uYW1lKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhhdXgyLmlzVG9wLCB0cnVl
KTsKKyAgICAgIH0pKTsKKyAgICAgIGEuY2xpY2soKTsKKyAgICB9LCAnQW4gYXV4aWxpYXJ5IGJy
b3dzaW5nIGNvbnRleHQgc2hvdWxkIGJlIGFibGUgdG8gb3BlbiBhbm90aGVyIGF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0Jyk7CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9v
cGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRz
L29wZW5lci1ub29wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZjViZjEzZTNhYzRl
ZTFiNDdhMjY4Yzg2OTZjOGI4YzgxMDY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9vcGVuZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEF1eGlsaWFyeSBicm93c2luZyBjb250ZXh0IGNyZWF0ZWQg
dmlhIGB3aW5kb3cub3BlbmAgc2V0dGluZyBgbm9vcGVuZXJgIHNob3VsZCByZXBvcnQgYHdpbmRv
dy5vcGVuZXJgIGBudWxsYCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dz
aW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJy
b3dzaW5nLWNvbnRleHRzL29wZW5lci1ub29wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwOGE0ZWUz
MDU0MTUwZTZhNTY5ZWYxNWNlZGQwMjY4MTA2ZGVjMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLW5vb3BlbmVyLmh0bWwKQEAg
LTAsMCArMSwyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRp
dGxlPkF1eGlsaWFyeSBCcm93aW5nIENvbnRleHRzOiB3aW5kb3cub3BlbmVyIG5vb3BlbmVyPC90
aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4v
Li4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFnZS5qcyI+PC9zY3JpcHQ+CisgIDwv
aGVhZD4KKyAgPGJvZHk+CisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0Pgor
ICAgIHZhciBwcmVmaXhlZExvY2FsU3RvcmFnZTsKKyAgICBzZXR1cCgoKSA9PiBwcmVmaXhlZExv
Y2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5bmNf
dGVzdCh0ID0+IHsKKyAgICAgIHQuYWRkX2NsZWFudXAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3Jh
Z2UuY2xlYW51cCgpKTsKKyAgICAgIHByZWZpeGVkTG9jYWxTdG9yYWdlLm9uU2V0KCdvcGVuZXJJ
c051bGwnLCB0LnN0ZXBfZnVuY19kb25lKGUgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGUu
bmV3VmFsdWUsICd0cnVlJyk7CisgICAgICB9KSk7CisgICAgICB3aW5kb3cub3BlbihwcmVmaXhl
ZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9uby1vcGVuZXIuaHRtbCcpLAorICAgICAgICAn
aVNob3VsZE5vdEhhdmVBbk9wZW5lcicsCisgICAgICAgICdub29wZW5lcicpOworICAgIH0sICdB
dXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHZpYSBgd2luZG93Lm9wZW5gIHNldHRp
bmcgYG5vb3BlbmVyYCBzaG91bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCBgbnVsbGAnKTsKKyAg
ICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4
aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3JlZmVycmVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vy
cy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzc5ZWQzMjY4MmNkZWYyYzcwNzBiODYxMTg5MDIyZTlj
ZTI4N2JlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1j
b250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgQXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHQgY3JlYXRlZCB3aXRoIGByZWw9Im5vcmVm
ZXJyZXIiYCBzaG91bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCBgbnVsbGAgCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93
c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1ub3Jl
ZmVycmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDZlOGQzOGU5ZTEyMGFhZmMxYWYxOTBkMWMwZjM2NWU0
Y2Q3NWVlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1j
b250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5BdXhpbGlhcnkgQnJvd2luZyBD
b250ZXh0czogd2luZG93Lm9wZW5lciBub3JlZmVycmVyPC90aXRsZT4KKyAgICA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iL2NvbW1vbi9QcmVm
aXhlZExvY2FsU3RvcmFnZS5qcyI+PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAg
PGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgIHZhciBwcmVmaXhlZExvY2Fs
U3RvcmFnZTsKKyAgICBzZXR1cCgoKSA9PiBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVm
aXhlZExvY2FsU3RvcmFnZVRlc3QoKSk7CisgICAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICAgIHQu
YWRkX2NsZWFudXAoKCkgPT4gcHJlZml4ZWRMb2NhbFN0b3JhZ2UuY2xlYW51cCgpKTsKKyAgICAg
IHZhciBhICAgICAgID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOworICAgICAgYS5ocmVm
ICAgICAgPSBwcmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9uby1vcGVuZXIuaHRt
bCcpOworICAgICAgYS50YXJnZXQgICAgPSAnX2JsYW5rJzsKKyAgICAgIGEucmVsICAgICAgID0g
J25vcmVmZXJyZXInOworICAgICAgd2luZG93Lm5hbWUgPSAndG9wV2luZG93JzsKKyAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7CisgICAgICBwcmVmaXhlZExvY2FsU3RvcmFnZS5v
blNldCgnb3BlbmVySXNOdWxsJywgdC5zdGVwX2Z1bmNfZG9uZShlID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlLm5ld1ZhbHVlLCAndHJ1ZScpOworICAgICAgfSkpOworICAgICAgYS5jbGlj
aygpOworICAgIH0sICdBdXhpbGlhcnkgYnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHdpdGggYHJl
bD0ibm9yZWZlcnJlciJgIHNob3VsZCByZXBvcnQgYHdpbmRvdy5vcGVuZXJgIGBudWxsYCcpOwor
ICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9h
dXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlh
cnktYnJvd3NpbmctY29udGV4dHMvb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY5ZmU2YjNlOWY4
Y2ZkNDlmZDlmYTFiZWRhMDJmNmMxOTMxYzdiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXIuaHRtbApAQCAtMCwwICsxLDU1IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+QXV4aWxpYXJ5
IEJyb3dpbmcgQ29udGV4dHM6IHdpbmRvdy5vcGVuZXI8L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvY29tbW9uL1ByZWZp
eGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8
ZGl2IGlkPSJsb2ciPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAgdmFyIHByZWZpeGVkTG9jYWxT
dG9yYWdlOworICAgIHNldHVwICgoKSA9PiB7CisgICAgICB3aW5kb3cubmFtZSA9ICd0b3BXaW5k
b3cnOworICAgICAgcHJlZml4ZWRMb2NhbFN0b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3Jh
Z2VUZXN0KCk7CisgICAgfSk7CisKKyAgICBmdW5jdGlvbiBjbGVhbnVwICgpIHsKKyAgICAgIHBy
ZWZpeGVkTG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2Nsb3NlQWxsJywgJ3RydWUnKTsKKyAgICAgIHBy
ZWZpeGVkTG9jYWxTdG9yYWdlLmNsZWFyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdE9w
ZW5lciAodCwgdGFyZ2V0KSB7CisgICAgICB0LmFkZF9jbGVhbnVwKGNsZWFudXApOworICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0LnN0ZXBfZnVuYyhlID0+IHsKKyAg
ICAgICAgaWYgKGUuZGF0YS5uYW1lID09PSB0YXJnZXQpIHsKKyAgICAgICAgICAvLyBUaGUgb3Bl
bmVyIElETCBhdHRyaWJ1dGUuLi5tdXN0IHJldHVybiB0aGUgV2luZG93UHJveHkgb2JqZWN0IG9m
IHRoZQorICAgICAgICAgIC8vIGJyb3dzaW5nIGNvbnRleHQgZnJvbSB3aGljaCB0aGUgY3VycmVu
dCBicm93c2luZyBjb250ZXh0IHdhcyBjcmVhdGVkCisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhl
LmRhdGEub3BlbmVyTmFtZSwgJ3RvcFdpbmRvdycpOworICAgICAgICAgIC8vIEF1eGlsaWFyeSBi
cm93c2luZyBjb250ZXh0cyBhcmUgYWx3YXlzIHRvcC1sZXZlbCBicm93c2luZyBjb250ZXh0cwor
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoZS5kYXRhLmlzVG9wLCB0cnVlKTsKKyAgICAgICAgICB0
LmRvbmUoKTsKKyAgICAgICAgfQorICAgICAgfSkpOworICAgIH0KKworICAgIGFzeW5jX3Rlc3Qo
dCA9PiB7CisgICAgICB2YXIgdGFyZ2V0ID0gJ3dpbmRvd09wZW5lckEnOworICAgICAgdmFyIGEg
ICAgICA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKKyAgICAgIGEuaHJlZiAgICAgPSBw
cmVmaXhlZExvY2FsU3RvcmFnZS51cmwoJ3Jlc291cmNlcy9tZXNzYWdlLXdpbmRvdy1vcGVuZXIu
aHRtbCcpOworICAgICAgYS50YXJnZXQgICA9IHRhcmdldDsKKyAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoYSk7CisgICAgICB0ZXN0T3BlbmVyKHQsIHRhcmdldCk7CisgICAgICBhLmNs
aWNrKCk7CisgICAgfSwgJ05ld2x5LWNyZWF0ZWQgYXV4aWxpYXJ5IGJyb3dzaW5nIGNvbnRleHQg
c2hvdWxkIHJlcG9ydCBgd2luZG93Lm9wZW5lcmAnKTsKKworICAgIGFzeW5jX3Rlc3QodCA9PiB7
CisgICAgICB2YXIgdGFyZ2V0ID0gJ3dpbmRvd09wZW5lckInOworICAgICAgdGVzdE9wZW5lcih0
LCB0YXJnZXQpOworICAgICAgd2luZG93Lm9wZW4ocHJlZml4ZWRMb2NhbFN0b3JhZ2UudXJsKCdy
ZXNvdXJjZXMvbWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwnKSwKKyAgICAgICAgdGFyZ2V0KTsK
KyAgICB9LCAnQnJvd3NpbmcgY29udGV4dCBjcmVhdGVkIHdpdGggYHdpbmRvdy5vcGVuYCBzaG91
bGQgcmVwb3J0IGB3aW5kb3cub3BlbmVyYCcpOworICAgIDwvc2NyaXB0PgorICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMv
cmVzb3VyY2VzL2Nsb3NlLW9wZW5lci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDE3NzNl
ZDJjZDAwOTQ1ZTg0NGU2ZWMzYWJiM2MwZTQ5YjAwODU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dp
bmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVuZXIu
aHRtbApAQCAtMCwwICsxLDMwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzxodG1sPgorPGJvZHkgb25sb2FkPSJjbG9zZU9wZW5lcigpIj4KKzxwPlRoaXMgd2lu
ZG93IHNob3VsZCBjbG9zZSBpdHMgb3BlbmVyLjwvcD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL1By
ZWZpeGVkTG9jYWxTdG9yYWdlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit2YXIgcHJlZml4ZWRM
b2NhbFN0b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSh7CisgIGNsb3Nl
X29uX2NsZWFudXA6IHRydWUKK30pOwordmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlID0gbmV3IFBy
ZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3VyY2UoeworICBjbG9zZV9vbl9jbGVhbnVwOiB0cnVlCit9
KTsKK2Z1bmN0aW9uIGNsb3NlT3BlbmVyICgpIHsKKyAgaWYgKHdpbmRvdy5vcGVuZXIpIHsKKyAg
ICB3aW5kb3cub3BlbmVyLmNsb3NlKCk7CisKKyAgICAvLyBHaXZlIHRoZSBicm93c2luZyBjb250
ZXh0IGEgY2hhbmNlIHRvIGRpc3Bvc2Ugb2YgaXRzZWxmCisgICAgZnVuY3Rpb24gd2FpdEZvckNv
bnRleHREaXNjYXJkICgpIHsKKyAgICAgIGlmICh3aW5kb3cub3BlbmVyID09PSBudWxsKSB7Cisg
ICAgICAgIHJldHVybiBwcmVmaXhlZExvY2FsU3RvcmFnZS5zZXRJdGVtKCdvcGVuZXJJc051bGwn
LCAndHJ1ZScpOworICAgICAgfQorICAgICAgcmV0dXJuIHNldFRpbWVvdXQod2FpdEZvckNvbnRl
eHREaXNjYXJkLCAwKTsKKyAgICB9CisgICAgd2FpdEZvckNvbnRleHREaXNjYXJkKCk7CisgIH0K
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4
aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9tZXNzYWdlLXdpbmRvdy1vcGVuZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbWVz
c2FnZS13aW5kb3ctb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODEwNTY1MGI2MTBlODNiODdmNzZl
YjE3ZDZjN2Y1NDYyMTBkOWQwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFy
eS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPHNjcmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3Jh
Z2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3ZhciBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5l
dyBQcmVmaXhlZExvY2FsU3RvcmFnZVJlc291cmNlKHsKKyAgY2xvc2Vfb25fY2xlYW51cDogdHJ1
ZQorfSk7CisKK2lmICh3aW5kb3cub3BlbmVyKSB7CisgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3Nh
Z2UgKHsKKyAgICBuYW1lICAgICAgOiB3aW5kb3cubmFtZSwKKyAgICBvcGVuZXJOYW1lOiB3aW5k
b3cub3BlbmVyLm5hbWUsCisgICAgaXNUb3AgICAgIDogd2luZG93LnRvcCA9PT0gd2luZG93Cisg
IH0sICcqJyk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1i
cm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvbXVsdGlwbGUtb3BlbmVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93
cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlNjNiOWY0YzY4NWIwMjI5ODY3ZmRmZGQ0ZDMxZTMyNzUzZjQyNjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMv
cmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9QcmVmaXhlZExvY2FsU3RvcmFn
ZS5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9Im9wZW5OZXN0ZWQoKSI+Cis8c2NyaXB0Pgor
dmFyIHByZWZpeGVkTG9jYWxTdG9yYWdlID0gbmV3IFByZWZpeGVkTG9jYWxTdG9yYWdlUmVzb3Vy
Y2UoeworICBjbG9zZV9vbl9jbGVhbnVwOiB0cnVlCit9KTsKK2Z1bmN0aW9uIG9wZW5OZXN0ZWQg
KCkgeworICAvLyBMaXN0ZW4gZm9yIG1lc3NhZ2UgZnJvbSBvcGVuZWQgY29udGV4dCBhbmQgcGFz
cyB0aHJvdWdoIHRvIHRoaXMKKyAgLy8gY29udGV4dCdzIG9wZW5lcgorICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbWVzc2FnZScsIChlKSA9PiB7CisgICAgaWYgKHdpbmRvdy5vcGVuZXIpIHsK
KyAgICAgIHdpbmRvdy5vcGVuZXIucG9zdE1lc3NhZ2UoeworICAgICAgICBhdXgyOiBlLmRhdGEs
IC8vIEZyb20gbXVsdGlwbGVPcGVuZWUKKyAgICAgICAgYXV4MTogeyAvLyBUaGlzIGNvbnRleHQK
KyAgICAgICAgICBuYW1lICAgICAgICAgICAgICAgOiB3aW5kb3cubmFtZSwKKyAgICAgICAgICBv
cGVuZXJOYW1lICAgICAgICAgOiB3aW5kb3cub3BlbmVyLm5hbWUsCisgICAgICAgICAgaXNUb3Ag
ICAgICAgICAgICAgIDogd2luZG93LnRvcCA9PT0gd2luZG93CisgICAgICAgIH0KKyAgICAgIH0s
ICcqJyk7CisgICAgfQorICB9KTsKKyAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdh
Jyk7CisgIGEudGFyZ2V0ID0gJ211bHRpcGxlT3BlbmVlJzsKKyAgYS5ocmVmID0gcHJlZml4ZWRM
b2NhbFN0b3JhZ2UudXJsKCdtZXNzYWdlLXdpbmRvdy1vcGVuZXIuaHRtbCcpOworICBkb2N1bWVu
dC5ib2R5LmFwcGVuZENoaWxkKGEpOworICBhLmNsaWNrKCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250
ZXh0cy9yZXNvdXJjZXMvbm8tb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3Np
bmctY29udGV4dHMvcmVzb3VyY2VzL25vLW9wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmZDcyZjk0
OGQ5MTI4ZmRmMmIzODg0NTcwZTM2ZWQ3YThlYTM2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2lu
ZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3VyY2VzL25vLW9wZW5lci5odG1s
CkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPGh0bWw+Cis8cD5UaGlzIHdpbmRvdyBzaG91bGQgaGF2ZSBubyBvcGVuZXIuPC9wPgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK3ZhciBwcmVmaXhlZExvY2FsU3RvcmFnZSA9IG5ldyBQcmVmaXhlZExvY2FsU3RvcmFn
ZVJlc291cmNlKHsKKyAgY2xvc2Vfb25fY2xlYW51cDogdHJ1ZQorfSk7CitmdW5jdGlvbiBjaGVj
a09wZW5lciAoKSB7CisgIHJldHVybiBwcmVmaXhlZExvY2FsU3RvcmFnZS5zZXRJdGVtKCdvcGVu
ZXJJc051bGwnLCB3aW5kb3cub3BlbmVyID09PSBudWxsKTsKK30KKzwvc2NyaXB0PgorPGJvZHkg
b25sb2FkPSJjaGVja09wZW5lcigpIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93
aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Blbi1jbG9zZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Bl
bi1jbG9zZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQzYTUxODhjNzkwNTc3YzRhMWEwM2RhMjcwMzE3
ZWVkYmEwZmIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5n
LWNvbnRleHRzL3Jlc291cmNlcy9vcGVuLWNsb3Nlci5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPGh0bWw+Cis8Ym9keSBvbmxv
YWQ9Im9wZW5BdXhpbGlhcnkoKSI+Cis8YSB0YXJnZXQ9Il9ibGFuayI+T3BlbiBhdXhpbGlhcnkg
Y29udGV4dCB0aGF0IHdpbGwgY2xvc2UgdGhpcyB3aW5kb3cgKGl0cyBvcGVuZXIpPC9hPgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vUHJlZml4ZWRMb2NhbFN0b3JhZ2UuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KK2Z1bmN0aW9uIG9wZW5BdXhpbGlhcnkgKCkgeworICB2YXIgcHJlZml4ZWRMb2NhbFN0
b3JhZ2UgPSBuZXcgUHJlZml4ZWRMb2NhbFN0b3JhZ2VSZXNvdXJjZSgpOworICB2YXIgYSA9IGRv
Y3VtZW50LmJvZHkucXVlcnlTZWxlY3RvcignYScpOworICBhLmhyZWYgPSBwcmVmaXhlZExvY2Fs
U3RvcmFnZS51cmwoJ2Nsb3NlLW9wZW5lci5odG1sJyk7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5k
KGEpOworICBhLmNsaWNrKCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9i
cm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxM2EyYmI0MzE3YTNlYmNjNDNjNThiMjhl
ZGEzYjM5MTBhNTI3OTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJv
d3NpbmctY29udGV4dHMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAK
K1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyBy
ZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQu
CitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFczQyBDU1Mgb3IgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLXRlc3QKKwlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cworCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJz
L3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9jbG9zZS1vcGVu
ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9icm93c2Vycy93aW5kb3dzL2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMv
bWVzc2FnZS13aW5kb3ctb3BlbmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93cy9hdXhpbGlhcnktYnJvd3Npbmct
Y29udGV4dHMvcmVzb3VyY2VzL211bHRpcGxlLW9wZW5lci5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL3Jlc291cmNlcy9uby1vcGVuZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9yZXNvdXJjZXMvb3Blbi1jbG9zZXIuaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBv
cnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL3czYy1pbXBvcnQu
bG9nCmluZGV4IGY5ODgxNDZlZTRhZWRhMThkNWQyNzY5MTUwMWZmZTgzMWJjY2U4ZjIuLmY3NThi
ZjFlMmFmMTVjNzQ2YjljMjA1NGEwY2NkZmZkZGZlMDI2OTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvYnJvd3NlcnMvd2luZG93
cy9hdXhpbGlhcnktYnJvd3NpbmctY29udGV4dHMvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDMgKzE2
LDggQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9jb250YWlucy5qc29uCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dpbmRvd3MvYXV4aWxp
YXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci1jbG9zZWQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1eGls
aWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbXVsdGlwbGUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dzL2F1
eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9vcGVuZXIuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9icm93c2Vycy93aW5kb3dz
L2F1eGlsaWFyeS1icm93c2luZy1jb250ZXh0cy9vcGVuZXItbm9yZWZlcnJlci5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL2Jyb3dzZXJzL3dp
bmRvd3MvYXV4aWxpYXJ5LWJyb3dzaW5nLWNvbnRleHRzL29wZW5lci5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>