<?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>214677</bug_id>
          
          <creation_ts>2020-07-23 01:44:46 -0700</creation_ts>
          <short_desc>Implement EventTiming</short_desc>
          <delta_ts>2025-10-16 10:53:26 -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>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=299960</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="Rob Buis">rbuis</reporter>
          <assigned_to name="Ryan Reno">rreno</assigned_to>
          <cc>annulen</cc>
    
    <cc>barry</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>rreno</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1674136</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-23 01:44:46 -0700</bug_when>
    <thetext>Implement https://wicg.github.io/event-timing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674139</commentid>
    <comment_count>1</comment_count>
      <attachid>405024</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-23 01:51:09 -0700</bug_when>
    <thetext>Created attachment 405024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674219</commentid>
    <comment_count>2</comment_count>
      <attachid>405038</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-23 08:29:10 -0700</bug_when>
    <thetext>Created attachment 405038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674259</commentid>
    <comment_count>3</comment_count>
      <attachid>405049</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-23 10:07:12 -0700</bug_when>
    <thetext>Created attachment 405049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674578</commentid>
    <comment_count>4</comment_count>
      <attachid>405135</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-24 03:21:58 -0700</bug_when>
    <thetext>Created attachment 405135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674616</commentid>
    <comment_count>5</comment_count>
      <attachid>405138</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-24 06:58:57 -0700</bug_when>
    <thetext>Created attachment 405138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674700</commentid>
    <comment_count>6</comment_count>
      <attachid>405158</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-24 09:36:28 -0700</bug_when>
    <thetext>Created attachment 405158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675188</commentid>
    <comment_count>7</comment_count>
      <attachid>405264</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-27 02:29:35 -0700</bug_when>
    <thetext>Created attachment 405264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675227</commentid>
    <comment_count>8</comment_count>
      <attachid>405270</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-27 06:49:41 -0700</bug_when>
    <thetext>Created attachment 405270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675608</commentid>
    <comment_count>9</comment_count>
      <attachid>405359</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-28 08:18:49 -0700</bug_when>
    <thetext>Created attachment 405359
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675631</commentid>
    <comment_count>10</comment_count>
      <attachid>405362</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-28 09:15:22 -0700</bug_when>
    <thetext>Created attachment 405362
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675923</commentid>
    <comment_count>11</comment_count>
      <attachid>405443</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-29 00:27:30 -0700</bug_when>
    <thetext>Created attachment 405443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675976</commentid>
    <comment_count>12</comment_count>
      <attachid>405450</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-29 05:52:00 -0700</bug_when>
    <thetext>Created attachment 405450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675992</commentid>
    <comment_count>13</comment_count>
      <attachid>405457</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-07-29 07:29:32 -0700</bug_when>
    <thetext>Created attachment 405457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1676338</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-30 01:45:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/66317400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677284</commentid>
    <comment_count>15</comment_count>
      <attachid>405826</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-03 07:04:26 -0700</bug_when>
    <thetext>Created attachment 405826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677313</commentid>
    <comment_count>16</comment_count>
      <attachid>405839</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-03 09:24:54 -0700</bug_when>
    <thetext>Created attachment 405839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1677574</commentid>
    <comment_count>17</comment_count>
      <attachid>405905</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-08-04 00:27:26 -0700</bug_when>
    <thetext>Created attachment 405905
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721906</commentid>
    <comment_count>18</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-01-24 07:27:22 -0800</bug_when>
    <thetext>Unassigning myself since there does not seem to be support for this at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104707</commentid>
    <comment_count>19</comment_count>
    <who name="Ryan Reno">rreno</who>
    <bug_when>2025-03-20 11:23:41 -0700</bug_when>
    <thetext>This is now a part of Interop 2025&apos;s Core Web Vitals focus area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2104709</commentid>
    <comment_count>20</comment_count>
    <who name="Ryan Reno">rreno</who>
    <bug_when>2025-03-20 11:24:13 -0700</bug_when>
    <thetext>https://www.w3.org/TR/event-timing/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2151717</commentid>
    <comment_count>21</comment_count>
    <who name="Ryan Reno">rreno</who>
    <bug_when>2025-10-16 10:52:41 -0700</bug_when>
    <thetext>The feature flag was flipped to &apos;stable&apos; in 299960.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2151718</commentid>
    <comment_count>22</comment_count>
    <who name="Ryan Reno">rreno</who>
    <bug_when>2025-10-16 10:53:26 -0700</bug_when>
    <thetext>which was 300986@main</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405024</attachid>
            <date>2020-07-23 01:51:09 -0700</date>
            <delta_ts>2020-07-23 08:29:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200723105108.patch</filename>
            <type>text/plain</type>
            <size>15934</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uYmQ1OWQ4YjBiZWY0ZTNhNDI5MTFlMTJmY2IxYWZh
ZTA2YWI2Yzc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA3LTIzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAg
ICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDogQWRkZWQuCisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbDogQWRkZWQuCisKIDIwMjAtMDctMjAgIENvbW1p
dCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IHJldmVydGluZyByMjY0NTk2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAyYTVhNDExZGJjY2Fm
MjNjNWY4OWE3ODQ4OWM1ODU0MWZjNDRlMDBlLi5lNjQ4NmFiZDg2YTM0ZDZjMDFjNzAzODljNzMy
Y2IyY2QzNjQ0M2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTgyLDYgKzk4Miw3IEBAIHNl
dChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwK
KyAgICBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5j
ZU1hcmsuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKaW5kZXggYzkzNjMyOWM0ZjA2MGIzNDYxOWNhY2M2OWEzNzc4OGUyMTlm
ZjdlOC4uNWFhZjcxMWNlZGQyZGE0MDRjODAyMmZjM2JhNTUxZmFmNTZhYzY3YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC05NTIsNiAr
OTUyLDcgQEAgJChQUk9KRUNUX0RJUikvcGFnZS9OYXZpZ2F0b3JTZXJ2aWNlV29ya2VyLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3Bh
Z2UvUGVyZm9ybWFuY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlRW50cnku
aWRsCiskKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWFyay5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2Uv
UGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU5h
dmlnYXRpb24uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0CmluZGV4IGMwMDI1OTVlNjExNTExMzEyZDBlNzBlNWQzNWVhYzIyMjZlOWFiZTEu
LjAwODI5YzQwZjk3NTIxMjA2NTRmYjAyMTI4MDE1MTUzMjAxOTk2MjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjk0LDYgKzEy
OTQsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cmZvcm1hbmNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmZvcm1hbmNlRW50cnkuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlRW50cnkuaAorJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU1hcmsuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkNjVmYzJlOGI3YTczNjY0YjUwYmQ2ZTU4M2U2
N2U2MThkYTNiNjhkLi5kOTY1MzBjNzljN2FmMTZkMjI0YzU5MzU3YTQ2ZWQzMmM1N2FiNjc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk3MSw2ICs5NzEsNyBAQCBKU19CSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCBmZDAxMjE5OTU0MTk2YWU5NGMyYTMyZjZiMWE1NDlkYzU2MmIwYjhiLi40MTlhM2IwMmE5YjU4
Y2IwMmE1YTJiMDM2M2EzZmEyZDc5NDlmMGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTYxNCw2ICsx
NjE0LDcgQEAgcGFnZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCiBwYWdlL1BhZ2VTZXJpYWxp
emVyLmNwcAogcGFnZS9QZXJmb3JtYW5jZS5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAK
K3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5n
LmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwCiBwYWdlL1BlcmZvcm1hbmNl
TW9uaXRvci5jcHAKQEAgLTMxNTksNiArMzE2MCw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJv
cnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1h
bmNlRW50cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNl
TWFyay5jcHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRp
b24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggN2Q5NDM5YTFlZThmNWE3MjFmZjA5M2ZiZGMxM2JjODRkNTg1ZjUyYS4uOTQ3
MThkZjliNmMzZWYxYTUxODE2MjU4MDc2OTk4MmVlZDgxZjIyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzQ1MCw2ICszNDUw
LDcgQEAKIAkJQUE3RkVFQUQxNkE0RTc0QjAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdGRUVBQzE2
QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLzsgfTsKIAkJQUFBNzI4Rjcx
NkQxRDhCQzAwRDNCQkM2IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUE3MjhGMTE2RDFE
OEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCAqLzsgfTsK
IAkJQUFDMDhDRjMxNUY5NDFGRDAwRjFFMTg4IC8qIEFjY2Vzc2liaWxpdHlTVkdSb290LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUMwOENGMTE1Rjk0
MUZDMDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCAqLzsgfTsKKwkJQUFFQjhBRDky
NEM5NzZBOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1
NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggKi87IH07CiAJCUFCMjNBMzI4MDlCQkE3RDAw
MDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi87IH07CiAJCUFCMjQ3QTZEMEFGRDYzODMwMDNGQTVG
RCAvKiBSZW5kZXJTbGlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFCMjQ3QTZCMEFGRDYzODMwMDNGQTVGRCAvKiBSZW5kZXJTbGlkZXIuaCAqLzsg
fTsKIAkJQUIzMUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjMxQzkxRDEwQUUxQjhF
MDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI1MDMsNiArMTI1MDQsOSBAQAogCQlBQUUyN0I3NDE2
Q0JGQzBEMDA2MjMwNDMgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
ck1vY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUUyN0I3NTE2Q0JGQzBE
MDA2MjMwNDMgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDgyNEM5NzRFQTAwMTUy
MzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFB
RjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTb2NrZXRGcmFtZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUFCMjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0
SW5zZXJ0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
QmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTI0Myw2ICsyMTI0Nyw5IEBACiAJ
CQkJQ0IzOEZENEExQ0NDRjJERDAwNTkyQTNGIC8qIFBlcmZvcm1hbmNlRW50cnkuY3BwICovLAog
CQkJCTg2QkUzM0ZCMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggKi8sCiAJ
CQkJODZCRTMzRkMxNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaWRsICovLAor
CQkJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cCAqLywKKwkJCQlBQUVCOEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oICovLAorCQkJCUFBRUI4QUQ1MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmlkbCAqLywKIAkJCQlBRDVBMEMyMTFERUNBMTAxMDA3MDcwNTQgLyogUGVyZm9y
bWFuY2VMb2dnaW5nLmNwcCAqLywKIAkJCQlBRDVBMEMyMDFERUNBMEI1MDA3MDcwNTQgLyogUGVy
Zm9ybWFuY2VMb2dnaW5nLmggKi8sCiAJCQkJMEZGMkU4MEMxRUUwRDQzMDAwOUVBQkQ0IC8qIFBl
cmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8sCkBAIC0zMjYyNCw2ICszMjYzMSw3IEBACiAJ
CQkJRTNGQTM4NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1h
bmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAv
KiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFE
RUNBQ0NDMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwRjg1MEZFMzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFu
Y2VNYXJrLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2OTE4NGVmY2MyYWJiZDE5ODIxMGYyMDU0
NDlkMjdhODBiZTY2MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2VFdmVudFRpbWluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZG91YmxlIHByb2Nlc3NpbmdTdGFy
dCwgZG91YmxlIHByb2Nlc3NpbmdFbmQpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KFN0cmluZygp
LCAwLjAsIDAuMCkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAg
ICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNzaW5nRW5kKQoreworfQorCitQZXJmb3JtYW5jZUV2
ZW50VGltaW5nOjp+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVsdDsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hZDE1NjBkZmEwYzkyNTkzMmRjYmQwNDkyYzJmMGNhMTlhNGEw
NzEzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgZmluYWwg
OiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVyZm9y
bWFuY2VFdmVudFRpbWluZygpOworCisgICAgZG91YmxlIHByb2Nlc3NpbmdTdGFydCgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ1N0YXJ0OyB9CisgICAgZG91YmxlIHByb2Nlc3NpbmdFbmQo
KSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdFbmQ7IH0KKyAgICBib29sIGNhbmNlbGFibGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFuY2VF
dmVudFRpbWluZyhkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCk7
CisKK3ByaXZhdGU6CisgICAgVHlwZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6
TWVhc3VyZTsgfQorICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5cGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiAiZmlyc3QtaW5wdXQiX3M7IH0KKworICAgIGNvbnN0IGRvdWJsZSBtX3Byb2Nlc3NpbmdT
dGFydDsKKyAgICBjb25zdCBkb3VibGUgbV9wcm9jZXNzaW5nRW5kOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwNjVlMjNlOWFiMTI5ZjRiMmU0ZGRmYjU4NDcxNDkzZjIw
YTMwMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtcGVy
Zm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3Rh
bXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFuY2VF
dmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIGNhbmNlbGFibGU7Cit9OworCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405038</attachid>
            <date>2020-07-23 08:29:10 -0700</date>
            <delta_ts>2020-07-23 10:07:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200723172907.patch</filename>
            <type>text/plain</type>
            <size>29846</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uZDg3NjdkYTBhNjU0YWQ1MTBjNTgzYThlN2UzMmZl
MDFmYzAxY2VkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTA3LTIzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
ZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNo
ZXI6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRUaW1pbmcuY3BwOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaC4KKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50VGltaW5nOjpFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudFRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVu
dFdhc0Rpc3BhdGNoZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmguCisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50
cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWlu
Z0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2
ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmguCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmgu
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbDogQWRkZWQuCisgICAg
ICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMpOgorCiAyMDIwLTA3LTIwICBD
b21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI2NDU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmE1YTQxMWRi
Y2NhZjIzYzVmODlhNzg0ODljNTg1NDFmYzQ0ZTAwZS4uZTY0ODZhYmQ4NmEzNGQ2YzAxYzcwMzg5
YzczMmNiMmNkMzY0NDNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4Miw2ICs5ODIsNyBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnku
aWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM5MzYzMjljNGYwNjBiMzQ2MTljYWNjNjlhMzc3ODhl
MjE5ZmY3ZTguLjVhYWY3MTFjZWRkMmRhNDA0YzgwMjJmYzNiYTU1MWZhZjU2YWM2N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTUy
LDYgKzk1Miw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdvcmtlci5p
ZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pFQ1RfRElS
KS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1RfRElSKS9w
YWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAppbmRleCBjMDAyNTk1ZTYxMTUxMTMxMmQwZTcwZTVkMzVlYWMyMjI2ZTlh
YmUxLi4wMDgyOWM0MGY5NzUyMTIwNjU0ZmIwMjEyODAxNTE1MzIwMTk5NjI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTI5NCw2
ICsxMjk0LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY1ZmMyZThiN2E3MzY2NGI1MGJkNmU1
ODNlNjdlNjE4ZGEzYjY4ZC4uZDk2NTMwYzc5YzdhZjE2ZDIyNGM1OTM1N2E0NmVkMzJjNTdhYjY3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NzEsNiArOTcxLDcgQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJr
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggZmQwMTIxOTk1NDE5NmFlOTRjMmEzMmY2YjFhNTQ5ZGM1NjJiMGI4Yi4uZGU3ZTI0ZWIz
ODllZGZkYjE1ZThlZmYwOGFjMTRkMTVmYzllZTE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1ODUs
NiArMTU4NSw3IEBAIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCiBwYWdlL0VkaXRhYmxlSW1hZ2VS
ZWZlcmVuY2UuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3Bw
CitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0Zy
YW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2
MTUsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6
ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAor
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VN
b25pdG9yLmNwcApAQCAtMzE1OSw2ICszMTYxLDcgQEAgSlNQYXltZW50VmFsaWRhdGlvbkVycm9y
cy5jcHAKIEpTUGJrZGYyUGFyYW1zLmNwcAogSlNQZXJmb3JtYW5jZS5jcHAKIEpTUGVyZm9ybWFu
Y2VFbnRyeS5jcHAKK0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VN
YXJrLmNwcAogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwCiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3ZDk0MzlhMWVlOGY1YTcyMWZmMDkzZmJkYzEzYmM4NGQ1ODVmNTJhLi5jOGRi
ODY1ODVmNzVkZTMwYzQ0MTBhMGFjODExZDhjZWIxNmEzNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNDMzLDYgKzM0MzMs
NyBAQAogCQlBOUQyNDgwNzBENzU3RTdEMDBGREY5NTkgLyogSlNET01NaW1lVHlwZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDMwRDc1N0U3
RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCAqLzsgfTsKIAkJQTlEMjQ4MDkwRDc1N0U3RDAw
RkRGOTU5IC8qIEpTRE9NTWltZVR5cGVBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDUwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWlt
ZVR5cGVBcnJheS5oICovOyB9OwogCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVySU9TLm1tICovOyB9OworCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyog
RXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFBMTJFNkNEMjRDOUQ2NkYwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oICovOyB9OwogCQlB
QTIxRUNDRDBBQkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEwOTc4RUUwQUJBQTZFMTAw
ODc0NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBQTJBNUFDRTE2QTQ4NUZEMDA5NzVBMjUgLyogU3Bl
ZWNoU3ludGhlc2lzVm9pY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBMkE1QUM3MTZBNDg1RDUwMDk3NUEyNSAvKiBTcGVlY2hTeW50aGVzaXNWb2lj
ZS5oICovOyB9OwogCQlBQTJBNUFEMDE2QTQ4NjA0MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQTJBNUFDNTE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgg
Ki87IH07CkBAIC0zNDUwLDYgKzM0NTEsNyBAQAogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMg
LyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNp
cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNj
ZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9v
dC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsg
fTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMy
NjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJ
QUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZE
IC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyog
TGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ1OSw2ICsx
MjQ2MSw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVu
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1M
TWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZl
bnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5
bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVB
MjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRv
d1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFC
QTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
T01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTI1MDMsNiArMTI1MDcsOSBAQAogCQlBQUUyN0I3NDE2Q0JGQzBEMDA2MjMwNDMgLyogUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUUyN0I3NTE2Q0JGQzBEMDA2MjMwNDMgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplck1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
QUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDgyNEM5NzRFQTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0
OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJTb2NrZXRGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFC
MjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNjA5QkJBN0QwMDA2
N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTE1OSw2ICsyMTE2Niw4IEBACiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMx
QzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZC
RUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyog
RXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVu
dFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGlt
aW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxl
ci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxl
ci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5o
ICovLApAQCAtMjEyNDMsNiArMjEyNTIsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEz
RiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZE
OCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIz
NTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRF
OTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0
Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1
QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJ
QUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJ
CTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3Bw
ICovLApAQCAtMzA2OTgsNiArMzA3MTAsNyBAQAogCQkJCTg0QjM0OUEyMjJGODZFNzUwMEQ0N0JD
RiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNTE0
NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2VzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyogRXZlbnRUaW1pbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkwMEJBNzhGQyAvKiBFdmVudFRy
YWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNEMTk2MzMxRDZDQUI4MjAwRkM3
RTQ3IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDRjIwOUJBMTQzQjAw
RTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2MjQsNiArMzI2
MzcsNyBAQAogCQkJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5nU2NyaXB0Q2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2NUMgLyogUGVy
Zm9ybWFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUVCOEFEOTI0Qzk3NkE5
MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY4NTBGRTMxRUQ3QzE4MzAwRkI3N0E3IC8qIFBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNzM4RTkxRURCRDJGQTAwM0YyQjBCIC8q
IFBlcmZvcm1hbmNlTWFyay5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERp
c3BhdGNoZXIuY3BwCmluZGV4IDRmOTk1MTUxYmFlNzVhMjFkYmQ3ZDY2Y2M3YzlhZDhlYjBkNzRl
NzEuLmU0YjllZjc5MjZhNGJhNzMyZmUxNTAwMWQ2ZjRhNjA4NzU2YjViN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
Q29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5oIgogI2luY2x1ZGUg
IkV2ZW50UGF0aC5oIgorI2luY2x1ZGUgIkV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAt
MTUxLDcgKzE1MiwxMiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudChOb2Rl
JiBub2RlLCBFdmVudCYgZXZlbnQpCiAKICAgICBpZiAoIWV2ZW50LnByb3BhZ2F0aW9uU3RvcHBl
ZCgpICYmICFldmVudFBhdGguaXNFbXB0eSgpKSB7CiAgICAgICAgIGV2ZW50LnNldEV2ZW50UGF0
aChldmVudFBhdGgpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IGV2ZW50
VGltaW5nOworICAgICAgICBpZiAobm9kZS5kb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAg
ICAgICAgZXZlbnRUaW1pbmcgPSBFdmVudFRpbWluZzo6Y3JlYXRlKGV2ZW50KTsKICAgICAgICAg
ZGlzcGF0Y2hFdmVudEluRE9NKGV2ZW50LCBldmVudFBhdGgpOworICAgICAgICBpZiAoZXZlbnRU
aW1pbmcpCisgICAgICAgICAgICBldmVudFRpbWluZy0+ZXZlbnRXYXNEaXNwYXRjaGVkKCpub2Rl
LmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICB9CiAKICAgICBldmVudC5yZXNl
dEFmdGVyRGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRU
aW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWY4MDc1Zjg5NzkxMDY2MTMyNmEwNjM4MzI2ODM4NWI4Mzk5NjcyYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNTQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2lu
Y2x1ZGUgIkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXZlbnRUaW1pbmc6OkV2
ZW50VGltaW5nKE1vbm90b25pY1RpbWUgc3RhcnRUaW1lLCBNb25vdG9uaWNUaW1lIHByb2Nlc3Np
bmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2lu
Z1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RkOjp1bmlxdWVfcHRyPEV2ZW50VGlt
aW5nPiBFdmVudFRpbWluZzo6Y3JlYXRlKGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICByZXR1
cm4gbWFrZVVuaXF1ZTxFdmVudFRpbWluZz4oZXZlbnQudGltZVN0YW1wKCksIE1vbm90b25pY1Rp
bWU6Om5vdygpKTsKK30gCisKK3ZvaWQgRXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChj
b25zdCBET01XaW5kb3cmLCBjb25zdCBFdmVudCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTg1MjFhMjgyOTc3
M2Q0ZDllMTFhYmZlOWE5YzM3MDE3MDA4ZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Nb25vdG9u
aWNUaW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRXZlbnQ7CitjbGFzcyBE
T01XaW5kb3c7CisKK2NsYXNzIEV2ZW50VGltaW5nIGZpbmFsIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEV2ZW50VGlt
aW5nPiBjcmVhdGUoY29uc3QgRXZlbnQmKTsKKworICAgIEV2ZW50VGltaW5nKE1vbm90b25pY1Rp
bWUgc3RhcnRUaW1lLCBNb25vdG9uaWNUaW1lIHByb2Nlc3NpbmdTdGFydCk7CisKKyAgICB2b2lk
IGV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmLCBjb25zdCBFdmVudCYpOworCitw
cml2YXRlOgorICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CisgICAgTW9ub3RvbmljVGlt
ZSBtX3Byb2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKaW5kZXggYmUzYWZkMjczN2NiZDBlNmM0NmEwNjg5NDk1
MzYzZTUxYzBjNTU3Ni4uYzNiN2UyOGJmMDhiNzZmNTU4ZDhlYWZjZTFiNDgwMTdiZGEyMTdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJQZXJmb3Jt
YW5jZUVudHJ5LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1
ZGUgIlBlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2
ZXIuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCkBAIC0xMzIsNiArMTMz
LDggQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVu
dHJpZXMoKSBjb25zdAogICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KQogICAgICAgICBl
bnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGVudHJpZXMuYXBw
ZW5kVmVjdG9yKG1fZXZlbnRUaW1pbmdCdWZmZXIpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMu
YmVnaW4oKSwgZW50cmllcy5lbmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFy
ZUxlc3NUaGFuKTsKICAgICByZXR1cm4gZW50cmllczsKIH0KQEAgLTIwMSw2ICsyMDQsMTcgQEAg
dm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQogICAgIHF1ZXVl
RW50cnkoKm1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOwogfQogCitib29sIFBlcmZvcm1hbmNlOjpp
c0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXZlbnRUaW1p
bmdCdWZmZXIuc2l6ZSgpID49IDE1MDsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6YWRkRXZlbnRU
aW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYgZW50cnkpCit7CisgICAgaWYgKCFp
c0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICBtX2V2ZW50VGltaW5nQnVmZmVyLmFw
cGVuZCgmZW50cnkpOworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhS
ZXNvdXJjZVRpbWluZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IGY2MzFjNmQz
YzQ1ZjAzNTIwOTA0OGNjNTg5M2ZlY2Y0Y2I2OGM5ODEuLjdlZjY0YzkyN2ViOGE3ODI5NTliZDZi
YmM1OWUwNmIyZDExZjdiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTQ0LDYg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3Mg
UGVyZm9ybWFuY2VFbnRyeTsKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc7CiBjbGFzcyBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOwogY2xhc3Mg
UGVyZm9ybWFuY2VQYWludFRpbWluZzsKQEAgLTgyLDYgKzgzLDkgQEAgcHVibGljOgogCiAgICAg
dm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBpc0V2ZW50VGlt
aW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRkRXZlbnRUaW1pbmdCdWZmZXIoUGVy
Zm9ybWFuY2VFdmVudFRpbWluZyYpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsK
ICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVy
Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9i
c2VydmVyJik7CkBAIC0xMTcsNiArMTIxLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBtX3Jlc291cmNlVGltaW5nQnVmZmVyOwogICAgIHVuc2lnbmVk
IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplIHsgMTUwIH07CiAKKyAgICBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGlt
ZXIgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCmluZGV4IGFmYWNmYjA5MGIyMWNiYTYxNGQ3OGNl
ODhhYzc1M2UyNjczZTEyNjUuLjNhMjhmNjBiZmRmOTNiZTFkMTU1YWM5NTI1OTNlMmE1ZjlhZGIw
NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCkBAIC01Miw3ICs1Miw5
IEBAIHB1YmxpYzoKICAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCiAgICAgICAgIE1lYXN1
cmUgICAgID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKLSAgICAgICAg
UGFpbnQgICAgICAgPSAxIDw8IDQKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQsCisgICAg
ICAgIEV2ZW50ICAgICAgID0gMSA8PCA1LAorICAgICAgICBGaXJzdElucHV0ICA9IDEgPDwgNgog
ICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwODBm
ZmVmMDM0ODg1ODcyYTNmMzhkYTZiZTFhMDU5NDFmNDE1NDQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEs
NDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmco
ZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3Np
bmdFbmQpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KCJldmVudC10aW1pbmciX3MsIHN0YXJ0VGlt
ZSwgMC4wKQorICAgICwgbV9wcm9jZXNzaW5nU3RhcnQocHJvY2Vzc2luZ1N0YXJ0KQorICAgICwg
bV9wcm9jZXNzaW5nRW5kKHByb2Nlc3NpbmdFbmQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmMyZDczNDYwMjFkNTc5YzRjMmE5NzFiODNiMjdiNDg0M2EyZjM4MgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5o
CkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGZpbmFsIDogcHVibGljIFBl
cmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAgIH5QZXJmb3JtYW5jZUV2ZW50VGltaW5nKCkg
PSBkZWZhdWx0OworCisgICAgZG91YmxlIHByb2Nlc3NpbmdTdGFydCgpIGNvbnN0IHsgcmV0dXJu
IG1fcHJvY2Vzc2luZ1N0YXJ0OyB9CisgICAgZG91YmxlIHByb2Nlc3NpbmdFbmQoKSBjb25zdCB7
IHJldHVybiBtX3Byb2Nlc3NpbmdFbmQ7IH0KKyAgICBib29sIGNhbmNlbGFibGUoKSBjb25zdCB7
IHJldHVybiBtX2NhbmNlbGFibGU7IH0KKworcHJvdGVjdGVkOgorICAgIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91Ymxl
IHByb2Nlc3NpbmdFbmQpOworCitwcml2YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIFR5cGU6OkV2ZW50OyB9CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuICJmaXJzdC1pbnB1dCJfczsgfQorCisgICAgZG91YmxlIG1fcHJv
Y2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9vbCBtX2Nh
bmNlbGFibGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTA2NWUyM2U5
YWIxMjlmNGIyZTRkZGZiNTg0NzE0OTNmMjBhMzAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRl
ZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyks
CitdIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0
YXJ0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3Np
bmdFbmQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKK307CisK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDEyNGY0
ZWU4ZDEyOGI3NWFiNTllODg5OWYzZTFhNjBkNDg3MTY0N2UuLjM0YWVmMTU1YzY4MmRiNGIwOGE4
MWFjMmQ1MzczZjQyNGEwOGEyODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmNwcApAQCAtMTI3LDYgKzEyNyw5IEBAIFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1h
bmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYK
IAogICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJyZXNvdXJjZSJfcyk7CiAKKyAgICBlbnRyeVR5cGVz
LmFwcGVuZCgiZmlyc3QtaW5wdXQiX3MpOworICAgIGVudHJ5VHlwZXMuYXBwZW5kKCJldmVudCJf
cyk7CisKICAgICByZXR1cm4gZW50cnlUeXBlczsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405049</attachid>
            <date>2020-07-23 10:07:12 -0700</date>
            <delta_ts>2020-07-24 03:21:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200723190711.patch</filename>
            <type>text/plain</type>
            <size>30668</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzllODA3Yjk4YmZkMDIw
YjU4YjZlMjdlMTdiZjI0Y2VjZjJhYzBlYy4uZDg3NjdkYTBhNjU0YWQ1MTBjNTgzYThlN2UzMmZl
MDFmYzAxY2VkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTA3LTIzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
ZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNo
ZXI6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRUaW1pbmcuY3BwOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaC4KKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50VGltaW5nOjpFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudFRpbWluZzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVu
dFdhc0Rpc3BhdGNoZWQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmguCisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50
cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWlu
Z0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2
ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6CisgICAgICAg
ICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmguCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmgu
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbDogQWRkZWQuCisgICAg
ICAgICogcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMpOgorCiAyMDIwLTA3LTIwICBD
b21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByZXZlcnRpbmcgcjI2NDU5Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMmE1YTQxMWRi
Y2NhZjIzYzVmODlhNzg0ODljNTg1NDFmYzQ0ZTAwZS4uZTY0ODZhYmQ4NmEzNGQ2YzAxYzcwMzg5
YzczMmNiMmNkMzY0NDNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4Miw2ICs5ODIsNyBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUu
aWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnku
aWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGM5MzYzMjljNGYwNjBiMzQ2MTljYWNjNjlhMzc3ODhl
MjE5ZmY3ZTguLjVhYWY3MTFjZWRkMmRhNDA0YzgwMjJmYzNiYTU1MWZhZjU2YWM2N2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTUy
LDYgKzk1Miw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdvcmtlci5p
ZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pFQ1RfRElS
KS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1RfRElSKS9w
YWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAppbmRleCBjMDAyNTk1ZTYxMTUxMTMxMmQwZTcwZTVkMzVlYWMyMjI2ZTlh
YmUxLi4wMDgyOWM0MGY5NzUyMTIwNjU0ZmIwMjEyODAxNTE1MzIwMTk5NjI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTI5NCw2
ICsxMjk0LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZDY1ZmMyZThiN2E3MzY2NGI1MGJkNmU1
ODNlNjdlNjE4ZGEzYjY4ZC4uZDk2NTMwYzc5YzdhZjE2ZDIyNGM1OTM1N2E0NmVkMzJjNTdhYjY3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NzEsNiArOTcxLDcgQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
cGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJr
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggZmQwMTIxOTk1NDE5NmFlOTRjMmEzMmY2YjFhNTQ5ZGM1NjJiMGI4Yi4uZGU3ZTI0ZWIz
ODllZGZkYjE1ZThlZmYwOGFjMTRkMTVmYzllZTE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1ODUs
NiArMTU4NSw3IEBAIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCiBwYWdlL0VkaXRhYmxlSW1hZ2VS
ZWZlcmVuY2UuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3Bw
CitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0Zy
YW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2
MTUsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6
ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAor
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcu
Y3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VN
b25pdG9yLmNwcApAQCAtMzE1OSw2ICszMTYxLDcgQEAgSlNQYXltZW50VmFsaWRhdGlvbkVycm9y
cy5jcHAKIEpTUGJrZGYyUGFyYW1zLmNwcAogSlNQZXJmb3JtYW5jZS5jcHAKIEpTUGVyZm9ybWFu
Y2VFbnRyeS5jcHAKK0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VN
YXJrLmNwcAogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwCiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3ZDk0MzlhMWVlOGY1YTcyMWZmMDkzZmJkYzEzYmM4NGQ1ODVmNTJhLi5jOGRi
ODY1ODVmNzVkZTMwYzQ0MTBhMGFjODExZDhjZWIxNmEzNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNDMzLDYgKzM0MzMs
NyBAQAogCQlBOUQyNDgwNzBENzU3RTdEMDBGREY5NTkgLyogSlNET01NaW1lVHlwZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDMwRDc1N0U3
RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCAqLzsgfTsKIAkJQTlEMjQ4MDkwRDc1N0U3RDAw
RkRGOTU5IC8qIEpTRE9NTWltZVR5cGVBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDUwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWlt
ZVR5cGVBcnJheS5oICovOyB9OwogCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVySU9TLm1tICovOyB9OworCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyog
RXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFBMTJFNkNEMjRDOUQ2NkYwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oICovOyB9OwogCQlB
QTIxRUNDRDBBQkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEwOTc4RUUwQUJBQTZFMTAw
ODc0NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBQTJBNUFDRTE2QTQ4NUZEMDA5NzVBMjUgLyogU3Bl
ZWNoU3ludGhlc2lzVm9pY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBMkE1QUM3MTZBNDg1RDUwMDk3NUEyNSAvKiBTcGVlY2hTeW50aGVzaXNWb2lj
ZS5oICovOyB9OwogCQlBQTJBNUFEMDE2QTQ4NjA0MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lz
VXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQTJBNUFDNTE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgg
Ki87IH07CkBAIC0zNDUwLDYgKzM0NTEsNyBAQAogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMg
LyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNp
cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNj
ZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9v
dC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsg
fTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMy
NjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJ
QUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZE
IC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyog
TGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ1OSw2ICsx
MjQ2MSw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVu
dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1M
TWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZl
bnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5
bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVB
MjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRv
d1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFC
QTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBE
T01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTI1MDMsNiArMTI1MDcsOSBAQAogCQlBQUUyN0I3NDE2Q0JGQzBEMDA2MjMwNDMgLyogUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUUyN0I3NTE2Q0JGQzBEMDA2MjMwNDMgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplck1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
QUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDgyNEM5NzRFQTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0
OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJTb2NrZXRGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFC
MjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNjA5QkJBN0QwMDA2
N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMTE1OSw2ICsyMTE2Niw4IEBACiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMx
QzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZC
RUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyog
RXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVu
dFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGlt
aW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxl
ci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxl
ci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5o
ICovLApAQCAtMjEyNDMsNiArMjEyNTIsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEz
RiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBG
RDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZE
OCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIz
NTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRF
OTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0
Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1
QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJ
QUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJ
CTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3Bw
ICovLApAQCAtMzA2OTgsNiArMzA3MTAsNyBAQAogCQkJCTg0QjM0OUEyMjJGODZFNzUwMEQ0N0JD
RiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNTE0
NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2VzLmggaW4g
SGVhZGVycyAqLywKKwkJCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyogRXZlbnRUaW1pbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkwMEJBNzhGQyAvKiBFdmVudFRy
YWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNEMTk2MzMxRDZDQUI4MjAwRkM3
RTQ3IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDRjIwOUJBMTQzQjAw
RTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2MjQsNiArMzI2
MzcsNyBAQAogCQkJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5nU2NyaXB0Q2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2NUMgLyogUGVy
Zm9ybWFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUVCOEFEOTI0Qzk3NkE5
MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY4NTBGRTMxRUQ3QzE4MzAwRkI3N0E3IC8qIFBlcmZvcm1hbmNlTG9nZ2lu
Z0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNzM4RTkxRURCRDJGQTAwM0YyQjBCIC8q
IFBlcmZvcm1hbmNlTWFyay5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERp
c3BhdGNoZXIuY3BwCmluZGV4IDRmOTk1MTUxYmFlNzVhMjFkYmQ3ZDY2Y2M3YzlhZDhlYjBkNzRl
NzEuLmU0YjllZjc5MjZhNGJhNzMyZmUxNTAwMWQ2ZjRhNjA4NzU2YjViN2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
Q29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5oIgogI2luY2x1ZGUg
IkV2ZW50UGF0aC5oIgorI2luY2x1ZGUgIkV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAt
MTUxLDcgKzE1MiwxMiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudChOb2Rl
JiBub2RlLCBFdmVudCYgZXZlbnQpCiAKICAgICBpZiAoIWV2ZW50LnByb3BhZ2F0aW9uU3RvcHBl
ZCgpICYmICFldmVudFBhdGguaXNFbXB0eSgpKSB7CiAgICAgICAgIGV2ZW50LnNldEV2ZW50UGF0
aChldmVudFBhdGgpOworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IGV2ZW50
VGltaW5nOworICAgICAgICBpZiAobm9kZS5kb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAg
ICAgICAgZXZlbnRUaW1pbmcgPSBFdmVudFRpbWluZzo6Y3JlYXRlKGV2ZW50KTsKICAgICAgICAg
ZGlzcGF0Y2hFdmVudEluRE9NKGV2ZW50LCBldmVudFBhdGgpOworICAgICAgICBpZiAoZXZlbnRU
aW1pbmcpCisgICAgICAgICAgICBldmVudFRpbWluZy0+ZXZlbnRXYXNEaXNwYXRjaGVkKCpub2Rl
LmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICB9CiAKICAgICBldmVudC5yZXNl
dEFmdGVyRGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRU
aW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDFkMGVmOGY1NTIzM2FkNWRjM2IwNzZjZjk3ZWZkOWE1NGFiYjJlOAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNjgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2lu
Y2x1ZGUgIkV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXZlbnRUaW1pbmc6OkV2
ZW50VGltaW5nKE1vbm90b25pY1RpbWUgc3RhcnRUaW1lLCBNb25vdG9uaWNUaW1lIHByb2Nlc3Np
bmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2lu
Z1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RkOjp1bmlxdWVfcHRyPEV2ZW50VGlt
aW5nPiBFdmVudFRpbWluZzo6Y3JlYXRlKGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICByZXR1
cm4gbWFrZVVuaXF1ZTxFdmVudFRpbWluZz4oZXZlbnQudGltZVN0YW1wKCksIE1vbm90b25pY1Rp
bWU6Om5vdygpKTsKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhj
b25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRz
IG9mIGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZl
bnRzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNo
IHRoZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5k
ZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBF
dmVudENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxl
cyBvbiB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVu
dC10aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQo
KQorICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZl
bnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2Fy
ZEV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5w
dXRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSk7Cit9CisK
K3ZvaWQgRXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmLCBj
b25zdCBFdmVudCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNTg1MjFhMjgyOTc3M2Q0ZDllMTFhYmZlOWE5YzM3
MDE3MDA4ZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRp
bWluZy5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRXZlbnQ7CitjbGFzcyBET01XaW5kb3c7CisKK2NsYXNz
IEV2ZW50VGltaW5nIGZpbmFsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPEV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3Qg
RXZlbnQmKTsKKworICAgIEV2ZW50VGltaW5nKE1vbm90b25pY1RpbWUgc3RhcnRUaW1lLCBNb25v
dG9uaWNUaW1lIHByb2Nlc3NpbmdTdGFydCk7CisKKyAgICB2b2lkIGV2ZW50V2FzRGlzcGF0Y2hl
ZChjb25zdCBET01XaW5kb3cmLCBjb25zdCBFdmVudCYpOworCitwcml2YXRlOgorICAgIE1vbm90
b25pY1RpbWUgbV9zdGFydFRpbWU7CisgICAgTW9ub3RvbmljVGltZSBtX3Byb2Nlc3NpbmdTdGFy
dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZS5jcHAKaW5kZXggYmUzYWZkMjczN2NiZDBlNmM0NmEwNjg5NDk1MzYzZTUxYzBjNTU3Ni4uYzNi
N2UyOGJmMDhiNzZmNTU4ZDhlYWZjZTFiNDgwMTdiZGEyMTdjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5j
bHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTmF2
aWdhdGlvbi5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCkBAIC0xMzIsNiArMTMzLDggQEAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXMoKSBjb25zdAogICAg
IGlmIChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KQogICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fZXZlbnRU
aW1pbmdCdWZmZXIpOworCiAgICAgc3RkOjpzb3J0KGVudHJpZXMuYmVnaW4oKSwgZW50cmllcy5l
bmQoKSwgUGVyZm9ybWFuY2VFbnRyeTo6c3RhcnRUaW1lQ29tcGFyZUxlc3NUaGFuKTsKICAgICBy
ZXR1cm4gZW50cmllczsKIH0KQEAgLTIwMSw2ICsyMDQsMTcgQEAgdm9pZCBQZXJmb3JtYW5jZTo6
cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQogICAgIHF1ZXVlRW50cnkoKm1fZmlyc3RDb250
ZW50ZnVsUGFpbnQpOwogfQogCitib29sIFBlcmZvcm1hbmNlOjppc0V2ZW50VGltaW5nQnVmZmVy
RnVsbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXZlbnRUaW1pbmdCdWZmZXIuc2l6ZSgpID49
IDE1MDsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6YWRkRXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9y
bWFuY2VFdmVudFRpbWluZyYgZW50cnkpCit7CisgICAgaWYgKCFpc0V2ZW50VGltaW5nQnVmZmVy
RnVsbCgpKQorICAgICAgICBtX2V2ZW50VGltaW5nQnVmZmVyLmFwcGVuZCgmZW50cnkpOworfQor
CiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWluZyYmIHJl
c291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IGY2MzFjNmQzYzQ1ZjAzNTIwOTA0OGNjNTg5
M2ZlY2Y0Y2I2OGM5ODEuLjdlZjY0YzkyN2ViOGE3ODI5NTliZDZiYmM1OWUwNmIyZDExZjdiMjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTQ0LDYgKzQ0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsK
K2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRp
b247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOwogY2xhc3MgUGVyZm9ybWFuY2VQYWludFRp
bWluZzsKQEAgLTgyLDYgKzgzLDkgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBvcnRGaXJzdENv
bnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNv
bnN0OworICAgIHZvaWQgYWRkRXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyYpOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMoKTsKICAgICB2b2lkIHJlZ2lzdGVy
UGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CiAgICAgdm9pZCB1bnJl
Z2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2VydmVyJik7CkBAIC0xMTcs
NiArMTIxLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBtX3Jlc291cmNlVGltaW5nQnVmZmVyOwogICAgIHVuc2lnbmVkIG1fcmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplIHsgMTUwIH07CiAKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGltZXIgbV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBt
X2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5oCmluZGV4IGFmYWNmYjA5MGIyMWNiYTYxNGQ3OGNlODhhYzc1M2UyNjczZTEyNjUu
LjNhMjhmNjBiZmRmOTNiZTFkMTU1YWM5NTI1OTNlMmE1ZjlhZGIwNTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCkBAIC01Miw3ICs1Miw5IEBAIHB1YmxpYzoKICAgICAg
ICAgTWFyayAgICAgICAgPSAxIDw8IDEsCiAgICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAog
ICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKLSAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8
IDQKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQsCisgICAgICAgIEV2ZW50ICAgICAgID0g
MSA8PCA1LAorICAgICAgICBGaXJzdElucHV0ICA9IDEgPDwgNgogICAgIH07CiAKICAgICB2aXJ0
dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwODBmZmVmMDM0ODg1ODcyYTNmMzhk
YTZiZTFhMDU5NDFmNDE1NDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwg
ZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQpCisgICAgOiBQZXJm
b3JtYW5jZUVudHJ5KCJldmVudC10aW1pbmciX3MsIHN0YXJ0VGltZSwgMC4wKQorICAgICwgbV9w
cm9jZXNzaW5nU3RhcnQocHJvY2Vzc2luZ1N0YXJ0KQorICAgICwgbV9wcm9jZXNzaW5nRW5kKHBy
b2Nlc3NpbmdFbmQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmMyZDczNDYw
MjFkNTc5YzRjMmE5NzFiODNiMjdiNDg0M2EyZjM4MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCkBAIC0wLDAgKzEsNTcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgewor
cHVibGljOgorICAgIH5QZXJmb3JtYW5jZUV2ZW50VGltaW5nKCkgPSBkZWZhdWx0OworCisgICAg
ZG91YmxlIHByb2Nlc3NpbmdTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ1N0YXJ0
OyB9CisgICAgZG91YmxlIHByb2Nlc3NpbmdFbmQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3Np
bmdFbmQ7IH0KKyAgICBib29sIGNhbmNlbGFibGUoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGFi
bGU7IH0KKworcHJvdGVjdGVkOgorICAgIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZG91YmxlIHN0
YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQpOwor
Citwcml2YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFR5cGU6OkV2
ZW50OyB9CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
ICJmaXJzdC1pbnB1dCJfczsgfQorCisgICAgZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworICAg
IGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9vbCBtX2NhbmNlbGFibGU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTA2NWUyM2U5YWIxMjlmNGIyZTRkZGZiNTg0
NzE0OTNmMjBhMzAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcv
I3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJl
c1RpbWVTdGFtcDsKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVyZmFjZSBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0YXJ0OworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdFbmQ7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDEyNGY0ZWU4ZDEyOGI3NWFiNTllODg5
OWYzZTFhNjBkNDg3MTY0N2UuLmIxMzBjYTg0OWNiNmQwOGQ2OTQ2NGJjMjg5ZGJjMWFiZTUwMDUy
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcApAQCAt
MTE4LDYgKzExOCw4IEBAIFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBv
cnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYKICAgICBWZWN0b3I8U3RyaW5n
PiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAg
ICAgLy8gIm5hdmlnYXRpb24iX3MsCisgICAgICAgICJmaXJzdC1pbnB1dCJfcywKKyAgICAgICAg
ImV2ZW50Il9zLAogICAgICAgICAibWFyayJfcywKICAgICAgICAgIm1lYXN1cmUiX3MKICAgICB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405135</attachid>
            <date>2020-07-24 03:21:58 -0700</date>
            <delta_ts>2020-07-24 06:58:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200724122156.patch</filename>
            <type>text/plain</type>
            <size>38943</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDhkY2Y5MzIyM2JjNTg3
YTc5MjgzM2ZhODExMWZlZTZjOGRkNGQyMi4uYzhjYTUxZTgyNWM3ODEzMTY1NzBhNmFmNzc4OTNm
MjZlMTZiMTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogcGFn
ZS9FdmVudFRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6
OkV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXZlbnRUeXBlRm9yRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFRpbWluZzo6ZXZlbnRXYXNEaXNwYXRjaGVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50VGltaW5nLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpzZXREdXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5Ojppc0V2ZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9y
bWFuY2VFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisKIDIwMjAtMDctMjMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBTcGxpdCBXaW5kb3dzIHBhcnRzIGZyb20gQ0ZOZXR3b3JrU1BJLmgg
dG8gQ0ZOZXR3b3JrU1BJV2luLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzVkMDI3NTY5Yzgz
ZDg3YzZiYzlhOWU3Mzg3ZWQ3YTkzNjA3ZDFmNS4uYWMyMzdhZWJiMDY3ZDJlNmM2NGZjNDg4NmE2
MGQ2NzU4MWJkYTIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk4NSw2ICs5ODUsNyBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRs
CisgICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFu
Y2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0CmluZGV4IDljM2Q5N2NhMDNiOWQ1NDkwMGM4ZTczZDVkMDBjMzkyNjc1
NjQ3YWUuLjE3YTM1NjI2YzFkY2UwYzAyODEwOTkwNzAyNWU0MTcyYjk1MjBjMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTU1LDYg
Kzk1NSw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdvcmtlci5pZGwK
ICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pFQ1RfRElSKS9w
YWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogJChQ
Uk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdl
L1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAppbmRleCA3NTAwNTFiMjk4NTVkNmE3MGQ4NjExODM3N2YzZTg5YzQyMDZkYjEz
Li5iYmJmNDBjY2Y5OTQ1ZDAzNzAxMDdmYjE3ODRlZjlkYjIyOWZkMmFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTI5Niw2ICsx
Mjk2LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQ
ZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9y
bWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTE0N2VkMWRlZWY4ZjI4MGEyMGUyOWFjMzky
YTVhODIwMTQ2OWI4MS4uZWFkNGJiYTY2ZjU0YWYzMmJhNWQzYTdiMTVkNmVlNjI1ZTlmNTA2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NzQsNiArOTc0LDcgQEAgSlNfQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwgXAogICAgICQo
V2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggOGM0ZmE3NzM2MjI3OTZhNDkzZjg1OGZlMTY4NWJiYTU4MmE0NDQzMi4uNGEyZmFlN2FiYmU4
NWYyZmUxYzAyZjIwNTRjOTg3ZWQ3YWE2ZTY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE1ODUsNiAr
MTU4NSw3IEBAIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCiBwYWdlL0VkaXRhYmxlSW1hZ2VSZWZl
cmVuY2UuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3BwCitw
YWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0ZyYW1l
LmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2MTUs
NyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6ZXIu
Y3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorcGFn
ZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3Bw
CiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VNb25p
dG9yLmNwcApAQCAtMzE2MSw2ICszMTYzLDcgQEAgSlNQYXltZW50VmFsaWRhdGlvbkVycm9ycy5j
cHAKIEpTUGJrZGYyUGFyYW1zLmNwcAogSlNQZXJmb3JtYW5jZS5jcHAKIEpTUGVyZm9ybWFuY2VF
bnRyeS5jcHAKK0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKIEpTUGVyZm9ybWFuY2VNYXJr
LmNwcAogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwCiBKU1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA5NjQyNGQxNWViODIxZjAyODQyZGIxYmNhMmY0NjAxYWNmN2M0MzBmLi45YWI1Zjk1
MjFkYzg5MTJjYTg2ZGIwY2M2N2MxNzg5YjA0OWE1NGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNDM3LDYgKzM0MzcsNyBA
QAogCQlBOUQyNDgwNzBENzU3RTdEMDBGREY5NTkgLyogSlNET01NaW1lVHlwZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDMwRDc1N0U3RDAw
RkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCAqLzsgfTsKIAkJQTlEMjQ4MDkwRDc1N0U3RDAwRkRG
OTU5IC8qIEpTRE9NTWltZVR5cGVBcnJheS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDUwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5
cGVBcnJheS5oICovOyB9OwogCQlBQTEyREY0OTE3NDNERjgzMDA0REFGREYgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5
bnRoZXNpemVySU9TLm1tICovOyB9OworCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyogRXZl
bnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBMTJFNkNEMjRDOUQ2NkYwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oICovOyB9OwogCQlBQTIx
RUNDRDBBQkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEwOTc4RUUwQUJBQTZFMTAwODc0
NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlBQTJBNUFDRTE2QTQ4NUZEMDA5NzVBMjUgLyogU3BlZWNo
U3ludGhlc2lzVm9pY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBMkE1QUM3MTZBNDg1RDUwMDk3NUEyNSAvKiBTcGVlY2hTeW50aGVzaXNWb2ljZS5o
ICovOyB9OwogCQlBQTJBNUFEMDE2QTQ4NjA0MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVXR0
ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QTJBNUFDNTE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87
IH07CkBAIC0zNDU0LDYgKzM0NTUsNyBAQAogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyog
SlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5o
ICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNz
aWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5o
ICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFF
QjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsK
IAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIy
NDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8q
IFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGlu
ZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ3OCw2ICsxMjQ4
MCw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0
aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2
QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01X
aW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTI1MjIsNiArMTI1MjYsOSBAQAogCQlBQUUyN0I3NDE2Q0JGQzBEMDA2MjMwNDMgLyogUGxhdGZv
cm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQUUyN0I3NTE2Q0JGQzBEMDA2MjMwNDMgLyogUGxhdGZvcm1TcGVl
Y2hTeW50aGVzaXplck1vY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJ
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbGF0Zm9ybVNw
ZWVjaFN5bnRoZXNpemVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVC
OEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUFFQjhBRDgyNEM5NzRFQTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRjVCN0IxMTUyNEI0QkQwMDA0Q0I0OSAv
KiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJTb2NrZXRGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFCMjNB
MzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNjA5QkJBN0QwMDA2N0ND
NTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMTIwMyw2ICsyMTIxMCw4IEBACiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFG
QkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUg
LyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZl
bnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRp
bWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5n
LmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5j
cHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5o
ICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICov
LApAQCAtMjEyODcsNiArMjEyOTYsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAv
KiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDgg
LyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3
NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBD
MjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1
QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBG
RjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICov
LApAQCAtMzA3NjYsNiArMzA3NzgsNyBAQAogCQkJCTg0QjM0OUEyMjJGODZFNzUwMEQ0N0JDRiAv
KiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNTE0NTIz
N0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZhY2VzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCBp
biBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkwMEJBNzhGQyAvKiBFdmVudFRyYWNr
aW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNEMTk2MzMxRDZDQUI4MjAwRkM3RTQ3
IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDRjIwOUJBMTQzQjAwRTIz
MEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2OTUsNiArMzI3MDgs
NyBAQAogCQkJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5nU2NyaXB0Q2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2NUMgLyogUGVyZm9y
bWFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDAxMTUwNThDQjIwMENFMEZEOCAvKiBQ
ZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUVCOEFEOTI0Qzk3NkE5MDAx
NTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQUQ1
QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY4NTBGRTMxRUQ3QzE4MzAwRkI3N0E3IC8qIFBlcmZvcm1hbmNlTG9nZ2luZ0Ns
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNzM4RTkxRURCRDJGQTAwM0YyQjBCIC8qIFBl
cmZvcm1hbmNlTWFyay5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcAppbmRleCBiYmY4MTEx
NDJkYWI5ZTZhOTJjYjVjNmNmYWIwNmIyNDU4YmE3MTQwLi5lMjNkYjhiMDY0ZWI4YmRkNTg3ZjA0
Nzc0MjAyMDVlNTA4MWY3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKQEAgLTMzLDEwICszMywxMiBAQAog
I2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VFbnRyeS5oIgogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5n
LmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQ
ZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2lu
Y2x1ZGUgIkpTUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1lYXN1
cmUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCkBAIC01MSw2ICs1Myw5
IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VQ
YWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKKyAgICBpZiAoaXM8
UGVyZm9ybWFuY2VFdmVudFRpbWluZz4oZW50cnkpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3Jh
cHBlcjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkp
KTsKKwogICAgIGlmIChpczxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihlbnRyeSkpCiAgICAg
ICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGdsb2Jh
bE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYWMzOTY2N2RjZGM3ZDQ3YThkYWM2YWQ1
MTg4ODliNjI2OTk2NmQ3ZC4uNDU4ZDMzZGZhMjM3ZGY5YjYwYjVmMzU3ODViODllZDQ4MDdhYmYx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaApAQCAtMTg1LDYgKzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQ
YWludFdvcmtsZXRHbG9iYWxTY29wZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50cnkpIFwK
ICAgICBtYWNybyhQZXJmb3JtYW5jZUVudHJ5TGlzdCkgXAorICAgIG1hY3JvKFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwKICAgICBtYWNybyhQ
ZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9ic2VydmVyKSBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCmluZGV4IDRmOTk1MTUxYmFlNzVhMjFk
YmQ3ZDY2Y2M3YzlhZDhlYjBkNzRlNzEuLmY3ZTA2ZGU5MTE3MDdjZjc1MjYwN2U5NWY5YTY3ODM1
ZDllMWNmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCkBAIC0yOSw2
ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
Q29udGV4dC5oIgogI2luY2x1ZGUgIkV2ZW50UGF0aC5oIgorI2luY2x1ZGUgIkV2ZW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1
ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTUxLDcgKzE1MiwxMiBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hl
cjo6ZGlzcGF0Y2hFdmVudChOb2RlJiBub2RlLCBFdmVudCYgZXZlbnQpCiAKICAgICBpZiAoIWV2
ZW50LnByb3BhZ2F0aW9uU3RvcHBlZCgpICYmICFldmVudFBhdGguaXNFbXB0eSgpKSB7CiAgICAg
ICAgIGV2ZW50LnNldEV2ZW50UGF0aChldmVudFBhdGgpOworICAgICAgICBzdGQ6OnVuaXF1ZV9w
dHI8RXZlbnRUaW1pbmc+IGV2ZW50VGltaW5nOworICAgICAgICBpZiAobm9kZS5kb2N1bWVudCgp
LmRvbVdpbmRvdygpKQorICAgICAgICAgICAgZXZlbnRUaW1pbmcgPSBFdmVudFRpbWluZzo6Y3Jl
YXRlKCpub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICAgICAgZGlzcGF0
Y2hFdmVudEluRE9NKGV2ZW50LCBldmVudFBhdGgpOworICAgICAgICBpZiAoZXZlbnRUaW1pbmcp
CisgICAgICAgICAgICBldmVudFRpbWluZy0+ZXZlbnRXYXNEaXNwYXRjaGVkKCpub2RlLmRvY3Vt
ZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICB9CiAKICAgICBldmVudC5yZXNldEFmdGVy
RGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzBj
MWYwZmY1ZDJkZjdiZjE2ZGFmZTJiNjBkNzE0ZDcwNDJmMTMwNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUg
IkV2ZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitFdmVudFRpbWluZzo6RXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHBy
b2Nlc3NpbmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJv
Y2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVu
dFR5cGVGb3JFdmVudFRpbWluZyhjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVk
ZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9mIGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVk
aW5nIGlucHV0CisgICAgLy8gZXZlbnRzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czog
ZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRoZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGlt
ZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhj
bHVkZWQKKyAgICAvLyBzaW5jZSBFdmVudENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJs
eSBjb21wdXRlZCBwZXJjZW50aWxlcyBvbiB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6
Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJl
dHVybiBldmVudC5pc1RydXN0ZWQoKQorICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkg
fHwgZXZlbnQuaXNQb2ludGVyRXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50
KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxF
dmVudCgpIHx8IGV2ZW50LmlzSW5wdXRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBv
c2l0aW9uRXZlbnQoKSkKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5t
b3VzZW1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBv
aW50ZXJtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50
b3VjaG1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndo
ZWVsRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZl
bnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0
ZShjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlm
ICghaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIGlmICghd2luZG93LnBlcmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkg
fHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisgICAg
ICAgIHJldHVybiBtYWtlVW5pcXVlPEV2ZW50VGltaW5nPih3aW5kb3cucGVyZm9ybWFuY2UoKS5y
ZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oZXZlbnQudGltZVN0
YW1wKCkpLCB3aW5kb3cucGVyZm9ybWFuY2UoKS5ub3coKSk7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK3ZvaWQgRXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5k
b3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5j
ZSgpLnJlcG9ydEV2ZW50VGltaW5nKGV2ZW50LnR5cGUoKSwgbV9zdGFydFRpbWUsIG1fcHJvY2Vz
c2luZ1N0YXJ0LCBldmVudC5jYW5jZWxhYmxlKCksIGV2ZW50LnRhcmdldCgpKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjNkMWQ1NTMyOWI2N2RmYjc3NDE3OWU2MGQxMGE5OWY1ZjE0Y2IwYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKQEAgLTAsMCArMSw1NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVk
ZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBF
dmVudDsKK2NsYXNzIERPTVdpbmRvdzsKKworY2xhc3MgRXZlbnRUaW1pbmcgZmluYWwgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8RXZlbnRUaW1pbmc+IGNyZWF0ZShjb25zdCBET01XaW5kb3cmLCBjb25zdCBFdmVudCYp
OworCisgICAgRXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdT
dGFydCk7CisKKyAgICB2b2lkIGV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmLCBj
b25zdCBFdmVudCYpOworCitwcml2YXRlOgorICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKKyAgICBk
b3VibGUgbV9wcm9jZXNzaW5nU3RhcnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4
OTQ5NTM2M2U1MWMwYzU1NzYuLjIyYjVlMTAzYWMzMjA3NDlmMjc2OTVjMGM3NzU0OTNmMGM4ZWFh
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNp
bmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9i
c2VydmVyLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTMyLDYg
KzEzMyw4IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpn
ZXRFbnRyaWVzKCkgY29uc3QKICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCkKICAgICAg
ICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBlbnRyaWVz
LmFwcGVuZFZlY3RvcihtX2V2ZW50VGltaW5nQnVmZmVyKTsKKwogICAgIHN0ZDo6c29ydChlbnRy
aWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1hbmNlRW50cnk6OnN0YXJ0VGltZUNv
bXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CkBAIC0xNDYsNiArMTQ5LDkg
QEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJp
ZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnQKICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWlu
dCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKQog
ICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGlm
IChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50
cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdElu
cHV0VGltaW5nKTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAg
IGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNzEs
NiArMTc3LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6
OmdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW0KICAgICBpZiAobV9maXJzdENvbnRl
bnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRlbnRm
dWwtcGFpbnQiKQogICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50
KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8
fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJmaXJzdC1pbnB1dCIp
KSAmJiBuYW1lID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmly
c3RJbnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChl
bnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlU
eXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGlt
aW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0yMDEsNiArMjEwLDMwIEBAIHZvaWQgUGVyZm9ybWFu
Y2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKICAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0
Q29udGVudGZ1bFBhaW50KTsKIH0KIAorYm9vbCBQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1
ZmZlckZ1bGwoKSBjb25zdAoreworICAgIHJldHVybiBtX2V2ZW50VGltaW5nQnVmZmVyLnNpemUo
KSA+PSAxNTA7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGlmICghaXNFdmVudFRpbWluZ0J1
ZmZlckZ1bGwoKSkKKyAgICAgICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoJmVudHJ5KTsK
K30KKwordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0RXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9vbCBj
YW5jZWxhYmxlLCBFdmVudFRhcmdldCopCit7CisgICAgYXV0byBlbnRyeSA9IFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmc6OmNyZWF0ZSh0eXBlLCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgbm93
KCksIGNhbmNlbGFibGUpOworICAgIGlmICghbV9maXJzdElucHV0VGltaW5nKSB7CisgICAgICAg
IGlmIChlbnRyeS0+bmFtZSgpID09ICJjbGljayIgfHwgZW50cnktPm5hbWUoKSA9PSAia2V5ZG93
biIgfHwgZW50cnktPm5hbWUoKSA9PSAibW91c2Vkb3duIikgeworICAgICAgICAgICAgbV9maXJz
dElucHV0VGltaW5nID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6Y3JlYXRlRmlyc3RJbnB1dFRp
bWluZyhlbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0SW5wdXRU
aW1pbmcpOworICAgICAgICB9CisgICAgfQorICAgIHF1ZXVlRW50cnkoZW50cnkuZ2V0KCkpOwor
ICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKFdURk1vdmUoZW50cnkpKTsKK30KKwogdm9p
ZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJj
ZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNmZWNm
NGNiNjhjOTgxLi5kYzA2NmI4YmMxYWU4NTY4ZTIwYzZiZDdiZGFiMDM3YjkyNjdlMzQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFz
cyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwog
Y2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7
CkBAIC04Miw2ICs4MywxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydEZpcnN0Q29udGVu
dGZ1bFBhaW50KCk7CiAKKyAgICBib29sIGZpcnN0SW5wdXREZXRlY3RlZCgpIGNvbnN0IHsgcmV0
dXJuICEhbV9maXJzdElucHV0VGltaW5nOyB9CisKKyAgICBib29sIGlzRXZlbnRUaW1pbmdCdWZm
ZXJGdWxsKCkgY29uc3Q7CisgICAgdm9pZCBhZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJik7CisKKyAgICB2b2lkIHJlcG9ydEV2ZW50VGltaW5nKGNvbnN0IEF0b21T
dHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJv
b2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKwogICAgIHZvaWQgcmVtb3ZlQWxsT2JzZXJ2
ZXJzKCk7CiAgICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VP
YnNlcnZlciYpOwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9y
bWFuY2VPYnNlcnZlciYpOwpAQCAtMTE3LDYgKzEyNSw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9y
PFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9yZXNvdXJjZVRpbWluZ0J1ZmZlcjsKICAgICB1
bnNpZ25lZCBtX3Jlc291cmNlVGltaW5nQnVmZmVyU2l6ZSB7IDE1MCB9OwogCisgICAgVmVjdG9y
PFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ0J1ZmZlcjsKKwog
ICAgIFRpbWVyIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsVGltZXI7CiAgICAgVmVjdG9yPFJl
ZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9iYWNrdXBSZXNvdXJjZVRpbWluZ0J1ZmZlcjsKIApA
QCAtMTI5LDYgKzEzOSw4IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRU
aW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJU
aW1pbmc+IG1fdXNlclRpbWluZzsKIAorICAgIFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5n
PiBtX2ZpcnN0SW5wdXRUaW1pbmc7CisKICAgICBHZW5lcmljVGFza1F1ZXVlPFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZTsKICAgICBMaXN0SGFz
aFNldDxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+IG1fb2JzZXJ2ZXJzOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4IDQyYzA1MWU4NWUyMmMxMmY3
ZmNiMzM1NGJkOTkxMTk4YmYyNzM3ODkuLjgxYmZlMmFjM2VjMmEyOTQ5ZDU1MjkwOTMxMGRhNDQ0
YTViNDY3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAt
NjksNiArNjksMTIgQEAgT3B0aW9uYWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gUGVyZm9ybWFu
Y2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3QKICAgICAgICAgICAgIHJldHVy
biBPcHRpb25hbDxUeXBlPihUeXBlOjpQYWludCk7CiAgICAgfQogCisgICAgaWYgKGVudHJ5VHlw
ZSA9PSAiZXZlbnQiKQorICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6RXZlbnQp
OworCisgICAgaWYgKGVudHJ5VHlwZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICByZXR1cm4g
T3B0aW9uYWw8VHlwZT4oVHlwZTo6Rmlyc3RJbnB1dCk7CisKICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCmluZGV4IGFmYWNm
YjA5MGIyMWNiYTYxNGQ3OGNlODhhYzc1M2UyNjczZTEyNjUuLjg4M2Y2ZmQzMjQxZGE5MjY2YTYx
NzAyZWMxMzNhNzA0Mjg3YmE0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5oCkBAIC00NiwxMyArNDYsMTYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogICAgIGRvdWJsZSBzdGFydFRpbWUoKSBjb25zdCB7
IHJldHVybiBtX3N0YXJ0VGltZTsgfQogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fZHVyYXRpb247IH0KKyAgICB2b2lkIHNldER1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbikg
eyBtX2R1cmF0aW9uID0gZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7CiAgICAg
ICAgIE5hdmlnYXRpb24gID0gMSA8PCAwLAogICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwK
ICAgICAgICAgTWVhc3VyZSAgICAgPSAxIDw8IDIsCiAgICAgICAgIFJlc291cmNlICAgID0gMSA8
PCAzLAotICAgICAgICBQYWludCAgICAgICA9IDEgPDwgNAorICAgICAgICBQYWludCAgICAgICA9
IDEgPDwgNCwKKyAgICAgICAgRXZlbnQgICAgICAgPSAxIDw8IDUsCisgICAgICAgIEZpcnN0SW5w
dXQgID0gMSA8PCA2CiAgICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAw
OwpAQCAtNjQsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc01hcmsoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAgIGJvb2wgaXNNZWFzdXJlKCkgY29uc3Qg
eyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7IH0KICAgICBib29sIGlzUGFpbnQoKSBj
b25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFpbnQ7IH0KKyAgICBib29sIGlzRXZlbnQo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6RXZlbnQ7IH0KIAogICAgIHN0YXRpYyBi
b29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7CkBAIC03Niw3
ICs4MCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5nIG1fbmFtZTsK
ICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91YmxlIG1fZHVyYXRp
b247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZDE5MzY0NjJkMzkwYWI4NDViNTk0M2Q4OTllNTkxZWY4ZmNlOGEyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEFTQ0lJTGl0ZXJhbCYg
ZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3Vi
bGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlKQorICAgIDogUGVyZm9ybWFuY2VFbnRy
eSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3Np
bmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNzaW5nRW5kKQorICAgICwgbV9j
YW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBtX2VudHJ5VHlwZShlbnRyeVR5cGUpCit7Cit9
CisKK1JlZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpj
cmVhdGVGaXJzdElucHV0VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5
KQoreworICAgIGF1dG8gZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcoZW50cnkubmFtZSgpLCAiZmlyc3QtaW5wdXQiX3MsIGVudHJ5LnN0YXJ0VGltZSgp
LCBlbnRyeS5wcm9jZXNzaW5nU3RhcnQoKSwgZW50cnkucHJvY2Vzc2luZ0VuZCgpLCBlbnRyeS5j
YW5jZWxhYmxlKCkpKTsKKyAgICBldmVudFRpbWluZy0+c2V0RHVyYXRpb24oZW50cnkuZHVyYXRp
b24oKSk7CisgICAgcmV0dXJuIGV2ZW50VGltaW5nOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI2M2NiODg3YzI1YjAxMzBjYTYzODljMmE2NzQ5YWY4YjZkYjc2NDIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApA
QCAtMCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBk
b3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxh
YmxlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VFdmVu
dFRpbWluZyh0eXBlLCAiZXZlbnQiX3MsIHN0YXJ0VGltZSwgcHJvY2Vzc2luZ1N0YXJ0LCBwcm9j
ZXNzaW5nRW5kLCBjYW5jZWxhYmxlKSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFu
Y2VFdmVudFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVsdDsK
KworICAgIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3Np
bmdTdGFydDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4gbV9w
cm9jZXNzaW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5jZWxhYmxlOyB9CisKK3Byb3RlY3RlZDoKKyAgICBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEFTQ0lJTGl0ZXJhbCYgZW50cnlUeXBlLCBkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0Vu
ZCwgYm9vbCBjYW5jZWxhYmxlKTsKKworcHJpdmF0ZToKKyAgICBUeXBlIHR5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBUeXBlOjpFdmVudDsgfQorICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5cGUo
KSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2VudHJ5VHlwZTsgfQorCisgICAgZG91YmxlIG1fcHJv
Y2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9vbCBtX2Nh
bmNlbGFibGU7CisgICAgQVNDSUlMaXRlcmFsIG1fZW50cnlUeXBlOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJldHVybiBlbnRyeS5pc0V2ZW50KCk7IH0K
K1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwNjVlMjNlOWFiMTI5ZjRi
MmU0ZGRmYjU4NDcxNDkzZjIwYTMwMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91Ymxl
IERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7Cit9OworCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAppbmRleCAxMjRmNGVlOGQxMjhi
NzVhYjU5ZTg4OTlmM2UxYTYwZDQ4NzE2NDdlLi5iMTMwY2E4NDljYjZkMDhkNjk0NjRiYzI4OWRi
YzFhYmU1MDA1MjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAKQEAgLTExOCw2ICsxMTgsOCBAQCBWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2Vy
dmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmCiAgICAgVmVj
dG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dl
YmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZl
bCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAorICAgICAgICAiZmlyc3QtaW5wdXQiX3Ms
CisgICAgICAgICJldmVudCJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFzdXJl
Il9zCiAgICAgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405138</attachid>
            <date>2020-07-24 06:58:57 -0700</date>
            <delta_ts>2020-07-24 09:36:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200724155856.patch</filename>
            <type>text/plain</type>
            <size>48818</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDhkY2Y5MzIyM2JjNTg3
YTc5MjgzM2ZhODExMWZlZTZjOGRkNGQyMi4uYzhjYTUxZTgyNWM3ODEzMTY1NzBhNmFmNzc4OTNm
MjZlMTZiMTI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogcGFn
ZS9FdmVudFRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6
OkV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXZlbnRUeXBlRm9yRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFRpbWluZzo6ZXZlbnRXYXNEaXNwYXRjaGVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50VGltaW5nLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpzZXREdXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5Ojppc0V2ZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9y
bWFuY2VFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisKIDIwMjAtMDctMjMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBTcGxpdCBXaW5kb3dzIHBhcnRzIGZyb20gQ0ZOZXR3b3JrU1BJLmgg
dG8gQ0ZOZXR3b3JrU1BJV2luLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzVkMDI3NTY5Yzgz
ZDg3YzZiYzlhOWU3Mzg3ZWQ3YTkzNjA3ZDFmNS4uY2FjNzc2NjA1Mjg3YTgxYzliNDI5ZDM4M2Yx
MWI0Y2ZmZTExNmM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTk2OCw2ICs5NjgsNyBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvQ3J5cHRvLmlkbAogICAgIHBh
Z2UvRE9NU2VsZWN0aW9uLmlkbAogICAgIHBhZ2UvRE9NV2luZG93LmlkbAorICAgIHBhZ2UvRXZl
bnRDb3VudHMuaWRsCiAgICAgcGFnZS9FdmVudFNvdXJjZS5pZGwKICAgICBwYWdlL0dsb2JhbENy
eXB0by5pZGwKICAgICBwYWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApAQCAtOTg1LDYgKzk4Niw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9OYXZpZ2F0b3JTaGFy
ZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5pZGwKKyAgICBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZU1hcmsuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggOWMzZDk3Y2EwM2I5ZDU0OTAwYzhlNzNkNWQwMGMz
OTI2NzU2NDdhZS4uMTdhMzU2MjZjMWRjZTBjMDI4MTA5OTA3MDI1ZTQxNzJiOTUyMGMxMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC05
NTUsNiArOTU1LDcgQEAgJChQUk9KRUNUX0RJUikvcGFnZS9OYXZpZ2F0b3JTZXJ2aWNlV29ya2Vy
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9OYXZpZ2F0b3JTaGFyZS5pZGwKICQoUFJPSkVDVF9E
SVIpL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuaWRsCiskKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRs
CiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWFyay5pZGwKICQoUFJPSkVDVF9ESVIp
L3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZU5hdmlnYXRpb24uaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDc1MDA1MWIyOTg1NWQ2YTcwZDg2MTE4Mzc3ZjNlODljNDIw
NmRiMTMuLmJiYmY0MGNjZjk5NDVkMDM3MDEwN2ZiMTc4NGVmOWRiMjI5ZmQyYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjk2
LDYgKzEyOTYsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1BlcmZvcm1hbmNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlRW50cnkuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlRW50cnkuaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU1hcmsuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlMTQ3ZWQxZGVlZjhmMjgwYTIwZTI5
YWMzOTJhNWE4MjAxNDY5YjgxLi5kMDI0NjBhZjJmYjA2OTE5NTM5MzMwM2M5MWQwODcxNzUzOWJj
MmI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk1Niw2ICs5NTYsNyBAQCBK
U19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0NyeXB0by5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
RE9NV2luZG93LmlkbCBcCisgICAgJChXZWJDb3JlKS9wYWdlL0V2ZW50Q291bnRzLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL0V2ZW50U291cmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L0dsb2JhbENyeXB0by5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxQZXJmb3JtYW5j
ZS5pZGwgXApAQCAtOTc0LDYgKzk3NSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVy
Zm9ybWFuY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwg
XAorICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTWFyay5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFn
ZS9QZXJmb3JtYW5jZU1lYXN1cmUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDhjNGZhNzczNjIyNzk2YTQ5M2Y4
NThmZTE2ODViYmE1ODJhNDQ0MzIuLjIwMTljYzE0Yjc5YTczZjA0NjFmODkyODc2NjcwNGRkYzhj
YmRiZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xNTgzLDggKzE1ODMsMTAgQEAgcGFnZS9EaWFnbm9z
dGljTG9nZ2luZ0tleXMuY3BwCiBwYWdlL0Rpc2FibGVkQWRhcHRhdGlvbnMuY3BwCiBwYWdlL0Ry
YWdDb250cm9sbGVyLmNwcAogcGFnZS9FZGl0YWJsZUltYWdlUmVmZXJlbmNlLmNwcAorcGFnZS9F
dmVudENvdW50cy5jcHAKIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcAogcGFnZS9FdmVudFNvdXJjZS5j
cHAKK3BhZ2UvRXZlbnRUaW1pbmcuY3BwCiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAKIHBhZ2Uv
RnJhbWUuY3BwCiBwYWdlL0ZyYW1lRGVzdHJ1Y3Rpb25PYnNlcnZlci5jcHAKQEAgLTE2MTQsNiAr
MTYxNiw3IEBAIHBhZ2UvUGFnZU92ZXJsYXlDb250cm9sbGVyLmNwcAogcGFnZS9QYWdlU2VyaWFs
aXplci5jcHAKIHBhZ2UvUGVyZm9ybWFuY2UuY3BwCiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3Bw
CitwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2lu
Zy5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmNwcAogcGFnZS9QZXJmb3JtYW5j
ZU1vbml0b3IuY3BwCkBAIC0yODMxLDYgKzI4MzQsNyBAQCBKU0VudGVyUGljdHVyZUluUGljdHVy
ZUV2ZW50LmNwcAogSlNFcnJvckNhbGxiYWNrLmNwcAogSlNFcnJvckV2ZW50LmNwcAogSlNFdmVu
dC5jcHAKK0pTRXZlbnRDb3VudHMuY3BwCiBKU0V2ZW50SW5pdC5jcHAKIEpTRXZlbnRNb2RpZmll
ckluaXQuY3BwCiBKU0V2ZW50U291cmNlLmNwcApAQCAtMzE2MSw2ICszMTY1LDcgQEAgSlNQYXlt
ZW50VmFsaWRhdGlvbkVycm9ycy5jcHAKIEpTUGJrZGYyUGFyYW1zLmNwcAogSlNQZXJmb3JtYW5j
ZS5jcHAKIEpTUGVyZm9ybWFuY2VFbnRyeS5jcHAKK0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHAKIEpTUGVyZm9ybWFuY2VNYXJrLmNwcAogSlNQZXJmb3JtYW5jZU1lYXN1cmUuY3BwCiBKU1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5NjQyNGQxNWViODIxZjAyODQyZGIxYmNhMmY0
NjAxYWNmN2M0MzBmLi45YWI1Zjk1MjFkYzg5MTJjYTg2ZGIwY2M2N2MxNzg5YjA0OWE1NGMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0zNDM3LDYgKzM0MzcsNyBAQAogCQlBOUQyNDgwNzBENzU3RTdEMDBGREY5NTkgLyogSlNE
T01NaW1lVHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTlEMjQ4MDMwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCAqLzsgfTsKIAkJ
QTlEMjQ4MDkwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGVBcnJheS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTlEMjQ4MDUwRDc1N0U3RDAw
RkRGOTU5IC8qIEpTRE9NTWltZVR5cGVBcnJheS5oICovOyB9OwogCQlBQTEyREY0OTE3NDNERjgz
MDA0REFGREYgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBD
MiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tICovOyB9OworCQlBQTEyRTZEMDI0
QzlENjc0MDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMTJFNkNEMjRDOUQ2NkYwMEQ1N0Q2MCAvKiBFdmVudFRp
bWluZy5oICovOyB9OwogCQlBQTIxRUNDRDBBQkYwRkM2MDAyQjgzNEMgLyogQ1NTQ3Vyc29ySW1h
Z2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUEwOTc4RUUwQUJBQTZFMTAwODc0NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBQTJBNUFDRTE2QTQ4
NUZEMDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMkE1QUM3MTZBNDg1RDUwMDk3NUEyNSAvKiBT
cGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9OwogCQlBQTJBNUFEMDE2QTQ4NjA0MDA5NzVBMjUg
LyogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNTE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CkBAIC0zNDU0LDYgKzM0NTUsNyBAQAogCQlBQTdGRUVB
RDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAv
KiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYg
LyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBX
ZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0
MUZEMDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBB
Y2Nlc3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9y
ZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVk
RXZlbnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdB
NkIwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEw
QUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5l
Q2xhbXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0xMjQ3OCw2ICsxMjQ4MCw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAv
KiBNYXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNN
YXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAw
OUQ5ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxN
YXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlE
NjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYw
IC8qIEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8q
IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5k
b3dTcGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJB
NUFCOTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3lu
dGhlc2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MjIsNiArMTI1MjYsOSBAQAogCQlBQUUyN0I3NDE2Q0JG
QzBEMDA2MjMwNDMgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1v
Y2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUUyN0I3NTE2Q0JGQzBEMDA2
MjMwNDMgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDgyNEM5NzRFQTAwMTUyMzU1
IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyZm9y
bWFuY2VFdmVudFRpbWluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRjVC
N0IxMTUyNEI0QkQwMDA0Q0I0OSAvKiBXZWJTb2NrZXRGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTb2NrZXRGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFCMjNBMzI1MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5z
ZXJ0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmVm
b3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
QjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTIwMyw2ICsyMTIxMCw4IEBACiAJCQkJ
RTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZF
RjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIw
N0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2
NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAw
RDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdG
IC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdG
IC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAv
KiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEyODcsNiArMjEyOTYsOSBAQAogCQkJCUNCMzhG
RDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJF
MzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUz
M0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVC
OEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJ
CQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAq
LywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9n
Z2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNl
TG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5j
ZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NjYsNiArMzA3NzgsNyBAQAogCQkJCTg0QjM0
OUEyMjJGODZFNzUwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0FBM0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJn
ZXRJbnRlcmZhY2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBQTEyRTZEMDI0QzlENjc0MDBENTdE
NjAgLyogRXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkw
MEJBNzhGQyAvKiBFdmVudFRyYWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNE
MTk2MzMxRDZDQUI4MjAwRkM3RTQ3IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTM1RkJDRjIwOUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICov
LApAQCAtMzI2OTUsNiArMzI3MDgsNyBAQAogCQkJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAv
KiBQZW5kaW5nU2NyaXB0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDND
MThFMDAxNDA2NUMgLyogUGVyZm9ybWFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDAx
MTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNl
TG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NTBGRTMxRUQ3QzE4MzAwRkI3N0E3IC8q
IFBlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNzM4RTkx
RURCRDJGQTAwM0YyQjBCIC8qIFBlcmZvcm1hbmNlTWFyay5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3Vz
dG9tLmNwcAppbmRleCBiYmY4MTExNDJkYWI5ZTZhOTJjYjVjNmNmYWIwNmIyNDU4YmE3MTQwLi5l
MjNkYjhiMDY0ZWI4YmRkNTg3ZjA0Nzc0MjAyMDVlNTA4MWY3YzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAK
QEAgLTMzLDEwICszMywxMiBAQAogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VFbnRyeS5oIgogCiAj
aW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJKU1BlcmZv
cm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgog
I2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgorI2luY2x1ZGUgIlBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNs
dWRlICJQZXJmb3JtYW5jZU1lYXN1cmUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGlt
aW5nLmgiCkBAIC01MSw2ICs1Myw5IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2Jh
bE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQCiAgICAgaWYg
KGlzPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVu
dHJ5KSk7CiAKKyAgICBpZiAoaXM8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4oZW50cnkpKQorICAg
ICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihnbG9iYWxP
YmplY3QsIFdURk1vdmUoZW50cnkpKTsKKwogICAgIGlmIChpczxQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nPihlbnRyeSkpCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYWMz
OTY2N2RjZGM3ZDQ3YThkYWM2YWQ1MTg4ODliNjI2OTk2NmQ3ZC4uNDU4ZDMzZGZhMjM3ZGY5YjYw
YjVmMzU3ODViODllZDQ4MDdhYmYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTg1LDYgKzE4NSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBtYWNybyhQYWludFdvcmtsZXRHbG9iYWxTY29wZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlRW50cnkpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZUVudHJ5TGlzdCkgXAor
ICAgIG1hY3JvKFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5j
ZU1hcmspIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJm
b3JtYW5jZU9ic2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRE
aXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCmlu
ZGV4IDRmOTk1MTUxYmFlNzVhMjFkYmQ3ZDY2Y2M3YzlhZDhlYjBkNzRlNzEuLmY3ZTA2ZGU5MTE3
MDdjZjc1MjYwN2U5NWY5YTY3ODM1ZDllMWNmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERp
c3BhdGNoZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVu
dC5oIgogI2luY2x1ZGUgIkV2ZW50Q29udGV4dC5oIgogI2luY2x1ZGUgIkV2ZW50UGF0aC5oIgor
I2luY2x1ZGUgIkV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJG
cmFtZUxvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTUxLDcgKzE1MiwxMiBA
QCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudChOb2RlJiBub2RlLCBFdmVudCYg
ZXZlbnQpCiAKICAgICBpZiAoIWV2ZW50LnByb3BhZ2F0aW9uU3RvcHBlZCgpICYmICFldmVudFBh
dGguaXNFbXB0eSgpKSB7CiAgICAgICAgIGV2ZW50LnNldEV2ZW50UGF0aChldmVudFBhdGgpOwor
ICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IGV2ZW50VGltaW5nOworICAgICAg
ICBpZiAobm9kZS5kb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAgICAgICAgZXZlbnRUaW1p
bmcgPSBFdmVudFRpbWluZzo6Y3JlYXRlKCpub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2
ZW50KTsKICAgICAgICAgZGlzcGF0Y2hFdmVudEluRE9NKGV2ZW50LCBldmVudFBhdGgpOworICAg
ICAgICBpZiAoZXZlbnRUaW1pbmcpCisgICAgICAgICAgICBldmVudFRpbWluZy0+ZXZlbnRXYXNE
aXNwYXRjaGVkKCpub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICB9CiAK
ICAgICBldmVudC5yZXNldEFmdGVyRGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRDb3VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGExOGUxMWVkYmY4MDBjMzk5MDNlOGE4NjBiYjYxOTI4MzMxZTRl
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuY3Bw
CkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRDb3VudHMuaCIKKworI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworRXZlbnRDb3VudHM6OkV2ZW50Q291bnRzKCkKK3sKKyAgICBzdGF0aWMgY29uc3Qg
YXV0byBldmVudFR5cGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3RvcjxBdG9tU3RyaW5nPiB7
IGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50IH0pOworICAgIGZvciAoY29uc3QgYXV0byYgdHlwZSA6
IGV2ZW50VHlwZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7Cit9CisKK3Zv
aWQgRXZlbnRDb3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sK
KyAgICBmb3IgKGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5zZXQ8SURMRE9N
U3RyaW5nLCBJRExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZhbHVlLnZhbHVl
KTsKK30KKwordm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1
bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRDb3VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZjQ1ZmM5ZDBhZmY1YjU4NWQ5NDQ3NmE4ZTdkODc4ZjgxNmUwY2U1Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgRE9NU3Ry
aW5nOworCitjbGFzcyBFdmVudENvdW50cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50
Q291bnRzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxFdmVudENvdW50cz4gY3JlYXRlKCkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBFdmVudENvdW50cyk7IH0KKworICAgIHZvaWQgaW5pdGlh
bGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3Ry
aW5nJiYsIHVuc2lnbmVkKTsKKworICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4m
IG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFwOyB9CisKK3ByaXZhdGU6CisgICAgRXZlbnRDb3Vu
dHMoKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fbWFwOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENv
dW50cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40Mjc5NjRkZDVhNTU2NWZhZDFkNmI0N2U2MTdkMjJkMGU0YmRjYTg3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5pZGwKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRo
dWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK1sKKyAg
ICBFeHBvc2VkPShXaW5kb3cpLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50
ZXJmYWNlIEV2ZW50Q291bnRzIHsKKyAgICByZWFkb25seSBtYXBsaWtlPERPTVN0cmluZywgdW5z
aWduZWQgbG9uZyBsb25nPjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjMwYzFmMGZmNWQyZGY3YmYxNmRhZmUyYjYwZDcxNGQ3MDQyZjEzMDQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmNwcApAQCAtMCwwICsx
LDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkV2ZW50VGltaW5nLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIK
KyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworRXZlbnRUaW1pbmc6OkV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUs
IGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQpCisgICAgOiBtX3N0YXJ0VGltZShzdGFydFRpbWUpCisg
ICAgLCBtX3Byb2Nlc3NpbmdTdGFydChwcm9jZXNzaW5nU3RhcnQpCit7Cit9CisKK3N0YXRpYyBi
b29sIGlzRXZlbnRUeXBlRm9yRXZlbnRUaW1pbmcoY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAg
IC8vIEluY2x1ZGUgb25seSB0cnVzdGVkIGV2ZW50cyBvZiBjZXJ0YWluIGtpbmRzLiBFeHBsaWNp
dGx5IGV4Y2x1ZGluZyBpbnB1dAorICAgIC8vIGV2ZW50cyB0aGF0IGFyZSBjb25zaWRlcmVkIGNv
bnRpbnVvdXM6IGV2ZW50IHR5cGVzIGZvciB3aGljaCB0aGUgdXNlciBhZ2VudAorICAgIC8vIG1h
eSBoYXZlIHRpbWVyLWJhc2VkIGRpc3BhdGNoIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gVGhl
c2UgYXJlIGV4Y2x1ZGVkCisgICAgLy8gc2luY2UgRXZlbnRDb3VudHMgY2Fubm90IGJlIHVzZWQg
dG8gcHJvcGVybHkgY29tcHV0ZWQgcGVyY2VudGlsZXMgb24gdGhvc2UuCisgICAgLy8gU2VlIHNw
ZWM6IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtZXZlbnRzLWV4cG9z
ZWQKKyAgICByZXR1cm4gZXZlbnQuaXNUcnVzdGVkKCkKKyAgICAgICAgJiYgKGV2ZW50LmlzTW91
c2VFdmVudCgpIHx8IGV2ZW50LmlzUG9pbnRlckV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50Lmlz
VG91Y2hFdmVudCgpIHx8IGV2ZW50LmlzS2V5Ym9hcmRFdmVudCgpCisgICAgICAgIHx8ICBldmVu
dC5pc1doZWVsRXZlbnQoKSB8fCBldmVudC5pc0lucHV0RXZlbnQoKQorICAgICAgICB8fCAgZXZl
bnQuaXNDb21wb3NpdGlvbkV2ZW50KCkpCisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVu
dE5hbWVzKCkubW91c2Vtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50
TmFtZXMoKS5wb2ludGVybW92ZUV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVu
dE5hbWVzKCkudG91Y2htb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50
TmFtZXMoKS53aGVlbEV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVz
KCkuZHJhZ0V2ZW50OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IEV2ZW50VGlt
aW5nOjpjcmVhdGUoY29uc3QgRE9NV2luZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkK
K3sKKyAgICBpZiAoIWlzRXZlbnRUeXBlRm9yRXZlbnRUaW1pbmcoZXZlbnQpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpcnN0SW5wdXRE
ZXRlY3RlZCgpIHx8ICF3aW5kb3cucGVyZm9ybWFuY2UoKS5pc0V2ZW50VGltaW5nQnVmZmVyRnVs
bCgpKQorICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZv
cm1hbmNlKCkucmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKGV2
ZW50LnRpbWVTdGFtcCgpKSwgd2luZG93LnBlcmZvcm1hbmNlKCkubm93KCkpOworICAgIHJldHVy
biBudWxscHRyOworfQorCit2b2lkIEV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQoY29u
c3QgRE9NV2luZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICB3aW5kb3cu
cGVyZm9ybWFuY2UoKS5yZXBvcnRFdmVudFRpbWluZyhldmVudC50eXBlKCksIG1fc3RhcnRUaW1l
LCBtX3Byb2Nlc3NpbmdTdGFydCwgZXZlbnQuY2FuY2VsYWJsZSgpLCBldmVudC50YXJnZXQoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zZDFkNTUzMjliNjdkZmI3NzQxNzllNjBkMTBhOTlmNWYxNGNiMGFlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2luY2x1ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgRXZlbnQ7CitjbGFzcyBET01XaW5kb3c7CisKK2NsYXNzIEV2ZW50VGltaW5nIGZp
bmFsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPEV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgRE9NV2luZG93JiwgY29u
c3QgRXZlbnQmKTsKKworICAgIEV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBw
cm9jZXNzaW5nU3RhcnQpOworCisgICAgdm9pZCBldmVudFdhc0Rpc3BhdGNoZWQoY29uc3QgRE9N
V2luZG93JiwgY29uc3QgRXZlbnQmKTsKKworcHJpdmF0ZToKKyAgICBkb3VibGUgbV9zdGFydFRp
bWU7CisgICAgZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCBiZTNhZmQyNzM3Y2Jk
MGU2YzQ2YTA2ODk0OTUzNjNlNTFjMGM1NTc2Li44N2NhYmM4OWExMWZkYWU4YzI4NzRlNGQzYTZm
NThkYjIyNzJiNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzYsOSAr
MzYsMTEgQEAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVy
LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlRW50cnkuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZl
ci5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTExOCw2ICsxMjAs
MTQgQEAgUGVyZm9ybWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVy
biBtX3RpbWluZy5nZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENv
dW50cygpCit7CisgICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRz
ID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgp
OworfQorCisKIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpn
ZXRFbnRyaWVzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBlbnRyaWVzOwpAQCAtMTMyLDYgKzE0Miw4IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VF
bnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkgY29uc3QKICAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCkKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQ
YWludCk7CiAKKyAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX2V2ZW50VGltaW5nQnVmZmVyKTsK
KwogICAgIHN0ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1h
bmNlRW50cnk6OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7
CiB9CkBAIC0xNDYsNiArMTU4LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnQKICAgICBpZiAo
bV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJwYWludCIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVu
dGZ1bFBhaW50KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkKKyAgICAgICAgZW50
cmllcy5hcHBlbmQobV9maXJzdElucHV0VGltaW5nKTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcp
IHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwg
Im1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+
Z2V0TWFya3MoKSk7CkBAIC0xNzEsNiArMTg2LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW0K
ICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8
IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5h
bWUgPT0gImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKQogICAgICAgICBlbnRyaWVzLmFwcGVuZCht
X2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYg
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJmaXJzdC1pbnB1dCIpKSAmJiBuYW1lID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAg
IGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJbnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGlt
aW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5h
cHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0yMDEsNiArMjE5
LDMwIEBAIHZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKICAg
ICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIH0KIAorYm9vbCBQZXJmb3Jt
YW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwoKSBjb25zdAoreworICAgIHJldHVybiBtX2V2
ZW50VGltaW5nQnVmZmVyLnNpemUoKSA+PSAxNTA7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmFk
ZEV2ZW50VGltaW5nQnVmZmVyKFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAg
IGlmICghaXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwoKSkKKyAgICAgICAgbV9ldmVudFRpbWluZ0J1
ZmZlci5hcHBlbmQoJmVudHJ5KTsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0RXZlbnRU
aW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHBy
b2Nlc3NpbmdTdGFydCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopCit7CisgICAgYXV0
byBlbnRyeSA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OmNyZWF0ZSh0eXBlLCBzdGFydFRpbWUs
IHByb2Nlc3NpbmdTdGFydCwgbm93KCksIGNhbmNlbGFibGUpOworICAgIGlmICghbV9maXJzdElu
cHV0VGltaW5nKSB7CisgICAgICAgIGlmIChlbnRyeS0+bmFtZSgpID09ICJjbGljayIgfHwgZW50
cnktPm5hbWUoKSA9PSAia2V5ZG93biIgfHwgZW50cnktPm5hbWUoKSA9PSAibW91c2Vkb3duIikg
eworICAgICAgICAgICAgbV9maXJzdElucHV0VGltaW5nID0gUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zzo6Y3JlYXRlRmlyc3RJbnB1dFRpbWluZyhlbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBxdWV1
ZUVudHJ5KCptX2ZpcnN0SW5wdXRUaW1pbmcpOworICAgICAgICB9CisgICAgfQorICAgIHF1ZXVl
RW50cnkoZW50cnkuZ2V0KCkpOworICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKFdURk1v
dmUoZW50cnkpKTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVz
b3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0
NWYwMzUyMDkwNDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5iODIxZTZmMDMxZjk1ZmZkNzYxMDNkZjJm
YWFjZjU4ZmU0NjJjOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0
MiwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xh
c3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9y
bWFuY2VPYnNlcnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2
Nyw4IEBAIHB1YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsK
ICAgICBQZXJmb3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZl
bnRDb3VudHMoKTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVu
dHJpZXMoKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRF
bnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTMgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAg
Ym9vbCBmaXJzdElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRp
bWluZzsgfQorCisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAg
IHZvaWQgYWRkRXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisg
ICAgdm9pZCByZXBvcnRFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBkb3VibGUg
c3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBib29sIGNhbmNlbGFibGUsIEV2ZW50
VGFyZ2V0Kik7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVn
aXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lk
IHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAg
LTExMiwxMSArMTIzLDE0IEBAIHByaXZhdGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3Jt
YW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3Jt
YW5jZVRpbWluZz4gbV90aW1pbmc7CisgICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1f
ZXZlbnRDb3VudHM7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGlt
aW5nLyNleHRlbnNpb25zLXBlcmZvcm1hbmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2Yg
MTUwLgogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1p
bmdCdWZmZXI7CiAgICAgdW5zaWduZWQgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAg
fTsKIAorICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4+IG1fZXZlbnRU
aW1pbmdCdWZmZXI7CisKICAgICBUaW1lciBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbFRpbWVy
OwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fYmFja3VwUmVzb3VyY2VU
aW1pbmdCdWZmZXI7CiAKQEAgLTEyOSw2ICsxNDMsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKKyAgICBSZWZQdHI8UGVyZm9y
bWFuY2VFdmVudFRpbWluZz4gbV9maXJzdElucHV0VGltaW5nOworCiAgICAgR2VuZXJpY1Rhc2tR
dWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVl
dWU7CiAgICAgTGlzdEhhc2hTZXQ8UmVmUHRyPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+PiBtX29ic2Vy
dmVyczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmluZGV4IDc0MTM2N2ZiMTFh
ODA5OTU1NDNmYjc3NDVlNWE0ZDI4MzllMDVmOGIuLjY4ZWI0ZTM1OGRmMzQzZjVkODM1ZWVhZWUz
NWQzMmU3MGE4M2I5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCkBAIC01OSw2
ICs1OSw5IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAgICAgW0VuYWJs
ZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1hcmtzKG9wdGlvbmFsIERPTVN0cmlu
ZyBtYXJrTmFtZSk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywgTWF5VGhyb3dF
eGNlcHRpb25dIHZvaWQgbWVhc3VyZShET01TdHJpbmcgbWVhc3VyZU5hbWUsIG9wdGlvbmFsIERP
TVN0cmluZyBzdGFydE1hcmssIG9wdGlvbmFsIERPTVN0cmluZyBlbmRNYXJrKTsKICAgICBbRW5h
YmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB2b2lkIGNsZWFyTWVhc3VyZXMob3B0aW9uYWwgRE9N
U3RyaW5nIG1lYXN1cmVOYW1lKTsKKworICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtZXh0ZW5zaW9ucworICAgIFtFeHBvc2VkPVdpbmRvdywgU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50Q291bnRzIGV2ZW50Q291bnRzOwogfTsKIAogdHlw
ZWRlZiBzZXF1ZW5jZTxQZXJmb3JtYW5jZUVudHJ5PiBQZXJmb3JtYW5jZUVudHJ5TGlzdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4IDQyYzA1MWU4NWUyMmMx
MmY3ZmNiMzM1NGJkOTkxMTk4YmYyNzM3ODkuLjNhZGY3M2E3OTYyYjk0MWQ1N2EzYzNkYTgxNGYx
ZjQ1YmVjZWZjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApA
QCAtNDksNiArNDksMTIgQEAgUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKSA9
IGRlZmF1bHQ7CiAKIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm1hbmNl
RW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQogewor
ICAgIGlmIChlbnRyeVR5cGUgPT0gImV2ZW50IikKKyAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5
cGU+KFR5cGU6OkV2ZW50KTsKKworICAgIGlmIChlbnRyeVR5cGUgPT0gImZpcnN0LWlucHV0IikK
KyAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OkZpcnN0SW5wdXQpOworCiAgICAg
aWYgKGVudHJ5VHlwZSA9PSAibmF2aWdhdGlvbiIpCiAgICAgICAgIHJldHVybiBPcHRpb25hbDxU
eXBlPihUeXBlOjpOYXZpZ2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaAppbmRleCBhZmFjZmIwOTBiMjFjYmE2MTRkNzhjZTg4YWM3NTNlMjY3M2UxMjY1Li44ODNm
NmZkMzI0MWRhOTI2NmE2MTcwMmVjMTMzYTcwNDI4N2JhNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaApAQCAtNDYsMTMgKzQ2LDE2IEBAIHB1YmxpYzoKICAgICBjb25z
dCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBkb3VibGUgc3Rh
cnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9zdGFydFRpbWU7IH0KICAgICBkb3VibGUgZHVyYXRp
b24oKSBjb25zdCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CisgICAgdm9pZCBzZXREdXJhdGlvbihk
b3VibGUgZHVyYXRpb24pIHsgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNs
YXNzIFR5cGUgewogICAgICAgICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKICAgICAgICAgTWFyayAg
ICAgICAgPSAxIDw8IDEsCiAgICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAogICAgICAgICBS
ZXNvdXJjZSAgICA9IDEgPDwgMywKLSAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKKyAgICAg
ICAgUGFpbnQgICAgICAgPSAxIDw8IDQsCisgICAgICAgIEV2ZW50ICAgICAgID0gMSA8PCA1LAor
ICAgICAgICBGaXJzdElucHV0ICA9IDEgPDwgNgogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0ID0gMDsKQEAgLTY0LDYgKzY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNN
YXJrKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAgICBib29sIGlz
TWVhc3VyZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJlOyB9CiAgICAg
Ym9vbCBpc1BhaW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBhaW50OyB9Cisg
ICAgYm9vbCBpc0V2ZW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkV2ZW50OyB9
CiAKICAgICBzdGF0aWMgYm9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3QgUmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGIp
CiAgICAgewpAQCAtNzYsNyArODAsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNvbnN0
IFN0cmluZyBtX25hbWU7CiAgICAgY29uc3QgZG91YmxlIG1fc3RhcnRUaW1lOwotICAgIGNvbnN0
IGRvdWJsZSBtX2R1cmF0aW9uOworICAgIGRvdWJsZSBtX2R1cmF0aW9uOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQxOTM2NDYyZDM5MGFiODQ1YjU5NDNkODk5ZTU5MWVm
OGZjZThhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFuY2VFdmVudFRp
bWluZzo6UGVyZm9ybWFuY2VFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25z
dCBBU0NJSUxpdGVyYWwmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nl
c3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSkKKyAgICA6
IFBlcmZvcm1hbmNlRW50cnkodHlwZSwgc3RhcnRUaW1lLCAwLjApCisgICAgLCBtX3Byb2Nlc3Np
bmdTdGFydChwcm9jZXNzaW5nU3RhcnQpCisgICAgLCBtX3Byb2Nlc3NpbmdFbmQocHJvY2Vzc2lu
Z0VuZCkKKyAgICAsIG1fY2FuY2VsYWJsZShjYW5jZWxhYmxlKQorICAgICwgbV9lbnRyeVR5cGUo
ZW50cnlUeXBlKQoreworfQorCitSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gUGVyZm9ybWFu
Y2VFdmVudFRpbWluZzo6Y3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBhdXRvIGV2ZW50VGltaW5nID0gYWRvcHRSZWYoKm5l
dyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKGVudHJ5Lm5hbWUoKSwgImZpcnN0LWlucHV0Il9zLCBl
bnRyeS5zdGFydFRpbWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3Np
bmdFbmQoKSwgZW50cnkuY2FuY2VsYWJsZSgpKSk7CisgICAgZXZlbnRUaW1pbmctPnNldER1cmF0
aW9uKGVudHJ5LmR1cmF0aW9uKCkpOworICAgIHJldHVybiBldmVudFRpbWluZzsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjM5MjQxNWQ0ZmJkOTgwYjMzOGVlNTdiM2NlYzcxN2I1
NzI4ODhhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgZmlu
YWwgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91
YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdF
bmQsIGJvb2wgY2FuY2VsYWJsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcodHlwZSwgImV2ZW50Il9zLCBzdGFydFRpbWUsIHByb2Nl
c3NpbmdTdGFydCwgcHJvY2Vzc2luZ0VuZCwgY2FuY2VsYWJsZSkpOworICAgIH0KKyAgICBzdGF0
aWMgUmVmPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IGNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcoY29u
c3QgUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgflBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcoKSA9IGRlZmF1bHQ7CisKKyAgICBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KCkgY29uc3QgeyBy
ZXR1cm4gbV9wcm9jZXNzaW5nU3RhcnQ7IH0KKyAgICBkb3VibGUgcHJvY2Vzc2luZ0VuZCgpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ0VuZDsgfQorICAgIGJvb2wgY2FuY2VsYWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FuY2VsYWJsZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFu
Y2VFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBU0NJSUxpdGVyYWwm
IGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91
YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSk7CisKK3ByaXZhdGU6CisgICAgVHlw
ZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6RXZlbnQ7IH0KKyAgICBBU0NJSUxp
dGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lbnRyeVR5cGU7IH0KKwor
ICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdTdGFydDsKKyAgICBkb3VibGUgbV9wcm9jZXNzaW5nRW5k
OworICAgIGJvb2wgbV9jYW5jZWxhYmxlOworICAgIEFTQ0lJTGl0ZXJhbCBtX2VudHJ5VHlwZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19C
RUdJTihXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlz
VHlwZShjb25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50
cnkuaXNFdmVudCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTA2
NWUyM2U5YWIxMjlmNGIyZTRkZGZiNTg0NzE0OTNmMjBhMzAyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNn
LmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKwor
dHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEV4cG9zZWQ9KFdp
bmRvdyksCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VF
bnRyeSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vz
c2luZ1N0YXJ0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHBy
b2Nlc3NpbmdFbmQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsK
K307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4
IDEyNGY0ZWU4ZDEyOGI3NWFiNTllODg5OWYzZTFhNjBkNDg3MTY0N2UuLmY3ZmQyYzAxYjIxMjk2
YzM5MDk3M2IwY2FjNzBkNWQ3MGFhMjFhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmNwcApAQCAtMTE4LDYgKzExOCw4IEBAIFZlY3RvcjxTdHJpbmc+IFBl
cmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYKICAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhN
RTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRp
b24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCisgICAgICAgICJl
dmVudCJfcywKKyAgICAgICAgImZpcnN0LWlucHV0Il9zLAogICAgICAgICAibWFyayJfcywKICAg
ICAgICAgIm1lYXN1cmUiX3MKICAgICB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405158</attachid>
            <date>2020-07-24 09:36:28 -0700</date>
            <delta_ts>2020-07-27 02:29:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200724183626.patch</filename>
            <type>text/plain</type>
            <size>52856</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgwZDE5ZjgwYTJkZDIz
Y2YwZDBjNWQyMDE4YTM0ODZlZjM5NTdjMi4uMDNiOTBkODMxMDA2MzJlMGM4NzljYjVkOTllMmNi
NjM1YjY4YWEyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogcGFn
ZS9FdmVudFRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6
OkV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXZlbnRUeXBlRm9yRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFRpbWluZzo6ZXZlbnRXYXNEaXNwYXRjaGVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50VGltaW5nLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpzZXREdXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5Ojppc0V2ZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9y
bWFuY2VFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisKIDIwMjAtMDctMjQgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBnc3RfYnVmZmVyX3VubWFwOiBhc3NlcnRp
b24gJ0dTVF9JU19CVUZGRVIgKGJ1ZmZlciknIGZhaWxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA3NWQwMjc1NjljODNkODdjNmJjOWE5ZTczODdlZDdhOTM2MDdkMWY1Li5jYWM3NzY2MDUyODdh
ODFjOWI0MjlkMzgzZjExYjRjZmZlMTE2Yzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtOTY4
LDYgKzk2OCw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgcGFnZS9Dcnlw
dG8uaWRsCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAgICAgcGFnZS9ET01XaW5kb3cuaWRs
CisgICAgcGFnZS9FdmVudENvdW50cy5pZGwKICAgICBwYWdlL0V2ZW50U291cmNlLmlkbAogICAg
IHBhZ2UvR2xvYmFsQ3J5cHRvLmlkbAogICAgIHBhZ2UvR2xvYmFsUGVyZm9ybWFuY2UuaWRsCkBA
IC05ODUsNiArOTg2LDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdl
L05hdmlnYXRvclNoYXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsCiAgICAgcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmlkbAorICAgIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwK
ICAgICBwYWdlL1BlcmZvcm1hbmNlTWFyay5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlTWVhc3Vy
ZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA5YzNkOTdjYTAzYjlkNTQ5
MDBjOGU3M2Q1ZDAwYzM5MjY3NTY0N2FlLi5lMGFhZTA1ZmI4NTViZmU5YTJkZTUwYWMyZDBiODVh
NDU1YTA5YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKQEAgLTkzNyw2ICs5MzcsNyBAQCAkKFBST0pFQ1RfRElSKS9wYWdlL0JhclByb3Au
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0NyeXB0by5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2Uv
RE9NU2VsZWN0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01XaW5kb3cuaWRsCiskKFBS
T0pFQ1RfRElSKS9wYWdlL0V2ZW50Q291bnRzLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9FdmVu
dFNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvR2xvYmFsQ3J5cHRvLmlkbAogJChQUk9K
RUNUX0RJUikvcGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk1NSw2ICs5NTYsNyBAQCAk
KFBST0pFQ1RfRElSKS9wYWdlL05hdmlnYXRvclNlcnZpY2VXb3JrZXIuaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKKyQoUFJP
SkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKICQoUFJPSkVDVF9ESVIp
L3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5j
ZU1lYXN1cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggNzUwMDUxYjI5ODU1ZDZhNzBkODYxMTgzNzdmM2U4OWM0MjA2ZGIxMy4uYWZkY2NmY2Yw
NThiMTNkMDMxZjcwZWU5NzcxNTZkN2Q4ZGUxZTczNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTU2OCw2ICs1NjgsOCBAQCAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Vycm9yRXZlbnQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Vycm9yRXZl
bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZl
bnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dENvdW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNFdmVudENvdW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRXZlbnRJbml0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNFdmVudEluaXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5jcHAKQEAgLTEyOTYsNiArMTI5OCw4IEBA
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFu
Y2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1Bl
cmZvcm1hbmNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VFbnRyeS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFbnRyeS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQZXJmb3JtYW5jZU1hcmsuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWVhc3VyZS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGUxNDdlZDFkZWVmOGYyODBhMjBlMjlhYzM5MmE1YTgyMDE0
NjliODEuLmQwMjQ2MGFmMmZiMDY5MTk1MzkzMzAzYzkxZDA4NzE3NTM5YmMyYjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtOTU2LDYgKzk1Niw3IEBAIEpTX0JJTkRJTkdfSURM
UyA9IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvQ3J5cHRvLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9ET01XaW5kb3cuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvRXZlbnRDb3VudHMuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvRXZlbnRTb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsQ3J5cHRv
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbCBcCkBAIC05
NzQsNiArOTc1LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9O
YXZpZ2F0b3JTaGFyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbCBcCisgICAgJChXZWJD
b3JlKS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Bh
Z2UvUGVyZm9ybWFuY2VNYXJrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNl
TWVhc3VyZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
aWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggOGM0ZmE3NzM2MjI3OTZhNDkzZjg1OGZlMTY4NWJiYTU4
MmE0NDQzMi4uMjAxOWNjMTRiNzlhNzNmMDQ2MWY4OTI4NzY2NzA0ZGRjOGNiZGJlYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTE1ODMsOCArMTU4MywxMCBAQCBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5
cy5jcHAKIHBhZ2UvRGlzYWJsZWRBZGFwdGF0aW9ucy5jcHAKIHBhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCiBwYWdlL0VkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwCitwYWdlL0V2ZW50Q291bnRzLmNw
cAogcGFnZS9FdmVudEhhbmRsZXIuY3BwCiBwYWdlL0V2ZW50U291cmNlLmNwcAorcGFnZS9FdmVu
dFRpbWluZy5jcHAKIHBhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAogcGFnZS9GcmFtZS5jcHAKIHBh
Z2UvRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyLmNwcApAQCAtMTYxNCw2ICsxNjE2LDcgQEAgcGFn
ZS9QYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwCiBwYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAogcGFn
ZS9QZXJmb3JtYW5jZS5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKK3BhZ2UvUGVyZm9y
bWFuY2VFdmVudFRpbWluZy5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VMb2dnaW5nLmNwcAogcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTW9uaXRvci5jcHAK
QEAgLTI4MzEsNiArMjgzNCw3IEBAIEpTRW50ZXJQaWN0dXJlSW5QaWN0dXJlRXZlbnQuY3BwCiBK
U0Vycm9yQ2FsbGJhY2suY3BwCiBKU0Vycm9yRXZlbnQuY3BwCiBKU0V2ZW50LmNwcAorSlNFdmVu
dENvdW50cy5jcHAKIEpTRXZlbnRJbml0LmNwcAogSlNFdmVudE1vZGlmaWVySW5pdC5jcHAKIEpT
RXZlbnRTb3VyY2UuY3BwCkBAIC0zMTYxLDYgKzMxNjUsNyBAQCBKU1BheW1lbnRWYWxpZGF0aW9u
RXJyb3JzLmNwcAogSlNQYmtkZjJQYXJhbXMuY3BwCiBKU1BlcmZvcm1hbmNlLmNwcAogSlNQZXJm
b3JtYW5jZUVudHJ5LmNwcAorSlNQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogSlNQZXJmb3Jt
YW5jZU1hcmsuY3BwCiBKU1BlcmZvcm1hbmNlTWVhc3VyZS5jcHAKIEpTUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDk2NDI0ZDE1ZWI4MjFmMDI4NDJkYjFiY2EyZjQ2MDFhY2Y3YzQzMGYu
LjM3NmI5YWRhYjAyM2EzYmE3MDkwNTQxODg5ZjliMmNlNmRjNzY3YzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM0MzcsNiAr
MzQzNyw3IEBACiAJCUE5RDI0ODA3MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOUQyNDgwMzBE
NzU3RTdEMDBGREY5NTkgLyogSlNET01NaW1lVHlwZS5oICovOyB9OwogCQlBOUQyNDgwOTBENzU3
RTdEMDBGREY5NTkgLyogSlNET01NaW1lVHlwZUFycmF5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOUQyNDgwNTBENzU3RTdEMDBGREY5NTkgLyogSlNE
T01NaW1lVHlwZUFycmF5LmggKi87IH07CiAJCUFBMTJERjQ5MTc0M0RGODMwMDREQUZERiAvKiBQ
bGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUFFMzc1NUQxNzQyOUJDQzAwNjIwMEMyIC8qIFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gKi87IH07CisJCUFBMTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2
MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi87IH07
CiAJCUFBMjFFQ0NEMEFCRjBGQzYwMDJCODM0QyAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTA5NzhFRTBBQkFB
NkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUFBMkE1QUNFMTZBNDg1RkQwMDk3NUEyNSAv
KiBTcGVlY2hTeW50aGVzaXNWb2ljZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUEyQTVBQzcxNkE0ODVENTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNp
c1ZvaWNlLmggKi87IH07CiAJCUFBMkE1QUQwMTZBNDg2MDQwMDk3NUEyNSAvKiBTcGVlY2hTeW50
aGVzaXNVdHRlcmFuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBMkE1QUM1MTZBNDg1RDUwMDk3NUEyNSAvKiBTcGVlY2hTeW50aGVzaXNVdHRlcmFu
Y2UuaCAqLzsgfTsKQEAgLTM0NTIsOCArMzQ1MywxMCBAQAogCQlBQTdGRUVBNzE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRTlGMTZBNEU2RjMwMDRDMEMzMyAvKiBK
U1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwogCQlBQTdGRUVBOTE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3Bl
ZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUE3RkVFQUQxNkE0RTc0QjAwNEMwQzMzIC8q
IEpTU3BlZWNoU3ludGhlc2lzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMu
aCAqLzsgfTsKKwkJQUE5QjA0ODgyNENCMzYzNTAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTlCMDQ4NjI0Q0Iz
NjMwMDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCAqLzsgfTsKIAkJQUFBNzI4RjcxNkQxRDhCQzAw
RDNCQkM2IC8qIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUE3MjhGMTE2RDFEOEJDMDBEM0JC
QzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCAqLzsgfTsKIAkJQUFDMDhD
RjMxNUY5NDFGRDAwRjFFMTg4IC8qIEFjY2Vzc2liaWxpdHlTVkdSb290LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUMwOENGMTE1Rjk0MUZDMDBGMUUx
ODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCAqLzsgfTsKKwkJQUFFQjhBRDkyNEM5NzZBOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBRUI4QUQ3MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmggKi87IH07CiAJCUFCMjNBMzI4MDlCQkE3RDAwMDY3Q0M1MyAv
KiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmggKi87IH07CiAJCUFCMjQ3QTZEMEFGRDYzODMwMDNGQTVGRCAvKiBSZW5k
ZXJTbGlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFCMjQ3QTZCMEFGRDYzODMwMDNGQTVGRCAvKiBSZW5kZXJTbGlkZXIuaCAqLzsgfTsKIAkJQUIz
MUM5MUUxMEFFMUI4RTAwMEM3QjkyIC8qIExpbmVDbGFtcFZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjMxQzkxRDEwQUUxQjhFMDAwQzdCOTIg
LyogTGluZUNsYW1wVmFsdWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTI0NzgsNiArMTI0ODEsOCBAQAogCQlBQTExQzA0QjIzMTY5Njg5MDA5
RDk4MzEgLyogTWF0aE1MTWF0aEVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1hdGhNTE1hdGhFbGVtZW50Lmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEQyMzE2OTczRDAwOUQ5ODMx
IC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNYXRoTUxN
YXRoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBMTFDMDRFMjMx
Njk3ODIwMDlEOTgzMSAvKiBKU01hdGhNTE1hdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
TWF0aE1MTWF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2
Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50
VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBMTJFNkNGMjRDOUQ2NzAw
MEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFRpbWlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBMkE1QUI4MTZBNDg1RDUwMDk3
NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUEyQTVBQjkxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQkExNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTA4LDYgKzEyNTEzLDkgQEAKIAkJQUE3RkVF
QTAxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBN0ZFRUExMTZBNEU2RjMwMDRDMEMzMyAv
KiBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE3RkVFQUMxNkE0RTc0QjAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU3BlZWNoU3ludGhlc2lzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudENvdW50cy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudENvdW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBQTlCMDQ4NzI0Q0IzNjMxMDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEV2ZW50Q291bnRzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFBNzI4RjAx
NkQxRDhCQzAwRDNCQkM2IC8qIEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMTE2RDFEOEJDMDBEM0JCQzYgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFBNzI4RjIxNkQxRDhCQzAwRDNCQkM2IC8qIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMjUyMiw2ICsxMjUzMCw5IEBACiAJCUFBRTI3Qjc0MTZD
QkZDMEQwMDYyMzA0MyAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
TW9jay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRTI3Qjc1MTZDQkZDMEQw
MDYyMzA0MyAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVyTW9jay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxh
dGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ1MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIz
NTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFG
NUI3QjExNTI0QjRCRDAwMDRDQjQ5IC8qIFdlYlNvY2tldEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNvY2tldEZyYW1lLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjUwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBC
ZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFCMjNBMzI2MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMTk4LDExICsyMTIwOSwxNiBAQAog
CQkJCTJEMkUzNEFCMjFBNEUxOTIwMDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmNw
cCAqLywKIAkJCQkyRDJFMzRBOTIxQTRFMTkxMDA0NTk4QjUgLyogRWRpdGFibGVJbWFnZVJlZmVy
ZW5jZS5oICovLAogCQkJCTFBRjMyNjc3MEQ3OEI5NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQu
aCAqLywKKwkJCQlBQTlCMDQ4NDI0Q0IzNjJGMDBCRUY5NTUgLyogRXZlbnRDb3VudHMuY3BwICov
LAorCQkJCUFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oICovLAorCQkJ
CUFBOUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8sCiAJCQkJOTND
MDlBODAwQjA2NEYwMDAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5jcHAgKi8sCiAJCQkJOTNDMDlB
NTIwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oICovLAogCQkJCUUwRkVGMzcxQjI3
QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5jcHAgKi8sCiAJCQkJRTBGRUYzNzFCMTdDNTNF
QUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmggKi8sCiAJCQkJRTBGRUYzNzFCMDdDNTNFQUMxQzFG
QkVFIC8qIEV2ZW50U291cmNlLmlkbCAqLywKKwkJCQlBQTEyRTZDRjI0QzlENjcwMDBENTdENjAg
LyogRXZlbnRUaW1pbmcuY3BwICovLAorCQkJCUFBMTJFNkNEMjRDOUQ2NkYwMEQ1N0Q2MCAvKiBF
dmVudFRpbWluZy5oICovLAogCQkJCTE0OTkzQkUzMEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0Nv
bnRyb2xsZXIuY3BwICovLAogCQkJCTE0OTkzQkU0MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0Nv
bnRyb2xsZXIuaCAqLywKIAkJCQkwNjIyODc4MzBCNERCMzIyMDAwQzM0REYgLyogRm9jdXNEaXJl
Y3Rpb24uaCAqLywKQEAgLTIxMjg3LDYgKzIxMzAzLDkgQEAKIAkJCQlDQjM4RkQ0QTFDQ0NGMkRE
MDA1OTJBM0YgLyogUGVyZm9ybWFuY2VFbnRyeS5jcHAgKi8sCiAJCQkJODZCRTMzRkIxNTA1OENC
MjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCAqLywKIAkJCQk4NkJFMzNGQzE1MDU4Q0Iy
MDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5pZGwgKi8sCisJCQkJQUFFQjhBRDgyNEM5NzRF
QTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwICovLAorCQkJCUFBRUI4QUQ3
MjRDOTc0RTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggKi8sCisJCQkJQUFF
QjhBRDUyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovLAog
CQkJCUFENUEwQzIxMURFQ0ExMDEwMDcwNzA1NCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmcuY3BwICov
LAogCQkJCUFENUEwQzIwMURFQ0EwQjUwMDcwNzA1NCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmcuaCAq
LywKIAkJCQkwRkYyRTgwQzFFRTBENDMwMDA5RUFCRDQgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xp
ZW50LmNwcCAqLywKQEAgLTMwNzQ4LDYgKzMwNzY3LDcgQEAKIAkJCQkyRUNGN0FFMjEwMTYyQjU4
MDA0MjdERTcgLyogRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzFCNDIwQTQ0
RUZDNzAwRjk5MkUwIC8qIEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTM4RDMzNTEyNDQw
NTQ4MDAzMjNEMzMgLyogRXZlbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQTlCMDQ4
ODI0Q0IzNjM1MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQx
OEEwNkQwMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzQzA5QTUzMEIwNjREQjMwMDVBQkQ0RCAvKiBFdmVudEhhbmRsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3MEI3MkE2MTQ1MDA4RUIwMEYwMEEzNyAvKiBFdmVudEhlYWRlcnMuaCBp
biBIZWFkZXJzICovLApAQCAtMzA3NjYsNiArMzA3ODYsNyBAQAogCQkJCTg0QjM0OUEyMjJGODZF
NzUwMEQ0N0JDRiAvKiBFdmVudFRhcmdldENvbmNyZXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
N0FBM0NBNTE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRIZWFkZXJzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5N0FBM0NBNjE0NTIzN0NDMDAzRTFEQTYgLyogRXZlbnRUYXJnZXRJbnRlcmZh
Y2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQlBQTEyRTZEMDI0QzlENjc0MDBENTdENjAgLyogRXZl
bnRUaW1pbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MkVDNDFBMUQwNzhGQjkwMEJBNzhGQyAv
KiBFdmVudFRyYWNraW5nUmVnaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNEMTk2MzMxRDZD
QUI4MjAwRkM3RTQ3IC8qIEV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDRjIw
OUJBMTQzQjAwRTIzMEIxIC8qIEV4Y2VwdGlvbkNvZGUuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2
OTUsNiArMzI3MTYsNyBAQAogCQkJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5n
U2NyaXB0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTg0NEQwNTExRDNDMThFMDAxNDA2
NUMgLyogUGVyZm9ybWFuY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2QkUzNDAxMTUwNThDQjIw
MENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQlBQUVCOEFE
OTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQUQ1QTBDMjUxREVDQUNDQzAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4NTBGRTMxRUQ3QzE4MzAwRkI3N0E3IC8qIFBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzdDNzM4RTkxRURCRDJGQTAw
M0YyQjBCIC8qIFBlcmZvcm1hbmNlTWFyay5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApp
bmRleCBiYmY4MTExNDJkYWI5ZTZhOTJjYjVjNmNmYWIwNmIyNDU4YmE3MTQwLi5lMjNkYjhiMDY0
ZWI4YmRkNTg3ZjA0Nzc0MjAyMDVlNTA4MWY3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKQEAgLTMzLDEw
ICszMywxMiBAQAogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VFbnRyeS5oIgogCiAjaW5jbHVkZSAi
SlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCiAj
aW5jbHVkZSAiSlNQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWVh
c3VyZS5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgogI2luY2x1ZGUg
IkpTUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU1hcmsuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZU1lYXN1cmUuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCkBA
IC01MSw2ICs1Myw5IEBAIEpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0dsb2JhbE9iamVjdCos
IEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxQCiAgICAgaWYgKGlzPFBlcmZv
cm1hbmNlUGFpbnRUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAK
KyAgICBpZiAoaXM8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4oZW50cnkpKQorICAgICAgICByZXR1
cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdU
Rk1vdmUoZW50cnkpKTsKKwogICAgIGlmIChpczxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPihl
bnRyeSkpCiAgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYWMzOTY2N2RjZGM3
ZDQ3YThkYWM2YWQ1MTg4ODliNjI2OTk2NmQ3ZC4uNDU4ZDMzZGZhMjM3ZGY5YjYwYjVmMzU3ODVi
ODllZDQ4MDdhYmYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaApAQCAtMTg1LDYgKzE4NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhQYWludFdvcmtsZXRHbG9iYWxTY29wZSkgXAogICAgIG1hY3JvKFBlcmZvcm1h
bmNlRW50cnkpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZUVudHJ5TGlzdCkgXAorICAgIG1hY3Jv
KFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU1hcmspIFwK
ICAgICBtYWNybyhQZXJmb3JtYW5jZU1lYXN1cmUpIFwKICAgICBtYWNybyhQZXJmb3JtYW5jZU9i
c2VydmVyKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwCmluZGV4IDRmOTk1
MTUxYmFlNzVhMjFkYmQ3ZDY2Y2M3YzlhZDhlYjBkNzRlNzEuLmY3ZTA2ZGU5MTE3MDdjZjc1MjYw
N2U5NWY5YTY3ODM1ZDllMWNmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dERpc3BhdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIu
Y3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ29tcG9zaXRpb25FdmVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50Q29udGV4dC5oIgogI2luY2x1ZGUgIkV2ZW50UGF0aC5oIgorI2luY2x1ZGUg
IkV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRl
ci5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTUxLDcgKzE1MiwxMiBAQCB2b2lkIEV2
ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudChOb2RlJiBub2RlLCBFdmVudCYgZXZlbnQpCiAK
ICAgICBpZiAoIWV2ZW50LnByb3BhZ2F0aW9uU3RvcHBlZCgpICYmICFldmVudFBhdGguaXNFbXB0
eSgpKSB7CiAgICAgICAgIGV2ZW50LnNldEV2ZW50UGF0aChldmVudFBhdGgpOworICAgICAgICBz
dGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IGV2ZW50VGltaW5nOworICAgICAgICBpZiAobm9k
ZS5kb2N1bWVudCgpLmRvbVdpbmRvdygpKQorICAgICAgICAgICAgZXZlbnRUaW1pbmcgPSBFdmVu
dFRpbWluZzo6Y3JlYXRlKCpub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAg
ICAgICAgZGlzcGF0Y2hFdmVudEluRE9NKGV2ZW50LCBldmVudFBhdGgpOworICAgICAgICBpZiAo
ZXZlbnRUaW1pbmcpCisgICAgICAgICAgICBldmVudFRpbWluZy0+ZXZlbnRXYXNEaXNwYXRjaGVk
KCpub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCksIGV2ZW50KTsKICAgICB9CiAKICAgICBldmVu
dC5yZXNldEFmdGVyRGlzcGF0Y2goKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRDb3VudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGExOGUxMWVkYmY4MDBjMzk5MDNlOGE4NjBiYjYxOTI4MzMxZTRlYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuY3BwCkBAIC0wLDAg
KzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRDb3VudHMuaCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
RXZlbnRDb3VudHM6OkV2ZW50Q291bnRzKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgYXV0byBldmVu
dFR5cGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZlY3RvcjxBdG9tU3RyaW5nPiB7IGV2ZW50TmFt
ZXMoKS5jbGlja0V2ZW50IH0pOworICAgIGZvciAoY29uc3QgYXV0byYgdHlwZSA6IGV2ZW50VHlw
ZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7Cit9CisKK3ZvaWQgRXZlbnRD
b3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3Ig
KGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5zZXQ8SURMRE9NU3RyaW5nLCBJ
RExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZhbHVlLnZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRD
b3VudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZjQ1ZmM5ZDBhZmY1YjU4NWQ5NDQ3NmE4ZTdkODc4ZjgxNmUwY2U1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oCkBAIC0wLDAgKzEsNTUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgRE9NU3RyaW5nOworCitj
bGFzcyBFdmVudENvdW50cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50Q291bnRzPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxFdmVudENvdW50cz4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBFdmVudENvdW50cyk7IH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExp
a2UoRE9NTWFwQWRhcHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIHVu
c2lnbmVkKTsKKworICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4mIG1hcCgpIGNv
bnN0IHsgcmV0dXJuIG1fbWFwOyB9CisKK3ByaXZhdGU6CisgICAgRXZlbnRDb3VudHMoKTsKKyAg
ICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fbWFwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mjc5NjRk
ZDVhNTU2NWZhZDFkNmI0N2U2MTdkMjJkMGU0YmRjYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK1sKKyAgICBFeHBvc2Vk
PShXaW5kb3cpLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEV2
ZW50Q291bnRzIHsKKyAgICByZWFkb25seSBtYXBsaWtlPERPTVN0cmluZywgdW5zaWduZWQgbG9u
ZyBsb25nPjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMw
YzFmMGZmNWQyZGY3YmYxNmRhZmUyYjYwZDcxNGQ3MDQyZjEzMDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmNwcApAQCAtMCwwICsxLDc5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkV2ZW50VGltaW5nLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRXZlbnRUaW1pbmc6OkV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBw
cm9jZXNzaW5nU3RhcnQpCisgICAgOiBtX3N0YXJ0VGltZShzdGFydFRpbWUpCisgICAgLCBtX3By
b2Nlc3NpbmdTdGFydChwcm9jZXNzaW5nU3RhcnQpCit7Cit9CisKK3N0YXRpYyBib29sIGlzRXZl
bnRUeXBlRm9yRXZlbnRUaW1pbmcoY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIC8vIEluY2x1
ZGUgb25seSB0cnVzdGVkIGV2ZW50cyBvZiBjZXJ0YWluIGtpbmRzLiBFeHBsaWNpdGx5IGV4Y2x1
ZGluZyBpbnB1dAorICAgIC8vIGV2ZW50cyB0aGF0IGFyZSBjb25zaWRlcmVkIGNvbnRpbnVvdXM6
IGV2ZW50IHR5cGVzIGZvciB3aGljaCB0aGUgdXNlciBhZ2VudAorICAgIC8vIG1heSBoYXZlIHRp
bWVyLWJhc2VkIGRpc3BhdGNoIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gVGhlc2UgYXJlIGV4
Y2x1ZGVkCisgICAgLy8gc2luY2UgRXZlbnRDb3VudHMgY2Fubm90IGJlIHVzZWQgdG8gcHJvcGVy
bHkgY29tcHV0ZWQgcGVyY2VudGlsZXMgb24gdGhvc2UuCisgICAgLy8gU2VlIHNwZWM6IGh0dHBz
Oi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtZXZlbnRzLWV4cG9zZWQKKyAgICBy
ZXR1cm4gZXZlbnQuaXNUcnVzdGVkKCkKKyAgICAgICAgJiYgKGV2ZW50LmlzTW91c2VFdmVudCgp
IHx8IGV2ZW50LmlzUG9pbnRlckV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzVG91Y2hFdmVu
dCgpIHx8IGV2ZW50LmlzS2V5Ym9hcmRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc1doZWVs
RXZlbnQoKSB8fCBldmVudC5pc0lucHV0RXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNDb21w
b3NpdGlvbkV2ZW50KCkpCisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCku
bW91c2Vtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5w
b2ludGVybW92ZUV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCku
dG91Y2htb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS53
aGVlbEV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkuZHJhZ0V2
ZW50OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IEV2ZW50VGltaW5nOjpjcmVh
dGUoY29uc3QgRE9NV2luZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICBp
ZiAoIWlzRXZlbnRUeXBlRm9yRXZlbnRUaW1pbmcoZXZlbnQpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICBpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpcnN0SW5wdXREZXRlY3RlZCgp
IHx8ICF3aW5kb3cucGVyZm9ybWFuY2UoKS5pc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCku
cmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKGV2ZW50LnRpbWVT
dGFtcCgpKSwgd2luZG93LnBlcmZvcm1hbmNlKCkubm93KCkpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIEV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQoY29uc3QgRE9NV2lu
ZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICB3aW5kb3cucGVyZm9ybWFu
Y2UoKS5yZXBvcnRFdmVudFRpbWluZyhldmVudC50eXBlKCksIG1fc3RhcnRUaW1lLCBtX3Byb2Nl
c3NpbmdTdGFydCwgZXZlbnQuY2FuY2VsYWJsZSgpLCBldmVudC50YXJnZXQoKSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZDFkNTUzMjliNjdkZmI3NzQxNzllNjBkMTBhOTlmNWYxNGNiMGFlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCkBAIC0wLDAgKzEsNTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
RXZlbnQ7CitjbGFzcyBET01XaW5kb3c7CisKK2NsYXNzIEV2ZW50VGltaW5nIGZpbmFsIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgRE9NV2luZG93JiwgY29uc3QgRXZlbnQm
KTsKKworICAgIEV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5n
U3RhcnQpOworCisgICAgdm9pZCBldmVudFdhc0Rpc3BhdGNoZWQoY29uc3QgRE9NV2luZG93Jiwg
Y29uc3QgRXZlbnQmKTsKKworcHJpdmF0ZToKKyAgICBkb3VibGUgbV9zdGFydFRpbWU7CisgICAg
ZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCBiZTNhZmQyNzM3Y2JkMGU2YzQ2YTA2
ODk0OTUzNjNlNTFjMGM1NTc2Li44N2NhYmM4OWExMWZkYWU4YzI4NzRlNGQzYTZmNThkYjIyNzJi
NWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzYsOSArMzYsMTEgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnku
aCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTExOCw2ICsxMjAsMTQgQEAgUGVy
Zm9ybWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWlu
Zy5nZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7
CisgICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRD
b3VudHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisK
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVz
KCkgY29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVz
OwpAQCAtMTMyLDYgKzE0Miw4IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBl
cmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkgY29uc3QKICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQ
YWludCkKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAK
KyAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX2V2ZW50VGltaW5nQnVmZmVyKTsKKwogICAgIHN0
ZDo6c29ydChlbnRyaWVzLmJlZ2luKCksIGVudHJpZXMuZW5kKCksIFBlcmZvcm1hbmNlRW50cnk6
OnN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbik7CiAgICAgcmV0dXJuIGVudHJpZXM7CiB9CkBAIC0x
NDYsNiArMTU4LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFu
Y2U6OmdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnQKICAgICBpZiAobV9maXJzdENv
bnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUs
ICJwYWludCIpKQogICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50
KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdElucHV0VGltaW5nKTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkK
ICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3Mo
KSk7CkBAIC0xNzEsNiArMTg2LDkgQEAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4g
UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW0KICAgICBpZiAo
bV9maXJzdENvbnRlbnRmdWxQYWludCAmJiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZp
cnN0LWNvbnRlbnRmdWwtcGFpbnQiKQogICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29u
dGVudGZ1bFBhaW50KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcgJiYgKGVudHJ5VHlw
ZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJm
aXJzdC1pbnB1dCIpKSAmJiBuYW1lID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIGVudHJpZXMu
YXBwZW5kKG1fZmlyc3RJbnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAg
ICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0
b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhuYW1lKSk7CkBAIC0yMDEsNiArMjE5LDMwIEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCkKICAgICBxdWV1ZUVu
dHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIH0KIAorYm9vbCBQZXJmb3JtYW5jZTo6aXNF
dmVudFRpbWluZ0J1ZmZlckZ1bGwoKSBjb25zdAoreworICAgIHJldHVybiBtX2V2ZW50VGltaW5n
QnVmZmVyLnNpemUoKSA+PSAxNTA7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmFkZEV2ZW50VGlt
aW5nQnVmZmVyKFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGlmICghaXNF
dmVudFRpbWluZ0J1ZmZlckZ1bGwoKSkKKyAgICAgICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBl
bmQoJmVudHJ5KTsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6cmVwb3J0RXZlbnRUaW1pbmcoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdT
dGFydCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopCit7CisgICAgYXV0byBlbnRyeSA9
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OmNyZWF0ZSh0eXBlLCBzdGFydFRpbWUsIHByb2Nlc3Np
bmdTdGFydCwgbm93KCksIGNhbmNlbGFibGUpOworICAgIGlmICghbV9maXJzdElucHV0VGltaW5n
KSB7CisgICAgICAgIGlmIChlbnRyeS0+bmFtZSgpID09ICJjbGljayIgfHwgZW50cnktPm5hbWUo
KSA9PSAia2V5ZG93biIgfHwgZW50cnktPm5hbWUoKSA9PSAibW91c2Vkb3duIikgeworICAgICAg
ICAgICAgbV9maXJzdElucHV0VGltaW5nID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6Y3JlYXRl
Rmlyc3RJbnB1dFRpbWluZyhlbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0SW5wdXRUaW1pbmcpOworICAgICAgICB9CisgICAgfQorICAgIHF1ZXVlRW50cnkoZW50
cnkuZ2V0KCkpOworICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKFdURk1vdmUoZW50cnkp
KTsKK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1p
bmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkw
NDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5iODIxZTZmMDMxZjk1ZmZkNzYxMDNkZjJmYWFjZjU4ZmU0
NjJjOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRp
bWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNl
cnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1
YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJm
b3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMo
KTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBj
b25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlU
eXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTMgQEAgcHVibGljOgog
CiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJz
dElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQor
CisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRk
RXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBy
ZXBvcnRFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBkb3VibGUgc3RhcnRUaW1l
LCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0Kik7
CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJm
b3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0
ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSAr
MTIzLDE0IEBAIHByaXZhdGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmln
YXRpb24+IG1fbmF2aWdhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWlu
Zz4gbV90aW1pbmc7CisgICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3Vu
dHM7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRl
bnNpb25zLXBlcmZvcm1hbmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7
CiAgICAgdW5zaWduZWQgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4+IG1fZXZlbnRUaW1pbmdCdWZm
ZXI7CisKICAgICBUaW1lciBtX3Jlc291cmNlVGltaW5nQnVmZmVyRnVsbFRpbWVyOwogICAgIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fYmFja3VwUmVzb3VyY2VUaW1pbmdCdWZm
ZXI7CiAKQEAgLTEyOSw2ICsxNDMsOCBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBhaW50OwogICAgIHN0ZDo6dW5pcXVlX3B0
cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKKyAgICBSZWZQdHI8UGVyZm9ybWFuY2VFdmVu
dFRpbWluZz4gbV9maXJzdElucHV0VGltaW5nOworCiAgICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNlVGltZWxpbmVUYXNrUXVldWU7CiAgICAg
TGlzdEhhc2hTZXQ8UmVmUHRyPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+PiBtX29ic2VydmVyczsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmluZGV4IDc0MTM2N2ZiMTFhODA5OTU1NDNm
Yjc3NDVlNWE0ZDI4MzllMDVmOGIuLjY4ZWI0ZTM1OGRmMzQzZjVkODM1ZWVhZWUzNWQzMmU3MGE4
M2I5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCkBAIC01OSw2ICs1OSw5IEBA
IHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CiAgICAgW0VuYWJsZWRBdFJ1bnRp
bWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1hcmtzKG9wdGlvbmFsIERPTVN0cmluZyBtYXJrTmFt
ZSk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZywgTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgbWVhc3VyZShET01TdHJpbmcgbWVhc3VyZU5hbWUsIG9wdGlvbmFsIERPTVN0cmluZyBz
dGFydE1hcmssIG9wdGlvbmFsIERPTVN0cmluZyBlbmRNYXJrKTsKICAgICBbRW5hYmxlZEF0UnVu
dGltZT1Vc2VyVGltaW5nXSB2b2lkIGNsZWFyTWVhc3VyZXMob3B0aW9uYWwgRE9NU3RyaW5nIG1l
YXN1cmVOYW1lKTsKKworICAgIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5n
LyNzZWMtZXh0ZW5zaW9ucworICAgIFtFeHBvc2VkPVdpbmRvdywgU2FtZU9iamVjdF0gcmVhZG9u
bHkgYXR0cmlidXRlIEV2ZW50Q291bnRzIGV2ZW50Q291bnRzOwogfTsKIAogdHlwZWRlZiBzZXF1
ZW5jZTxQZXJmb3JtYW5jZUVudHJ5PiBQZXJmb3JtYW5jZUVudHJ5TGlzdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4IDQyYzA1MWU4NWUyMmMxMmY3ZmNiMzM1
NGJkOTkxMTk4YmYyNzM3ODkuLjNhZGY3M2E3OTYyYjk0MWQ1N2EzYzNkYTgxNGYxZjQ1YmVjZWZj
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcApAQCAtNDksNiAr
NDksMTIgQEAgUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZvcm1hbmNlRW50cnkoKSA9IGRlZmF1bHQ7
CiAKIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IFBlcmZvcm1hbmNlRW50cnk6OnBh
cnNlRW50cnlUeXBlU3RyaW5nKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKQogeworICAgIGlmIChl
bnRyeVR5cGUgPT0gImV2ZW50IikKKyAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6
OkV2ZW50KTsKKworICAgIGlmIChlbnRyeVR5cGUgPT0gImZpcnN0LWlucHV0IikKKyAgICAgICAg
cmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OkZpcnN0SW5wdXQpOworCiAgICAgaWYgKGVudHJ5
VHlwZSA9PSAibmF2aWdhdGlvbiIpCiAgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBl
OjpOYXZpZ2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAppbmRl
eCBhZmFjZmIwOTBiMjFjYmE2MTRkNzhjZTg4YWM3NTNlMjY3M2UxMjY1Li44ODNmNmZkMzI0MWRh
OTI2NmE2MTcwMmVjMTMzYTcwNDI4N2JhNDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlRW50cnkuaApAQCAtNDYsMTMgKzQ2LDE2IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcm
IG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KICAgICBkb3VibGUgc3RhcnRUaW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9zdGFydFRpbWU7IH0KICAgICBkb3VibGUgZHVyYXRpb24oKSBjb25z
dCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CisgICAgdm9pZCBzZXREdXJhdGlvbihkb3VibGUgZHVy
YXRpb24pIHsgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOyB9CiAKICAgICBlbnVtIGNsYXNzIFR5cGUg
ewogICAgICAgICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwKICAgICAgICAgTWFyayAgICAgICAgPSAx
IDw8IDEsCiAgICAgICAgIE1lYXN1cmUgICAgID0gMSA8PCAyLAogICAgICAgICBSZXNvdXJjZSAg
ICA9IDEgPDwgMywKLSAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQKKyAgICAgICAgUGFpbnQg
ICAgICAgPSAxIDw8IDQsCisgICAgICAgIEV2ZW50ICAgICAgID0gMSA8PCA1LAorICAgICAgICBG
aXJzdElucHV0ICA9IDEgPDwgNgogICAgIH07CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNv
bnN0ID0gMDsKQEAgLTY0LDYgKzY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNNYXJrKCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7IH0KICAgICBib29sIGlzTWVhc3VyZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNZWFzdXJlOyB9CiAgICAgYm9vbCBpc1Bh
aW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OlBhaW50OyB9CisgICAgYm9vbCBp
c0V2ZW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkV2ZW50OyB9CiAKICAgICBz
dGF0aWMgYm9vbCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3QgUmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGIpCiAgICAgewpA
QCAtNzYsNyArODAsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNvbnN0IFN0cmluZyBt
X25hbWU7CiAgICAgY29uc3QgZG91YmxlIG1fc3RhcnRUaW1lOwotICAgIGNvbnN0IGRvdWJsZSBt
X2R1cmF0aW9uOworICAgIGRvdWJsZSBtX2R1cmF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWQxOTM2NDYyZDM5MGFiODQ1YjU5NDNkODk5ZTU5MWVmOGZjZThhMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5jcHAKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVy
Zm9ybWFuY2VFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBU0NJSUxp
dGVyYWwmIGVudHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFy
dCwgZG91YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSkKKyAgICA6IFBlcmZvcm1h
bmNlRW50cnkodHlwZSwgc3RhcnRUaW1lLCAwLjApCisgICAgLCBtX3Byb2Nlc3NpbmdTdGFydChw
cm9jZXNzaW5nU3RhcnQpCisgICAgLCBtX3Byb2Nlc3NpbmdFbmQocHJvY2Vzc2luZ0VuZCkKKyAg
ICAsIG1fY2FuY2VsYWJsZShjYW5jZWxhYmxlKQorICAgICwgbV9lbnRyeVR5cGUoZW50cnlUeXBl
KQoreworfQorCitSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gUGVyZm9ybWFuY2VFdmVudFRp
bWluZzo6Y3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
JiBlbnRyeSkKK3sKKyAgICBhdXRvIGV2ZW50VGltaW5nID0gYWRvcHRSZWYoKm5ldyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nKGVudHJ5Lm5hbWUoKSwgImZpcnN0LWlucHV0Il9zLCBlbnRyeS5zdGFy
dFRpbWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdFbmQoKSwg
ZW50cnkuY2FuY2VsYWJsZSgpKSk7CisgICAgZXZlbnRUaW1pbmctPnNldER1cmF0aW9uKGVudHJ5
LmR1cmF0aW9uKCkpOworICAgIHJldHVybiBldmVudFRpbWluZzsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YjM5MjQxNWQ0ZmJkOTgwYjMzOGVlNTdiM2NlYzcxN2I1NzI4ODhhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0
VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wg
Y2FuY2VsYWJsZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcodHlwZSwgImV2ZW50Il9zLCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFy
dCwgcHJvY2Vzc2luZ0VuZCwgY2FuY2VsYWJsZSkpOworICAgIH0KKyAgICBzdGF0aWMgUmVmPFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmc+IGNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcoY29uc3QgUGVyZm9y
bWFuY2VFdmVudFRpbWluZyYpOworCisgICAgflBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoKSA9IGRl
ZmF1bHQ7CisKKyAgICBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9w
cm9jZXNzaW5nU3RhcnQ7IH0KKyAgICBkb3VibGUgcHJvY2Vzc2luZ0VuZCgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvY2Vzc2luZ0VuZDsgfQorICAgIGJvb2wgY2FuY2VsYWJsZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2FuY2VsYWJsZTsgfQorCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFuY2VFdmVudFRp
bWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBU0NJSUxpdGVyYWwmIGVudHJ5VHlw
ZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nl
c3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSk7CisKK3ByaXZhdGU6CisgICAgVHlwZSB0eXBlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gVHlwZTo6RXZlbnQ7IH0KKyAgICBBU0NJSUxpdGVyYWwgZW50
cnlUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lbnRyeVR5cGU7IH0KKworICAgIGRvdWJs
ZSBtX3Byb2Nlc3NpbmdTdGFydDsKKyAgICBkb3VibGUgbV9wcm9jZXNzaW5nRW5kOworICAgIGJv
b2wgbV9jYW5jZWxhYmxlOworICAgIEFTQ0lJTGl0ZXJhbCBtX2VudHJ5VHlwZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNFdmVu
dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTA2NWUyM2U5YWIx
MjlmNGIyZTRkZGZiNTg0NzE0OTNmMjBhMzAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDQyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5p
by9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRlZiBk
b3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCitd
IGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0YXJ0
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdF
bmQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKK307CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4IDEyNGY0ZWU4
ZDEyOGI3NWFiNTllODg5OWYzZTFhNjBkNDg3MTY0N2UuLmY3ZmQyYzAxYjIxMjk2YzM5MDk3M2Iw
Y2FjNzBkNWQ3MGFhMjFhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmNwcApAQCAtMTE4LDYgKzExOCw4IEBAIFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1hbmNl
T2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYKICAg
ICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5n
IExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCisgICAgICAgICJldmVudCJfcywK
KyAgICAgICAgImZpcnN0LWlucHV0Il9zLAogICAgICAgICAibWFyayJfcywKICAgICAgICAgIm1l
YXN1cmUiX3MKICAgICB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405264</attachid>
            <date>2020-07-27 02:29:35 -0700</date>
            <delta_ts>2020-07-27 06:49:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200727112933.patch</filename>
            <type>text/plain</type>
            <size>56026</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgyOTMwODdiYmNhNTdi
MTRmZjMyNWJhZTM0MDkzMDczMmU2YjhjMi4uOGIxZDlmOTQyOTk1ZjFhZmQ3OTUyMjg0MGFkYTFj
ZjQwOGM0OGU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogcGFn
ZS9FdmVudFRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6
OkV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXZlbnRUeXBlRm9yRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFRpbWluZzo6ZXZlbnRXYXNEaXNwYXRjaGVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50VGltaW5nLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpzZXREdXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5Ojppc0V2ZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9y
bWFuY2VFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisKIDIwMjAtMDctMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBBZGQgUGVyZm9ybWFuY2VUZXN0IHRvb2wgZm9yIG1lYXN1cmluZyByYXcg
c3BlZWQgb2YgYSB2aWRlbyBkZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc1ZDAyNzU2
OWM4M2Q4N2M2YmM5YTllNzM4N2VkN2E5MzYwN2QxZjUuLmNhYzc3NjYwNTI4N2E4MWM5YjQyOWQz
ODNmMTFiNGNmZmUxMTZjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NjgsNiArOTY4LDcg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAg
ICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdl
L0V2ZW50Q291bnRzLmlkbAogICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9i
YWxDcnlwdG8uaWRsCiAgICAgcGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk4NSw2ICs5
ODYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9y
U2hhcmUuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNl
RW50cnkuaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDljM2Q5N2NhMDNiOWQ1NDkwMGM4ZTczZDVk
MDBjMzkyNjc1NjQ3YWUuLmUwYWFlMDVmYjg1NWJmZTlhMmRlNTBhYzJkMGI4NWE0NTVhMDljOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtOTM3LDYgKzkzNyw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJP
SkVDVF9ESVIpL3BhZ2UvQ3J5cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rp
b24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIp
L3BhZ2UvRXZlbnRDb3VudHMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlk
bAogJChQUk9KRUNUX0RJUikvcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9w
YWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApAQCAtOTU1LDYgKzk1Niw3IEBAICQoUFJPSkVDVF9E
SVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2Uv
TmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikv
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJm
b3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA3NTAw
NTFiMjk4NTVkNmE3MGQ4NjExODM3N2YzZTg5YzQyMDZkYjEzLi5hZmRjY2ZjZjA1OGIxM2QwMzFm
NzBlZTk3NzE1NmQ3ZDhkZTFlNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNTY4LDYgKzU2OCw4IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291
bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0V2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcApAQCAtMTI5Niw2ICsxMjk4LDggQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2Uu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1h
bmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZTE0N2VkMWRlZWY4ZjI4MGEyMGUyOWFjMzkyYTVhODIwMTQ2OWI4MS4uZDAy
NDYwYWYyZmIwNjkxOTUzOTMzMDNjOTFkMDg3MTc1MzliYzJiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC05NTYsNiArOTU2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2Vs
ZWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQo
V2ViQ29yZSkvcGFnZS9FdmVudENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVu
dFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk3NCw2ICs5NzUs
NyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNo
YXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3Jt
YW5jZU1hcmsuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA4YzRmYTc3MzYyMjc5NmE0OTNmODU4ZmUxNjg1YmJhNTgyYTQ0NDMyLi4y
MDE5Y2MxNGI3OWE3M2YwNDYxZjg5Mjg3NjY3MDRkZGM4Y2JkYmVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTU4Myw4ICsxNTgzLDEwIEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFn
ZS9EaXNhYmxlZEFkYXB0YXRpb25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2Uv
RWRpdGFibGVJbWFnZVJlZmVyZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2
ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNw
cAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURl
c3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVy
bGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1h
bmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNl
TG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzMSw2
ICsyODM0LDcgQEAgSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxs
YmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNw
cAogSlNFdmVudEluaXQuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJj
ZS5jcHAKQEAgLTMxNjEsNiArMzE2NSw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3Bw
CiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50
cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5j
cHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZWZjYjRjOTU1MGFhZjJlMWM5YTAzYTczMzlkOGI1ODc0ZWY1NzUyZS4uZjk0NjExZTg5
OTEzZDEzYWQ0YjRjYWY2NzY0YWM2ZWJjZWUxM2VkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzQzNyw2ICszNDM3LDcgQEAK
IAkJQTlEMjQ4MDcwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZE
Rjk1OSAvKiBKU0RPTU1pbWVUeXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1
OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE5RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBl
QXJyYXkuaCAqLzsgfTsKIAkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplcklPUy5tbSAqLzsgfTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50
VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVD
Q0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4
MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5
bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBQTJBNUFDNzE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAq
LzsgfTsKIAkJQUEyQTVBRDAxNkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEy
QTVBQzUxNkE0ODVENTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9
OwpAQCAtMzQ1Miw4ICszNDUzLDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBK
U1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBK
U1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBQTdGRUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVz
aXNWb2ljZS5oICovOyB9OwogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hT
eW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9Owor
CQlBQTlCMDQ4ODI0Q0IzNjM1MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1
NSAvKiBFdmVudENvdW50cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZE
MDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nl
c3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyog
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIw
QUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUx
QjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xh
bXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMjQ4MCw2ICsxMjQ4Myw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBN
YXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRo
TUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5
ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRo
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZG
MDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8q
IEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERP
TVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dT
cGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFC
OTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhl
c2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTI1MTAsNiArMTI1MTUsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYz
MDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNo
U3ludGhlc2lzVm9pY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVl
Y2hTeW50aGVzaXNWb2ljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVB
QzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUE5QjA0ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFB
OUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3Vu
dHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBE
M0JCQzYgLyogQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUE3MjhGMjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEyNTI0LDYgKzEyNTMyLDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIz
MDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8q
IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUFFQjhBRDUyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBQUVCOEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRC
NEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViU29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYw
OUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEyMDAsMTEgKzIxMjExLDE2IEBACiAJCQkJMkQyRTM0
QUIyMUE0RTE5MjAwNDU5OEI1IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJ
CTJEMkUzNEE5MjFBNEUxOTEwMDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8s
CiAJCQkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJ
CUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5
QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcy
NENCMzYzMTAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0
RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIz
MDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFG
QkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUg
LyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZl
bnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRp
bWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5n
LmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5j
cHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5o
ICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICov
LApAQCAtMjEyODksNiArMjEzMDUsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAv
KiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDgg
LyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3
NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBD
MjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1
QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBG
RjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICov
LApAQCAtMzA3NTAsNiArMzA3NjksNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAv
KiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTky
RTAgLyogRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0Qz
MyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUw
MEJFRjk1NSAvKiBFdmVudENvdW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzND
MDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTND
MDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDc2OCw2ICszMDc4OCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNG
IC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1
MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUFBMTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJh
Y2tpbmdSZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdF
NDcgLyogRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBF
MjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjY5Nyw2ICszMjcx
OCw3IEBACiAJCQkJRTNGQTM4NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJm
b3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8q
IFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkw
MDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
RDVBMEMyNTFERUNBQ0NDMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjg1MEZFMzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyog
UGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgx
MTE0MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdm
MDQ3NzQyMDIwNWU1MDgxZjdjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBA
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRp
bmcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAj
aW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVh
c3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUz
LDkgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWlu
dFRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChp
czxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRy
eSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBhYzM5NjY3ZGNkYzdkNDdhOGRhYzZh
ZDUxODg4OWI2MjY5OTY2ZDdkLi40NThkMzNkZmEyMzdkZjliNjBiNWYzNTc4NWI4OWVkNDgwN2Fi
ZjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCkBAIC0xODUsNiArMTg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3Jv
KFBhaW50V29ya2xldEdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkg
XAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFu
Y2VFdmVudFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEy
MWRiZDdkNjZjYzdjOWFkOGViMGQ3NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4
MzVkOWUxY2YwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1p
bmcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRj
aGVyOjpkaXNwYXRjaEV2ZW50KE5vZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICgh
ZXZlbnQucHJvcGFnYXRpb25TdG9wcGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAg
ICAgICAgZXZlbnQuc2V0RXZlbnRQYXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxFdmVudFRpbWluZz4gZXZlbnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50
KCkuZG9tV2luZG93KCkpCisgICAgICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpj
cmVhdGUoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNw
YXRjaEV2ZW50SW5ET00oZXZlbnQsIGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWlu
ZykKKyAgICAgICAgICAgIGV2ZW50VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9j
dW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0
ZXJEaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
MjM2YjFmNzNkYmJjZjU3YWEzNzJlY2ZlMWY5OGY0MWRhM2NkZDhlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSw5MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJFdmVudENvdW50cy5oIgorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1
ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudENvdW50
czo6RXZlbnRDb3VudHMoKQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIGV2ZW50VHlwZXMgPSBt
YWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEF0b21TdHJpbmc+IHsKKyAgICAgICAgLyogTW91c2VF
dmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5t
b3VzZWRvd25FdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLm1vdXNlZW50ZXJFdmVudCwgZXZl
bnROYW1lcygpLm1vdXNlbGVhdmVFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQsCisg
ICAgICAgIGV2ZW50TmFtZXMoKS5tb3VzZW92ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNldXBF
dmVudCwKKyAgICAgICAgLyogUG9pbnRlckV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCku
cG9pbnRlcm92ZXJFdmVudCwgZXZlbnROYW1lcygpLnBvaW50ZXJlbnRlckV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkucG9pbnRlcmRvd25FdmVudCwgZXZlbnROYW1lcygpLnBvaW50ZXJ1cEV2
ZW50LAorICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcmNhbmNlbEV2ZW50LCBldmVudE5hbWVz
KCkucG9pbnRlcm91dEV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcmxlYXZlRXZl
bnQsIGV2ZW50TmFtZXMoKS5nb3Rwb2ludGVyY2FwdHVyZUV2ZW50LAorICAgICAgICBldmVudE5h
bWVzKCkubG9zdHBvaW50ZXJjYXB0dXJlRXZlbnQsCisgICAgICAgIC8qIFRvdWNoRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS50b3VjaHN0YXJ0RXZlbnQsIGV2ZW50TmFtZXMoKS50b3Vj
aGVuZEV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwKKyAgICAg
ICAgLyogS2V5Ym9hcmRFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmtleWRvd25FdmVu
dCwgZXZlbnROYW1lcygpLmtleXByZXNzRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5rZXl1
cEV2ZW50LAorICAgICAgICAvKiBJbnB1dEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCku
YmVmb3JlaW5wdXRFdmVudCwgZXZlbnROYW1lcygpLmlucHV0RXZlbnQsCisgICAgICAgIC8qIENv
bXBvc2l0aW9uRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbnN0YXJ0
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbnVwZGF0ZUV2ZW50LCBldmVu
dE5hbWVzKCkuY29tcG9zaXRpb25lbmRFdmVudCwKKyAgICAgICAgLyogRHJhZyAmIERyb3AgRXZl
bnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwgZXZlbnROYW1lcygp
LmRyYWdlbmRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdlbnRlckV2ZW50LCBldmVu
dE5hbWVzKCkuZHJhZ2xlYXZlRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2
ZW50LCBldmVudE5hbWVzKCkuZHJvcEV2ZW50LAorICAgIH0pOworICAgIGZvciAoY29uc3QgYXV0
byYgdHlwZSA6IGV2ZW50VHlwZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7
Cit9CisKK3ZvaWQgRXZlbnRDb3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXIm
IG1hcCkKK3sKKyAgICBmb3IgKGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5z
ZXQ8SURMRE9NU3RyaW5nLCBJRExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZh
bHVlLnZhbHVlKTsKK30KKwordm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5n
JiYga2V5LCB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2
YWx1ZSk7Cit9CisKK3ZvaWQgRXZlbnRDb3VudHM6OmFkZChjb25zdCBTdHJpbmcmIHR5cGUpCit7
CisgICAgYXV0byBpdCA9IG1fbWFwLmZpbmQodHlwZSk7CisgICAgaXQtPnZhbHVlID0gaXQtPnZh
bHVlICsgMTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENv
dW50cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJkNTRmZmE4MjliYWQwM2E0NTM4Y2ZlZTY0ZjY0NTg3OWQyMzEy
OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgK
QEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTU1hcEFkYXB0ZXI7Citj
bGFzcyBET01TdHJpbmc7CisKK2NsYXNzIEV2ZW50Q291bnRzIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRDb3VudHM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEV2ZW50Q291bnRz
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEV2ZW50Q291bnRzKTsgfQorCisgICAg
dm9pZCBpbml0aWFsaXplTWFwTGlrZShET01NYXBBZGFwdGVyJik7CisgICAgdm9pZCBzZXRGcm9t
TWFwTGlrZShTdHJpbmcmJiwgdW5zaWduZWQpOworCisgICAgY29uc3QgSGFzaE1hcDxTdHJpbmcs
IHVuc2lnbmVkPiYgbWFwKCkgY29uc3QgeyByZXR1cm4gbV9tYXA7IH0KKworICAgIHZvaWQgYWRk
KGNvbnN0IFN0cmluZyYgdHlwZSk7CisKK3ByaXZhdGU6CisgICAgRXZlbnRDb3VudHMoKTsKKyAg
ICBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+IG1fbWFwOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mjc5NjRk
ZDVhNTU2NWZhZDFkNmI0N2U2MTdkMjJkMGU0YmRjYTg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK1sKKyAgICBFeHBvc2Vk
PShXaW5kb3cpLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIEV2
ZW50Q291bnRzIHsKKyAgICByZWFkb25seSBtYXBsaWtlPERPTVN0cmluZywgdW5zaWduZWQgbG9u
ZyBsb25nPjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5n
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMw
YzFmMGZmNWQyZGY3YmYxNmRhZmUyYjYwZDcxNGQ3MDQyZjEzMDQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmNwcApAQCAtMCwwICsxLDc5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkV2ZW50VGltaW5nLmgiCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKKyNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworRXZlbnRUaW1pbmc6OkV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBw
cm9jZXNzaW5nU3RhcnQpCisgICAgOiBtX3N0YXJ0VGltZShzdGFydFRpbWUpCisgICAgLCBtX3By
b2Nlc3NpbmdTdGFydChwcm9jZXNzaW5nU3RhcnQpCit7Cit9CisKK3N0YXRpYyBib29sIGlzRXZl
bnRUeXBlRm9yRXZlbnRUaW1pbmcoY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIC8vIEluY2x1
ZGUgb25seSB0cnVzdGVkIGV2ZW50cyBvZiBjZXJ0YWluIGtpbmRzLiBFeHBsaWNpdGx5IGV4Y2x1
ZGluZyBpbnB1dAorICAgIC8vIGV2ZW50cyB0aGF0IGFyZSBjb25zaWRlcmVkIGNvbnRpbnVvdXM6
IGV2ZW50IHR5cGVzIGZvciB3aGljaCB0aGUgdXNlciBhZ2VudAorICAgIC8vIG1heSBoYXZlIHRp
bWVyLWJhc2VkIGRpc3BhdGNoIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4gVGhlc2UgYXJlIGV4
Y2x1ZGVkCisgICAgLy8gc2luY2UgRXZlbnRDb3VudHMgY2Fubm90IGJlIHVzZWQgdG8gcHJvcGVy
bHkgY29tcHV0ZWQgcGVyY2VudGlsZXMgb24gdGhvc2UuCisgICAgLy8gU2VlIHNwZWM6IGh0dHBz
Oi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtZXZlbnRzLWV4cG9zZWQKKyAgICBy
ZXR1cm4gZXZlbnQuaXNUcnVzdGVkKCkKKyAgICAgICAgJiYgKGV2ZW50LmlzTW91c2VFdmVudCgp
IHx8IGV2ZW50LmlzUG9pbnRlckV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzVG91Y2hFdmVu
dCgpIHx8IGV2ZW50LmlzS2V5Ym9hcmRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc1doZWVs
RXZlbnQoKSB8fCBldmVudC5pc0lucHV0RXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNDb21w
b3NpdGlvbkV2ZW50KCkpCisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCku
bW91c2Vtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5w
b2ludGVybW92ZUV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCku
dG91Y2htb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS53
aGVlbEV2ZW50CisgICAgICAgICYmIGV2ZW50LnR5cGUoKSAhPSBldmVudE5hbWVzKCkuZHJhZ0V2
ZW50OworfQorCitzdGQ6OnVuaXF1ZV9wdHI8RXZlbnRUaW1pbmc+IEV2ZW50VGltaW5nOjpjcmVh
dGUoY29uc3QgRE9NV2luZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICBp
ZiAoIWlzRXZlbnRUeXBlRm9yRXZlbnRUaW1pbmcoZXZlbnQpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICBpZiAoIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpcnN0SW5wdXREZXRlY3RlZCgp
IHx8ICF3aW5kb3cucGVyZm9ybWFuY2UoKS5pc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCku
cmVsYXRpdmVUaW1lRnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKGV2ZW50LnRpbWVT
dGFtcCgpKSwgd2luZG93LnBlcmZvcm1hbmNlKCkubm93KCkpOworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIEV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQoY29uc3QgRE9NV2lu
ZG93JiB3aW5kb3csIGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICB3aW5kb3cucGVyZm9ybWFu
Y2UoKS5yZXBvcnRFdmVudFRpbWluZyhldmVudC50eXBlKCksIG1fc3RhcnRUaW1lLCBtX3Byb2Nl
c3NpbmdTdGFydCwgZXZlbnQuY2FuY2VsYWJsZSgpLCBldmVudC50YXJnZXQoKSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZDFkNTUzMjliNjdkZmI3NzQxNzllNjBkMTBhOTlmNWYxNGNiMGFlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCkBAIC0wLDAgKzEsNTQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
RXZlbnQ7CitjbGFzcyBET01XaW5kb3c7CisKK2NsYXNzIEV2ZW50VGltaW5nIGZpbmFsIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPEV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgRE9NV2luZG93JiwgY29uc3QgRXZlbnQm
KTsKKworICAgIEV2ZW50VGltaW5nKGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5n
U3RhcnQpOworCisgICAgdm9pZCBldmVudFdhc0Rpc3BhdGNoZWQoY29uc3QgRE9NV2luZG93Jiwg
Y29uc3QgRXZlbnQmKTsKKworcHJpdmF0ZToKKyAgICBkb3VibGUgbV9zdGFydFRpbWU7CisgICAg
ZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAppbmRleCBiZTNhZmQyNzM3Y2JkMGU2YzQ2YTA2
ODk0OTUzNjNlNTFjMGM1NTc2Li5hODU5MTRiYjg5MTgzN2U4YmM3YzhjNzdlZTQ0MWEyYjQ1MDIz
ODAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcApAQCAtMzYsOSArMzYsMTEgQEAK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnku
aCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VPYnNlcnZlci5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTExOCwxMCArMTIwLDIxIEBAIFBl
cmZvcm1hbmNlVGltaW5nKiBQZXJmb3JtYW5jZTo6dGltaW5nKCkKICAgICByZXR1cm4gbV90aW1p
bmcuZ2V0KCk7CiB9CiAKK0V2ZW50Q291bnRzKiBQZXJmb3JtYW5jZTo6ZXZlbnRDb3VudHMoKQor
eworICAgIGlmICghbV9ldmVudENvdW50cykKKyAgICAgICAgbV9ldmVudENvdW50cyA9IEV2ZW50
Q291bnRzOjpjcmVhdGUoKTsKKyAgICByZXR1cm4gbV9ldmVudENvdW50cy5nZXQoKTsKK30KKwor
CiBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZTo6Z2V0RW50cmll
cygpIGNvbnN0CiB7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZW50cmll
czsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRUaW1pbmcpCisgICAgICAgIGVudHJpZXMuYXBwZW5k
KG1fZmlyc3RJbnB1dFRpbWluZyk7CisKICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Jlc291
cmNlVGltaW5nQnVmZmVyKTsKIAogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKQEAgLTE0Niw2ICsx
NTksOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3JtYW5jZTo6Z2V0
RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudAogICAgIGlmIChtX2ZpcnN0Q29udGVudGZ1
bFBhaW50ICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgInBhaW50
IikpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQpOwogCisg
ICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZyAmJiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShlbnRyeVR5cGUsICJmaXJzdC1pbnB1dCIpKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQogICAgICAg
ICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcygpKTsKQEAg
LTE3MSw2ICsxODcsOSBAQCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBQZXJmb3Jt
YW5jZTo6Z2V0RW50cmllc0J5TmFtZShjb25zdCBTdHJpbmcmIG5hbQogICAgIGlmIChtX2ZpcnN0
Q29udGVudGZ1bFBhaW50ICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtY29u
dGVudGZ1bC1wYWludCIpCiAgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RDb250ZW50ZnVs
UGFpbnQpOwogCisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZyAmJiAoZW50cnlUeXBlLmlzTnVs
bCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgImZpcnN0LWlu
cHV0IikpICYmIG5hbWUgPT0gImZpcnN0LWlucHV0IikKKyAgICAgICAgZW50cmllcy5hcHBlbmQo
bV9maXJzdElucHV0VGltaW5nKTsKKwogICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAg
aWYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShl
bnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3Vz
ZXJUaW1pbmctPmdldE1hcmtzKG5hbWUpKTsKQEAgLTIwMSw2ICsyMjAsMzggQEAgdm9pZCBQZXJm
b3JtYW5jZTo6cmVwb3J0Rmlyc3RDb250ZW50ZnVsUGFpbnQoKQogICAgIHF1ZXVlRW50cnkoKm1f
Zmlyc3RDb250ZW50ZnVsUGFpbnQpOwogfQogCitib29sIFBlcmZvcm1hbmNlOjppc0V2ZW50VGlt
aW5nQnVmZmVyRnVsbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZXZlbnRUaW1pbmdCdWZmZXIu
c2l6ZSgpID49IDE1MDsKK30KKwordm9pZCBQZXJmb3JtYW5jZTo6YWRkRXZlbnRUaW1pbmdCdWZm
ZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYgZW50cnkpCit7CisgICAgaWYgKCFpc0V2ZW50VGlt
aW5nQnVmZmVyRnVsbCgpKQorICAgICAgICBtX2V2ZW50VGltaW5nQnVmZmVyLmFwcGVuZCgmZW50
cnkpOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyhjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBi
b29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCit7CisgICAgaWYgKCFtX2V2ZW50
Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOwor
ICAgIG1fZXZlbnRDb3VudHMtPmFkZCh0eXBlKTsKKyAgICBhdXRvIGVudHJ5ID0gUGVyZm9ybWFu
Y2VFdmVudFRpbWluZzo6Y3JlYXRlKHR5cGUsIHN0YXJ0VGltZSwgcHJvY2Vzc2luZ1N0YXJ0LCBu
b3coKSwgY2FuY2VsYWJsZSwgdGFyZ2V0KTsKKworICAgIGludCBkdXJhdGlvbkluTXMgPSBzdGQ6
OnJvdW5kKChub3coKSAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAgZW50cnkt
PnNldER1cmF0aW9uKGR1cmF0aW9uSW5Ncyk7CisKKyAgICBpZiAoIW1fZmlyc3RJbnB1dFRpbWlu
ZykgeworICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xpY2siIHx8IGVudHJ5LT5uYW1l
KCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1vdXNlZG93biIpIHsKKyAgICAg
ICAgICAgIG1fZmlyc3RJbnB1dFRpbWluZyA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OmNyZWF0
ZUZpcnN0SW5wdXRUaW1pbmcoZW50cnkuZ2V0KCkpOworICAgICAgICAgICAgcXVldWVFbnRyeSgq
bV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBxdWV1
ZUVudHJ5KGVudHJ5LmdldCgpKTsKKyAgICBpZiAoZHVyYXRpb25Jbk1zID49IDEwNCAmJiAhaXNF
dmVudFRpbWluZ0J1ZmZlckZ1bGwoKSkKKyAgICAgICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBl
bmQoV1RGTW92ZShlbnRyeSkpOworfQorCiB2b2lkIFBlcmZvcm1hbmNlOjphZGRSZXNvdXJjZVRp
bWluZyhSZXNvdXJjZVRpbWluZyYmIHJlc291cmNlVGltaW5nKQogewogICAgIEFTU0VSVChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IGY2
MzFjNmQzYzQ1ZjAzNTIwOTA0OGNjNTg5M2ZlY2Y0Y2I2OGM5ODEuLmI4MjFlNmYwMzFmOTVmZmQ3
NjEwM2RmMmZhYWNmNThmZTQ2MmM4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAg
LTQyLDggKzQyLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRXZlbnRDb3Vu
dHM7CiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeTsKK2NsYXNzIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb247CiBjbGFz
cyBQZXJmb3JtYW5jZU9ic2VydmVyOwogY2xhc3MgUGVyZm9ybWFuY2VQYWludFRpbWluZzsKQEAg
LTY1LDYgKzY3LDggQEAgcHVibGljOgogICAgIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiogbmF2aWdh
dGlvbigpOwogICAgIFBlcmZvcm1hbmNlVGltaW5nKiB0aW1pbmcoKTsKIAorICAgIEV2ZW50Q291
bnRzKiBldmVudENvdW50cygpOworCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5
Pj4gZ2V0RW50cmllcygpIGNvbnN0OwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IGdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXNCeU5hbWUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29uc3Q7CkBAIC04Miw2ICs4
NiwxMyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydEZpcnN0Q29udGVudGZ1bFBhaW50KCk7
CiAKKyAgICBib29sIGZpcnN0SW5wdXREZXRlY3RlZCgpIGNvbnN0IHsgcmV0dXJuICEhbV9maXJz
dElucHV0VGltaW5nOyB9CisKKyAgICBib29sIGlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkgY29u
c3Q7CisgICAgdm9pZCBhZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJmb3JtYW5jZUV2ZW50VGltaW5n
Jik7CisKKyAgICB2b2lkIHJlcG9ydEV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJs
ZSwgRXZlbnRUYXJnZXQqKTsKKwogICAgIHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAgICAg
dm9pZCByZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYpOwog
ICAgIHZvaWQgdW5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZl
ciYpOwpAQCAtMTEyLDExICsxMjMsMTQgQEAgcHJpdmF0ZToKIAogICAgIG11dGFibGUgUmVmUHRy
PFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVmUHRy
PFBlcmZvcm1hbmNlVGltaW5nPiBtX3RpbWluZzsKKyAgICBtdXRhYmxlIFJlZlB0cjxFdmVudENv
dW50cz4gbV9ldmVudENvdW50czsKIAogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9yZXNv
dXJjZS10aW1pbmcvI2V4dGVuc2lvbnMtcGVyZm9ybWFuY2UtaW50ZXJmYWNlIHJlY29tbWVuZHMg
c2l6ZSBvZiAxNTAuCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9yZXNv
dXJjZVRpbWluZ0J1ZmZlcjsKICAgICB1bnNpZ25lZCBtX3Jlc291cmNlVGltaW5nQnVmZmVyU2l6
ZSB7IDE1MCB9OwogCisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4g
bV9ldmVudFRpbWluZ0J1ZmZlcjsKKwogICAgIFRpbWVyIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJG
dWxsVGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9iYWNrdXBS
ZXNvdXJjZVRpbWluZ0J1ZmZlcjsKIApAQCAtMTI5LDYgKzE0Myw4IEBAIHByaXZhdGU6CiAgICAg
UmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RDb250ZW50ZnVsUGFpbnQ7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRpbWluZzsKIAorICAgIFJlZlB0
cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBtX2ZpcnN0SW5wdXRUaW1pbmc7CisKICAgICBHZW5l
cmljVGFza1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1fcGVyZm9ybWFuY2VUaW1lbGlu
ZVRhc2tRdWV1ZTsKICAgICBMaXN0SGFzaFNldDxSZWZQdHI8UGVyZm9ybWFuY2VPYnNlcnZlcj4+
IG1fb2JzZXJ2ZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKaW5kZXggNzQx
MzY3ZmIxMWE4MDk5NTU0M2ZiNzc0NWU1YTRkMjgzOWUwNWY4Yi4uNjhlYjRlMzU4ZGYzNDNmNWQ4
MzVlZWFlZTM1ZDMyZTcwYTgzYjk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwK
QEAgLTU5LDYgKzU5LDkgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKICAg
ICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB2b2lkIGNsZWFyTWFya3Mob3B0aW9uYWwg
RE9NU3RyaW5nIG1hcmtOYW1lKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nLCBN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBtZWFzdXJlKERPTVN0cmluZyBtZWFzdXJlTmFtZSwgb3B0
aW9uYWwgRE9NU3RyaW5nIHN0YXJ0TWFyaywgb3B0aW9uYWwgRE9NU3RyaW5nIGVuZE1hcmspOwog
ICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQgY2xlYXJNZWFzdXJlcyhvcHRp
b25hbCBET01TdHJpbmcgbWVhc3VyZU5hbWUpOworCisgICAgLy8gaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9ldmVudC10aW1pbmcvI3NlYy1leHRlbnNpb25zCisgICAgW0V4cG9zZWQ9V2luZG93LCBT
YW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRXZlbnRDb3VudHMgZXZlbnRDb3VudHM7CiB9
OwogCiB0eXBlZGVmIHNlcXVlbmNlPFBlcmZvcm1hbmNlRW50cnk+IFBlcmZvcm1hbmNlRW50cnlM
aXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKaW5kZXggNDJjMDUx
ZTg1ZTIyYzEyZjdmY2IzMzU0YmQ5OTExOThiZjI3Mzc4OS4uM2FkZjczYTc5NjJiOTQxZDU3YTNj
M2RhODE0ZjFmNDViZWNlZmM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwCkBAIC00OSw2ICs0OSwxMiBAQCBQZXJmb3JtYW5jZUVudHJ5Ojp+UGVyZm9ybWFuY2VF
bnRyeSgpID0gZGVmYXVsdDsKIAogT3B0aW9uYWw8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gUGVy
Zm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoY29uc3QgU3RyaW5nJiBlbnRyeVR5
cGUpCiB7CisgICAgaWYgKGVudHJ5VHlwZSA9PSAiZXZlbnQiKQorICAgICAgICByZXR1cm4gT3B0
aW9uYWw8VHlwZT4oVHlwZTo6RXZlbnQpOworCisgICAgaWYgKGVudHJ5VHlwZSA9PSAiZmlyc3Qt
aW5wdXQiKQorICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6Rmlyc3RJbnB1dCk7
CisKICAgICBpZiAoZW50cnlUeXBlID09ICJuYXZpZ2F0aW9uIikKICAgICAgICAgcmV0dXJuIE9w
dGlvbmFsPFR5cGU+KFR5cGU6Ok5hdmlnYXRpb24pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5oCmluZGV4IGFmYWNmYjA5MGIyMWNiYTYxNGQ3OGNlODhhYzc1M2UyNjczZTEy
NjUuLjg4M2Y2ZmQzMjQxZGE5MjY2YTYxNzAyZWMxMzNhNzA0Mjg3YmE0NTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCkBAIC00NiwxMyArNDYsMTYgQEAgcHVibGljOgog
ICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQogICAgIGRv
dWJsZSBzdGFydFRpbWUoKSBjb25zdCB7IHJldHVybiBtX3N0YXJ0VGltZTsgfQogICAgIGRvdWJs
ZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247IH0KKyAgICB2b2lkIHNldER1
cmF0aW9uKGRvdWJsZSBkdXJhdGlvbikgeyBtX2R1cmF0aW9uID0gZHVyYXRpb247IH0KIAogICAg
IGVudW0gY2xhc3MgVHlwZSB7CiAgICAgICAgIE5hdmlnYXRpb24gID0gMSA8PCAwLAogICAgICAg
ICBNYXJrICAgICAgICA9IDEgPDwgMSwKICAgICAgICAgTWVhc3VyZSAgICAgPSAxIDw8IDIsCiAg
ICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAotICAgICAgICBQYWludCAgICAgICA9IDEgPDwg
NAorICAgICAgICBQYWludCAgICAgICA9IDEgPDwgNCwKKyAgICAgICAgRXZlbnQgICAgICAgPSAx
IDw8IDUsCisgICAgICAgIEZpcnN0SW5wdXQgID0gMSA8PCA2CiAgICAgfTsKIAogICAgIHZpcnR1
YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwpAQCAtNjQsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6TWFyazsgfQogICAg
IGJvb2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1lYXN1cmU7
IH0KICAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6UGFp
bnQ7IH0KKyAgICBib29sIGlzRXZlbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
RXZlbnQ7IH0KIAogICAgIHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25z
dCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVu
dHJ5PiYgYikKICAgICB7CkBAIC03Niw3ICs4MCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgY29uc3QgU3RyaW5nIG1fbmFtZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0g
ICAgY29uc3QgZG91YmxlIG1fZHVyYXRpb247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGU0ODdhYjQ5ZDFlNDU1NjI3MDVjMzRh
ZDgyODljNTgyOTVhZDdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUgIk5vZGUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5n
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEFTQ0lJTGl0ZXJhbCYgZW50cnlUeXBlLCBk
b3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2lu
Z0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAgIDogUGVyZm9y
bWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0
KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNzaW5nRW5kKQor
ICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBtX2VudHJ5VHlwZShlbnRyeVR5
cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1JlZjxQZXJmb3JtYW5jZUV2ZW50
VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKGNv
bnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGF1dG8gZXZlbnRUaW1p
bmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZW50cnkubmFtZSgpLCAi
Zmlyc3QtaW5wdXQiX3MsIGVudHJ5LnN0YXJ0VGltZSgpLCBlbnRyeS5wcm9jZXNzaW5nU3RhcnQo
KSwgZW50cnkucHJvY2Vzc2luZ0VuZCgpLCBlbnRyeS5jYW5jZWxhYmxlKCksIGVudHJ5LnRhcmdl
dCgpKSk7CisgICAgZXZlbnRUaW1pbmctPnNldER1cmF0aW9uKGVudHJ5LmR1cmF0aW9uKCkpOwor
ICAgIHJldHVybiBldmVudFRpbWluZzsKK30KKworTm9kZSogUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zzo6dGFyZ2V0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90YXJnZXQgJiYgbV90YXJnZXQtPmlz
Tm9kZSgpID8gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQpIDogbnVsbHB0cjsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zMzBmN2MyY2QxNmI4ZjkzZGFlN2VjZDc4ZTJkYTJmZGMxNWZl
YjNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTm9k
ZTsKKworY2xhc3MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBmaW5hbCA6IHB1YmxpYyBQZXJmb3Jt
YW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmc+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3Vi
bGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxl
LCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgUGVyZm9ybWFuY2VFdmVudFRpbWluZyh0eXBlLCAiZXZlbnQiX3MsIHN0YXJ0VGltZSwgcHJv
Y2Vzc2luZ1N0YXJ0LCBwcm9jZXNzaW5nRW5kLCBjYW5jZWxhYmxlLCB0YXJnZXQpKTsKKyAgICB9
CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBjcmVhdGVGaXJzdElucHV0
VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmKTsKKworICAgIH5QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nKCkgPSBkZWZhdWx0OworCisgICAgZG91YmxlIHByb2Nlc3NpbmdTdGFydCgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ1N0YXJ0OyB9CisgICAgZG91YmxlIHByb2Nlc3Np
bmdFbmQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdFbmQ7IH0KKyAgICBib29sIGNhbmNl
bGFibGUoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGFibGU7IH0KKworICAgIE5vZGUqIHRhcmdl
dCgpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFuY2VFdmVudFRpbWluZyhjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBBU0NJSUxpdGVyYWwmIGVudHJ5VHlwZSwgZG91Ymxl
IHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQs
IGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKworcHJpdmF0ZToKKyAgICBUeXBlIHR5
cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBUeXBlOjpFdmVudDsgfQorICAgIEFTQ0lJTGl0ZXJh
bCBlbnRyeVR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2VudHJ5VHlwZTsgfQorCisgICAg
ZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7Cisg
ICAgYm9vbCBtX2NhbmNlbGFibGU7CisgICAgQVNDSUlMaXRlcmFsIG1fZW50cnlUeXBlOworICAg
IEV2ZW50VGFyZ2V0KiBtX3RhcmdldDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
U1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVu
dHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNFdmVudCgpOyB9CitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NmM3M2VlNThlOTZkYTA0MzUwYTI2Njk3NWQ0NzFlZDAwNGEz
OGYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJm
b3JtYW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFt
cDsKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0YXJ0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdFbmQ7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gdGFy
Z2V0OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAK
aW5kZXggMTI0ZjRlZThkMTI4Yjc1YWI1OWU4ODk5ZjNlMWE2MGQ0ODcxNjQ3ZS4uZjdmZDJjMDFi
MjEyOTZjMzkwOTczYjBjYWM3MGQ1ZDcwYWEyMWE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC0xMTgsNiArMTE4LDggQEAgVmVjdG9yPFN0cmlu
Zz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JgogICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2
aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgogICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKKyAgICAg
ICAgImV2ZW50Il9zLAorICAgICAgICAiZmlyc3QtaW5wdXQiX3MsCiAgICAgICAgICJtYXJrIl9z
LAogICAgICAgICAibWVhc3VyZSJfcwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmlkbAppbmRleCAzMGU4ZGUxZmE4YWQyMGE5ODc3OGI4MTZkZmY5YWU0
NDNiNzBjYTg2Li4zYzcwOTE3NzI0NjI4ZWUxNDllODcxYmNlZmQyZGQxMDliZDhjOGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAgLTQwLDUgKzQw
LDUgQEAKIH07CiAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQgewotICAgIHJl
cXVpcmVkIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKKyAgICBzZXF1ZW5jZTxET01T
dHJpbmc+IGVudHJ5VHlwZXM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaAppbmRleCBkMDE3ODRjN2FhNGI3NmQ2YzNjZDI1OTc5MjMyNGE2MDUyOWEx
ZjcwLi4zZTMyNDZiMjk4M2ZlYzhiMmZlMzRiNDNmYWU0Y2Y3ZTk5NjEyYzlhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaApAQCAtNDA2LDcgKzQwNiw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzTGlua1ByZWZldGNoRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2lzTWVkaWFQcmVsb2FkaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9v
bCBtX2lzUGFpbnRUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1faXNSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5h
YmxlZCB7IHRydWUgfTsKICAgICBib29sIG1faXNVc2VyVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2lzSW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc1dlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZCB7IGZhbHNlIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405270</attachid>
            <date>2020-07-27 06:49:41 -0700</date>
            <delta_ts>2020-07-28 08:18:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200727154939.patch</filename>
            <type>text/plain</type>
            <size>61784</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgyOTMwODdiYmNhNTdi
MTRmZjMyNWJhZTM0MDkzMDczMmU2YjhjMi4uOGIxZDlmOTQyOTk1ZjFhZmQ3OTUyMjg0MGFkYTFj
ZjQwOGM0OGU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTA3LTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXSVAKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoK
KyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgICogcGFn
ZS9FdmVudFRpbWluZy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6
OkV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OmlzRXZlbnRUeXBlRm9yRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpFdmVudFRpbWluZzo6ZXZlbnRXYXNEaXNwYXRjaGVkKToKKyAgICAgICAgKiBwYWdl
L0V2ZW50VGltaW5nLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFbnRyeS5jcHAuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5VHlwZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6Z2V0RW50cmllc0J5TmFtZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlOjpyZXBvcnRFdmVudFRpbWluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZUVudHJ5OjpzZXREdXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZUVudHJ5Ojppc0V2ZW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9y
bWFuY2VFdmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5LmNwcC4KKyAgICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBl
cyk6CisKIDIwMjAtMDctMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBBZGQgUGVyZm9ybWFuY2VUZXN0IHRvb2wgZm9yIG1lYXN1cmluZyByYXcg
c3BlZWQgb2YgYSB2aWRlbyBkZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc1ZDAyNzU2
OWM4M2Q4N2M2YmM5YTllNzM4N2VkN2E5MzYwN2QxZjUuLmNhYzc3NjYwNTI4N2E4MWM5YjQyOWQz
ODNmMTFiNGNmZmUxMTZjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NjgsNiArOTY4LDcg
QEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAg
ICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdl
L0V2ZW50Q291bnRzLmlkbAogICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9i
YWxDcnlwdG8uaWRsCiAgICAgcGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk4NSw2ICs5
ODYsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9y
U2hhcmUuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNl
RW50cnkuaWRsCisgICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2Uv
UGVyZm9ybWFuY2VNYXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDljM2Q5N2NhMDNiOWQ1NDkwMGM4ZTczZDVk
MDBjMzkyNjc1NjQ3YWUuLmUwYWFlMDVmYjg1NWJmZTlhMmRlNTBhYzJkMGI4NWE0NTVhMDljOWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApA
QCAtOTM3LDYgKzkzNyw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJP
SkVDVF9ESVIpL3BhZ2UvQ3J5cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rp
b24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIp
L3BhZ2UvRXZlbnRDb3VudHMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlk
bAogJChQUk9KRUNUX0RJUikvcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9w
YWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApAQCAtOTU1LDYgKzk1Niw3IEBAICQoUFJPSkVDVF9E
SVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2Uv
TmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikv
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJm
b3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA3NTAw
NTFiMjk4NTVkNmE3MGQ4NjExODM3N2YzZTg5YzQyMDZkYjEzLi5hZmRjY2ZjZjA1OGIxM2QwMzFm
NzBlZTk3NzE1NmQ3ZDhkZTFlNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNTY4LDYgKzU2OCw4IEBAICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291
bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0V2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcApAQCAtMTI5Niw2ICsxMjk4LDggQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2Uu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1h
bmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZTE0N2VkMWRlZWY4ZjI4MGEyMGUyOWFjMzkyYTVhODIwMTQ2OWI4MS4uZDAy
NDYwYWYyZmIwNjkxOTUzOTMzMDNjOTFkMDg3MTc1MzliYzJiOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC05NTYsNiArOTU2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2Vs
ZWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQo
V2ViQ29yZSkvcGFnZS9FdmVudENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVu
dFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk3NCw2ICs5NzUs
NyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNo
YXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3Jt
YW5jZU1hcmsuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA4YzRmYTc3MzYyMjc5NmE0OTNmODU4ZmUxNjg1YmJhNTgyYTQ0NDMyLi4y
MDE5Y2MxNGI3OWE3M2YwNDYxZjg5Mjg3NjY3MDRkZGM4Y2JkYmVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTU4Myw4ICsxNTgzLDEwIEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFn
ZS9EaXNhYmxlZEFkYXB0YXRpb25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2Uv
RWRpdGFibGVJbWFnZVJlZmVyZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2
ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNw
cAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURl
c3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVy
bGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1h
bmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNl
TG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzMSw2
ICsyODM0LDcgQEAgSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxs
YmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNw
cAogSlNFdmVudEluaXQuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJj
ZS5jcHAKQEAgLTMxNjEsNiArMzE2NSw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3Bw
CiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50
cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5j
cHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3Bw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZWZjYjRjOTU1MGFhZjJlMWM5YTAzYTczMzlkOGI1ODc0ZWY1NzUyZS4uZjk0NjExZTg5
OTEzZDEzYWQ0YjRjYWY2NzY0YWM2ZWJjZWUxM2VkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzQzNyw2ICszNDM3LDcgQEAK
IAkJQTlEMjQ4MDcwRDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZE
Rjk1OSAvKiBKU0RPTU1pbWVUeXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1
OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEE5RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBl
QXJyYXkuaCAqLzsgfTsKIAkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50
aGVzaXplcklPUy5tbSAqLzsgfTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50
VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVD
Q0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4
MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5
bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBQTJBNUFDNzE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAq
LzsgfTsKIAkJQUEyQTVBRDAxNkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVy
YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEy
QTVBQzUxNkE0ODVENTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9
OwpAQCAtMzQ1Miw4ICszNDUzLDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBK
U1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3lu
dGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBK
U1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBQTdGRUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVz
aXNWb2ljZS5oICovOyB9OwogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hT
eW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9Owor
CQlBQTlCMDQ4ODI0Q0IzNjM1MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1
NSAvKiBFdmVudENvdW50cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyog
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZE
MDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nl
c3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyog
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIw
QUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUx
QjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xh
bXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMjQ4MCw2ICsxMjQ4Myw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBN
YXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRo
TUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5
ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRo
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZG
MDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8q
IEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERP
TVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dT
cGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFC
OTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhl
c2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMTI1MTAsNiArMTI1MTUsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYz
MDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNo
U3ludGhlc2lzVm9pY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVl
Y2hTeW50aGVzaXNWb2ljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVB
QzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUE5QjA0ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEV2ZW50Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFB
OUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3Vu
dHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBE
M0JCQzYgLyogQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUE3MjhGMjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEyNTI0LDYgKzEyNTMyLDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIz
MDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8q
IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQUFFQjhBRDUyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBQUVCOEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRC
NEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViU29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYw
OUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEyMDAsMTEgKzIxMjExLDE2IEBACiAJCQkJMkQyRTM0
QUIyMUE0RTE5MjAwNDU5OEI1IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJ
CTJEMkUzNEE5MjFBNEUxOTEwMDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8s
CiAJCQkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJ
CUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5
QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcy
NENCMzYzMTAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0
RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIz
MDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFG
QkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUg
LyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZl
bnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRp
bWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5n
LmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5j
cHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5o
ICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICov
LApAQCAtMjEyODksNiArMjEzMDUsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAv
KiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDgg
LyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAv
KiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3
NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBD
MjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1
QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBG
RjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICov
LApAQCAtMzA3NTAsNiArMzA3NjksNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAv
KiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTky
RTAgLyogRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0Qz
MyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUw
MEJFRjk1NSAvKiBFdmVudENvdW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzND
MDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTND
MDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0zMDc2OCw2ICszMDc4OCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNG
IC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1
MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUFBMTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJh
Y2tpbmdSZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdF
NDcgLyogRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBF
MjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjY5Nyw2ICszMjcx
OCw3IEBACiAJCQkJRTNGQTM4NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJm
b3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8q
IFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkw
MDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
RDVBMEMyNTFERUNBQ0NDMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRjg1MEZFMzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5n
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyog
UGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgx
MTE0MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdm
MDQ3NzQyMDIwNWU1MDgxZjdjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBA
CiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRp
bmcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAj
aW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5o
IgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVh
c3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUz
LDkgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWlu
dFRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5j
ZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChp
czxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVX
cmFwcGVyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRy
eSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xv
YmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBhYzM5NjY3ZGNkYzdkNDdhOGRhYzZh
ZDUxODg4OWI2MjY5OTY2ZDdkLi40NThkMzNkZmEyMzdkZjliNjBiNWYzNTc4NWI4OWVkNDgwN2Fi
ZjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oCkBAIC0xODUsNiArMTg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3Jv
KFBhaW50V29ya2xldEdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkg
XAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFu
Y2VFdmVudFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEy
MWRiZDdkNjZjYzdjOWFkOGViMGQ3NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4
MzVkOWUxY2YwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5
LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1p
bmcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRj
aGVyOjpkaXNwYXRjaEV2ZW50KE5vZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICgh
ZXZlbnQucHJvcGFnYXRpb25TdG9wcGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAg
ICAgICAgZXZlbnQuc2V0RXZlbnRQYXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxFdmVudFRpbWluZz4gZXZlbnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50
KCkuZG9tV2luZG93KCkpCisgICAgICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpj
cmVhdGUoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNw
YXRjaEV2ZW50SW5ET00oZXZlbnQsIGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWlu
ZykKKyAgICAgICAgICAgIGV2ZW50VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9j
dW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0
ZXJEaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
MzlmMTIyY2FjYzkyYWExNTczZDUwZDBkODIxNjM3M2QzYWNlN2QxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSw5MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJFdmVudENvdW50cy5oIgorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1
ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudENvdW50
czo6RXZlbnRDb3VudHMoKQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIGV2ZW50VHlwZXMgPSBt
YWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEF0b21TdHJpbmc+IHsKKyAgICAgICAgLyogTW91c2VF
dmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5j
b250ZXh0bWVudUV2ZW50LCBldmVudE5hbWVzKCkuZGJsY2xpY2tFdmVudCwgZXZlbnROYW1lcygp
Lm1vdXNlZG93bkV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkubW91c2VlbnRlckV2ZW50LCBl
dmVudE5hbWVzKCkubW91c2VsZWF2ZUV2ZW50LCBldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCwK
KyAgICAgICAgZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2V1
cEV2ZW50LAorICAgICAgICAvKiBQb2ludGVyRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMo
KS5wb2ludGVyb3ZlckV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcmVudGVyRXZlbnQsCisgICAg
ICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyZG93bkV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcnVw
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyY2FuY2VsRXZlbnQsIGV2ZW50TmFt
ZXMoKS5wb2ludGVyb3V0RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVybGVhdmVF
dmVudCwgZXZlbnROYW1lcygpLmdvdHBvaW50ZXJjYXB0dXJlRXZlbnQsCisgICAgICAgIGV2ZW50
TmFtZXMoKS5sb3N0cG9pbnRlcmNhcHR1cmVFdmVudCwKKyAgICAgICAgLyogVG91Y2hFdmVudHMg
Ki8KKyAgICAgICAgZXZlbnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLnRv
dWNoZW5kRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2ZW50LAorICAg
ICAgICAvKiBLZXlib2FyZEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkua2V5ZG93bkV2
ZW50LCBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmtl
eXVwRXZlbnQsCisgICAgICAgIC8qIElucHV0RXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMo
KS5iZWZvcmVpbnB1dEV2ZW50LCBldmVudE5hbWVzKCkuaW5wdXRFdmVudCwKKyAgICAgICAgLyog
Q29tcG9zaXRpb25FdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9uc3Rh
cnRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9udXBkYXRlRXZlbnQsIGV2
ZW50TmFtZXMoKS5jb21wb3NpdGlvbmVuZEV2ZW50LAorICAgICAgICAvKiBEcmFnICYgRHJvcCBF
dmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdzdGFydEV2ZW50LCBldmVudE5hbWVz
KCkuZHJhZ2VuZEV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQsIGV2
ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdvdmVy
RXZlbnQsIGV2ZW50TmFtZXMoKS5kcm9wRXZlbnQsCisgICAgfSk7CisgICAgZm9yIChjb25zdCBh
dXRvJiB0eXBlIDogZXZlbnRUeXBlcy5nZXQoKSkKKyAgICAgICAgbV9tYXAuYWRkKHR5cGUsIDB1
KTsKK30KKwordm9pZCBFdmVudENvdW50czo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRl
ciYgbWFwKQoreworICAgIGZvciAoYXV0byYga2V5VmFsdWUgOiBtX21hcCkKKyAgICAgICAgbWFw
LnNldDxJRExET01TdHJpbmcsIElETFVuc2lnbmVkTG9uZ0xvbmc+KGtleVZhbHVlLmtleSwga2V5
VmFsdWUudmFsdWUpOworfQorCit2b2lkIEV2ZW50Q291bnRzOjpzZXRGcm9tTWFwTGlrZShTdHJp
bmcmJiBrZXksIHVuc2lnbmVkIHZhbHVlKQoreworICAgIG1fbWFwLnNldChXVEZNb3ZlKGtleSks
IHZhbHVlKTsKK30KKwordm9pZCBFdmVudENvdW50czo6YWRkKGNvbnN0IFN0cmluZyYgdHlwZSkK
K3sKKyAgICBhdXRvIGl0ID0gbV9tYXAuZmluZCh0eXBlKTsKKyAgICBpdC0+dmFsdWUgPSBpdC0+
dmFsdWUgKyAxOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
Q291bnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGZmYTgyOWJhZDAzYTQ1MzhjZmVlNjRmNjQ1ODc5ZDIz
MTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMu
aApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NTWFwQWRhcHRlcjsK
K2NsYXNzIERPTVN0cmluZzsKKworY2xhc3MgRXZlbnRDb3VudHMgZmluYWwgOiBwdWJsaWMgUmVm
Q291bnRlZDxFdmVudENvdW50cz4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RXZlbnRDb3Vu
dHM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRXZlbnRDb3VudHMpOyB9CisKKyAg
ICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKyAgICB2b2lkIHNldEZy
b21NYXBMaWtlKFN0cmluZyYmLCB1bnNpZ25lZCk7CisKKyAgICBjb25zdCBIYXNoTWFwPFN0cmlu
ZywgdW5zaWduZWQ+JiBtYXAoKSBjb25zdCB7IHJldHVybiBtX21hcDsgfQorCisgICAgdm9pZCBh
ZGQoY29uc3QgU3RyaW5nJiB0eXBlKTsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOwor
ICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzk2
NGRkNWE1NTY1ZmFkMWQ2YjQ3ZTYxN2QyMmQwZTRiZGNhODcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9l
dmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9z
ZWQ9KFdpbmRvdyksCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2Ug
RXZlbnRDb3VudHMgeworICAgIHJlYWRvbmx5IG1hcGxpa2U8RE9NU3RyaW5nLCB1bnNpZ25lZCBs
b25nIGxvbmc+OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1p
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzBjMWYwZmY1ZDJkZjdiZjE2ZGFmZTJiNjBkNzE0ZDcwNDJmMTMwNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNzkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1
ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitFdmVudFRpbWluZzo6RXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91Ymxl
IHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1f
cHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNF
dmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5j
bHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9mIGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhj
bHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91
czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRoZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUg
dGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUg
ZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVudENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9w
ZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBvbiB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0
cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAg
IHJldHVybiBldmVudC5pc1RydXN0ZWQoKQorICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50
KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2
ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hl
ZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0Nv
bXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMo
KS5tb3VzZW1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygp
LnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMo
KS50b3VjaG1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygp
LndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFn
RXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNy
ZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAg
IGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIGlmICghd2luZG93LnBlcmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVk
KCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisg
ICAgICAgIHJldHVybiBtYWtlVW5pcXVlPEV2ZW50VGltaW5nPih3aW5kb3cucGVyZm9ybWFuY2Uo
KS5yZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oZXZlbnQudGlt
ZVN0YW1wKCkpLCB3aW5kb3cucGVyZm9ybWFuY2UoKS5ub3coKSk7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK3ZvaWQgRXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01X
aW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3Jt
YW5jZSgpLnJlcG9ydEV2ZW50VGltaW5nKGV2ZW50LnR5cGUoKSwgbV9zdGFydFRpbWUsIG1fcHJv
Y2Vzc2luZ1N0YXJ0LCBldmVudC5jYW5jZWxhYmxlKCksIGV2ZW50LnRhcmdldCgpKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNkMWQ1NTMyOWI2N2RmYjc3NDE3OWU2MGQxMGE5OWY1ZjE0Y2IwYWUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBFdmVudDsKK2NsYXNzIERPTVdpbmRvdzsKKworY2xhc3MgRXZlbnRUaW1pbmcgZmluYWwgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8RXZlbnRUaW1pbmc+IGNyZWF0ZShjb25zdCBET01XaW5kb3cmLCBjb25zdCBFdmVu
dCYpOworCisgICAgRXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3Np
bmdTdGFydCk7CisKKyAgICB2b2lkIGV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cm
LCBjb25zdCBFdmVudCYpOworCitwcml2YXRlOgorICAgIGRvdWJsZSBtX3N0YXJ0VGltZTsKKyAg
ICBkb3VibGUgbV9wcm9jZXNzaW5nU3RhcnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZh
MDY4OTQ5NTM2M2U1MWMwYzU1NzYuLmRkZGUzMjJlZDJjYTk1OTI0OTU4YTU2NTJhMWFiYzdhNzM4
MGViZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBA
QAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRy
eS5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJm
b3JtYW5jZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAj
aW5jbHVkZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAg
UGVyZm9ybWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3Rp
bWluZy5nZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygp
Cit7CisgICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZl
bnRDb3VudHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQor
CisKIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzKCkgY29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRy
aWVzOwogCisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBl
bmQobV9maXJzdElucHV0VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYg
KzE1OSw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpn
ZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50
ZnVsUGFpbnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFp
bnQiKSkKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAK
KyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGVudHJ5VHlwZSwgImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1f
Zmlyc3RJbnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAg
ICAgICAgICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpA
QCAtMTcxLDYgKzE4Nyw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZv
cm1hbmNlOjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmly
c3RDb250ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1j
b250ZW50ZnVsLXBhaW50IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRm
dWxQYWludCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNO
dWxsKCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3Qt
aW5wdXQiKSkgJiYgbmFtZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVu
ZChtX2ZpcnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAg
ICBpZiAoZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1f
dXNlclRpbWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCwzOCBAQCB2b2lkIFBl
cmZvcm1hbmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgq
bV9maXJzdENvbnRlbnRmdWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRU
aW1pbmdCdWZmZXJGdWxsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZl
ci5zaXplKCkgPj0gMTUwOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1
ZmZlcihQZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRU
aW1pbmdCdWZmZXJGdWxsKCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZl
bnRyeSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEV2ZW50VGltaW5nKGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQs
IGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqIHRhcmdldCkKK3sKKyAgICBpZiAoIW1fZXZl
bnRDb3VudHMpCisgICAgICAgIG1fZXZlbnRDb3VudHMgPSBFdmVudENvdW50czo6Y3JlYXRlKCk7
CisgICAgbV9ldmVudENvdW50cy0+YWRkKHR5cGUpOworICAgIGF1dG8gZW50cnkgPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5nU3RhcnQs
IG5vdygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworCisgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0
ZDo6cm91bmQoKG5vdygpIC0gZW50cnktPnN0YXJ0VGltZSgpKSAvIDgpICogODsKKyAgICBlbnRy
eS0+c2V0RHVyYXRpb24oZHVyYXRpb25Jbk1zKTsKKworICAgIGlmICghbV9maXJzdElucHV0VGlt
aW5nKSB7CisgICAgICAgIGlmIChlbnRyeS0+bmFtZSgpID09ICJjbGljayIgfHwgZW50cnktPm5h
bWUoKSA9PSAia2V5ZG93biIgfHwgZW50cnktPm5hbWUoKSA9PSAibW91c2Vkb3duIikgeworICAg
ICAgICAgICAgbV9maXJzdElucHV0VGltaW5nID0gUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6Y3Jl
YXRlRmlyc3RJbnB1dFRpbWluZyhlbnRyeS5nZXQoKSk7CisgICAgICAgICAgICBxdWV1ZUVudHJ5
KCptX2ZpcnN0SW5wdXRUaW1pbmcpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIHF1
ZXVlRW50cnkoZW50cnkuZ2V0KCkpOworICAgIGlmIChkdXJhdGlvbkluTXMgPj0gMTA0ICYmICFp
c0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICBtX2V2ZW50VGltaW5nQnVmZmVyLmFw
cGVuZChXVEZNb3ZlKGVudHJ5KSk7Cit9CisKIHZvaWQgUGVyZm9ybWFuY2U6OmFkZFJlc291cmNl
VGltaW5nKFJlc291cmNlVGltaW5nJiYgcmVzb3VyY2VUaW1pbmcpCiB7CiAgICAgQVNTRVJUKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CkBAIC0zNDYsNyArMzk3LDcgQEAgdm9pZCBQZXJmb3Jt
YW5jZTo6cXVldWVFbnRyeShQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkKIHsKICAgICBib29sIHNo
b3VsZFNjaGVkdWxlVGFzayA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29i
c2VydmVycykgewotICAgICAgICBpZiAob2JzZXJ2ZXItPnR5cGVGaWx0ZXIoKS5jb250YWlucyhl
bnRyeS50eXBlKCkpKSB7CisgICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRh
aW5zKGVudHJ5LnR5cGUoKSkgJiYgb2JzZXJ2ZXItPmNhbk9ic2VydmUoZW50cnkpKSB7CiAgICAg
ICAgICAgICBvYnNlcnZlci0+cXVldWVFbnRyeShlbnRyeSk7CiAgICAgICAgICAgICBzaG91bGRT
Y2hlZHVsZVRhc2sgPSB0cnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgK
aW5kZXggZjYzMWM2ZDNjNDVmMDM1MjA5MDQ4Y2M1ODkzZmVjZjRjYjY4Yzk4MS4uYjgyMWU2ZjAz
MWY5NWZmZDc2MTAzZGYyZmFhY2Y1OGZlNDYyYzhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaApAQCAtNDIsOCArNDIsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBF
dmVudENvdW50czsKIGNsYXNzIExvYWRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5Owor
Y2xhc3MgUGVyZm9ybWFuY2VFdmVudFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlv
bjsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXI7CiBjbGFzcyBQZXJmb3JtYW5jZVBhaW50VGlt
aW5nOwpAQCAtNjUsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
KiBuYXZpZ2F0aW9uKCk7CiAgICAgUGVyZm9ybWFuY2VUaW1pbmcqIHRpbWluZygpOwogCisgICAg
RXZlbnRDb3VudHMqIGV2ZW50Q291bnRzKCk7CisKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBnZXRFbnRyaWVzKCkgY29uc3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5VHlwZShjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkgY29u
c3Q7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllc0J5TmFt
ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKQEAg
LTgyLDYgKzg2LDEzIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0Rmlyc3RDb250ZW50ZnVs
UGFpbnQoKTsKIAorICAgIGJvb2wgZmlyc3RJbnB1dERldGVjdGVkKCkgY29uc3QgeyByZXR1cm4g
ISFtX2ZpcnN0SW5wdXRUaW1pbmc7IH0KKworICAgIGJvb2wgaXNFdmVudFRpbWluZ0J1ZmZlckZ1
bGwoKSBjb25zdDsKKyAgICB2b2lkIGFkZEV2ZW50VGltaW5nQnVmZmVyKFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcmKTsKKworICAgIHZvaWQgcmVwb3J0RXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmlu
ZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9vbCBj
YW5jZWxhYmxlLCBFdmVudFRhcmdldCopOworCiAgICAgdm9pZCByZW1vdmVBbGxPYnNlcnZlcnMo
KTsKICAgICB2b2lkIHJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5jZU9ic2Vy
dmVyJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyUGVyZm9ybWFuY2VPYnNlcnZlcihQZXJmb3JtYW5j
ZU9ic2VydmVyJik7CkBAIC0xMTIsMTEgKzEyMywxNCBAQCBwcml2YXRlOgogCiAgICAgbXV0YWJs
ZSBSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CiAgICAgbXV0YWJs
ZSBSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IG1fdGltaW5nOworICAgIG11dGFibGUgUmVmUHRy
PEV2ZW50Q291bnRzPiBtX2V2ZW50Q291bnRzOwogCiAgICAgLy8gaHR0cHM6Ly93M2MuZ2l0aHVi
LmlvL3Jlc291cmNlLXRpbWluZy8jZXh0ZW5zaW9ucy1wZXJmb3JtYW5jZS1pbnRlcmZhY2UgcmVj
b21tZW5kcyBzaXplIG9mIDE1MC4KICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBtX3Jlc291cmNlVGltaW5nQnVmZmVyOwogICAgIHVuc2lnbmVkIG1fcmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplIHsgMTUwIH07CiAKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGltZXIgbV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBt
X2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0xMjksNiArMTQzLDggQEAgcHJpdmF0
ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENvbnRlbnRmdWxQ
YWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGltaW5nOwogCisg
ICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1fZmlyc3RJbnB1dFRpbWluZzsKKwog
ICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJmb3JtYW5j
ZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQZXJmb3JtYW5jZU9i
c2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApp
bmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQyODM5ZTA1ZjhiLi42OGViNGUzNThk
ZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0
YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQgY2xlYXJNYXJrcyhv
cHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJU
aW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3RyaW5nIG1lYXN1cmVO
YW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJpbmcgZW5k
TWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1lYXN1
cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7CisKKyAgICAvLyBodHRwczovL3dp
Y2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVuc2lvbnMKKyAgICBbRXhwb3NlZD1X
aW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudENvdW50cyBldmVudENv
dW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9ybWFuY2VFbnRyeT4gUGVyZm9ybWFu
Y2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAppbmRl
eCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJmMjczNzg5Li4zYWRmNzNhNzk2MmI5
NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBlcmZvcm1hbmNlRW50cnk6On5QZXJm
b3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25hbDxQZXJmb3JtYW5jZUVudHJ5OjpU
eXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhjb25zdCBTdHJpbmcm
IGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09ICJldmVudCIpCisgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisKKyAgICBpZiAoZW50cnlUeXBlID09
ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpGaXJz
dElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24iKQogICAgICAgICBy
ZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlvbik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkwYjIxY2JhNjE0ZDc4Y2U4OGFjNzUz
ZTI2NzNlMTI2NS4uODgzZjZmZDMyNDFkYTkyNjZhNjE3MDJlYzEzM2E3MDQyODdiYTQ1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQ2LDEzICs0NiwxNiBAQCBw
dWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9
CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRUaW1lOyB9CiAg
ICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlvbjsgfQorICAgIHZv
aWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1fZHVyYXRpb24gPSBkdXJhdGlvbjsg
fQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAgTmF2aWdhdGlvbiAgPSAxIDw8IDAs
CiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlICAgICA9IDEg
PDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCi0gICAgICAgIFBhaW50ICAgICAg
ID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0LAorICAgICAgICBFdmVudCAg
ICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAgPSAxIDw8IDYKICAgICB9OwogCiAg
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02NCw2ICs2Nyw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpNYXJr
OyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gVHlwZTo6
TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBU
eXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBUeXBlOjpFdmVudDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1lQ29tcGFyZUxlc3NU
aGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3QgUmVmUHRyPFBlcmZv
cm1hbmNlRW50cnk+JiBiKQogICAgIHsKQEAgLTc2LDcgKzgwLDcgQEAgcHJvdGVjdGVkOgogcHJp
dmF0ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwogICAgIGNvbnN0IGRvdWJsZSBtX3N0YXJ0
VGltZTsKLSAgICBjb25zdCBkb3VibGUgbV9kdXJhdGlvbjsKKyAgICBkb3VibGUgbV9kdXJhdGlv
bjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZjM3Mzk5NzIzMzE1OTM5
NjRhYjdmM2UyYTYyNjRkNjc5NTFlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNp
bmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVyZm9ybWFuY2VFdmVu
dFRpbWluZzo6UGVyZm9ybWFuY2VFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBj
b25zdCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRpbWUs
IGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNzaW5nRW5kLCBib29sIGNhbmNl
bGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisgICAgOiBQZXJmb3JtYW5jZUVudHJ5KHR5cGUs
IHN0YXJ0VGltZSwgMC4wKQorICAgICwgbV9wcm9jZXNzaW5nU3RhcnQocHJvY2Vzc2luZ1N0YXJ0
KQorICAgICwgbV9wcm9jZXNzaW5nRW5kKHByb2Nlc3NpbmdFbmQpCisgICAgLCBtX2NhbmNlbGFi
bGUoY2FuY2VsYWJsZSkKKyAgICAsIG1fZW50cnlUeXBlKGVudHJ5VHlwZSkKKyAgICAsIG1fdGFy
Z2V0KHRhcmdldCkKK3sKK30KKworUmVmPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcoY29uc3QgUGVyZm9ybWFuY2VF
dmVudFRpbWluZyYgZW50cnkpCit7CisgICAgYXV0byBldmVudFRpbWluZyA9IGFkb3B0UmVmKCpu
ZXcgUGVyZm9ybWFuY2VFdmVudFRpbWluZyhlbnRyeS5uYW1lKCksIFBlcmZvcm1hbmNlRW50cnk6
OlR5cGU6OkZpcnN0SW5wdXQsIGVudHJ5LnN0YXJ0VGltZSgpLCBlbnRyeS5wcm9jZXNzaW5nU3Rh
cnQoKSwgZW50cnkucHJvY2Vzc2luZ0VuZCgpLCBlbnRyeS5jYW5jZWxhYmxlKCksIGVudHJ5LnRh
cmdldCgpKSk7CisgICAgZXZlbnRUaW1pbmctPnNldER1cmF0aW9uKGVudHJ5LmR1cmF0aW9uKCkp
OworICAgIHJldHVybiBldmVudFRpbWluZzsKK30KKworc3RhdGljIGJvb2wgY2FuRXhwb3NlTm9k
ZShOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNDb25uZWN0ZWQoKSB8
fCBub2RlLT5jb250YWluaW5nU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBpZiAoIW5vZGUtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworTm9kZSogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZzo6dGFyZ2V0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fdGFyZ2V0IHx8ICFtX3Rhcmdl
dC0+aXNOb2RlKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8qIG5vZGUgPSBk
b3duY2FzdDxOb2RlPihtX3RhcmdldCk7CisgICAgcmV0dXJuIGNhbkV4cG9zZU5vZGUobm9kZSkg
PyBub2RlIDogbnVsbHB0cjsKK30KKworQVNDSUlMaXRlcmFsIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmc6OmVudHJ5VHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZW50cnlUeXBlID09IFR5cGU6
OkZpcnN0SW5wdXQgPyAiZmlyc3QtaW5wdXQiX3MgOiAiZXZlbnQiX3M7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjJhODA5Y2YwYzVmODAzMGY5ZWU0M2RhNmQ5ZDg0YzQyMmU4OGE3
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50cnkuaCIKKyNpbmNs
dWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE5vZGU7
CisKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgZmluYWwgOiBwdWJsaWMgUGVyZm9ybWFu
Y2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5n
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91Ymxl
IHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSwg
RXZlbnRUYXJnZXQqIHRhcmdldCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcodHlwZSwgVHlwZTo6RXZlbnQsIHN0YXJ0VGltZSwgcHJv
Y2Vzc2luZ1N0YXJ0LCBwcm9jZXNzaW5nRW5kLCBjYW5jZWxhYmxlLCB0YXJnZXQpKTsKKyAgICB9
CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBjcmVhdGVGaXJzdElucHV0
VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmKTsKKworICAgIH5QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nKCkgPSBkZWZhdWx0OworCisgICAgZG91YmxlIHByb2Nlc3NpbmdTdGFydCgp
IGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ1N0YXJ0OyB9CisgICAgZG91YmxlIHByb2Nlc3Np
bmdFbmQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdFbmQ7IH0KKyAgICBib29sIGNhbmNl
bGFibGUoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGFibGU7IH0KKworICAgIE5vZGUqIHRhcmdl
dCgpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFuY2VFdmVudFRpbWluZyhjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBUeXBlJiBlbnRyeVR5cGUsIGRvdWJsZSBzdGFydFRp
bWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNzaW5nRW5kLCBib29sIGNh
bmNlbGFibGUsIEV2ZW50VGFyZ2V0Kik7CisKK3ByaXZhdGU6CisgICAgVHlwZSB0eXBlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gbV9lbnRyeVR5cGU7IH0KKyAgICBBU0NJSUxpdGVyYWwgZW50cnlU
eXBlKCkgY29uc3QgZmluYWw7CisKKyAgICBkb3VibGUgbV9wcm9jZXNzaW5nU3RhcnQ7CisgICAg
ZG91YmxlIG1fcHJvY2Vzc2luZ0VuZDsKKyAgICBib29sIG1fY2FuY2VsYWJsZTsKKyAgICBUeXBl
IG1fZW50cnlUeXBlOworICAgIEV2ZW50VGFyZ2V0KiBtX3RhcmdldDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnkuaXNFdmVudCgpOyB9
CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDk4NjljOGVmZDMxMDNiZWNh
NzQ5OWI2OGYwOTNhYjFmNGQ1MmM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVu
dC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRlZiBkb3VibGUg
RE9NSGlnaFJlc1RpbWVTdGFtcDsKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVy
ZmFjZSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0YXJ0OworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdFbmQ7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gY2FuY2VsYWJsZTsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgTm9kZT8gdGFyZ2V0OworCisgICAgc2VyaWFsaXplciA9IHsgYXR0cmlidXRlIH07
Cit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAppbmRl
eCAxMjRmNGVlOGQxMjhiNzVhYjU5ZTg4OTlmM2UxYTYwZDQ4NzE2NDdlLi5mMGQ4MzBjMWJjNzcy
ZWUwOTYyMGE2ZTgwYTkyYTU2ODY2NjdhNGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VPYnNlcnZlci5jcHAKQEAgLTYwLDEzICs2MCwyNCBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBpbml0KQogICAgIGlmICghbV9w
ZXJmb3JtYW5jZSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9OwogCi0g
ICAgaWYgKGluaXQuZW50cnlUeXBlcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBUeXBlRXJyb3IsICJlbnRyeVR5cGVzIGNhbm5vdCBiZSBhbiBlbXB0eSBsaXN0Il9zIH07
Ci0KICAgICBPcHRpb25TZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gZmlsdGVyOwotICAgIGZv
ciAoY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUgOiBpbml0LmVudHJ5VHlwZXMpIHsKLSAgICAgICAg
aWYgKGF1dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGVu
dHJ5VHlwZSkpCi0gICAgICAgICAgICBmaWx0ZXIuYWRkKCp0eXBlKTsKKyAgICBpZiAoaW5pdC5l
bnRyeVR5cGVzKSB7CisgICAgICAgIGlmIChpbml0LmVudHJ5VHlwZXMtPmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJlbnRyeVR5cGVzIGNhbm5v
dCBiZSBhbiBlbXB0eSBsaXN0Il9zIH07CisgICAgICAgIGZvciAoY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUgOiAqaW5pdC5lbnRyeVR5cGVzKSB7CisgICAgICAgICAgICBpZiAoYXV0byB0eXBlID0g
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoZW50cnlUeXBlKSkKKyAgICAg
ICAgICAgICAgICBmaWx0ZXIuYWRkKCp0eXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChpbml0LnR5cGUuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IFR5cGVFcnJvciwgIm5vIHR5cGUgb3IgZW50cnlUeXBlIHdlcmUgcHJvdmlkZXMiX3Mg
fTsKKyAgICAgICAgYXV0byB0eXBlID0gUGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVT
dHJpbmcoaW5pdC50eXBlKTsKKyAgICAgICAgaWYgKCF0eXBlKQorICAgICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgInR5cGUgd2FzIG5vdCByZWNvZ25pemVkIl9zIH07Cisg
ICAgICAgIGlmICh0eXBlID09IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50ICYmIGluaXQu
ZHVyYXRpb25UaHJlc2hvbGQpCisgICAgICAgICAgICBtX2R1cmF0aW9uVGhyZXNob2xkID0gc3Rk
OjptYXgoMTYuMCwgKmluaXQuZHVyYXRpb25UaHJlc2hvbGQpOworCisgICAgICAgIGZpbHRlci5h
ZGQoKnR5cGUpOwogICAgIH0KIAogICAgIGlmIChmaWx0ZXIuaXNFbXB0eSgpKQpAQCAtMTE4LDYg
KzEyOSw4IEBAIFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVu
dHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYKICAgICBWZWN0b3I8U3RyaW5nPiBlbnRy
eVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2
Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8g
Im5hdmlnYXRpb24iX3MsCisgICAgICAgICJldmVudCJfcywKKyAgICAgICAgImZpcnN0LWlucHV0
Il9zLAogICAgICAgICAibWFyayJfcywKICAgICAgICAgIm1lYXN1cmUiX3MKICAgICB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAppbmRleCBlYzExMTg5ZmI4M2E4
NmE5MWVhM2U4MTIyYzRhNjdlYjI4MjFiNmE2Li45M2UwMWIyYjkwZTMyMmIwYWM0MGJiMTIyZjY2
ZTgxZTc2MmQ2MWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
T2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIu
aApAQCAtNDEsNyArNDEsOSBAQCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3Mg
UGVyZm9ybWFuY2VPYnNlcnZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlT2JzZXJ2
ZXI+IHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgSW5pdCB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+
IGVudHJ5VHlwZXM7CisgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBlbnRyeVR5cGVz
OworICAgICAgICBTdHJpbmcgdHlwZTsKKyAgICAgICAgT3B0aW9uYWw8RE9NSGlnaFJlc1RpbWVT
dGFtcD4gZHVyYXRpb25UaHJlc2hvbGQ7CiAgICAgfTsKIAogICAgIHN0YXRpYyBSZWY8UGVyZm9y
bWFuY2VPYnNlcnZlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJl
ZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCkBAIC02NCw2ICs2Niw4
IEBAIHB1YmxpYzoKICAgICBib29sIGlzUmVnaXN0ZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVn
aXN0ZXJlZDsgfQogICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayYgY2FsbGJhY2soKSB7
IHJldHVybiBtX2NhbGxiYWNrLmdldCgpOyB9CiAKKyAgICBib29sIGNhbk9ic2VydmUoY29uc3Qg
UGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpIGNvbnN0IHsgcmV0dXJuIGVudHJ5LnR5cGUoKSAhPSBQ
ZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpFdmVudCB8fCBlbnRyeS5kdXJhdGlvbigpID49IG1fZHVy
YXRpb25UaHJlc2hvbGQ7IH0KKwogcHJpdmF0ZToKICAgICBQZXJmb3JtYW5jZU9ic2VydmVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYm
KTsKIApAQCAtNzIsNiArNzYsNyBAQCBwcml2YXRlOgogICAgIFJlZjxQZXJmb3JtYW5jZU9ic2Vy
dmVyQ2FsbGJhY2s+IG1fY2FsbGJhY2s7CiAgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6
OlR5cGU+IG1fdHlwZUZpbHRlcjsKICAgICBib29sIG1fcmVnaXN0ZXJlZCB7IGZhbHNlIH07Cisg
ICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBtX2R1cmF0aW9uVGhyZXNob2xkIHsgMTA0IH07CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmlkbAppbmRleCAzMGU4ZGUxZmE4YWQyMGE5ODc3OGI4MTZkZmY5YWU0NDNiNzBj
YTg2Li44MjA5MWM1NDBkODQwMGE5NTY3ODA0ZTVjYjJlZjNjNGY2YTMzNzRmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKQEAgLTI1LDYgKzI1LDggQEAK
IAogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3BlcmZvcm1hbmNlLXRpbWVsaW5lLwogCit0eXBl
ZGVmIGRvdWJsZSBET01IaWdoUmVzVGltZVN0YW1wOworCiBbCiAgICAgQ3VzdG9tSXNSZWFjaGFi
bGUsCiAgICAgRW5hYmxlZEF0UnVudGltZT1QZXJmb3JtYW5jZVRpbWVsaW5lLApAQCAtNDAsNSAr
NDIsNyBAQAogfTsKIAogZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdCB7Ci0gICAg
cmVxdWlyZWQgc2VxdWVuY2U8RE9NU3RyaW5nPiBlbnRyeVR5cGVzOworICAgIHNlcXVlbmNlPERP
TVN0cmluZz4gZW50cnlUeXBlczsKKyAgICBET01TdHJpbmcgdHlwZTsKKyAgICBET01IaWdoUmVz
VGltZVN0YW1wIGR1cmF0aW9uVGhyZXNob2xkOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9S
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggZDAxNzg0YzdhYTRiNzZkNmMzY2QyNTk3OTIz
MjRhNjA1MjlhMWY3MC4uM2UzMjQ2YjI5ODNmZWM4YjJmZTM0YjQzZmFlNGNmN2U5OTYxMmM5YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTQw
Niw3ICs0MDYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0xpbmtQcmVmZXRjaEVuYWJsZWQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01lZGlhUHJlbG9hZGluZ0VuYWJsZWQgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9pc1BhaW50VGltaW5nRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBt
X2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZXNvdXJj
ZVRpbWluZ0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2lzVXNlclRpbWluZ0VuYWJsZWQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQgeyBmYWxz
ZSB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCAxNTZkODAwZmIwNGJlYTMxODlkNjQ0NGRj
NjVkNjBkOTRiMzk0YTUyLi41M2UwMGNlODQzMjk0YmU0ZWEzMmNiNTVlZGE3YTM3Y2ZlNWQ3MzFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTgwLDYgKzE4MCw4IEBACiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvR29vZ2xlIjogInNraXAiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL2VudHJpZXMtYXBpIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudHNv
dXJjZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V4dC14aHRtbC1wdWJp
ZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZWF0dXJlLXBvbGljeSI6ICJz
a2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24gYi9MYXlv
dXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KaW5kZXggNGJlNjFlNjcwOWMzZjgxMzdkMjVhNTM5
MjI2Yzg4OTE0ZDM4ODlmMi4uMWRlNjhmZDlkZmQ2NjM0YjUwNjdmN2VlMjQ0ODk3NTcxM2RhMWFj
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCisrKyBiL0xheW91
dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgpAQCAtMTM1OCw2ICsxMzU4LDIxIEBACiAgICAgImlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2RybS10ZW1wb3Jh
cnktbGljZW5zZS10eXBlLmh0dHBzLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisg
ICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZy
YW1lLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAor
ICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
YWJpbGl0eS5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwi
OiBbCisgICAgICAgICJzbG93IgorICAgIF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnRzb3VyY2UvZGVkaWNhdGVkLXdvcmtlci9ldmVudHNvdXJjZS1jb25zdHJ1
Y3Rvci1ub24tc2FtZS1vcmlnaW4uaHRtIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405359</attachid>
            <date>2020-07-28 08:18:49 -0700</date>
            <delta_ts>2020-07-28 09:15:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200728171846.patch</filename>
            <type>text/plain</type>
            <size>175954</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgyOTMwODdiYmNhNTdi
MTRmZjMyNWJhZTM0MDkzMDczMmU2YjhjMi4uOWE0ZGM4MmIyMzAyYTM1MzU4NzRkOTI2NjJhNmJi
NzhjODE3ZWVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wNy0yOCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDctMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29h
XSBBZGQgUGVyZm9ybWFuY2VUZXN0IHRvb2wgZm9yIG1lYXN1cmluZyByYXcgc3BlZWQgb2YgYSB2
aWRlbyBkZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc1ZDAyNzU2OWM4M2Q4N2M2YmM5
YTllNzM4N2VkN2E5MzYwN2QxZjUuLmNhYzc3NjYwNTI4N2E4MWM5YjQyOWQzODNmMTFiNGNmZmUx
MTZjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NjgsNiArOTY4LDcgQEAgc2V0KFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNl
bGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRz
LmlkbAogICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRs
CiAgICAgcGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk4NSw2ICs5ODYsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisg
ICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VN
YXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CmluZGV4IDljM2Q5N2NhMDNiOWQ1NDkwMGM4ZTczZDVkMDBjMzkyNjc1NjQ3
YWUuLmUwYWFlMDVmYjg1NWJmZTlhMmRlNTBhYzJkMGI4NWE0NTVhMDljOWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTM3LDYgKzkz
Nyw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3Bh
Z2UvQ3J5cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRD
b3VudHMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNU
X0RJUikvcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBl
cmZvcm1hbmNlLmlkbApAQCAtOTU1LDYgKzk1Niw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2
aWdhdG9yU2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hh
cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJ
UikvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsu
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVD
VF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA3NTAwNTFiMjk4NTVkNmE3
MGQ4NjExODM3N2YzZTg5YzQyMDZkYjEzLi5hZmRjY2ZjZjA1OGIxM2QwMzFmNzBlZTk3NzE1NmQ3
ZDhkZTFlNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtNTY4LDYgKzU2OCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9k
aWZpZXJJbml0LmNwcApAQCAtMTI5Niw2ICsxMjk4LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFu
Y2VNYXJrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVyZm9ybWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
ZTE0N2VkMWRlZWY4ZjI4MGEyMGUyOWFjMzkyYTVhODIwMTQ2OWI4MS4uZDAyNDYwYWYyZmIwNjkx
OTUzOTMzMDNjOTFkMDg3MTc1MzliYzJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC05NTYsNiArOTU2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
cGFnZS9DcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFn
ZS9FdmVudENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvR2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk3NCw2ICs5NzUsNyBAQCBKU19CSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA4YzRmYTc3MzYyMjc5NmE0OTNmODU4ZmUxNjg1YmJhNTgyYTQ0NDMyLi4yMDE5Y2MxNGI3OWE3
M2YwNDYxZjg5Mjg3NjY3MDRkZGM4Y2JkYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsx
NTgzLDEwIEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFk
YXB0YXRpb25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFn
ZVJlZmVyZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5j
cHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxl
ci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAog
cGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzMSw2ICsyODM0LDcgQEAg
SlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpT
RXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudElu
aXQuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMx
NjEsNiArMzE2NSw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBh
cmFtcy5jcHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1Bl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9y
bWFuY2VNZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWZjYjRj
OTU1MGFhZjJlMWM5YTAzYTczMzlkOGI1ODc0ZWY1NzUyZS4uZjk0NjExZTg5OTEzZDEzYWQ0YjRj
YWY2NzY0YWM2ZWJjZWUxM2VkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzQzNyw2ICszNDM3LDcgQEAKIAkJQTlEMjQ4MDcw
RDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RP
TU1pbWVUeXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1p
bWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE5RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsg
fTsKIAkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bSAqLzsgfTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlE
NjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAw
MkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJz
b3JJbWFnZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFD
NzE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEy
QTVBRDAxNkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVE
NTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ1Miw4
ICszNDUzLDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRo
ZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmggKi87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRo
ZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQTdGRUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICov
OyB9OwogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZB
NEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0
Q0IzNjM1MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyog
QWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZH
Um9vdC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAq
LzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIz
QTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsK
IAkJQUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZB
NUZEIC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIg
LyogTGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ4MCw2
ICsxMjQ4Myw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxl
bWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0
aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyog
RXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVj
aFN5bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVz
aXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5
NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJB
NUFCQTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTI1MTAsNiArMTI1MTUsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyog
SlNTcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9p
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNW
b2ljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QUE5QjA0ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5
QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2
ZW50Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2
MzEwMEJFRjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNj
ZXNzaWJpbGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
QUE3MjhGMjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJ
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEyNTI0LDYgKzEyNTMyLDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFF
QjhBRDUyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBQUVCOEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkg
LyogV2ViU29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViU29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIz
QTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdD
QzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjEyMDAsMTEgKzIxMjExLDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAw
NDU5OEI1IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFB
NEUxOTEwMDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2
NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRD
QjM2MkYwMEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYz
MDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQg
LyogRXZlbnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyog
RXZlbnRIYW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50
U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3Vy
Y2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRs
ICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8s
CisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJ
MTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJ
MTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2
MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEyODks
NiArMjEzMDUsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAw
NzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBC
NTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0
MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NTAs
NiArMzA3NjksNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENv
bnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBF
dmVudENvdW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlD
IC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERC
MzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYx
NDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc2
OCw2ICszMDc4OCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFy
Z2V0Q29uY3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURB
NiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1
MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUFBMTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjY5Nyw2ICszMjcxOCw3IEBACiAJCQkJ
RTNGQTM4NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNB
Q0NDMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
Rjg1MEZFMzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VN
YXJrLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5
MmNiNWM2Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1
MDgxZjdjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9y
bWFuY2VFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQ
ZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAi
SlNQZXJmb3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
TWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50
cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5n
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAg
aWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBhYzM5NjY3ZGNkYzdkNDdhOGRhYzZhZDUxODg4OWI2MjY5
OTY2ZDdkLi40NThkMzNkZmEyMzdkZjliNjBiNWYzNTc4NWI4OWVkNDgwN2FiZjE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
ODUsNiArMTg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xl
dEdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNl
TWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDQ4OTI3YzM2ZWZhYTdjMTk4MmNlNjdmOTIwZGNhZjY0YTMwNDUxMzcu
LjBhMTM0YWQ3YjY1NWVkN2M2NWNhZmYwOGI4MTQ1ODg4ZWU0ODk3OWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtMzE4OCw2ICszMTg4LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQ
YWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1
bFBhaW50ID0gdHJ1ZTsKIH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1p
bmcvI3NlYy1kaXNwYXRjaC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1p
bmdFbnRyaWVzSWZOZWVkZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRp
c3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3Vt
ZW50Ojp3cml0ZShEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5n
JiYgdGV4dCkKIHsKICAgICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBmNWY2ODNhMjA5MTNlODJiZGQ4MDA0NGI4YTJkY2U2ZTc5NTQ1MDRkLi42
ZTc1NTVmMmU1YmNmYzEwOTllMDRkNjg5OGE5NzZjM2ZkYTJmODg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTU3NCw2ICsxNTc0LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1w
dHlDdXN0b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVl
ZGVkKCk7CiAKKyAgICB2b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOwor
CiAgICAgRWRpdG9yJiBlZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVk
aXRvciYgZWRpdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVj
dGlvbiYgc2VsZWN0aW9uKCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFk
OGViMGQ3NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAj
aW5jbHVkZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCkBAIC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2
ZW50KE5vZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRp
b25TdG9wcGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0
RXZlbnRQYXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWlu
Zz4gZXZlbnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkp
CisgICAgICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9j
dW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00o
ZXZlbnQsIGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAg
IGV2ZW50VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5k
b3coKSwgZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzlmMTIyY2FjYzkyYWEx
NTczZDUwZDBkODIxNjM3M2QzYWNlN2QxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudENv
dW50cy5oIgorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlr
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudENvdW50czo6RXZlbnRDb3VudHMo
KQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIGV2ZW50VHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95
ZWQoVmVjdG9yPEF0b21TdHJpbmc+IHsKKyAgICAgICAgLyogTW91c2VFdmVudHMgKi8KKyAgICAg
ICAgZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5jb250ZXh0bWVudUV2ZW50
LCBldmVudE5hbWVzKCkuZGJsY2xpY2tFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkubW91c2VlbnRlckV2ZW50LCBldmVudE5hbWVzKCkubW91
c2VsZWF2ZUV2ZW50LCBldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCwKKyAgICAgICAgZXZlbnRO
YW1lcygpLm1vdXNlb3ZlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50LAorICAgICAg
ICAvKiBQb2ludGVyRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyb3ZlckV2
ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcmVudGVyRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMo
KS5wb2ludGVyZG93bkV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcnVwRXZlbnQsCisgICAgICAg
IGV2ZW50TmFtZXMoKS5wb2ludGVyY2FuY2VsRXZlbnQsIGV2ZW50TmFtZXMoKS5wb2ludGVyb3V0
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVybGVhdmVFdmVudCwgZXZlbnROYW1l
cygpLmdvdHBvaW50ZXJjYXB0dXJlRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5sb3N0cG9p
bnRlcmNhcHR1cmVFdmVudCwKKyAgICAgICAgLyogVG91Y2hFdmVudHMgKi8KKyAgICAgICAgZXZl
bnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsCisg
ICAgICAgIGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2ZW50LAorICAgICAgICAvKiBLZXlib2Fy
ZEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBldmVudE5hbWVz
KCkua2V5cHJlc3NFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmtleXVwRXZlbnQsCisgICAg
ICAgIC8qIElucHV0RXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5iZWZvcmVpbnB1dEV2
ZW50LCBldmVudE5hbWVzKCkuaW5wdXRFdmVudCwKKyAgICAgICAgLyogQ29tcG9zaXRpb25FdmVu
dHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9uc3RhcnRFdmVudCwKKyAgICAg
ICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9udXBkYXRlRXZlbnQsIGV2ZW50TmFtZXMoKS5jb21w
b3NpdGlvbmVuZEV2ZW50LAorICAgICAgICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi8KKyAgICAg
ICAgZXZlbnROYW1lcygpLmRyYWdzdGFydEV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2VuZEV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcmFn
bGVhdmVFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQsIGV2ZW50TmFt
ZXMoKS5kcm9wRXZlbnQsCisgICAgfSk7CisgICAgZm9yIChjb25zdCBhdXRvJiB0eXBlIDogZXZl
bnRUeXBlcy5nZXQoKSkKKyAgICAgICAgbV9tYXAuYWRkKHR5cGUsIDB1KTsKK30KKwordm9pZCBF
dmVudENvdW50czo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYgbWFwKQoreworICAg
IGZvciAoYXV0byYga2V5VmFsdWUgOiBtX21hcCkKKyAgICAgICAgbWFwLnNldDxJRExET01TdHJp
bmcsIElETFVuc2lnbmVkTG9uZ0xvbmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOwor
fQorCit2b2lkIEV2ZW50Q291bnRzOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiBrZXksIHVuc2ln
bmVkIHZhbHVlKQoreworICAgIG1fbWFwLnNldChXVEZNb3ZlKGtleSksIHZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6YWRkKGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRvIGl0
ID0gbV9tYXAuZmluZCh0eXBlKTsKKyAgICBpdC0+dmFsdWUgPSBpdC0+dmFsdWUgKyAxOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50Q291bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmQ1NGZmYTgyOWJhZDAzYTQ1MzhjZmVlNjRmNjQ1ODc5ZDIzMTI5YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApAQCAtMCwwICsxLDU3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIERPTVN0cmlu
ZzsKKworY2xhc3MgRXZlbnRDb3VudHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudENv
dW50cz4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RXZlbnRDb3VudHM+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRXZlbnRDb3VudHMpOyB9CisKKyAgICB2b2lkIGluaXRpYWxp
emVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmlu
ZyYmLCB1bnNpZ25lZCk7CisKKyAgICBjb25zdCBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+JiBt
YXAoKSBjb25zdCB7IHJldHVybiBtX21hcDsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgU3RyaW5n
JiB0eXBlKTsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3Ry
aW5nLCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzk2NGRkNWE1NTY1ZmFkMWQ2
YjQ3ZTYxN2QyMmQwZTRiZGNhODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgewor
ICAgIHJlYWRvbmx5IG1hcGxpa2U8RE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+OworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkyMmY5M2NjODI3MjBl
ZmE5YWRjNzIzZmRlNzI5ODMxZjM2YWEyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRU
aW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisj
aW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRp
bWluZzo6RXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFy
dCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0
KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVu
dFRpbWluZyhjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0
ZWQgZXZlbnRzIG9mIGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0Cisg
ICAgLy8gZXZlbnRzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMg
Zm9yIHdoaWNoIHRoZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlz
cGF0Y2ggdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAv
LyBzaW5jZSBFdmVudENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBw
ZXJjZW50aWxlcyBvbiB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9ldmVudC10aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5p
c1RydXN0ZWQoKQorICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQ
b2ludGVyRXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQu
aXNLZXlib2FyZEV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2
ZW50LmlzSW5wdXRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQo
KSkKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVu
dAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZl
bnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVu
dAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAg
ICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0
ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01X
aW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5
cGVGb3JFdmVudFRpbWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlm
ICghd2luZG93LnBlcmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5w
ZXJmb3JtYW5jZSgpLmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPEV2ZW50VGltaW5nPih3aW5kb3cucGVyZm9ybWFuY2UoKS5yZWxhdGl2ZVRpbWVG
cm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oZXZlbnQudGltZVN0YW1wKCkpLCB3aW5k
b3cucGVyZm9ybWFuY2UoKS5ub3coKSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
RXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXpl
RXZlbnRUaW1pbmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQs
IGV2ZW50LmNhbmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5
YjY3ZGZiNzc0MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xh
c3MgRE9NV2luZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVu
dFRpbWluZz4gY3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBF
dmVudFRpbWluZyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKwor
ICAgIHZvaWQgZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50
Jik7CisKK3ByaXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3By
b2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDIwNjhkYTcwZTdkZjFjM2ZlMWM5MTkxYWNkNTAyNTZiY2RhMjQyMjEuLmNjM2Vm
MDQ4YTNiYWIxNDgzM2MwMjczNjhkYzY4ZmQzNTZlOGU3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMTUxNSw2ICsxNTE1LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygp
CiAgICAgICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAg
ICB9KTsKIAorICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Cisg
ICAgICAgIGRvY3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAg
IH0pOworCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAg
ICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5
NTM2M2U1MWMwYzU1NzYuLmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9y
bWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5n
ZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7Cisg
ICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3Vu
dHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkg
Y29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwog
CisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdElucHV0VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VU
aW1pbmdCdWZmZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkK
ICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBp
ZiAobV9maXJzdElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJ
bnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAg
ICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcx
LDYgKzE4Nyw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNl
OjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50
ZnVsLXBhaW50IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRp
bWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1h
bmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJz
dENvbnRlbnRmdWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXpl
KCkgPj0gMTUwOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7
Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9v
bCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5n
U3RhcnQsIG5vdygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFw
cGVuZChXVEZNb3ZlKGVudHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVu
ZGluZ0V2ZW50VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygp
OworICAgIHdoaWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0
cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJz
dCgpOworICAgICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291
bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQo
ZW50cnktPm5hbWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQo
KHJlbmRlcmluZ1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAg
ICAgIGVudHJ5LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9m
aXJzdElucHV0VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xp
Y2siIHx8IGVudHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1v
dXNlZG93biIpIHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAg
ICAgICAgICAgcXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJh
dGlvbkluTXMgPj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAg
ICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30K
Kwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiBy
ZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
QEAgLTM0Niw3ICs0MDYsNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1h
bmNlRW50cnkmIGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChv
YnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAg
aWYgKG9ic2VydmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNl
cnZlci0+Y2FuT2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVu
dHJ5KGVudHJ5KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkw
NDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4
ZGRjM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRp
bWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNl
cnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1
YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJm
b3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMo
KTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBj
b25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlU
eXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJz
dElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQor
CisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRk
RXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBm
aW5hbGl6ZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRp
bWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQq
KTsKKyAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJl
bW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVy
KFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZh
dGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdh
dGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7Cisg
ICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1h
bmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQg
bV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAg
VGltZXIgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0x
MjksNiArMTQ2LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWlu
Zz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWlu
Zz4gbV91c2VyVGltaW5nOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1f
Zmlyc3RJbnB1dFRpbWluZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0
PFJlZlB0cjxQZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQy
ODM5ZTA1ZjhiLi42OGViNGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRv
dWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1p
bmddIHZvaWQgY2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtF
bmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1
cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBv
cHRpb25hbCBET01TdHJpbmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRp
bWluZ10gdm9pZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7
CisKKyAgICAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVu
c2lvbnMKKyAgICBbRXhwb3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBFdmVudENvdW50cyBldmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9y
bWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJm
MjczNzg5Li4zYWRmNzNhNzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBl
cmZvcm1hbmNlRW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25h
bDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlw
ZVN0cmluZyhjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09
ICJldmVudCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisK
KyAgICBpZiAoZW50cnlUeXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRp
b25hbDxUeXBlPihUeXBlOjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5h
dmlnYXRpb24iKQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlv
bik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkw
YjIxY2JhNjE0ZDc4Y2U4OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4Yjli
YzIzZWRiMmRmMjcxMWY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgK
QEAgLTQ2LDEzICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RhcnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9kdXJhdGlvbjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1f
ZHVyYXRpb24gPSBkdXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAg
TmF2aWdhdGlvbiAgPSAxIDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAg
ICAgICBNZWFzdXJlICAgICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMs
Ci0gICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8
PCA0LAorICAgICAgICBFdmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAg
PSAxIDw8IDYKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBA
IC02NCw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElu
cHV0KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAg
IHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9y
bWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7
CkBAIC03Niw3ICs4MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5n
IG1fbmFtZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91Ymxl
IG1fZHVyYXRpb247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6
VHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0
LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFy
Z2V0KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAs
IG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0Vu
ZChwcm9jZXNzaW5nRW5kKQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBt
X2VudHJ5VHlwZShlbnRyeVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1Jl
ZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVG
aXJzdElucHV0VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQorewor
ICAgIGF1dG8gZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcoZW50cnkubmFtZSgpLCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRy
eS5zdGFydFRpbWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdF
bmQoKSwgZW50cnkuY2FuY2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGlt
aW5nLT5zZXREdXJhdGlvbihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1p
bmc7Cit9CisKK3N0YXRpYyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBp
ZiAoIW5vZGUgfHwgIW5vZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRv
d1Jvb3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVu
dCgpLmlzRnVsbHlBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK05vZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0
Cit7CisgICAgaWYgKCFtX3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQp
OworICAgIHJldHVybiBjYW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisK
K0FTQ0lJTGl0ZXJhbCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAor
eworICAgIHJldHVybiBtX2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlu
cHV0Il9zIDogImV2ZW50Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4
Y2IxYzVjMzJlNjg1ZDRjY2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJs
ZSBwcm9jZXNzaW5nRW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
KHR5cGUsIFR5cGU6OkV2ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2lu
Z0VuZCwgY2FuY2VsYWJsZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9y
bWFuY2VFdmVudFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVs
dDsKKworICAgIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nl
c3NpbmdTdGFydDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9jZXNzaW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5jZWxhYmxlOyB9CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVk
OgorICAgIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgVHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0
YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCop
OworCitwcml2YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50
cnlUeXBlOyB9CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisg
ICAgZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7
CisgICAgYm9vbCBtX2NhbmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVu
dFRhcmdldCogbV90YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykK
KyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYg
ZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsg
fQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2Vm
NzRkNGQ0ZGVlMTkxODM4ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91Ymxl
IERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vZGU/IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0
dHJpYnV0ZSB9OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAKaW5kZXggMTI0ZjRlZThkMTI4Yjc1YWI1OWU4ODk5ZjNlMWE2MGQ0ODcxNjQ3ZS4uZjBk
ODMwYzFiYzc3MmVlMDk2MjBhNmU4MGE5MmE1Njg2NjY3YTRjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC02MCwxMyArNjAsMjQgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAg
ICBpZiAoIW1fcGVyZm9ybWFuY2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJy
b3IgfTsKIAotICAgIGlmIChpbml0LmVudHJ5VHlwZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiZW50cnlUeXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkg
bGlzdCJfcyB9OwotCiAgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IGZpbHRl
cjsKLSAgICBmb3IgKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlIDogaW5pdC5lbnRyeVR5cGVzKSB7
Ci0gICAgICAgIGlmIChhdXRvIHR5cGUgPSBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlw
ZVN0cmluZyhlbnRyeVR5cGUpKQotICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CisgICAg
aWYgKGluaXQuZW50cnlUeXBlcykgeworICAgICAgICBpZiAoaW5pdC5lbnRyeVR5cGVzLT5pc0Vt
cHR5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiZW50cnlU
eXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkgbGlzdCJfcyB9OworICAgICAgICBmb3IgKGNvbnN0IFN0
cmluZyYgZW50cnlUeXBlIDogKmluaXQuZW50cnlUeXBlcykgeworICAgICAgICAgICAgaWYgKGF1
dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlw
ZSkpCisgICAgICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoaW5pdC50eXBlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJubyB0eXBlIG9yIGVudHJ5VHlwZSB3ZXJlIHBy
b3ZpZGVzIl9zIH07CisgICAgICAgIGF1dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNl
RW50cnlUeXBlU3RyaW5nKGluaXQudHlwZSk7CisgICAgICAgIGlmICghdHlwZSkKKyAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJ0eXBlIHdhcyBub3QgcmVjb2duaXpl
ZCJfcyB9OworICAgICAgICBpZiAodHlwZSA9PSBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpFdmVu
dCAmJiBpbml0LmR1cmF0aW9uVGhyZXNob2xkKQorICAgICAgICAgICAgbV9kdXJhdGlvblRocmVz
aG9sZCA9IHN0ZDo6bWF4KDE2LjAsICppbml0LmR1cmF0aW9uVGhyZXNob2xkKTsKKworICAgICAg
ICBmaWx0ZXIuYWRkKCp0eXBlKTsKICAgICB9CiAKICAgICBpZiAoZmlsdGVyLmlzRW1wdHkoKSkK
QEAgLTExOCw2ICsxMjksOCBAQCBWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpz
dXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmCiAgICAgVmVjdG9yPFN0
cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5v
cmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAg
ICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAorICAgICAgICAiZXZlbnQiX3MsCisgICAgICAgICJm
aXJzdC1pbnB1dCJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFzdXJlIl9zCiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKaW5kZXggZWMx
MTE4OWZiODNhODZhOTFlYTNlODEyMmM0YTY3ZWIyODIxYjZhNi4uOTNlMDFiMmI5MGUzMjJiMGFj
NDBiYjEyMmY2NmU4MWU3NjJkNjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgKQEAgLTQxLDcgKzQxLDkgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3Jt
YW5jZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgc3RydWN0IEluaXQgewotICAgICAgICBWZWN0
b3I8U3RyaW5nPiBlbnRyeVR5cGVzOworICAgICAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4g
ZW50cnlUeXBlczsKKyAgICAgICAgU3RyaW5nIHR5cGU7CisgICAgICAgIE9wdGlvbmFsPERPTUhp
Z2hSZXNUaW1lU3RhbXA+IGR1cmF0aW9uVGhyZXNob2xkOwogICAgIH07CiAKICAgICBzdGF0aWMg
UmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQpAQCAt
NjQsNiArNjYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlZ2lzdGVyZWQoKSBjb25zdCB7IHJl
dHVybiBtX3JlZ2lzdGVyZWQ7IH0KICAgICBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2smIGNh
bGxiYWNrKCkgeyByZXR1cm4gbV9jYWxsYmFjay5nZXQoKTsgfQogCisgICAgYm9vbCBjYW5PYnNl
cnZlKGNvbnN0IFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSBjb25zdCB7IHJldHVybiBlbnRyeS50
eXBlKCkgIT0gUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6RXZlbnQgfHwgZW50cnkuZHVyYXRpb24o
KSA+PSBtX2R1cmF0aW9uVGhyZXNob2xkOyB9CisKIHByaXZhdGU6CiAgICAgUGVyZm9ybWFuY2VP
YnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJD
YWxsYmFjaz4mJik7CiAKQEAgLTcyLDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBSZWY8UGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIE9wdGlvblNldDxQZXJmb3Jt
YW5jZUVudHJ5OjpUeXBlPiBtX3R5cGVGaWx0ZXI7CiAgICAgYm9vbCBtX3JlZ2lzdGVyZWQgeyBm
YWxzZSB9OworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbV9kdXJhdGlvblRocmVzaG9sZCB7IDEw
NCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMzBlOGRlMWZhOGFkMjBhOTg3NzhiODE2ZGZm
OWFlNDQzYjcwY2E4Ni4uODIwOTFjNTQwZDg0MDBhOTU2NzgwNGU1Y2IyZWYzYzRmNmEzMzc0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCkBAIC0yNSw2
ICsyNSw4IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGlu
ZS8KIAordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwogWwogICAgIEN1c3Rv
bUlzUmVhY2hhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGluZSwK
QEAgLTQwLDUgKzQyLDcgQEAKIH07CiAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlcklu
aXQgewotICAgIHJlcXVpcmVkIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKKyAgICBz
ZXF1ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CisgICAgRE9NU3RyaW5nIHR5cGU7CisgICAg
RE9NSGlnaFJlc1RpbWVTdGFtcCBkdXJhdGlvblRocmVzaG9sZDsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IGQwMTc4NGM3YWE0Yjc2ZDZj
M2NkMjU5NzkyMzI0YTYwNTI5YTFmNzAuLjNlMzI0NmIyOTgzZmVjOGIyZmUzNGI0M2ZhZTRjZjdl
OTk2MTJjOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCkBAIC00MDYsNyArNDA2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNMaW5rUHJlZmV0
Y2hFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNNZWRpYVByZWxvYWRpbmdFbmFibGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNQYWludFRpbWluZ0VuYWJsZWQgeyBmYWxzZSB9Owot
ICAgIGJvb2wgbV9pc1Jlc291cmNlVGltaW5nRW5hYmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBt
X2lzUmVzb3VyY2VUaW1pbmdFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc1VzZXJUaW1p
bmdFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0
aW9uRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzV2ViQXV0aGVudGljYXRpb25FbmFi
bGVkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMjhlYTUwNjI2ZDIyNTNmNGFjOGE1M2ViYWY2MmQ2NWNl
YTBmNWQ4Li41NDgxMGVjNGQ4OWIxY2VkZTMyN2JmNzZlMTAxYzcwNDM3ODAyYjZmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjAtMDctMjggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
KworICAgICAgICBJbXBsZW1lbnQgRXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIwLTA3
LTI0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNP
UyBXSzEgRVdTXSBjb21wb3NpdGluZy9yZXBhaW50L2lmcmFtZXMgdGVzdHMgYXJlIGZsYWt5IGZh
aWx1cmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhYjcyMzBlZDMyNmIxMjAx
YmFmNjQzZTQzZGU5NThmZTQ5Y2EzMTgzLi5hNzZlZjEyYTU5MjA1OGJlNTg2NDM4NzViOTdkZGMx
YWRkNzRhYjhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDYg
QEAKKzIwMjAtMDctMjggIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJ
bXBsZW1lbnQgRXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9h
dXhjbGljay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFu
ZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xp
Y2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVu
dS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGlj
ay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZGJsY2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJn
ZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1jbGljay1jb3VudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50
cy16ZXJvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVu
dC1yZXRhcmdldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRv
dy1kb20uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5q
czogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0
aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0
aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlZG93bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZWxlYXZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2VvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tb3VzZXVwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29u
bHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cmVudGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3BvaW50ZXJvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVydXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3Np
ZnJhbWUtY2hpbGRmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qczogQWRk
ZWQuCisgICAgICAgIChhc3luYyBjbGlja09uRWxlbWVudEFuZERlbGF5KToKKyAgICAgICAgKG1h
aW5UaHJlYWRCdXN5KToKKyAgICAgICAgKHZlcmlmeUV2ZW50KToKKyAgICAgICAgKHZlcmlmeUNs
aWNrRXZlbnQpOgorICAgICAgICAod2FpdCk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAg
ICAgIChhcHBseUFjdGlvbik6CisgICAgICAgIChyZXF1aXJlc0xpc3RlbmVyKToKKyAgICAgICAg
KG5vdENhbmNlbGFibGUpOgorICAgICAgICAodGVzdENvdW50cyk6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weTogQWRkZWQu
CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxp
dHkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVk
LXR5cGVzLndpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBl
cy53aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25k
aXRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvdG9KU09OLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAt
MDctMjMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3Vw
cG9ydCBmb3IgU1ZHQUVsZW1lbnQncyByZWwgLyByZWxMaXN0IGF0dHJpYnV0ZXMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9u
cy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0
YXRpb25zLmpzb24KaW5kZXggMTU2ZDgwMGZiMDRiZWEzMTg5ZDY0NDRkYzY1ZDYwZDk0YjM5NGE1
Mi4uNTNlMDBjZTg0MzI5NGJlNGVhMzJjYjU1ZWRhN2EzN2NmZTVkNzMxYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0
YXRpb25zLmpzb24KQEAgLTE4MCw2ICsxODAsOCBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
ZW5jcnlwdGVkLW1lZGlhIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZW5j
cnlwdGVkLW1lZGlhL0dvb2dsZSI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9l
bnRyaWVzLWFwaSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmciOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvIjog
ImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3VyY2UiOiAiaW1wb3J0
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9leHQteGh0bWwtcHViaWQiOiAic2tpcCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmVhdHVyZS1wb2xpY3kiOiAic2tpcCIsIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTI3ZmI2MWMzMTBkOTFiNjI5
ZmYwZDdiMTljZDAxY2U0NjllNjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwKQEAgLTAs
MCArMSwzIEBACitzcGVjOiBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9ldmVudC10aW1pbmcKK3N1
Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gbnBtMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOTU2NmExOWVjZDJj
MDY4MTE3OWRlMDdlM2JjZjExMjg1ZTIzNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitGQUlMIEV2ZW50IFRpbWlu
ZyBhdXhjbGljay4gYXNzZXJ0X2VxdWFsczogTm8gZXZlbnRzIHlldC4gZXhwZWN0ZWQgKG51bWJl
cikgMCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGlj
ay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvYXV4Y2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODgzMjhlMmFhMzY3MTVlODE2NWM2
ZWIyNzdiZTQ5ZjdkMTg5NjU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbApAQCAt
MCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBhdXhjbGljay48L3RpdGxlPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5n
LXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPkNsaWNrIG1lPC9kaXY+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RF
dmVudFR5cGUodCwgJ2F1eGNsaWNrJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVm
ZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFi
MWZhYjYwNjY2YTk2OWJkMmE0ODMzYTY4MTFlODg1YWVkNTM1NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGJ1ZmZlcmluZyBpbmRl
cGVuZGVudCBvZiBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5k
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY2YmU3NjYzYzExNGQxMDU1ODY2YzU5ZjA3NWZmNTM1MmFjZmNk
ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLmh0
bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0
aCBidWZmZXJlZCBmbGFnIGFuZCBkdXJhdGlvblRocmVzaG9sZDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rp
dj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGFzc2VydF9pbXBsZW1l
bnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBz
dXBwb3J0ZWQuJyk7CisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgYW5kIG9ic2VydmUg
d2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDMwIGFuZCBidWZmZXJlZCBmbGFnLgorICByZXR1
cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZTEgPT4geworICAgIC8vIEFkZCBhIHNsb3cgY2xp
Y2sgZXZlbnQgYW5kIG1ha2Ugc3VyZSBpdCdzIGRpc3BhdGNoZWQgdG8gb2JzZXJ2ZXJzLgorICAg
IGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUyID0+IHsKKyAgICAgIC8vIE9ic2VydmVy
IHRvIGF3YWl0IHVudGlsIGV2ZW50IGVudHJ5IGlzIGRpc3BhdGNoZWQuCisgICAgICBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcigoKSA9PiB7CisgICAgICAgIHJlc29sdmUyKCk7CisgICAgICB9KS5v
YnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9sZDogMTZ9KTsKKyAgICAgIGF3
YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXkoJ215RGl2JywgMzApOworICAgIH0pOworICAgIGNv
bnN0IGFmdGVyRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGxpc3QgPT4geworICAgICAgY29uc3QgbW91c2VEb3du
cyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICBpZiAobW91c2VE
b3ducy5sZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKyAgICAgIGFzc2VydF9lcXVhbHMo
bW91c2VEb3ducy5sZW5ndGgsIDEsICdTaG91bGQgb25seSBvYnNlcnZlIDEgY2xpY2shJyk7Cisg
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKG1vdXNlRG93bnNbMF0ucHJvY2Vzc2luZ1N0YXJ0LCBh
ZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICdUaGUgZW50cnkgc2hvdWxkIG5vdCBiZSB0aGUgZmly
c3QgY2xpY2shIScpOworICAgICAgdmVyaWZ5Q2xpY2tFdmVudChtb3VzZURvd25zWzBdLCAnbXlE
aXYnLCBmYWxzZSAvKiBpc0ZpcnN0ICovLCAxNiAvKiBtaW5EdXJhdGlvbiovKTsKKyAgICAgIHJl
c29sdmUxKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVudCcsIGR1cmF0aW9uVGhyZXNo
b2xkOiAxNiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICAvLyBUaGlzIHNob3VsZCBiZSB0aGUgb25s
eSBjbGljayBvYnNlcnZlZCBzaW5jZSB0aGUgb3RoZXIgb25lIHdvdWxkIG5vdCBiZSBidWZmZXJl
ZC4KKyAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdteURpdicsIDMwKTsKKyAgfSk7
Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBidWZmZXJpbmcgaW5kZXBlbmRlbnQgb2YgZHVyYXRp
b25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQt
ZmxhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xNzYwNGMyOGUxMmYzOTgwNzBmYTJlZmQ4NzkxM2M1NjM1OTRmMjBjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitHZW5lcmF0
ZSBhICdjbGljaycgZXZlbnQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBu
dWxsCisKK1RJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2Vl
cyBwcmV2aW91cyBFdmVudCBUaW1pbmcgZW50cmllcyBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9idWZmZXJlZC1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2VlMTUyYmU5Mzg4ZmE4NTkzYzNjMmE4NTk4MWE3Y2IwZWQ3NDkyYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2J1ZmZlcmVkLWZsYWcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVy
Zm9ybWFuY2VPYnNlcnZlciBzZWVzIGVudHJpZXMgd2l0aCBidWZmZXJlZCBmbGFnPC90aXRsZT4K
KzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMv
ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBsZXQgZmly
c3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgbGV0IGV2ZW50U2VlbiA9IGZhbHNlOworICBhc3luY190
ZXN0KHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgY29uc3QgdmFs
aWRhdGVFbnRyeSA9IHQuc3RlcF9mdW5jKGVudHJ5ID0+IHsKKyAgICAgIGlmIChlbnRyeS5lbnRy
eVR5cGUgPT09ICdmaXJzdC1pbnB1dCcpCisgICAgICAgIGZpcnN0SW5wdXRTZWVuID0gdHJ1ZTsK
KyAgICAgIGVsc2UgaWYgKGVudHJ5LmVudHJ5VHlwZSA9PT0gJ2V2ZW50JykKKyAgICAgICAgZXZl
bnRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnU2hv
dWxkIG9ubHkgb2JzZXJ2ZSBFdmVudCBUaW1pbmcgZW50cmllcyEnKTsKKyAgICB9KTsKKyAgICAv
LyBGaXJzdCBvYnNlcnZlciBjcmVhdGVzIHNlY29uZCBpbiBjYWxsYmFjayB0byBlbnN1cmUgdGhl
IGVudHJ5IGhhcyBiZWVuIGRpc3BhdGNoZWQgYnkgdGhlIHRpbWUKKyAgICAvLyB0aGUgc2Vjb25k
IG9ic2VydmVyIGJlZ2lucyBvYnNlcnZpbmcuCisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
KGxpc3QsIG9icykgPT4geworICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaCh2YWxpZGF0
ZUVudHJ5KTsKKyAgICAgIGlmICghZmlyc3RJbnB1dFNlZW4gfHwgIWV2ZW50U2VlbikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgICBvYnMuZGlzY29ubmVjdCgpOworICAgICAgZmlyc3RJbnB1dFNl
ZW4gPSBmYWxzZTsKKyAgICAgIGV2ZW50U2VlbiA9IGZhbHNlOworICAgICAgLy8gU2Vjb25kIG9i
c2VydmVyIHJlcXVpcmVzICdidWZmZXJlZDogdHJ1ZScgdG8gc2VlIGVudHJpZXMuCisgICAgICBj
b25zdCBidWZmZXJlZE9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0
ID0+IHsKKyAgICAgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2godmFsaWRhdGVF
bnRyeSk7CisgICAgICAgICAgaWYgKGZpcnN0SW5wdXRTZWVuICYmIGV2ZW50U2VlbikKKyAgICAg
ICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7CisgICAgICBidWZmZXJlZE9ic2VydmVyLm9ic2Vy
dmUoe3R5cGU6ICJldmVudCIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAgICBidWZmZXJlZE9ic2Vy
dmVyLm9ic2VydmUoe3R5cGU6ICdmaXJzdC1pbnB1dCcsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAg
fSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCcsICdmaXJzdC1pbnB1dCddfSk7CisgICAg
Y2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciB3
aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBUaW1pbmcgZW50cmllcyIpOwor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGlj
ay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRhYjliZGFhY2M2MzFhNzNmZGFiODkwNmExZTk4
NWQ1ZWI2NTg1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0g
bnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBjbGljay4gVGVzdCB0aW1lZCBvdXQKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMmJmOTcxZDJlN2QzMTFkMDVkMGVhMjg1MTU4YjQ0NTg3OGNlMTQw
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1pbmc6IGNv
bXBhcmUgY2xpY2sgdGltaW5ncy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y2xpY2stdGltaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ5NDNmOTU5MGE5ZjJkZjgzZWU4NDE1MDM4
NzhmMWU0NTUxMDdhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sCkBAIC0w
LDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBjb21wYXJlIHRpbWluZyBvZiB0d28gbG9uZyBjbGlj
a3MKKzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVu
dDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dD4KKyAgLyogVGltZWxpbmU6CisgICAgIE9ic2VydmVyIHN0YXJ0cworICAgICBMb25nIGNsaWNr
IDEKKyAgICAgTG9uZyBjbGljayAyCisgICAgIE9uY2UgdHdvIGNsaWNrcyBoYXZlIGJlZW4gcmVj
ZWl2ZWQgYnkgb2JzZXJ2ZXIsIGNvbXBhcmUgdGhlIHRpbWVzdGFtcHMuCisgICovCisgIGxldCB0
aW1lQmVmb3JlRmlyc3RDbGljazsKKyAgbGV0IHRpbWVBZnRlckZpcnN0Q2xpY2s7CisgIGxldCB0
aW1lQWZ0ZXJTZWNvbmRDbGljazsKKyAgbGV0IG9ic2VydmVkRW50cmllcyA9IFtdOworICBhc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9y
bWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAg
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAg
ICBvYnNlcnZlZEVudHJpZXMgPSBvYnNlcnZlZEVudHJpZXMuY29uY2F0KGVudHJ5TGlzdC5nZXRF
bnRyaWVzKCkuZmlsdGVyKAorICAgICAgICBlbnRyeSA9PiBlbnRyeS5uYW1lID09PSAnbW91c2Vk
b3duJykpOworICAgICAgaWYgKG9ic2VydmVkRW50cmllcy5sZW5ndGggPCAyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVCZWZvcmVGaXJzdENsaWNrLCB1
bmRlZmluZWQpOworICAgICAgYXNzZXJ0X25vdF9lcXVhbHModGltZUFmdGVyRmlyc3RDbGljaywg
dW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVBZnRlclNlY29uZENsaWNr
LCB1bmRlZmluZWQpOworICAgICAgLy8gRmlyc3QgY2xpY2suCisgICAgICB2ZXJpZnlDbGlja0V2
ZW50KG9ic2VydmVkRW50cmllc1swXSwgJ2J1dHRvbicpOworICAgICAgYXNzZXJ0X2JldHdlZW5f
ZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1swXS5wcm9jZXNzaW5nU3RhcnQsCisgICAgICAgICAg
dGltZUJlZm9yZUZpcnN0Q2xpY2ssCisgICAgICAgICAgdGltZUFmdGVyRmlyc3RDbGljaywKKyAg
ICAgICAgICAiRmlyc3QgY2xpY2sncyBwcm9jZXNzaW5nU3RhcnQiKTsKKyAgICAgIGFzc2VydF9n
cmVhdGVyX3RoYW4odGltZUFmdGVyRmlyc3RDbGljaywgb2JzZXJ2ZWRFbnRyaWVzWzBdLnN0YXJ0
VGltZSwKKyAgICAgICAgICAidGltZUFmdGVyRmlyc3RDbGljayBzaG91bGQgYmUgbGF0ZXIgdGhh
biBmaXJzdCBjbGljaydzIHN0YXJ0IHRpbWUuIik7CisKKyAgICAgIC8vIFNlY29uZCBjbGljay4K
KyAgICAgIHZlcmlmeUNsaWNrRXZlbnQob2JzZXJ2ZWRFbnRyaWVzWzFdLCAnYnV0dG9uJyk7Cisg
ICAgICBhc3NlcnRfYmV0d2Vlbl9leGNsdXNpdmUob2JzZXJ2ZWRFbnRyaWVzWzFdLnByb2Nlc3Np
bmdTdGFydCwKKyAgICAgICAgICB0aW1lQWZ0ZXJGaXJzdENsaWNrLAorICAgICAgICAgIHRpbWVB
ZnRlclNlY29uZENsaWNrLAorICAgICAgICAgICJTZWNvbmQgY2xpY2sncyBwcm9jZXNzaW5nU3Rh
cnQiKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVyU2Vjb25kQ2xpY2ssIG9i
c2VydmVkRW50cmllc1sxXS5zdGFydFRpbWUsCisgICAgICAgICAgInRpbWVBZnRlclNlY29uZENs
aWNrIHNob3VsZCBiZSBsYXRlciB0aGFuIHNlY29uZCBjbGljaydzIHN0YXJ0IHRpbWUuIik7Cisg
ICAgICB0LmRvbmUoKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAgIHRp
bWVCZWZvcmVGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgY2xpY2tBbmRCbG9j
a01haW4oJ2J1dHRvbicpLnRoZW4oICgpID0+IHsKKyAgICAgIHRpbWVBZnRlckZpcnN0Q2xpY2sg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50
aGVuKCgpID0+IHsKKyAgICAgICAgdGltZUFmdGVyU2Vjb25kQ2xpY2sgPSBwZXJmb3JtYW5jZS5u
b3coKTsKKyAgICAgIH0pCisgICAgfSk7CisgIH0sICJFdmVudCBUaW1pbmc6IGNvbXBhcmUgY2xp
Y2sgdGltaW5ncy4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2NsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNlZWNhYmRmMTg3OGM4ZjBmNzc3NWIwYjBkNTg3
Y2E5MDkwOWZlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwKQEAgLTAsMCArMSwxNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRs
ZT5FdmVudCBUaW1pbmcgY2xpY2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAg
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdj
bGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVu
dS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBk
ZWM3YmVmZjYzNDA4MDlmMDcwZWNiYzFiMmIzODc3MGUxMzJlMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NvbnRleHRtZW51LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK01lbnUKKworSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5n
IGNvbnRleHRtZW51LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY29udGV4dG1lbnUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWEwNWEzYjE2MzllMzlkYzY2ZmJk
ZTgzZjE2MTBhZmZlZjQ3NTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBjb250ZXh0bWVudS48L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnIGNvbnRleHRt
ZW51PSJteW1lbnUiPk1lbnUKKzxtZW51IHR5cGU9ImNvbnRleHQiIGlkPSJteW1lbnUiPgorICA8
bWVudWl0ZW0gbGFiZWw9ImxhYmVsIj48L21lbnVpdGVtPgorPC9tZW51PgorPC9kaXY+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5
cGUodCwgJ2NvbnRleHRtZW51Jyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYzJmZGNlZWNkOTk0NzY5MjQzZmYxYmFkMTA3OGY3ZjdjZDlmM2MwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50ICAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nOiBlbnRyaWVzIHNob3VsZCBvbmx5
IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZi
ZDI4OTdhZDRiYjViZmQ0ZWRlYjJjZGMxN2FmYzQzOGUzNzk2MgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2Nyb3NzaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKworPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKyAgPHRpdGxlPkV2ZW50IFRp
bWluZzogZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2YWJsZSBieSBpdHMgb3duIGZyYW1lLjwvdGl0
bGU+CisgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPC9oZWFkPgorCis8
Ym9keT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0
b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVz
b3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGlmcmFtZSBpZD0n
aWZyYW1lJyBzcmM9cmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbD48L2lmcmFt
ZT4KKzxzY3JpcHQ+CisgIGxldCBjbGlja1RpbWVNaW47CisgIGxldCBjbGlja0RvbmU7CisKKyAg
ZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKGVudHJpZXMpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxLCAiT25seSAxIGVudHJ5IHNob3VsZCBiZSByZWNlaXZlZCIpOworICAg
IGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCAn
YnV0dG9uJywgdHJ1ZSk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGVudHJ5LnByb2Nlc3NpbmdT
dGFydCwgY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZyBzdGFydCBz
aG91bGQgYmUgYmVmb3JlIGNsaWNrRG9uZS4iKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVu
dHJ5LnN0YXJ0VGltZSwgY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVudHJ5J3Mgc3RhcnQg
dGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiBjbGlja1RpbWVNaW4uIik7CisgIH0KKworICBmdW5j
dGlvbiB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRhKSB7CisgICAgaWYg
KGNoaWxkRnJhbWVEYXRhID09PSAiZmFpbGVkIikgeworICAgICAgYXNzZXJ0X3VucmVhY2hlZCgi
RGlkIG5vdCByZWNlaXZlIGV4YWN0bHkgb25lIGVudHJ5IGZyb20gY2hpbGQgYXMgZXhwZWN0ZWQi
KTsKKyAgICB9CisgICAgLy8gfGNoaWxkRnJhbWVEYXRhfCBoYXMgcHJvcGVydGllcyB3aXRoIHRo
ZSBzYW1lIG5hbWVzIGFzIGl0cworICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgY291bnRl
cnBhcnQuCisgICAgdmVyaWZ5Q2xpY2tFdmVudChjaGlsZEZyYW1lRGF0YSwgbnVsbCk7CisgICAg
YXNzZXJ0X2VxdWFscyhjaGlsZEZyYW1lRGF0YS50YXJnZXQsICdpZnJhbWVfZGl2Jyk7CisKKyAg
ICBhc3NlcnRfbGVzc190aGFuKGNoaWxkRnJhbWVEYXRhLnByb2Nlc3NpbmdTdGFydCwgY2hpbGRG
cmFtZURhdGEuY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZyBzdGFy
dCBzaG91bGQgYmUgYmVmb3JlIHRoYW4gdGhlIGNoaWxkIGZyYW1lJ3MgY2xpY2tEb25lLiIpOwor
ICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oY2hpbGRGcmFtZURhdGEuc3RhcnRUaW1lLCBjaGlsZEZy
YW1lRGF0YS5jbGlja1RpbWVNaW4sCisgICAgICAgICJUaGUgZW50cnkncyBzdGFydCB0aW1lIHNo
b3VsZCBiZSBsYXRlciB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIFwKKyAgICAgICAgY2xpY2tUaW1l
TWluLiIpOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGFzc2VydF9p
bXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAiRXZlbnQgVGltaW5nIGlz
IG5vdCBzdXBwb3J0ZWQiKTsKKyAgICBjbGlja1RpbWVNaW4gPSBwZXJmb3JtYW5jZS5ub3coKTsK
KyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25zdCBvYnNlcnZlclBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKHQuc3RlcF9mdW5jKGVudHJpZXMgPT4geworICAgICAgICBjb25zdCBtb3VzZURvd25z
ID0gZW50cmllcy5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICAgICAgLy8gSWdu
b3JlIHRoZSBjYWxsYmFjayBpZiB0aGVyZSB3ZXJlIG5vIG1vdXNlZG93biBlbnRyaWVzLgorICAg
ICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwKKyAgICAgICAgICAgICJPYnNl
cnZlciBvZiBtYWluIGZyYW1lcyBzaG91bGQgb25seSBjYXB0dXJlIG1haW4tZnJhbWUgZXZlbnQt
dGltaW5nIGVudHJpZXMiKTsKKyAgICAgICAgdmFsaWRhdGVFbnRyaWVzKG1vdXNlRG93bnMpOwor
ICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgfSk7CisgICAgYXdhaXQgY2xp
Y2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIGNsaWNrRG9uZSA9IHBlcmZvcm1hbmNlLm5v
dygpOworICAgIGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKyAgICBjb25zdCBjaGlsZEZyYW1lRW50
cmllc1Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAgIHJlc29sdmUoZXZl
bnQuZGF0YSk7CisgICAgICB9LCBmYWxzZSk7CisgICAgfSk7CisKKyAgICBsZXQgaWZyYW1lID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOworICAgIGNvbnN0IGlmcmFtZVggPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykub2Zmc2V0TGVmdDsKKyAgICBjb25zdCBp
ZnJhbWVZID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLm9mZnNldFRvcDsKKyAg
ICAvLyBUYXAgb24gdGhlIGlmcmFtZSwgd2l0aCBhbiBvZmZzZXQgb2YgMTAgdG8gdGFyZ2V0IHRo
ZSBkaXYgaW5zaWRlIGl0LgorICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0
aW9ucygpCisgICAgICAgIC5wb2ludGVyTW92ZShpZnJhbWVYICsgMTAsIGlmcmFtZVkgKyAxMCkK
KyAgICAgICAgLnBvaW50ZXJEb3duKCkKKyAgICAgICAgLnBvaW50ZXJVcCgpCisgICAgYWN0aW9u
cy5zZW5kKCk7CisgICAgY29uc3QgY2hpbGRGcmFtZURhdGEgPSBhd2FpdCBjaGlsZEZyYW1lRW50
cmllc1Byb21pc2U7CisgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgIHZhbGlkYXRlQ2hpbGRGcmFt
ZUVudHJpZXMoY2hpbGRGcmFtZURhdGEpOworICAgIH0pOworICB9LCAiRXZlbnQgVGltaW5nOiBl
bnRyaWVzIHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS4iKTsKKwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MwZTQzOTg1NjUyNzY3
N2Q5ZTZkZmYyNzQ2ODk3Y2UzNmI0MjgwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorQ2xpY2sgbWUKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQg
VGltaW5nIGRibGNsaWNrLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZGJsY2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNmY2ZkMzBkZTA1MWFlNzIyN2U4NDNm
MjdlMmIyN2UwMTdjOTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAv
PgorPHRpdGxlPkV2ZW50IFRpbWluZyBkYmxjbGljay48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
YWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12
ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRl
c3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdkYmxjbGljaycpOworICB9KQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ4Y2Qw
Mjk1NmQxMThlMTdmNjg2NDYyMGI2Yzg1Yzk1MjU5NDA5MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rp
c2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBFdmVu
dCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwgZW50cnkudGFyZ2V0IHJldHVy
bnMgbnVsbC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25u
ZWN0LXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkNjc3MGQzMTg4ZGNiNWIyMzgwNmQxYWIwM2Q3
N2U3NmU0ZTEzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCkBA
IC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPGJ1dHRv
biBpZD0ndGhlX2J1dHRvbic+Q2xpY2tNZTwvYnV0dG9uPgorCis8c2NyaXB0PgorYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGNvbnN0IG9i
c2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmNfZG9uZSgoZW50cnlM
aXN0KSA9PiB7CisgICAgY29uc3QgZW50cmllcyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmls
dGVyKGUgPT4gZS5uYW1lID09PSAnbW91c2Vkb3duJyk7CisgICAgaWYgKGVudHJpZXMubGVuZ3Ro
ID09PSAwKQorICAgICAgcmV0dXJuOworICAgIC8vIFRoZXJlIG11c3Qgb25seSBiZSBvbmUgY2xp
Y2sgZW50cnkuCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgY29u
c3QgZW50cnkgPSBlbnRyaWVzWzBdOworICAgIC8vIFRoaXMgY2hlY2tzIHRoYXQgZW50cnkudGFy
Z2V0IHJldHVybnMgdGhlIGNvcnJlY3QgYnV0dG9uIE5vZGUuCisgICAgdmVyaWZ5Q2xpY2tFdmVu
dChlbnRyeSwgJ3RoZV9idXR0b24nLCB0cnVlKTsKKyAgICBjb25zdCBidXR0b24gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGhlX2J1dHRvbicpOworICAgIGJ1dHRvbi5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKGJ1dHRvbik7CisgICAgLy8gQWZ0ZXIgcmVtb3ZpbmcgdGhlIGJ1dHRvbiwgZW50
cnkudGFyZ2V0IHNob3VsZCBub3cgcmV0dXJuIG51bGwuCisgICAgYXNzZXJ0X2VxdWFscyhlbnRy
eS50YXJnZXQsIG51bGwpOworICB9KSk7CisgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6
IFsnZXZlbnQnXX0pOworICBjbGlja0FuZEJsb2NrTWFpbigndGhlX2J1dHRvbicpOworfSwgIkV2
ZW50IFRpbWluZzogd2hlbiB0YXJnZXQgaXMgZGlzY29ubmVjdGVkLCBlbnRyeS50YXJnZXQgcmV0
dXJucyBudWxsLiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGlj
ay1jb3VudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xM2RkMTExY2RiNmNmMGZhZDU3MThiMjNmZDFmOTkzNTI4Yzk2ZjNhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK0NsaWNrIG1lCitDbGljayBtZQorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLiBUZXN0IHRp
bWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNs
aWNrLWNvdW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNjU2M2I5NTgxOGFjNTZhZGJjMDZjOTM3NDc5
ODcwMGVkNDEyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J2Rpdic+Q2xpY2sgbWU8L2Rp
dj4KKzxidXR0b24gaWQ9J2J1dHRvbic+Q2xpY2sgbWU8L2J1dHRvbj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdCggdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LkV2ZW50Q291
bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0IHN1cHBvcnRlZCIpOworICAgIGZ1bmN0aW9uIHRlc3RD
bGlja3MoZXhwZWN0ZWRDb3VudCwgcmVzb2x2ZSkgeworICAgICAgY29uc3QgY2xpY2tDb3VudCA9
IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnY2xpY2snKTsKKyAgICAgIGlmIChjbGlja0Nv
dW50IDwgZXhwZWN0ZWRDb3VudCkgeworICAgICAgICB0LnN0ZXBfdGltZW91dChmdW5jdGlvbigp
IHsKKyAgICAgICAgICB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUpOworICAgICAg
ICB9LCA1KTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhj
bGlja0NvdW50LCBleHBlY3RlZENvdW50LCdJbmNvcnJlY3QgY2xpY2sgY291bnQuJyk7CisgICAg
ICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnbW91c2Vkb3duJyks
IGV4cGVjdGVkQ291bnQsICdJbmNvcnJlY3QgbW91c2Vkb3duIGNvdW50Jyk7CisgICAgICBhc3Nl
cnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnbW91c2V1cCcpLCBleHBlY3Rl
ZENvdW50LCAnSW5jb3JyZWN0IG1vdXNldXAgY291bnQuJyk7CisgICAgICByZXNvbHZlKCk7Cisg
ICAgfQorICAgIGZ1bmN0aW9uIHByb21pc2VDbGlja3MoZXhwZWN0ZWRDb3VudCkgeworICAgICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB0ZXN0Q2xpY2tzKGV4cGVj
dGVkQ291bnQsIHJlc29sdmUpCisgICAgICB9KTsKKyAgICB9CisKKyAgICByZXR1cm4gdGVzdF9k
cml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpKS50aGVuKCgpID0+IHsK
KyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDEpOworICAgIH0pLnRoZW4oKCkgPT4geworICAg
ICAgcmV0dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0
b24nKSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gcHJvbWlzZUNsaWNrcygy
KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiB0ZXN0X2RyaXZlci5jbGljayhk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2JykpOworICAgIH0pLnRoZW4oKCkgPT4geworICAg
ICAgcmV0dXJuIHByb21pc2VDbGlja3MoMyk7CisgICAgfSk7CisgIH0pCis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50
LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWM5ZGMyNDE5NGM1YzA0NTMz
N2QwMDc3YjJhZGU4MGQwOTY5MzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXpl
cm8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIEV2ZW50IFRpbWluZzogZXZl
bnRDb3VudHMuIGFzc2VydF9lcXVhbHM6IFRoZXJlIGlzIGEgbm9uemVybyB2YWx1ZSBmb3IgYXV4
Y2xpY2sgZXhwZWN0ZWQgKG51bWJlcikgMCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZWM5MGRkNjkxMzhmMzUxOTc3NzQyMzlkZmMxMmY1NTRjOTI4NGIy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbApAQCAtMCwwICsxLDU4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHRlc3QoKCkgPT4geworICAgIGFzc2VydF9p
bXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBpc24ndCBzdXBwb3J0
ZWQiKTsKKyAgICBjb25zdCBldmVudFR5cGVzID0gWworICAgICAgICAnYXV4Y2xpY2snLAorICAg
ICAgICAnY2xpY2snLAorICAgICAgICAnY29udGV4dG1lbnUnLAorICAgICAgICAnZGJsY2xpY2sn
LAorICAgICAgICAnbW91c2Vkb3duJywKKyAgICAgICAgJ21vdXNlZW50ZXInLAorICAgICAgICAn
bW91c2VsZWF2ZScsCisgICAgICAgICdtb3VzZW91dCcsCisgICAgICAgICdtb3VzZW92ZXInLAor
ICAgICAgICAnbW91c2V1cCcsCisgICAgICAgICdwb2ludGVyb3ZlcicsCisgICAgICAgICdwb2lu
dGVyZW50ZXInLAorICAgICAgICAncG9pbnRlcmRvd24nLAorICAgICAgICAncG9pbnRlcnVwJywK
KyAgICAgICAgJ3BvaW50ZXJjYW5jZWwnLAorICAgICAgICAncG9pbnRlcm91dCcsCisgICAgICAg
ICdwb2ludGVybGVhdmUnLAorICAgICAgICAnZ290cG9pbnRlcmNhcHR1cmUnLAorICAgICAgICAn
bG9zdHBvaW50ZXJjYXB0dXJlJywKKyAgICAgICAgJ3RvdWNoc3RhcnQnLAorICAgICAgICAndG91
Y2hlbmQnLAorICAgICAgICAndG91Y2hjYW5jZWwnLAorICAgICAgICAna2V5ZG93bicsCisgICAg
ICAgICdrZXlwcmVzcycsCisgICAgICAgICdrZXl1cCcsCisgICAgICAgICdiZWZvcmVpbnB1dCcs
CisgICAgICAgICdpbnB1dCcsCisgICAgICAgICdjb21wb3NpdGlvbnN0YXJ0JywKKyAgICAgICAg
J2NvbXBvc2l0aW9udXBkYXRlJywKKyAgICAgICAgJ2NvbXBvc2l0aW9uZW5kJywKKyAgICAgICAg
J2RyYWdzdGFydCcsCisgICAgICAgICdkcmFnZW5kJywKKyAgICAgICAgJ2RyYWdlbnRlcicsCisg
ICAgICAgIC8vICdkcmFnZXhpdCc/IFVuY2xlYXIgaWYgaXQgd2lsbCBiZSByZW1vdmVkIGZyb20g
SFRNTCBzcGVjIG9yIG5vdC4KKyAgICAgICAgJ2RyYWdsZWF2ZScsCisgICAgICAgICdkcmFnb3Zl
cicsCisgICAgICAgICdkcm9wJworICAgIF07CisgICAgZXZlbnRUeXBlcy5mb3JFYWNoKHR5cGUg
PT4geworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQodHlw
ZSksIDAsICdUaGVyZSBpcyBhIG5vbnplcm8gdmFsdWUgZm9yICcgKyB0eXBlKTsKKyAgICB9KQor
ICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuc2l6ZSwgZXZlbnRUeXBl
cy5sZW5ndGgsCisgICAgICAgICdUaGUgc2l6ZSBvZiBwZXJmb3JtYW5jZS5ldmVudENvdW50cyBp
cyBpbmNvcnJlY3QuJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2
ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45YWJkMWFlZDJhYmIzNmI3NDY0MThlNWY0OGNiYzA1ODgyN2Y4OTkwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIEV2ZW50IFRpbWluZzogdGFyZ2V0IHJlcG9ydHMgdGhlIGxhc3QgRXZlbnQgVGFy
Z2V0LCBpLmUuIG5vdGhpbmcgZnJvbSBzaGFkb3cgRE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQt
cmV0YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjljMTE0ZjM1
NmI1MWI4NjliOTU1MDgzMDgxNWNiNmU2OGIzYzdhNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50
LXJldGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwv
c2NyaXB0PgorCis8Y3VzdG9tLWJ1dHRvbiBpZD0nY3VzdG9tX2J1dHRvbic+PC9jdXN0b20tYnV0
dG9uPgorCis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIGFzc2VydF9pbXBs
ZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5v
dCBzdXBwb3J0ZWQuJyk7CisgIGxldCBpbm5lckJ1dHRvbkNsaWNrZWQgPSBmYWxzZTsKKyAgY3Vz
dG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tYnV0dG9uJywgY2xhc3MgZXh0ZW5kcyBIVE1MRWxl
bWVudCB7CisgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CisgICAgICB0aGlzLmF0dGFjaFNoYWRv
dyh7bW9kZTogJ29wZW4nfSk7CisgICAgICB0aGlzLnNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYDxi
dXR0b24gaWQ9J2lubmVyX2J1dHRvbl9pZCc+Q2xpY2sgbWU8L2J1dHRvbj5gOworICAgICAgdGhp
cy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdpbm5lcl9idXR0b25faWQnKS5vbmNsaWNrID0g
KCkgPT4geworICAgICAgICBpbm5lckJ1dHRvbkNsaWNrZWQgPSB0cnVlOworICAgICAgfTsKKyAg
ICB9CisgIH0pOworICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQu
c3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsKKyAgICBjb25zdCBlbnRyaWVzID0gZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9
PT0gMCkKKyAgICAgIHJldHVybjsKKworICAgIC8vIFRoZXJlIG11c3Qgb25seSBiZSBvbmUgbW91
c2Vkb3duIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAg
IHZlcmlmeUNsaWNrRXZlbnQoZW50cmllc1swXSwgJ2N1c3RvbV9idXR0b24nLCB0cnVlKTsKKyAg
ICBhc3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQpOworICAgIHQuZG9uZSgpCisgIH0pKTsK
KyAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgIGNsaWNrQW5k
QmxvY2tNYWluKCdjdXN0b21fYnV0dG9uJyk7Cit9LCAiRXZlbnQgVGltaW5nOiB0YXJnZXQgcmVw
b3J0cyB0aGUgbGFzdCBFdmVudCBUYXJnZXQsIGkuZS4gbm90aGluZyBmcm9tIHNoYWRvdyBET00u
Iik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1k
b20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTY1MmFhN2YyNjU2Zjg4ODdkNTdjNDc4N2E2MjNkNmQyYmQ5ODM1NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGVzdCBmaXJzdCBpbnB1dCBvbiBzaGFkb3cg
RE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3Qt
aW5wdXQtc2hhZG93LWRvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZWI2NTk3NTUyZmI5ZWM0OGEwYTcz
M2E0ZDY3ZjIyYjQyN2Y3NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ct
ZG9tLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKwor
PGJvZHk+Cis8ZGl2IGlkPSdjb250YWluZXInPgorICA8Y3VzdG9tLWJ1dHRvbiBpZD0nY3VzdG9t
X2J1dHRvbic+PC9jdXN0b20tYnV0dG9uPgorPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0
KHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBsZXQgaW5uZXJCdXR0b25D
bGlja2VkID0gZmFsc2U7CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY3VzdG9tLWJ1dHRvbics
IGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgewor
ICAgICAgdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAgICAgdGhpcy5zaGFk
b3dSb290LmlubmVySFRNTCA9IGA8YnV0dG9uIGlkPSdpbm5lcl9idXR0b25faWQnPkNsaWNrIG1l
PC9idXR0b24+YDsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5uZXJf
YnV0dG9uX2lkJykub25tb3VzZWRvd24gPSAoKSA9PiB7CisgICAgICAgIGlubmVyQnV0dG9uQ2xp
Y2tlZCA9IHRydWU7CisgICAgICB9OworICAgIH0KKyAgfSk7CisgIGNvbnN0IG9ic2VydmVyUHJv
bWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAvLyBUaGVyZSBtdXN0IG9ubHkg
YmUgb25lIGZpcnN0LWlucHV0IGVudHJ5LgorICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUxpc3Qu
Z2V0RW50cmllcygpLmxlbmd0aCwgMSk7CisgICAgICAvLyBlbnRyeS50YXJnZXQgbXVzdCBiZSB0
aGUgc2hhZG93IGhvc3QgZHVlIHRvIHJldGFyZ2V0dGluZy4KKyAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cnlMaXN0LmdldEVudHJpZXMoKVswXS50YXJnZXQsCisgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2N1c3RvbV9idXR0b24nKSk7CisgICAgICBhc3NlcnRfdHJ1ZShpbm5lckJ1
dHRvbkNsaWNrZWQsICdEaWQgbm90IHJlYWNoIHRoZSBzaGFkb3cgRE9NIGV2ZW50IGxpc3RlbmVy
IScpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0pKS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2Zp
cnN0LWlucHV0J119KTsKKyAgfSk7CisgIGNvbnN0IGNsaWNrUHJvbWlzZSA9IHRlc3RfZHJpdmVy
LmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b21fYnV0dG9uJykpOworICByZXR1
cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNlXSk7Cit9LCAiRXZl
bnQgVGltaW5nOiB0ZXN0IGZpcnN0IGlucHV0IG9uIHNoYWRvdyBET00uIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmRhMTEyMTdmYjAw
MGYwYjQzYzIwNTk5NDM4MGQ0ZGMwYThmZWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVz
cy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKKworUEFTUyBpZGxfdGVzdCBzZXR1
cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVy
Zm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwg
ZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3JpZ2luYWwgZGljdGlvbmFyeSBk
ZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3Jt
YW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQ
QVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1Mg
UGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcm9jZXNzaW5nU3Rh
cnQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJv
Y2Vzc2luZ0VuZCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBjYW5jZWxhYmxlIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTog
YXR0cmlidXRlIHRhcmdldCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6
IG9wZXJhdGlvbiB0b0pTT04oKSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRXZlbnRDb3VudHMg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIEV2ZW50Q291bnRzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBldmVudENvdW50cyAKK1BBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBwZXJm
b3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV2ZW50Q291bnRzIiB3aXRoIHRoZSBwcm9w
ZXIgdHlwZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3Mu
YW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1
NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWwKQEAgLTAsMCArMSBA
QAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0
dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZWU5ODU0OGZiNmYyMjA5YjhjNGI1MzQ2ODMwYzBkNzIzZTY4MTcwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMKQEAgLTAsMCArMSwxOCBAQAorLy8gTUVU
QTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklE
TFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCisv
LyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8KKworJ3VzZSBzdHJpY3QnOwor
CitpZGxfdGVzdCgKKyAgWydldmVudC10aW1pbmcnXSwKKyAgWydwZXJmb3JtYW5jZS10aW1lbGlu
ZScsICdoci10aW1lJywgJ2RvbSddLAorICBpZGxfYXJyYXkgPT4geworICAgIGlkbF9hcnJheS5h
ZGRfb2JqZWN0cyh7CisgICAgICBQZXJmb3JtYW5jZTogWydwZXJmb3JtYW5jZSddLAorICAgICAg
Ly8gUGVyZm9ybWFuY2VFdmVudFRpbWluZzogWyBUT0RPIF0KKyAgICB9KTsKKyAgfQorKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNz
LmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxN2VmZGEyMWE1ODAzMmQxMjY0
Yzc1ODBkMTBkYjgyYjFjNzNiMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKKworUEFTUyBpZGxfdGVzdCBzZXR1
cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVy
Zm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwg
ZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3JpZ2luYWwgZGljdGlvbmFyeSBk
ZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6
IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3Jt
YW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBtZW1i
ZXIgZXZlbnRDb3VudHMgCitQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogcGVyZm9ybWFuY2Ug
bXVzdCBub3QgaGF2ZSBwcm9wZXJ0eSAiZXZlbnRDb3VudHMiIAorUEFTUyBOb2RlIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2Vy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhj
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCkBAIC0wLDAg
KzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0
cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMz
MjAzN2I4YjM3MzkxNmE0YTE5NDM0N2Q0ODdkMDAwN2U2N2ZkYjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
Q2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2Nv
cmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJh
dGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2NjVkNDJkMzM0NTc0MmY1MzY0YjA4NWIyYzEzNzE1NjY1MmUyMTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hv
bGQgb2YgMTI1PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4K
KzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3REdXJhdGlvbih0LCAnbXlEaXYnLCBudW1FbnRyaWVz
PTIsIGR1cj0xMjUsIGZhc3REdXI9NzAsIHNsb3dEdXI9MTQwKTsKK30sICJQZXJmb3JtYW5jZU9i
c2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xk
Iik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJl
c2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzMyMDM3YjhiMzczOTE2YTRhMTk0MzQ3ZDQ4N2QwMDA3ZTY3ZmRiNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIG9i
c2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgyN2YyMjExYjEyNTUwZmVlOGQwZjVkMTI1OGRm
YmUyOWM4MzBkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQu
aHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3
aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgNTA8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2Ny
aXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICByZXR1cm4gdGVzdER1cmF0aW9uKHQs
ICdteURpdicsIG51bUVudHJpZXM9MywgZHVyPTUwLCBmYXN0RHVyPTIwLCBzbG93RHVyPTcwKTsK
K30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRz
IGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21p
bi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5NGFhMmVhNWEyMmNjMjQ1MDkwNDYyZDc1MDMx
MTMyNzM3MzI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9i
c2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hvbGQgb2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlv
biA+PSAxNiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWlu
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0M2IzOGEyNzgzMzM3N2U0ZWJi
YmUzMDcyOTBhZGRkNDM5ZWI1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhy
ZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIGxlc3MgdGhhbiAxNjwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZl
bnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sg
bWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIHJldHVybiB0
ZXN0RHVyYXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz01LCBkdXI9MCwgZmFzdER1cj0wLCBz
bG93RHVyPTIwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hv
bGQgb2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlvbiA+PSAxNiIpOworPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iOGU1NmM2YTA0YzJlYTJhZjU1NjQzOWU1MjFmY2RkZDFjMTYx
ZWRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZWRvd24uIFRlc3QgdGltZWQgb3V0CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVh
MDdmYWViMWJjYWFhZGIwY2E2MDZmODk0ODAwNGI0NWExMTVhZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlZG93bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2Vkb3duLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rp
dj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVz
dEV2ZW50VHlwZSh0LCAnbW91c2Vkb3duJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTk3MWI1MzJmOGRlODVkMDE4YjlhOWU5MTgzOWI3NDRmYzE3N2JmZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1l
c3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIG1vdXNlZW50ZXIuIFRlc3QgdGlt
ZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MDRkNTc0Mzc0MmM3M2VjNzY5NjEzZTQxY2U0NWJmMTkwYTQ3M2E5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGlt
aW5nIG1vdXNlZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJu
IHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZW50ZXInKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYTRiZWU5MmZmYjdiNGNiOWQ4ZTVjZmViNTg3MTcwMzVmYzZj
YzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91c2VsZWF2ZS4gVGVz
dCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIwMmNmNzNlMmE2MTZjNTYxMjIzMmE3ZTFmOTg3NTcwZWVkOWUyZTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmcgbW91c2VsZWF2ZS48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+
PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5U
YXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBy
ZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VsZWF2ZScpOworICB9KQorPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNhNjk5M2I1YTA1ODllOWVjMWYzMzk0ZTJiMjMzYjliOTlk
Mzk0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZW91dC4gVGVzdCB0
aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGQzMjE5MzRiMGI3ODQyODBhNWVkNTIwYjcwZDBiYzBiYjVjMTgzOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcg
bW91c2VvdXQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0Pgor
PGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+
Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RF
dmVudFR5cGUodCwgJ21vdXNlb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50ICovKTsKKyAgfSkKKzwv
c2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBiZTA1YTNhOGVjNWMyY2NkMjA5NGRl
YWUzOTNmYzY1OTM0Y2I4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91
c2VvdmVyLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MWVlMmQ3ZWNkN2ZiOTM4ZDJkNGZlMjRhZDZjYTAw
NTY1MDdiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZyBtb3VzZW92ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlv
bnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0
aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3Rh
cmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3ZlcicsIHRydWUgLyogbG9vc2VD
b3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAxNWE4ZGM4
MjZjZTNjOTEzNWFiNWQxYjdlMTBiYzYxNWJmMTJhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
dXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZXVw
LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjUzYmVmOGZkYjJmMDI1MzZjZTY4NzQ5MWI5NTExYWFkOTRmYjAzZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRp
bWluZyBtb3VzZXVwLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNldXAnKTsK
KyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0
SW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQ3MWZkNTdjNDRmZTI3ODM0NTBhYTNmOTBmZWEyNzEwNDkwZjBkYTcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1p
bmc6IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2aW5n
IG9ubHkgZmlyc3QtaW5wdXQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NGE2MDM2
ZjkxYWRiODljN2I2NTI4ZTQwODUwOTM3ZDcwNTIwYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25s
eS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzog
b25seSBvYnNlcnZlIHRoZSBmaXJzdCBpbnB1dDwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24n
PkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3Qt
dXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIC8qIFRlc3Q6CisgICAgIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgZm9yIGZpcnN0LWlucHV0IGlzIHJlZ2lzdGVyZWQKKyAgICAgQ2xpY2sgMQor
ICAgICBDbGljayAyCisgICAgIFdhaXQKKyAgICAgRXhwZWN0ZWQgcmVzdWx0OgorICAgICBQZXJm
b3JtYW5jZU9ic2VydmVyIHNob3VsZCBvYnNlcnZlIG9uZSBhbmQgb25seSBvbmUgZW50cnkuCisg
ICovCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdp
bmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0
ZWQuJyk7CisgICAgbGV0IGhhc09ic2VydmVkRmlyc3RJbnB1dCA9IGZhbHNlOworICAgIG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2ZhbHNlKGhhc09ic2VydmVkRmlyc3RJbnB1dCk7CisgICAgICAgIGhhc09ic2VydmVk
Rmlyc3RJbnB1dCA9IHRydWU7CisgICAgICAgIGNvbnN0IG9ic2VydmVkRW50cmllcyA9IGVudHJ5
TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICAgICAgZW50cnkgPT4gZW50cnkubmFt
ZSA9PT0gJ21vdXNlZG93bicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2VydmVkRW50cmll
cy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2VydmVkRW50cmllc1swXS5l
bnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2VydmVk
RW50cmllc1swXS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgfSkpLm9ic2VydmUoeyBlbnRyeVR5
cGVzOiBbJ2ZpcnN0LWlucHV0J10gfSk7CisgICAgb25fZXZlbnQod2luZG93LCAnbG9hZCcsICgp
ID0+IHsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKCgpID0+IHsKKyAg
ICAgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhlbiggKCkgPT4g
eworICAgICAgICAgIC8vIEFmdGVyIHNvbWUgd2FpdCwgdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
c2hvdWxkIGhhdmUgcHJvY2Vzc2VkIGJvdGggY2xpY2tzLgorICAgICAgICAgIC8vIE9uZSBhbmQg
b25seSBvbmUgZmlyc3QtaW5wdXQgZW50cnkgc2hvdWxkIGhhdmUgYmVlbiBkaXNwYXRjaGVkLCBz
bworICAgICAgICAgIC8vIHxoYXNPYnNlcnZlZEZpcnN0SW5wdXR8IHNob3VsZCBiZSB0cnVlLgor
ICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCAoKSA9PiB7CisgICAgICAgICAgICBhc3NlcnRfdHJ1
ZShoYXNPYnNlcnZlZEZpcnN0SW5wdXQpOworICAgICAgICAgICAgdC5kb25lKCk7CisgICAgICAg
ICAgfSwgMTApOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgIH0pOworICB9LAorICAiRXZl
bnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQZXJmb3JtYW5jZU9ic2VydmVyIG9i
c2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiIKKyAgKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFlY2RmMjJiZjk1M2U4MDQwOGRlNzJhMzhmNGYyODQ0NGZjNzA1N2UK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
IEBACitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLiBUZXN0IHRpbWVkIG91dAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wb2ludGVyZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZWI2YWU4OThjY2QwMDZkYTE2MzNhN2Y4MTJkYmNmYzBmY2JlOWYxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcG9pbnRlcmRvd24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVu
dD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLjwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVu
dC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJu
IHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJkb3duJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMzQ5Mzg3N2JkMTEwODZhNDUwZTYyN2I3MGUzOWNh
ZmU0MWZmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJl
bnRlci4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWUxYzUxZDUxY2RlNGQyMzE0ZTMxMDY5MzMy
OGZkMjZkYmQ4YmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTgg
Lz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmVudGVyLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8
ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyZW50ZXInKTsK
KyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTYyNTIwYWQ1
OTI2MGRlYmQ0OTcwODI2ZTZhZGI1NjE2YmMxNDA2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJsZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1Rh
cmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9V
VCBFdmVudCBUaW1pbmcgcG9pbnRlcmxlYXZlLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVybGVhdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxZThm
MTVlYzBkMTZhNTMxODJmMDZlN2Y5NTUzMjI4Y2MwYWI3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVybGVhdmUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVybGVh
dmUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5P
dXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5
cGUodCwgJ3BvaW50ZXJsZWF2ZScpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ2ZTMwZGE1MzAxOTI0MjA5YmQzMmQxMTE0NGI5MzAwOGU3Y2JjMDgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091
dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVyb3V0LiBUZXN0IHRpbWVkIG91
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjA4ZjU3Njk5Y2M0OGQ4MjM1MGZhYmJlM2JlMjU4OWMyYmIyYzFmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBw
b2ludGVyb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4K
KzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2
PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0
RXZlbnRUeXBlKHQsICdwb2ludGVyb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50ICovKTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNWUxNmI1NmQ3MDQ1NDc1
MjNjMjU3YmUyODIxYjg3MGI4OWExOWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitI
YXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBU
aW1pbmcgcG9pbnRlcm92ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJv
dmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTcxMjIzOWMwOTU4Mzhh
NTY1Y2VlODg3NGNjM2I1MjIxOTQ4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJvdmVyLjwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9l
dmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQh
PC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVy
b3ZlcicsIHRydWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2OWIwOGMxODg2YzE1Mzc2NTE0YmU0ODIxM2RjYmI4OTAzN2I3ZDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBA
QAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitU
SU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVydXAuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJ1cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMyNGE1YmVi
N2FiMzJjM2Y3YmFlZTY5OWFmMzk3MDkwMWY3YWU1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJ1cC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJ1cC48L3RpdGxl
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQn
PlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAg
IHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVydXAnKTsKKyAgfSkKKzwvc2NyaXB0Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41YmY0OGNmOTIwYTY5OWFhM2JjNjY4ODcxOGI1ZjA1NDZkZDBhNjRjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitDbGljayBtZQorTm8sIGNsaWNrIG1lIQorCitQQVNTIEV2ZW50
IFRpbWluZzogZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNrIGFyZSBub3Qgb2JzZXJ2ZWQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3By
b2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDYwZDJkMDBk
YzFjMDIxMDg1NDMxN2JjZTViYmM1YmMyNWZmZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3Jh
bW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8ZGl2IGlkPSdkaXYnIG9u
Y2xpY2s9J2RlbGF5KCknPkNsaWNrIG1lPC9kaXY+Cis8ZGl2IGlkPSdkaXYyJz5ObywgY2xpY2sg
bWUhPC9kaXY+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisgIGxldCBkZWxheUNhbGxlZCA9IGZhbHNlOworICBsZXQgYmVmb3JlQ2xpY2s7CisgIGZ1
bmN0aW9uIGRlbGF5KCkgeworICAgIGNvbnN0IGVuZCA9IHBlcmZvcm1hbmNlLm5vdygpICsgMTUw
OworICAgIHdoaWxlKHBlcmZvcm1hbmNlLm5vdygpIDwgZW5kKSB7fQorICAgIGRlbGF5Q2FsbGVk
ID0gdHJ1ZTsKKyAgfQorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9p
bXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlz
IG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7Cisg
ICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVu
dHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRyeUxpc3QuZ2V0RW50
cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICAgIC8vIElnbm9yZSBjYXNlcyBpbiB3aGlj
aCB0aGVyZSBpcyBubyBtb3VzZWRvd24uCisgICAgICAgIGlmIChtb3VzZURvd25zLmxlbmd0aCA9
PT0gMCkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVk
TW91c2VEb3duLCAnVGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBtb3VzZWRvd24gZW50cnkuJyk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEpOworICAgICAgICBjb25z
dCBlbnRyeSA9IG1vdXNlRG93bnNbMF07CisgICAgICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IHRo
ZSBlbnRyeSBpcyBleHBvc2luZyB0aW1pbmcgZnJvbSB0aGUgc2Vjb25kIGNsaWNrLCBpLmUuCisg
ICAgICAgIC8vIHRoZSBvbmUgZnJvbSB0aGUgY2xpY2tBbmRCbG9ja01haW4oKSBjYWxsLgorICAg
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdTdGFydCwgYmVm
b3JlQ2xpY2spOworICAgICAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCAnZGl2MicsIHRydWUp
OworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgIH0pKTsKKyAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQn
XX0pOworICAgIH0pOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKS5jbGljaygp
OworICAgIC8vIFRha2UgdGhlIHRpbWVzdGFtcCBhZnRlciB0aGUgcHJvZ3JhbW1hdGljIGNsaWNr
IGJ1dCBiZWZvcmUgdGhlIG5leHQgY2xpY2suCisgICAgYmVmb3JlQ2xpY2sgPSBwZXJmb3JtYW5j
ZS5ub3coKTsKKyAgICAvLyBBZnRlciB0aGUgcHJvZ3JhbW1hdGljIGNsaWNrLCB1c2UgYW5vdGhl
ciBpbnB1dCB0byBrbm93IHdoZW4gZW50cmllcyBoYXZlIGJlZW4KKyAgICAvLyBkaXNwYXRjaGVk
IHRvIHRoZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrLgorICAgIGNvbnN0IGNsaWNrUHJv
bWlzZSA9IGNsaWNrQW5kQmxvY2tNYWluKCdkaXYyJyk7CisgICAgcmV0dXJuIFByb21pc2UuYWxs
KFtvYnNlcnZlclByb21pc2UsIGNsaWNrUHJvbWlzZV0pOworICB9LCAiRXZlbnQgVGltaW5nOiBl
dmVudHMgZnJvbSBwcm9ncmFtbWF0aWMgY2xpY2sgYXJlIG5vdCBvYnNlcnZlZCIpOworPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJhbWUtY2hpbGRmcmFt
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41ODI5NGFlMDJjMjNiYWYxMzc2Yjc3YmE5ZjY0MmZmN2I0ZTU5YzY2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbApAQCAtMCwwICsxLDQx
IEBACis8IURPQ1R5cGUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz1ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgc3R5bGU9IndpZHRoOiAzMDBweDsg
aGVpZ2h0OiAzMDBweCIgaWQ9J2lmcmFtZV9kaXYnIG9ubW91c2Vkb3duPSJtYWluVGhyZWFkQnVz
eSgxMjApIj4KKzxzY3JpcHQ+CisoYXN5bmMgKCkgPT4geworICBjb25zdCBjbGlja1RpbWVNaW4g
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+
IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgn
bW91c2Vkb3duJyk7CisgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAg
IHJldHVybjsKKyAgICAgIHJlc29sdmUobW91c2VEb3ducyk7CisgICAgfSkub2JzZXJ2ZSh7IHR5
cGU6J2V2ZW50JyB9KTsKKyAgfSk7CisgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBvYnNlcnZlclBy
b21pc2U7CisgIGNvbnN0IGNsaWNrRG9uZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICBpZiAoZW50
cmllcy5sZW5ndGggIT09IDEpIHsKKyAgICB0b3AucG9zdE1lc3NhZ2UoImZhaWxlZCIsICIqIik7
CisgICAgcmV0dXJuOworICB9CisgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgdG9wLnBv
c3RNZXNzYWdlKHsKKyAgICAvLyBFbnRyeSB2YWx1ZXMgKHxlbnRyeXwgaXRzZWxmIGlzIG5vdCBj
bG9uYWJsZSkKKyAgICAibmFtZSI6IGVudHJ5Lm5hbWUsCisgICAgImNhbmNlbGFibGUiOiBlbnRy
eS5jYW5jZWxhYmxlLAorICAgICJlbnRyeVR5cGUiOiBlbnRyeS5lbnRyeVR5cGUsCisgICAgInN0
YXJ0VGltZSI6IGVudHJ5LnN0YXJ0VGltZSwKKyAgICAicHJvY2Vzc2luZ1N0YXJ0IjogZW50cnku
cHJvY2Vzc2luZ1N0YXJ0LAorICAgICJwcm9jZXNzaW5nRW5kIjogZW50cnkucHJvY2Vzc2luZ0Vu
ZCwKKyAgICAiZHVyYXRpb24iOiBlbnRyeS5kdXJhdGlvbiwKKyAgICAvLyBPdGhlciB2YWx1ZXMK
KyAgICAiY2xpY2tUaW1lTWluIjogY2xpY2tUaW1lTWluLAorICAgICJjbGlja0RvbmUiIDogY2xp
Y2tEb25lLAorICAgICJ0YXJnZXQiOiBlbnRyeS50YXJnZXQuaWQsCisgIH0sICcqJyk7Cit9KSAo
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0
aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc0OWNmZTNjMTlkMWIzYzY1ZGExNTMwYmQzMzkxOTBiMDU2NmY0
MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMu
anMKQEAgLTAsMCArMSwyNjUgQEAKKy8vIENsaWNrcyBvbiB0aGUgZWxlbWVudCB3aXRoIHRoZSBn
aXZlbiBJRC4gSXQgYWRkcyBhbiBldmVudCBoYW5kbGVyIHRvIHRoZSBlbGVtZW50IHdoaWNoCisv
LyBlbnN1cmVzIHRoYXQgdGhlIGV2ZW50cyBoYXZlIGEgZHVyYXRpb24gb2YgYXQgbGVhc3QgfGRl
bGF5fC4gQ2FsbHMgfGNhbGxiYWNrfCBkdXJpbmcKKy8vIGV2ZW50IGhhbmRsZXIgaWYgfGNhbGxi
YWNrfCBpcyBwcm92aWRlZC4KK2FzeW5jIGZ1bmN0aW9uIGNsaWNrT25FbGVtZW50QW5kRGVsYXko
aWQsIGRlbGF5LCBjYWxsYmFjaykgeworICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoaWQpOworICBjb25zdCBjbGlja0hhbmRsZXIgPSAoKSA9PiB7CisgICAgbWFpblRo
cmVhZEJ1c3koZGVsYXkpOworICAgIGlmIChjYWxsYmFjaykKKyAgICAgIGNhbGxiYWNrKCk7Cisg
ICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBjbGlja0hhbmRsZXIp
OworICB9OworICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGNsaWNrSGFu
ZGxlcik7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW1lbnQpOworfQorCitmdW5jdGlv
biBtYWluVGhyZWFkQnVzeShkdXJhdGlvbikgeworICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5u
b3coKTsKKyAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpIDwgbm93ICsgZHVyYXRpb24pOworfQor
CisvLyBUaGlzIG1ldGhvZCBzaG91bGQgcmVjZWl2ZSBhbiBlbnRyeSBvZiB0eXBlICdldmVudCcu
IHxpc0ZpcnN0fCBpcyB0cnVlIG9ubHkgd2hlbiB3ZSB3YW50CisvLyB0byBjaGVjayB0aGF0IHRo
ZSBldmVudCBhbHNvIGhhcHBlbnMgdG8gY29ycmVzcG9uZCB0byB0aGUgZmlyc3QgZXZlbnQuIElu
IHRoaXMgY2FzZSwgdGhlCisvLyB0aW1pbmdzIG9mIHRoZSAnZmlyc3QtaW5wdXQnIGVudHJ5IHNo
b3VsZCBiZSBlcXVhbCB0byB0aG9zZSBvZiB0aGlzIGVudHJ5LiB8bWluRHVyYXRpb258CisvLyBp
cyB1c2VkIHRvIGNvbXBhcmVkIGFnYWluc3QgZW50cnkuZHVyYXRpb24uCitmdW5jdGlvbiB2ZXJp
ZnlFdmVudChlbnRyeSwgZXZlbnRUeXBlLCB0YXJnZXRJZCwgaXNGaXJzdD1mYWxzZSwgbWluRHVy
YXRpb249MTA0LCBub3RDYW5jZWxhYmxlPWZhbHNlKSB7CisgIGFzc2VydF9lcXVhbHMoZW50cnku
Y2FuY2VsYWJsZSwgIW5vdENhbmNlbGFibGUsICdjYW5jZWxhYmxlIHByb3BlcnR5Jyk7CisgIGFz
c2VydF9lcXVhbHMoZW50cnkubmFtZSwgZXZlbnRUeXBlKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
eS5lbnRyeVR5cGUsICdldmVudCcpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmR1cmF0aW9uLCBtaW5EdXJhdGlvbiwKKyAgICAgICJUaGUgZW50cnkncyBkdXJhdGlvbiBzaG91
bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICIgKyBtaW5EdXJhdGlvbiArICIgbXMuIik7
CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJvY2Vzc2luZ1N0YXJ0LCBlbnRy
eS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZ1N0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnRUaW1lLiIpOworICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCwK
KyAgICAgICJUaGUgZW50cnkncyBwcm9jZXNzaW5nRW5kIG11c3QgYmUgYXQgbGVhc3QgYXMgbGFy
Z2UgYXMgcHJvY2Vzc2luZ1N0YXJ0LiIpOworICAvLyB8ZHVyYXRpb258IGlzIGEgbnVtYmVyIHJv
dW5kZWQgdG8gdGhlIG5lYXJlc3QgOCBtcywgc28gYWRkIDQgdG8gZ2V0IGEgbG93ZXIgYm91bmQK
KyAgLy8gb24gdGhlIGFjdHVhbCBkdXJhdGlvbi4KKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChlbnRyeS5kdXJhdGlvbiArIDQsIGVudHJ5LnByb2Nlc3NpbmdFbmQgLSBlbnRyeS5zdGFydFRp
bWUsCisgICAgICAiVGhlIGVudHJ5J3MgZHVyYXRpb24gbXVzdCBiZSBhdCBsZWFzdCBhcyBsYXJn
ZSBhcyBwcm9jZXNzaW5nRW5kIC0gc3RhcnRUaW1lLiIpOworICBpZiAoaXNGaXJzdCkgeworICAg
IGxldCBmaXJzdElucHV0cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2ZpcnN0LWlu
cHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0cy5sZW5ndGgsIDEsICdUaGVyZSBz
aG91bGQgYmUgYSBzaW5nbGUgZmlyc3QtaW5wdXQgZW50cnknKTsKKyAgICBsZXQgZmlyc3RJbnB1
dCA9IGZpcnN0SW5wdXRzWzBdOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5uYW1lLCBl
bnRyeS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuZW50cnlUeXBlLCAnZmly
c3QtaW5wdXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuc3RhcnRUaW1lLCBlbnRy
eS5zdGFydFRpbWUpOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5kdXJhdGlvbiwgZW50
cnkuZHVyYXRpb24pOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5wcm9jZXNzaW5nU3Rh
cnQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0
LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdFbmQpOworICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RJbnB1dC5jYW5jZWxhYmxlLCBlbnRyeS5jYW5jZWxhYmxlKTsKKyAgfQorICBpZiAodGFy
Z2V0SWQpCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS50YXJnZXQsIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHRhcmdldElkKSk7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeUNsaWNrRXZlbnQoZW50cnks
IHRhcmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0xMDQpIHsKKyAgdmVyaWZ5RXZl
bnQoZW50cnksICdtb3VzZWRvd24nLCB0YXJnZXRJZCwgaXNGaXJzdCwgbWluRHVyYXRpb24pOwor
fQorCitmdW5jdGlvbiB3YWl0KCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7Cisg
ICAgfSwgMCk7CisgIH0pOworfQorCitmdW5jdGlvbiBjbGlja0FuZEJsb2NrTWFpbihpZCkgewor
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgIGNsaWNrT25F
bGVtZW50QW5kRGVsYXkoaWQsIDEyMCwgcmVzb2x2ZSk7CisgIH0pOworfQorCisgIC8vIEFkZCBh
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xk
IG9mIHxkdXJ8LiBUaGlzIHRlc3Qgd2lsbAorICAvLyBhdHRlbXB0IHRvIGNoZWNrIHRoYXQgdGhl
IGR1cmF0aW9uIGlzIGFwcHJvcHJpYXRlbHkgY2hlY2tlZCBieToKKyAgLy8gKiBBc3NlcnRpbmcg
dGhhdCBlbnRyaWVzIHJlY2VpdmVkIGhhdmUgYSBkdXJhdGlvbiB3aGljaCBpcyB0aGUgc21hbGxl
c3QgbXVsdGlwbGUgb2YgOAorICAvLyAgIHRoYXQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRv
IHxkdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVudHJpZXMgdGhhdCBhcmUgZmFz
dCwgb2YgZHVyYXRpb24gfHNsb3dEdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVu
dHJpZXMgdGhhdCBhcmUgc2xvdywgb2YgZHVyYXRpb24gfGZhc3REdXJ8LgorICAvLyAqIEFzc2Vy
dGluZyB0aGF0IGF0IGxlYXN0IHxudW1FbnRyaWVzfCBlbnRyaWVzIGFyZSByZWNlaXZlZCAoYXQg
bGVhc3QgdGhlIHNsb3cgb25lcykuCisgIC8vIFBhcmFtZXRlcnM6CisgIC8vIHx0fCAgICAgICAg
ICAtIHRoZSB0ZXN0IGhhcm5lc3MuCisgIC8vIHxkdXJ8ICAgICAgICAtIHRoZSBkdXJhdGlvblRo
cmVzaG9sZCBmb3IgdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisgIC8vIHxpZHwgICAgICAgICAt
IHRoZSBJRCBvZiB0aGUgZWxlbWVudCB0byBiZSBjbGlja2VkLgorICAvLyB8bnVtRW50cmllc3wg
LSB0aGUgbnVtYmVyIG9mIHNsb3cgYW5kIG51bWJlciBvZiBmYXN0IGVudHJpZXMuCisgIC8vIHxz
bG93RHVyfCAgICAtIHRoZSBtaW4gZHVyYXRpb24gb2YgYSBzbG93IGVudHJ5LgorICAvLyB8ZmFz
dER1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9uIG9mIGEgZmFzdCBlbnRyeS4KK2FzeW5jIGZ1bmN0
aW9uIHRlc3REdXJhdGlvbih0LCBpZCwgbnVtRW50cmllcywgZHVyLCBmYXN0RHVyLCBzbG93RHVy
KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAn
RXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIGxldCBtaW5EdXJhdGlvbiA9
IE1hdGguY2VpbChkdXIgLyA4KSAqIDg7CisgICAgLy8gRXhwb3NlZCBldmVudHMgbXVzdCBhbHdh
eXMgaGF2ZSBhIG1pbmltdW0gZHVyYXRpb24gb2YgMTYuCisgICAgbWluRHVyYXRpb24gPSBNYXRo
Lm1heChtaW5EdXJhdGlvbiwgMTYpOworICAgIGxldCBudW1FbnRyaWVzUmVjZWl2ZWQgPSAwOwor
ICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgY29uc3QgbW91c2VE
b3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICBtb3VzZURv
d25zLmZvckVhY2goZSA9PiB7CisgICAgICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICAgICAgdmVy
aWZ5Q2xpY2tFdmVudChlLCBpZCwgZmFsc2UgLyogaXNGaXJzdCAqLywgbWluRHVyYXRpb24pOwor
ICAgICAgICB9KTsKKyAgICAgIH0pOworICAgICAgbnVtRW50cmllc1JlY2VpdmVkICs9IG1vdXNl
RG93bnMubGVuZ3RoOworICAgICAgLy8gTm90ZSB0aGF0IHdlIG1heSByZWNlaXZlIG1vcmUgZW50
cmllcyBpZiB0aGUgJ2Zhc3QnIGNsaWNrIGV2ZW50cyB0dXJuIG91dCBzbG93ZXIKKyAgICAgIC8v
IHRoYW4gZXhwZWN0ZWQuCisgICAgICBpZiAobnVtRW50cmllc1JlY2VpdmVkID49IG51bUVudHJp
ZXMpCisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9KS5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBk
dXJhdGlvblRocmVzaG9sZDogZHVyfSk7CisgIH0pOworICBjb25zdCBjbGlja3NQcm9taXNlID0g
bmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgZm9yIChsZXQgaW5kZXggPSAwOyBp
bmRleCA8IG51bUVudHJpZXM7IGluZGV4KyspIHsKKyAgICAgIC8vIEFkZCBzb21lIGZhc3QgY2xp
Y2sgZXZlbnRzLgorICAgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxheShpZCwgc2xvd0R1
cik7CisgICAgICAvLyBBZGQgc29tZSBzbG93IGNsaWNrIGV2ZW50cy4KKyAgICAgIGlmIChmYXN0
RHVyID4gMCkgeworICAgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCBmYXN0
RHVyKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFdlIGNhbiBqdXN0IGRpcmVjdGx5IGNh
bGwgdGVzdF9kcml2ZXIgd2hlbiB8ZmFzdER1cnwgaXMgMC4KKyAgICAgICAgYXdhaXQgdGVzdF9k
cml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTsKKyAgICAgIH0KKyAgICB9
CisgICAgcmVzb2x2ZSgpOworICB9KTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclBy
b21pc2UsIGNsaWNrc1Byb21pc2VdKTsKK30KKworLy8gQXBwbHkgZXZlbnRzIHRoYXQgdHJpZ2dl
ciBhbiBldmVudCBvZiB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwgdG8gYmUgZGlzcGF0Y2hlZCB0byB0
aGUKKy8vIHx0YXJnZXR8LiBTb21lIG9mIHRoZXNlIGFzc3VtZSB0aGF0IHRoZSB0YXJnZXQgaXMg
bm90IG9uIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlCisvLyBzY3JlZW4sIHdoaWNoIG1lYW5z
IHRoYXQgKDAsIDApIG9mIHRoZSB2aWV3cG9ydCBpcyBvdXRzaWRlIG9mIHRoZSB8dGFyZ2V0fC4K
K2Z1bmN0aW9uIGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KSB7CisgIGNvbnN0IGFjdGlv
bnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpOworICBpZiAoZXZlbnRUeXBlID09PSAnYXV4
Y2xpY2snKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9
KQorICAgIC5wb2ludGVyRG93bih7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuTUlERExFfSkK
KyAgICAucG9pbnRlclVwKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5NSURETEV9KTsKKyAg
fSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdjbGljaycgfHwgZXZlbnRUeXBlID09PSAnbW91c2Vk
b3duJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZXVwJworICAgICAgfHwgZXZlbnRUeXBlID09PSAn
cG9pbnRlcmRvd24nIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJ1cCcKKyAgICAgIHx8IGV2ZW50
VHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IGV2ZW50VHlwZSA9PT0gJ3RvdWNoZW5kJykgeworICAg
IGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRl
ckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdj
b250ZXh0bWVudScpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRh
cmdldH0pCisgICAgLnBvaW50ZXJEb3duKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5SSUdI
VH0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuUklHSFR9KTsK
KyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdkYmxjbGljaycpIHsKKyAgICBhY3Rpb25zLnBv
aW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKCkKKyAg
ICAucG9pbnRlclVwKCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKQorICAg
IC8vIFJlc2V0IGJ5IGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIHRhcmdldC4KKyAgICAucG9pbnRl
ck1vdmUoMCwgMCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBl
bHNlIGlmIChldmVudFR5cGUgPT09ICdtb3VzZWVudGVyJyB8fCBldmVudFR5cGUgPT09ICdtb3Vz
ZW92ZXInCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyZW50ZXInIHx8IGV2ZW50VHlw
ZSA9PT0gJ3BvaW50ZXJvdmVyJykgeworICAgIC8vIE1vdmUgb3V0c2lkZSBvZiB0aGUgdGFyZ2V0
IGFuZCB0aGVuIGJhY2sgaW5zaWRlLgorICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCkKKyAg
ICAucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSk7CisgIH0gZWxzZSBpZiAoZXZl
bnRUeXBlID09PSAnbW91c2VsZWF2ZScgfHwgZXZlbnRUeXBlID09PSAnbW91c2VvdXQnCisgICAg
ICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVybGVhdmUnIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50
ZXJvdXQnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9
KQorICAgIC5wb2ludGVyTW92ZSgwLCAwKTsKKyAgfSBlbHNlIHsKKyAgICBhc3NlcnRfdW5yZWFj
aGVkKCdUaGUgZXZlbnQgdHlwZSAnICsgZXZlbnRUeXBlICsgJyBpcyBub3Qgc3VwcG9ydGVkLicp
OworICB9CisgIHJldHVybiBhY3Rpb25zLnNlbmQoKTsKK30KKworZnVuY3Rpb24gcmVxdWlyZXNM
aXN0ZW5lcihldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91c2VlbnRlcicsCisgICAgICAgICAg
J21vdXNlbGVhdmUnLAorICAgICAgICAgICdwb2ludGVyZG93bicsCisgICAgICAgICAgJ3BvaW50
ZXJlbnRlcicsCisgICAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisgICAgICAgICAgJ3BvaW50ZXJv
dXQnLAorICAgICAgICAgICdwb2ludGVyb3ZlcicsCisgICAgICAgICAgJ3BvaW50ZXJ1cCcKKyAg
ICAgICAgXS5pbmNsdWRlcyhldmVudFR5cGUpOworfQorCitmdW5jdGlvbiBub3RDYW5jZWxhYmxl
KGV2ZW50VHlwZSkgeworICByZXR1cm4gWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnLCAncG9p
bnRlcmVudGVyJywgJ3BvaW50ZXJsZWF2ZSddLmluY2x1ZGVzKGV2ZW50VHlwZSk7Cit9CisKKy8v
IFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBlfCdzIHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzIHZh
bHVlLiBTaW5jZSB0aGlzIGlzIHBvcHVsYXRlZCBvbmx5IHdoZW4KKy8vIHRoZSBldmVudCBpcyBw
cm9jZXNzZWQsIHdlIGNoZWNrIGV2ZXJ5IDEwIG1zIHVudGlsIHdlJ3ZlIGZvdW5kIHRoZSB8ZXhw
ZWN0ZWRDb3VudHwuCitmdW5jdGlvbiB0ZXN0Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291bnQs
IGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCkgeworICBjb25zdCBjb3VudHMgPSBwZXJmb3JtYW5j
ZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKTsKKyAgaWYgKGNvdW50cyA8IGV4cGVjdGVkQ291
bnQpIHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB0ZXN0Q291bnRzKHQsIHJl
c29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCk7CisgICAgfSwgMTAp
OworICAgIHJldHVybjsKKyAgfQorICBpZiAobG9vc2VDb3VudCkgeworICAgIGFzc2VydF9ncmVh
dGVyX3RoYW5fZXF1YWwocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSksIGV4
cGVjdGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSBhdCBsZWFzdCAke2V4cGVjdGVkQ291
bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNgKQorICB9IGVsc2UgeworICAgIGFzc2VydF9lcXVhbHMo
cGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSksIGV4cGVjdGVkQ291bnQsCisg
ICAgICAgIGBTaG91bGQgaGF2ZSAke2V4cGVjdGVkQ291bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNg
KTsKKyAgfQorICByZXNvbHZlKCk7Cit9CisKKy8vIFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBl
fCBieSBjcmVhdGluZyBldmVudHMgd2hvc2UgdGFyZ2V0IGFyZSB0aGUgZWxlbWVudCB3aXRoIGlk
CisvLyAndGFyZ2V0Jy4gVGhlIHRlc3QgYXNzdW1lcyB0aGF0IHN1Y2ggZWxlbWVudCBhbHJlYWR5
IGV4aXN0cy4gfGxvb3NlQ291bnR8IGlzIHNldCBmb3IKKy8vIGV2ZW50VHlwZXMgZm9yIHdoaWNo
IGV2ZW50cyB3b3VsZCBvY2N1ciBmb3Igb3RoZXIgaW50ZXJhY3Rpb25zIG90aGVyIHRoYW4gdGhl
IG9uZXMgYmVpbmcKKy8vIHNwZWNpZmllZCBmb3IgdGhlIHRhcmdldCwgc28gdGhlIGNvdW50cyBj
b3VsZCBiZSBsYXJnZXIuCithc3luYyBmdW5jdGlvbiB0ZXN0RXZlbnRUeXBlKHQsIGV2ZW50VHlw
ZSwgbG9vc2VDb3VudD1mYWxzZSkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuRXZlbnRD
b3VudHMsICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7CisgIGNvbnN0IHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgaWYgKHJlcXVpcmVzTGlzdGVu
ZXIoZXZlbnRUeXBlKSkgeworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwg
KCkgPT57fSk7CisgIH0KKyAgY29uc3QgaW5pdGlhbENvdW50ID0gcGVyZm9ybWFuY2UuZXZlbnRD
b3VudHMuZ2V0KGV2ZW50VHlwZSk7CisgIGlmICghbG9vc2VDb3VudCkgeworICAgIGFzc2VydF9l
cXVhbHMoaW5pdGlhbENvdW50LCAwLCAnTm8gZXZlbnRzIHlldC4nKTsKKyAgfQorICAvLyBUcmln
Z2VyIHR3byAnZmFzdCcgZXZlbnRzIG9mIHRoZSB0eXBlLgorICBhd2FpdCBhcHBseUFjdGlvbihl
dmVudFR5cGUsIHRhcmdldCk7CisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0
KTsKKyAgYXdhaXQgbmV3IFByb21pc2UodC5zdGVwX2Z1bmMocmVzb2x2ZSA9PiB7CisgICAgdGVz
dENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGluaXRpYWxDb3VudCAr
IDIpOworICB9KSk7CisgIC8vIFRoZSBkdXJhdGlvblRocmVzaG9sZCB1c2VkIGJ5IHRoZSBvYnNl
cnZlci4gQSBzbG93IGV2ZW50cyBuZWVkcyB0byBiZSBzbG93ZXIgdGhhbiB0aGF0LgorICBjb25z
dCBkdXJhdGlvblRocmVzaG9sZCA9IDE2OworICAvLyBOb3cgYWRkIGFuIGV2ZW50IGhhbmRsZXIg
dG8gY2F1c2UgYSBzbG93IGV2ZW50LgorICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5
cGUsICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShkdXJhdGlvblRocmVzaG9sZCArIDQpOwor
ICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2
ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0
ID0+IHsKKyAgICAgIGxldCBldmVudFR5cGVFbnRyaWVzID0gZW50cnlMaXN0LmdldEVudHJpZXNC
eU5hbWUoZXZlbnRUeXBlKTsKKyAgICAgIGlmIChldmVudFR5cGVFbnRyaWVzLmxlbmd0aCA9PT0g
MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgICBsZXQgZW50cnkgPSBudWxsOworICAgICAgaWYg
KCFsb29zZUNvdW50KSB7CisgICAgICAgIGVudHJ5ID0gZXZlbnRUeXBlRW50cmllc1swXTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudFR5cGVFbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9
IGVsc2UgeworICAgICAgICAvLyBUaGUgb3RoZXIgZXZlbnRzIGNvdWxkIGFsc28gYmUgY29uc2lk
ZXJlZCBzbG93LiBGaW5kIHRoZSBvbmUgd2l0aCB0aGUgY29ycmVjdAorICAgICAgICAvLyB0YXJn
ZXQuCisgICAgICAgIGV2ZW50VHlwZUVudHJpZXMuZm9yRWFjaChlID0+IHsKKyAgICAgICAgICBp
ZiAoZS50YXJnZXQgPT09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKSkKKyAgICAg
ICAgICAgIGVudHJ5ID0gZTsKKyAgICAgICAgfSk7CisgICAgICAgIGlmICghZW50cnkpCisgICAg
ICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgdmVyaWZ5RXZlbnQoZW50cnksCisgICAgICAg
ICAgICAgICAgICBldmVudFR5cGUsCisgICAgICAgICAgICAgICAgICAndGFyZ2V0JywKKyAgICAg
ICAgICAgICAgICAgIGZhbHNlIC8qIGlzRmlyc3QgKi8sCisgICAgICAgICAgICAgICAgICBkdXJh
dGlvblRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgIG5vdENhbmNlbGFibGUoZXZlbnRUeXBl
KSk7CisgICAgICAvLyBTaG91bGRuJ3QgbmVlZCBhc3luYyB0ZXN0aW5nIGhlcmUgc2luY2Ugd2Ug
YWxyZWFkeSBnb3QgdGhlIG9ic2VydmVyIGVudHJ5LCBidXQgbWlnaHQgYXMKKyAgICAgIC8vIHdl
bGwgcmV1c2UgdGhlIG1ldGhvZC4KKyAgICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VD
b3VudCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAzKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlw
ZTogJ2V2ZW50JywgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cmF0aW9uVGhyZXNob2xkfSk7CisgIH0p
OworICAvLyBDYXVzZSBhIHNsb3cgZXZlbnQuCisgIGxldCBhY3Rpb25Qcm9taXNlID0gYXBwbHlB
Y3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICByZXR1cm4gUHJvbWlzZS5hbGwoW2FjdGlvblBy
b21pc2UsIG9ic2VydmVyUHJvbWlzZV0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ct
aW1hZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMmY5MTY1NWNm
MzlmNThiNzk0MGYyYmVkYjRjNThiOGQ2OTlmMDFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3Vy
Y2VzL3Nsb3ctaW1hZ2UucHkKQEAgLTAsMCArMSw3IEBACitpbXBvcnQgdGltZQorCitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgIyBTbGVlcCBmb3IgNTAwbXMgdG8gZGVsYXkgb25s
b2FkLgorICAgIHRpbWUuc2xlZXAoMC41KQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2Fj
aGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOworICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBiImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0Rs
aEFRQUJBSkFBQU1qSXlBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcyUzRCIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQwMGYwMDBhZjM5ZGExZDZjNmVlYTNjZmEyYTI0YmYxYmUyN2NmNGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAor
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2Yg
ZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlN2ZiODk5MDViNTlmNzI4YzU5NDk3ZWVjOWRmNGE3
NTNlNzI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRp
bWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRyaWVzIGFyZSBub3QgcmV0cmlldmFibGUg
YnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0
eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjQ3NWZjNTI5NzRmZTJh
ZmRlMzU1MzMyNjUzYzgwMmM3YzVmMTZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxp
dHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG1ha2Ugc3VyZSAnZXZlbnQnIGVu
dHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKiBBUElz
LjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24g
aWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgZnVuY3Rpb24gdmFs
aWRhdGVFbnRyaWVzKCkgeworICAgIGNvbnN0IGVudHJpZXNCeU5hbWUgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nLCAnZXZlbnQnKTsKKyAgICBjb25zdCBlbnRyaWVz
QnlUeXBlID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZXZlbnQnKTsKKyAgICBjb25z
dCBhbGxFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpOworICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc0J5TmFtZS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkgc2hvdWxkIG5v
dCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlOYW1lJyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzQnlUeXBlLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90
IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJpZXNCeVR5cGUnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGFsbEVudHJpZXMuZmlsdGVyKGUgPT4gZS5lbnRyeVR5cGUgPT09ICdldmVudCcpLmxlbmd0aCwg
MCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVu
dHJpZXMnKTsKKyAgfQorCisgIC8qIFRpbWVsaW5lOgorICAgICBCZWdpbiBCdXN5IExvb3AKKyAg
ICAgQ2xpY2sgMSBhcnJpdmVzCisgICAgIEVuZCBCdXN5IExvb3AKKyAgICAgKERpc3BhdGNoIGFu
ZCBQcm9jZXNzIENsaWNrIDEgLSBidWZmZXJlZCkKKyAgICAgT25sb2FkIEV2ZW50IEZpcmVzCisg
ICAgIFZhbGlkYXRlIGVudHJpZXMKKyAgKi8KKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVu
dCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgaWYgKGVudHJ5TGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCdtb3VzZWRvd24nKS5sZW5ndGggPiAwKSB7CisgICAgICAgIHZhbGlkYXRlRW50
cmllcygpOworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKyAgICB9KSkub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWydldmVudCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOwor
ICB9LCAiRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGltaW5nIGVudHJpZXMgYXJlIG5v
dCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKi4iKTsKKworPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzOWNkZjNiZjYx
YmVkZmM3OWVhYjAzMzNlMWI3OGY3NDU5NWI4NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2Ns
aWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQgYWZ0ZXIg
b25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUt
Zmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3
YjE3Y2QxODE2NWY5NzVmYmJkOThlN2RlMDdkYWQ3MTI1MWMxZmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6
IGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBiZSBidWZmZXJlZCBldmVuIHdpdGhvdXQgb2JzZXJ2
ZXI8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8
L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8c2Ny
aXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9y
dGVkLicpOworICAgIGZ1bmN0aW9uIHRlc3RFbnRyaWVzKCkgeworICAgICAgLy8gRmlyc3QgY2Fs
bGJhY2sgaXMgbm90IGVuc3VyZWQgdG8gaGF2ZSB0aGUgZW50cnkuCisgICAgICBpZiAocGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGggPT09IDApIHsKKyAg
ICAgICAgdC5zdGVwX3RpbWVvdXQodGVzdEVudHJpZXMsIDEwKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdmaXJzdC1pbnB1dCcpLmxlbmd0aCwgMSwKKyAgICAgICAgIlRoZXJlIHNob3VsZCBiZSBhIGZp
cnN0LWlucHV0IGVudHJ5IGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZSIpOworICAgICAgY29u
c3QgZW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpWzBd
OworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7CisgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAxMDQsCisgICAgICAgICJUaGUg
Zmlyc3QgaW5wdXQgd2FzIGEgbG9uZyBvbmUuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9Cisg
ICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhlbih0LnN0ZXBfZnVu
Yyh0ZXN0RW50cmllcykpOworICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1
dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xpY2suIgorICApOworPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmODU4
MDZmN2Y0MjFjZGYxZjkzMGYwNGIyZmIwZjkyZjZkYTkyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9z
dXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcgYW5kICdmaXJzdC1pbnB1dCcu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQt
dHlwZXMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2M0MzQ5NWMwOTZm
ZDBjZDU2OGZhNTk4MzA1NWMwMzkwZjk0ZDQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVk
LXR5cGVzLndpbmRvdy5qcwpAQCAtMCwwICsxLDEyIEBACit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0
X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcg
aXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgYXNzZXJ0X2ltcGxlbWVudHModHlwZW9mIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyAhPT0gInVuZGVmaW5lZCIsCisgICAgICAn
c3VwcG9ydGVkRW50cnlUeXBlcyBpcyBub3Qgc3VwcG9ydGVkJyk7CisgIGNvbnN0IHR5cGVzID0g
UGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzOworICBhc3NlcnRfdHJ1ZSh0
eXBlcy5pbmNsdWRlcygiZmlyc3QtaW5wdXQiKSwKKyAgICAiVGhlcmUgc2hvdWxkIGJlICdmaXJz
dC1pbnB1dCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIik7Cisg
IGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJldmVudCIpLAorICAgICJUaGVyZSBzaG91bGQg
YmUgJ2V2ZW50JyBpbiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMiKTsK
KyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih0eXBlcy5pbmRleE9mKCJmaXJzdC1pbnB1dCIpLCB0eXBl
cy5pbmRleE9mKCdldmVudCcpLAorICAgICJUaGUgJ2ZpcnN0LWlucHV0JyBlbnRyeSBzaG91bGQg
YXBwZWFyIGFmdGVyIHRoZSAnZXZlbnQnIGVudHJ5Iik7Cit9LCAic3VwcG9ydGVkRW50cnlUeXBl
cyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGlt
aW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZjY2OTE1MzI2YmUwODZiMzUwNDZhMjQzODliNWYxZmQ2MzRmYjViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1pbmcgb25s
eSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90
aW1pbmdjb25kaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWY0NDQ4YzJhMTAzYTg1MTE1NDRmYmU3YmJmZDA3NjA3NzM3YTkwYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBv
bmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVudC4KKzwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24gaWQ9J2J1dHRvbicgb25t
b3VzZWRvd249J21haW5UaHJlYWRCdXN5KDYwKScKKyAgb25mb2N1cz0nbWFpblRocmVhZEJ1c3ko
NjApJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IHRydXN0ZWRDbGlja1N0YXJ0
OworICBmdW5jdGlvbiB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oaWQpIHsKKyAgICB0cnVzdGVk
Q2xpY2tTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIHJldHVybiBjbGlja0FuZEJsb2Nr
TWFpbihpZCk7CisgIH0KKworICBmdW5jdGlvbiB1bnRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbihp
ZCkgeworICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAg
ICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgYXMgZGlzcGF0Y2hFdmVudCgp
IGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50
KCdtb3VzZWRvd24nKSk7CisgIH0KKworICBmdW5jdGlvbiB0cnVzdGVkRm9jdXNBbmRCbG9ja01h
aW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7
CisgICAgdHJ1c3RlZEZvY3VzU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAvLyBCbG9j
ayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgIGFzIGZvY3VzKCkgaXMgYSBzeW5jIGNhbGwu
CisgICAgdGFyZ2V0LmZvY3VzKCk7CisgIH0KKworICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAn
RXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91c2VE
b3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRy
eUxpc3QgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrVGltZSA9IHBlcmZvcm1h
bmNlLm5vdygpOworICAgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlMaXN0LmdldEVudHJp
ZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25vcmUgY2FzZXMgaW4gd2hpY2gg
dGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09
IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1v
dXNlRG93biwgJ0dvdCBtb3JlIHRoYW4gb25lIGNhbGxiYWNrIHdpdGggbW91c2Vkb3duLicpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLAorICAgICAgICAgICAg
IlNob3VsZCBvbmx5IG9ic2VydmUgb25lIG1vdXNlZG93biBlbnRyeS4gSW5zdGVhZCwgZ290IHRo
ZXNlOiAiICsKKyAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1vdXNlRG93bnMpICsgIi4iKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zWzBdLm5hbWUsICdtb3VzZWRvd24nLAor
ICAgICAgICAgICAgIlRoZSBvYnNlcnZlZCBlbnRyeSBzaG91bGQgYmUgYSBtb3VzZWRvd24iKTsK
KyAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbihtb3VzZURvd25zWzBdLnN0YXJ0VGltZSwgb2JzZXJ2
ZXJDYWxsYmFja1RpbWUsCisgICAgICAgICAgICAiVGhlIHN0YXJ0VGltZSBzaG91bGQgYmUgYmVm
b3JlIG9ic2VydmVyQ2FsbGJhY2tUaW1lIik7CisgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4o
bW91c2VEb3duc1swXS5zdGFydFRpbWUsIHRydXN0ZWRDbGlja1N0YXJ0LAorICAgICAgICAgICAg
IlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGFmdGVyIHRydXN0ZWRDbGlja1N0YXJ0Iik7CisgICAg
ICAgIG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
fSkpLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2V2ZW50J10gfSk7CisgICAgfSk7CisgICAgLy8g
VW50cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgY2FyZXMgYWJvdXQuCisgICAg
dW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIC8vIFRydXN0ZWQgZXZl
bnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBkb2Vzbid0IGNhcmVzIGFib3V0LgorICAgIHRydXN0
ZWRGb2N1c0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgICAgLy8gVHJ1c3RlZCBldmVudCBvZiBh
IHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIGNvbnN0IGNsaWNrUHJvbWlzZSA9
IHRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0KTsKKyAgICByZXR1
cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNlXSk7CisgIH0sICJF
dmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIik7
Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90
b0pTT04tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOTdjNmViMTg4ZDRmYWRlMjdjMDY5NWZj
N2UwMTExMDYyNjFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0ZBSUwgVGVzdCB0b0pT
T04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLiBhc3NlcnRfZXF1YWxzOiBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMgdG9KU09OIHZhbHVl
IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJidXR0b24iPkdlbmVy
YXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIy
ZGU0NzY3YzQyYTVkM2ZlOGE4NGNkZWY3YzUzNGFmYmNkNDRlMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy90b0pTT04uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiB0b0pTT048L3RpdGxlPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8YnV0dG9uIGlkPSdidXR0
b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdD4KKyAgYXN5bmNf
dGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAg
Y29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAgIHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24oZW50cnlMaXN0KSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50
cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoZW50
cnkudG9KU09OKSwgJ2Z1bmN0aW9uJyk7CisgICAgICAgIGNvbnN0IGpzb24gPSBlbnRyeS50b0pT
T04oKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoanNvbiksICdvYmplY3QnKTsKKyAg
ICAgICAgY29uc3Qga2V5cyA9IFsKKyAgICAgICAgICAvLyBQZXJmb3JtYW5jZUVudHJ5CisgICAg
ICAgICAgJ25hbWUnLAorICAgICAgICAgICdlbnRyeVR5cGUnLAorICAgICAgICAgICdzdGFydFRp
bWUnLAorICAgICAgICAgICdkdXJhdGlvbicsCisgICAgICAgICAgLy8gUGVyZm9ybWFuY2VFdmVu
dFRpbWluZworICAgICAgICAgICdwcm9jZXNzaW5nU3RhcnQnLAorICAgICAgICAgICdwcm9jZXNz
aW5nRW5kJywKKyAgICAgICAgICAnY2FuY2VsYWJsZScsCisgICAgICAgICAgJ3RhcmdldCcsCisg
ICAgICAgIF07CisgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGpzb25ba2V5XSwgZW50cnlba2V5XSwKKyAgICAgICAgICAgICdQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMgdG9KU09OIHZh
bHVlJyk7CisgICAgICAgIH0KKyAgICAgIH0pCisgICAgKTsKKyAgICBvYnNlcnZlci5vYnNlcnZl
KHt0eXBlOiAnZXZlbnQnfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9
LCAnVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLicpOworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRiMjg4NjdmZGYyNzUwYmRkNzU1YmRhZGIzNmJjZDYwZDE0YjQ5MGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUzIEBACitUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
K0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9N
RVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xk
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9kaXNjb25uZWN0LXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVu
dC1jb3VudHMtemVyby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNo
YWRvdy1kb20uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNo
b2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
bGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qt
b2JzZXJ2ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvdG9KU09OLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNv
biBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0YmU2MWU2NzA5YzNmODEz
N2QyNWE1MzkyMjZjODg5MTRkMzg4OWYyLi43N2FhMWQ0MDc5NzE5MGRiYWVjYWFjNzk1ZDk2NWE0
MWU1ZDUzMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KKysr
IGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xMzU4LDYgKzEzNTgsMjEgQEAK
ICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvZHJt
LXRlbXBvcmFyeS1saWNlbnNlLXR5cGUuaHR0cHMuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAg
ICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y3Jvc3NpZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbCI6IFsKKyAg
ICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAg
XSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0
cmlldmFiaWxpdHkuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5o
dG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL2RlZGljYXRlZC13b3JrZXIvZXZlbnRzb3VyY2UtY29u
c3RydWN0b3Itbm9uLXNhbWUtb3JpZ2luLmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
QEAgLTMwNzcsNCArMzA5Miw0IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3aWNlLmh0bWwiOiBbCiAgICAg
ICAgICJzbG93IgogICAgIF0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405362</attachid>
            <date>2020-07-28 09:15:22 -0700</date>
            <delta_ts>2020-07-29 00:27:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200728181518.patch</filename>
            <type>text/plain</type>
            <size>175241</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzgyOTMwODdiYmNhNTdi
MTRmZjMyNWJhZTM0MDkzMDczMmU2YjhjMi4uOWE0ZGM4MmIyMzAyYTM1MzU4NzRkOTI2NjJhNmJi
NzhjODE3ZWVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wNy0yOCAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDctMjQgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29h
XSBBZGQgUGVyZm9ybWFuY2VUZXN0IHRvb2wgZm9yIG1lYXN1cmluZyByYXcgc3BlZWQgb2YgYSB2
aWRlbyBkZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc1ZDAyNzU2OWM4M2Q4N2M2YmM5
YTllNzM4N2VkN2E5MzYwN2QxZjUuLmNhYzc3NjYwNTI4N2E4MWM5YjQyOWQzODNmMTFiNGNmZmUx
MTZjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NjgsNiArOTY4LDcgQEAgc2V0KFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNl
bGVjdGlvbi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRz
LmlkbAogICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRs
CiAgICAgcGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk4NSw2ICs5ODYsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAg
ICAgcGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisg
ICAgcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VN
YXJrLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VPYnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CmluZGV4IDljM2Q5N2NhMDNiOWQ1NDkwMGM4ZTczZDVkMDBjMzkyNjc1NjQ3
YWUuLmUwYWFlMDVmYjg1NWJmZTlhMmRlNTBhYzJkMGI4NWE0NTVhMDljOWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTM3LDYgKzkz
Nyw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3Bh
Z2UvQ3J5cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRD
b3VudHMuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNU
X0RJUikvcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBl
cmZvcm1hbmNlLmlkbApAQCAtOTU1LDYgKzk1Niw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2
aWdhdG9yU2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hh
cmUuaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJ
UikvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsu
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVD
VF9ESVIpL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA3NTAwNTFiMjk4NTVkNmE3
MGQ4NjExODM3N2YzZTg5YzQyMDZkYjEzLi5hZmRjY2ZjZjA1OGIxM2QwMzFmNzBlZTk3NzE1NmQ3
ZDhkZTFlNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdApAQCAtNTY4LDYgKzU2OCw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9k
aWZpZXJJbml0LmNwcApAQCAtMTI5Niw2ICsxMjk4LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3Jt
YW5jZUVudHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFu
Y2VNYXJrLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UGVyZm9ybWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXgg
ZTE0N2VkMWRlZWY4ZjI4MGEyMGUyOWFjMzkyYTVhODIwMTQ2OWI4MS4uZDAyNDYwYWYyZmIwNjkx
OTUzOTMzMDNjOTFkMDg3MTc1MzliYzJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CkBAIC05NTYsNiArOTU2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkv
cGFnZS9DcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFn
ZS9FdmVudENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUp
L3BhZ2UvR2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk3NCw2ICs5NzUsNyBAQCBKU19CSU5E
SU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRl
eCA4YzRmYTc3MzYyMjc5NmE0OTNmODU4ZmUxNjg1YmJhNTgyYTQ0NDMyLi4yMDE5Y2MxNGI3OWE3
M2YwNDYxZjg5Mjg3NjY3MDRkZGM4Y2JkYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsx
NTgzLDEwIEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFk
YXB0YXRpb25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFn
ZVJlZmVyZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5j
cHAKIHBhZ2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXIuY3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxl
ci5jcHAKIHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAog
cGFnZS9QZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVu
dC5jcHAKIHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzMSw2ICsyODM0LDcgQEAg
SlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpT
RXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudElu
aXQuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMx
NjEsNiArMzE2NSw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBh
cmFtcy5jcHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1Bl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9y
bWFuY2VNZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWZjYjRj
OTU1MGFhZjJlMWM5YTAzYTczMzlkOGI1ODc0ZWY1NzUyZS4uZjk0NjExZTg5OTEzZDEzYWQ0YjRj
YWY2NzY0YWM2ZWJjZWUxM2VkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzQzNyw2ICszNDM3LDcgQEAKIAkJQTlEMjQ4MDcw
RDc1N0U3RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RP
TU1pbWVUeXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1p
bWVUeXBlQXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE5RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsg
fTsKIAkJQUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
QUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bSAqLzsgfTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlE
NjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAw
MkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJz
b3JJbWFnZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFD
NzE2QTQ4NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEy
QTVBRDAxNkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVE
NTAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ1Miw4
ICszNDUzLDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRo
ZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmggKi87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRo
ZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQTdGRUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICov
OyB9OwogCQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZB
NEU3NEIwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0
Q0IzNjM1MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5oICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyog
QWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZH
Um9vdC5oICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAq
LzsgfTsKIAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIz
QTMyNjA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsK
IAkJQUIyNDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZB
NUZEIC8qIFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIg
LyogTGluZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ4MCw2
ICsxMjQ4Myw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxl
bWVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0
aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyog
RXZlbnRUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVj
aFN5bnRoZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVz
aXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5
NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJB
NUFCQTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTI1MTAsNiArMTI1MTUsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyog
SlNTcGVlY2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9p
Y2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNW
b2ljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QUE5QjA0ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5
QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2
ZW50Q291bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2
MzEwMEJFRjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNj
ZXNzaWJpbGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
QUE3MjhGMjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJ
T1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEyNTI0LDYgKzEyNTMyLDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBs
YXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVy
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFF
QjhBRDUyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBQUVCOEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkg
LyogV2ViU29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViU29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIz
QTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdD
QzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjEyMDAsMTEgKzIxMjExLDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAw
NDU5OEI1IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFB
NEUxOTEwMDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2
NzcwRDc4Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRD
QjM2MkYwMEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYz
MDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQg
LyogRXZlbnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyog
RXZlbnRIYW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50
U291cmNlLmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3Vy
Y2UuaCAqLywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRs
ICovLAorCQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8s
CisJCQkJQUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJ
MTQ5OTNCRTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJ
MTQ5OTNCRTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2
MjI4NzgzMEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEyODks
NiArMjEzMDUsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFu
Y2VFbnRyeS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5j
ZUVudHJ5LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUg
LyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAw
NzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBC
NTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0
MzAwMDlFQUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NTAs
NiArMzA3NjksNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENv
bnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBF
dmVudENvdW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlD
IC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERC
MzAwNUFCRDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYx
NDUwMDhFQjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc2
OCw2ICszMDc4OCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFy
Z2V0Q29uY3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURB
NiAvKiBFdmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1
MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUFBMTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25z
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhj
ZXB0aW9uQ29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjY5Nyw2ICszMjcxOCw3IEBACiAJCQkJ
RTNGQTM4NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNl
RW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNB
Q0NDMDA3MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
Rjg1MEZFMzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VN
YXJrLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5
MmNiNWM2Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1
MDgxZjdjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9y
bWFuY2VFbnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQ
ZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAi
SlNQZXJmb3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNs
dWRlICJKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNl
TWFyay5oIgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQ
ZXJmb3JtYW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2lu
Y2x1ZGUgIlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1
ZSB0b0pTTmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50
cnkpKQogICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5n
PihnbG9iYWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAg
aWYgKGlzPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBhYzM5NjY3ZGNkYzdkNDdhOGRhYzZhZDUxODg4OWI2MjY5
OTY2ZDdkLi40NThkMzNkZmEyMzdkZjliNjBiNWYzNTc4NWI4OWVkNDgwN2FiZjE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
ODUsNiArMTg1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xl
dEdsb2JhbFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNl
TWVhc3VyZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDQ4OTI3YzM2ZWZhYTdjMTk4MmNlNjdmOTIwZGNhZjY0YTMwNDUxMzcu
LjBhMTM0YWQ3YjY1NWVkN2M2NWNhZmYwOGI4MTQ1ODg4ZWU0ODk3OWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtMzE4OCw2ICszMTg4LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQ
YWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1
bFBhaW50ID0gdHJ1ZTsKIH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1p
bmcvI3NlYy1kaXNwYXRjaC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1p
bmdFbnRyaWVzSWZOZWVkZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRp
c3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3Vt
ZW50Ojp3cml0ZShEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5n
JiYgdGV4dCkKIHsKICAgICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBmNWY2ODNhMjA5MTNlODJiZGQ4MDA0NGI4YTJkY2U2ZTc5NTQ1MDRkLi42
ZTc1NTVmMmU1YmNmYzEwOTllMDRkNjg5OGE5NzZjM2ZkYTJmODg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTU3NCw2ICsxNTc0LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlO
b25FbXB0eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1w
dHlDdXN0b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVl
ZGVkKCk7CiAKKyAgICB2b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOwor
CiAgICAgRWRpdG9yJiBlZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVk
aXRvciYgZWRpdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVj
dGlvbiYgc2VsZWN0aW9uKCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFk
OGViMGQ3NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAj
aW5jbHVkZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRl
ICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCkBAIC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2
ZW50KE5vZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRp
b25TdG9wcGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0
RXZlbnRQYXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWlu
Zz4gZXZlbnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkp
CisgICAgICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9j
dW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00o
ZXZlbnQsIGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAg
IGV2ZW50VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5k
b3coKSwgZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzlmMTIyY2FjYzkyYWEx
NTczZDUwZDBkODIxNjM3M2QzYWNlN2QxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudENv
dW50cy5oIgorCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlr
ZS5oIgorI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudENvdW50czo6RXZlbnRDb3VudHMo
KQoreworICAgIHN0YXRpYyBjb25zdCBhdXRvIGV2ZW50VHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95
ZWQoVmVjdG9yPEF0b21TdHJpbmc+IHsKKyAgICAgICAgLyogTW91c2VFdmVudHMgKi8KKyAgICAg
ICAgZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5jb250ZXh0bWVudUV2ZW50
LCBldmVudE5hbWVzKCkuZGJsY2xpY2tFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkubW91c2VlbnRlckV2ZW50LCBldmVudE5hbWVzKCkubW91
c2VsZWF2ZUV2ZW50LCBldmVudE5hbWVzKCkubW91c2VvdXRFdmVudCwKKyAgICAgICAgZXZlbnRO
YW1lcygpLm1vdXNlb3ZlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50LAorICAgICAg
ICAvKiBQb2ludGVyRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyb3ZlckV2
ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcmVudGVyRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMo
KS5wb2ludGVyZG93bkV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcnVwRXZlbnQsCisgICAgICAg
IGV2ZW50TmFtZXMoKS5wb2ludGVyY2FuY2VsRXZlbnQsIGV2ZW50TmFtZXMoKS5wb2ludGVyb3V0
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVybGVhdmVFdmVudCwgZXZlbnROYW1l
cygpLmdvdHBvaW50ZXJjYXB0dXJlRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5sb3N0cG9p
bnRlcmNhcHR1cmVFdmVudCwKKyAgICAgICAgLyogVG91Y2hFdmVudHMgKi8KKyAgICAgICAgZXZl
bnROYW1lcygpLnRvdWNoc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsCisg
ICAgICAgIGV2ZW50TmFtZXMoKS50b3VjaGNhbmNlbEV2ZW50LAorICAgICAgICAvKiBLZXlib2Fy
ZEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBldmVudE5hbWVz
KCkua2V5cHJlc3NFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmtleXVwRXZlbnQsCisgICAg
ICAgIC8qIElucHV0RXZlbnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5iZWZvcmVpbnB1dEV2
ZW50LCBldmVudE5hbWVzKCkuaW5wdXRFdmVudCwKKyAgICAgICAgLyogQ29tcG9zaXRpb25FdmVu
dHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9uc3RhcnRFdmVudCwKKyAgICAg
ICAgZXZlbnROYW1lcygpLmNvbXBvc2l0aW9udXBkYXRlRXZlbnQsIGV2ZW50TmFtZXMoKS5jb21w
b3NpdGlvbmVuZEV2ZW50LAorICAgICAgICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi8KKyAgICAg
ICAgZXZlbnROYW1lcygpLmRyYWdzdGFydEV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2VuZEV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcmFn
bGVhdmVFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQsIGV2ZW50TmFt
ZXMoKS5kcm9wRXZlbnQsCisgICAgfSk7CisgICAgZm9yIChjb25zdCBhdXRvJiB0eXBlIDogZXZl
bnRUeXBlcy5nZXQoKSkKKyAgICAgICAgbV9tYXAuYWRkKHR5cGUsIDB1KTsKK30KKwordm9pZCBF
dmVudENvdW50czo6aW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYgbWFwKQoreworICAg
IGZvciAoYXV0byYga2V5VmFsdWUgOiBtX21hcCkKKyAgICAgICAgbWFwLnNldDxJRExET01TdHJp
bmcsIElETFVuc2lnbmVkTG9uZ0xvbmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOwor
fQorCit2b2lkIEV2ZW50Q291bnRzOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiBrZXksIHVuc2ln
bmVkIHZhbHVlKQoreworICAgIG1fbWFwLnNldChXVEZNb3ZlKGtleSksIHZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6YWRkKGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRvIGl0
ID0gbV9tYXAuZmluZCh0eXBlKTsKKyAgICBpdC0+dmFsdWUgPSBpdC0+dmFsdWUgKyAxOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50Q291bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmQ1NGZmYTgyOWJhZDAzYTQ1MzhjZmVlNjRmNjQ1ODc5ZDIzMTI5YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApAQCAtMCwwICsxLDU3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIERPTVN0cmlu
ZzsKKworY2xhc3MgRXZlbnRDb3VudHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudENv
dW50cz4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8RXZlbnRDb3VudHM+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRXZlbnRDb3VudHMpOyB9CisKKyAgICB2b2lkIGluaXRpYWxp
emVNYXBMaWtlKERPTU1hcEFkYXB0ZXImKTsKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmlu
ZyYmLCB1bnNpZ25lZCk7CisKKyAgICBjb25zdCBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+JiBt
YXAoKSBjb25zdCB7IHJldHVybiBtX21hcDsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgU3RyaW5n
JiB0eXBlKTsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3Ry
aW5nLCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzk2NGRkNWE1NTY1ZmFkMWQ2
YjQ3ZTYxN2QyMmQwZTRiZGNhODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1wZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisg
ICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgewor
ICAgIHJlYWRvbmx5IG1hcGxpa2U8RE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+OworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkyMmY5M2NjODI3MjBl
ZmE5YWRjNzIzZmRlNzI5ODMxZjM2YWEyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRU
aW1pbmcuaCIKKworI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisj
aW5jbHVkZSAiUGVyZm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRp
bWluZzo6RXZlbnRUaW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFy
dCkKKyAgICA6IG1fc3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0
KHByb2Nlc3NpbmdTdGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVu
dFRpbWluZyhjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0
ZWQgZXZlbnRzIG9mIGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0Cisg
ICAgLy8gZXZlbnRzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMg
Zm9yIHdoaWNoIHRoZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlz
cGF0Y2ggdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAv
LyBzaW5jZSBFdmVudENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBw
ZXJjZW50aWxlcyBvbiB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9ldmVudC10aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5p
c1RydXN0ZWQoKQorICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQ
b2ludGVyRXZlbnQoKQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQu
aXNLZXlib2FyZEV2ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2
ZW50LmlzSW5wdXRFdmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQo
KSkKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVu
dAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZl
bnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVu
dAorICAgICAgICAmJiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAg
ICAgICAgJiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0
ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01X
aW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5
cGVGb3JFdmVudFRpbWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlm
ICghd2luZG93LnBlcmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5w
ZXJmb3JtYW5jZSgpLmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisgICAgICAgIHJldHVybiBt
YWtlVW5pcXVlPEV2ZW50VGltaW5nPih3aW5kb3cucGVyZm9ybWFuY2UoKS5yZWxhdGl2ZVRpbWVG
cm9tVGltZU9yaWdpbkluUmVkdWNlZFJlc29sdXRpb24oZXZlbnQudGltZVN0YW1wKCkpLCB3aW5k
b3cucGVyZm9ybWFuY2UoKS5ub3coKSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
RXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXpl
RXZlbnRUaW1pbmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQs
IGV2ZW50LmNhbmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5
YjY3ZGZiNzc0MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xh
c3MgRE9NV2luZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVu
dFRpbWluZz4gY3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBF
dmVudFRpbWluZyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKwor
ICAgIHZvaWQgZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50
Jik7CisKK3ByaXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3By
b2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDIwNjhkYTcwZTdkZjFjM2ZlMWM5MTkxYWNkNTAyNTZiY2RhMjQyMjEuLmNjM2Vm
MDQ4YTNiYWIxNDgzM2MwMjczNjhkYzY4ZmQzNTZlOGU3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMTUxNSw2ICsxNTE1LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygp
CiAgICAgICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAg
ICB9KTsKIAorICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Cisg
ICAgICAgIGRvY3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAg
IH0pOworCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAg
ICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5
NTM2M2U1MWMwYzU1NzYuLmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9y
bWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5n
ZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7Cisg
ICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3Vu
dHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkg
Y29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwog
CisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdElucHV0VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VU
aW1pbmdCdWZmZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkK
ICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBp
ZiAobV9maXJzdElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJ
bnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAg
ICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcx
LDYgKzE4Nyw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNl
OjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50
ZnVsLXBhaW50IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRp
bWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1h
bmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJz
dENvbnRlbnRmdWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXpl
KCkgPj0gMTUwOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7
Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9v
bCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5n
U3RhcnQsIG5vdygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFw
cGVuZChXVEZNb3ZlKGVudHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVu
ZGluZ0V2ZW50VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygp
OworICAgIHdoaWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0
cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJz
dCgpOworICAgICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291
bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQo
ZW50cnktPm5hbWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQo
KHJlbmRlcmluZ1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAg
ICAgIGVudHJ5LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9m
aXJzdElucHV0VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xp
Y2siIHx8IGVudHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1v
dXNlZG93biIpIHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAg
ICAgICAgICAgcXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJh
dGlvbkluTXMgPj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAg
ICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30K
Kwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiBy
ZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
QEAgLTM0Niw3ICs0MDYsNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1h
bmNlRW50cnkmIGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChv
YnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAg
aWYgKG9ic2VydmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNl
cnZlci0+Y2FuT2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVu
dHJ5KGVudHJ5KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkw
NDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4
ZGRjM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRp
bWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNl
cnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1
YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJm
b3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMo
KTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBj
b25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlU
eXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJz
dElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQor
CisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRk
RXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBm
aW5hbGl6ZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRp
bWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQq
KTsKKyAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJl
bW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVy
KFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZh
dGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdh
dGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7Cisg
ICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1h
bmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQg
bV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAg
VGltZXIgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0x
MjksNiArMTQ2LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWlu
Zz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWlu
Zz4gbV91c2VyVGltaW5nOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1f
Zmlyc3RJbnB1dFRpbWluZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0
PFJlZlB0cjxQZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQy
ODM5ZTA1ZjhiLi42OGViNGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRv
dWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1p
bmddIHZvaWQgY2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtF
bmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1
cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBv
cHRpb25hbCBET01TdHJpbmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRp
bWluZ10gdm9pZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7
CisKKyAgICAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVu
c2lvbnMKKyAgICBbRXhwb3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBFdmVudENvdW50cyBldmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9y
bWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJm
MjczNzg5Li4zYWRmNzNhNzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBl
cmZvcm1hbmNlRW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25h
bDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlw
ZVN0cmluZyhjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09
ICJldmVudCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisK
KyAgICBpZiAoZW50cnlUeXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRp
b25hbDxUeXBlPihUeXBlOjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5h
dmlnYXRpb24iKQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlv
bik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkw
YjIxY2JhNjE0ZDc4Y2U4OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4Yjli
YzIzZWRiMmRmMjcxMWY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgK
QEAgLTQ2LDEzICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RhcnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9kdXJhdGlvbjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1f
ZHVyYXRpb24gPSBkdXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAg
TmF2aWdhdGlvbiAgPSAxIDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAg
ICAgICBNZWFzdXJlICAgICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMs
Ci0gICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8
PCA0LAorICAgICAgICBFdmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAg
PSAxIDw8IDYKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBA
IC02NCw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElu
cHV0KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAg
IHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9y
bWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7
CkBAIC03Niw3ICs4MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5n
IG1fbmFtZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91Ymxl
IG1fZHVyYXRpb247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6
VHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0
LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFy
Z2V0KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAs
IG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0Vu
ZChwcm9jZXNzaW5nRW5kKQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBt
X2VudHJ5VHlwZShlbnRyeVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1Jl
ZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVG
aXJzdElucHV0VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQorewor
ICAgIGF1dG8gZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcoZW50cnkubmFtZSgpLCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRy
eS5zdGFydFRpbWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdF
bmQoKSwgZW50cnkuY2FuY2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGlt
aW5nLT5zZXREdXJhdGlvbihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1p
bmc7Cit9CisKK3N0YXRpYyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBp
ZiAoIW5vZGUgfHwgIW5vZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRv
d1Jvb3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVu
dCgpLmlzRnVsbHlBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK05vZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0
Cit7CisgICAgaWYgKCFtX3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQp
OworICAgIHJldHVybiBjYW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisK
K0FTQ0lJTGl0ZXJhbCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAor
eworICAgIHJldHVybiBtX2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlu
cHV0Il9zIDogImV2ZW50Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4
Y2IxYzVjMzJlNjg1ZDRjY2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJs
ZSBwcm9jZXNzaW5nRW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
KHR5cGUsIFR5cGU6OkV2ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2lu
Z0VuZCwgY2FuY2VsYWJsZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9y
bWFuY2VFdmVudFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVs
dDsKKworICAgIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nl
c3NpbmdTdGFydDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9jZXNzaW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5jZWxhYmxlOyB9CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVk
OgorICAgIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgVHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0
YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCop
OworCitwcml2YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50
cnlUeXBlOyB9CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisg
ICAgZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7
CisgICAgYm9vbCBtX2NhbmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVu
dFRhcmdldCogbV90YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykK
KyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYg
ZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsg
fQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2Vm
NzRkNGQ0ZGVlMTkxODM4ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91Ymxl
IERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vZGU/IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0
dHJpYnV0ZSB9OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAKaW5kZXggMTI0ZjRlZThkMTI4Yjc1YWI1OWU4ODk5ZjNlMWE2MGQ0ODcxNjQ3ZS4uZjBk
ODMwYzFiYzc3MmVlMDk2MjBhNmU4MGE5MmE1Njg2NjY3YTRjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC02MCwxMyArNjAsMjQgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAg
ICBpZiAoIW1fcGVyZm9ybWFuY2UpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJy
b3IgfTsKIAotICAgIGlmIChpbml0LmVudHJ5VHlwZXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiZW50cnlUeXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkg
bGlzdCJfcyB9OwotCiAgICAgT3B0aW9uU2V0PFBlcmZvcm1hbmNlRW50cnk6OlR5cGU+IGZpbHRl
cjsKLSAgICBmb3IgKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlIDogaW5pdC5lbnRyeVR5cGVzKSB7
Ci0gICAgICAgIGlmIChhdXRvIHR5cGUgPSBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlw
ZVN0cmluZyhlbnRyeVR5cGUpKQotICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CisgICAg
aWYgKGluaXQuZW50cnlUeXBlcykgeworICAgICAgICBpZiAoaW5pdC5lbnRyeVR5cGVzLT5pc0Vt
cHR5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAiZW50cnlU
eXBlcyBjYW5ub3QgYmUgYW4gZW1wdHkgbGlzdCJfcyB9OworICAgICAgICBmb3IgKGNvbnN0IFN0
cmluZyYgZW50cnlUeXBlIDogKmluaXQuZW50cnlUeXBlcykgeworICAgICAgICAgICAgaWYgKGF1
dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGVudHJ5VHlw
ZSkpCisgICAgICAgICAgICAgICAgZmlsdGVyLmFkZCgqdHlwZSk7CisgICAgICAgIH0KKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoaW5pdC50eXBlLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJubyB0eXBlIG9yIGVudHJ5VHlwZSB3ZXJlIHBy
b3ZpZGVzIl9zIH07CisgICAgICAgIGF1dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNl
RW50cnlUeXBlU3RyaW5nKGluaXQudHlwZSk7CisgICAgICAgIGlmICghdHlwZSkKKyAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsICJ0eXBlIHdhcyBub3QgcmVjb2duaXpl
ZCJfcyB9OworICAgICAgICBpZiAodHlwZSA9PSBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpFdmVu
dCAmJiBpbml0LmR1cmF0aW9uVGhyZXNob2xkKQorICAgICAgICAgICAgbV9kdXJhdGlvblRocmVz
aG9sZCA9IHN0ZDo6bWF4KDE2LjAsICppbml0LmR1cmF0aW9uVGhyZXNob2xkKTsKKworICAgICAg
ICBmaWx0ZXIuYWRkKCp0eXBlKTsKICAgICB9CiAKICAgICBpZiAoZmlsdGVyLmlzRW1wdHkoKSkK
QEAgLTExOCw2ICsxMjksOCBAQCBWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpz
dXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmCiAgICAgVmVjdG9yPFN0
cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5v
cmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWluZyBMZXZlbCAyCiAg
ICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAorICAgICAgICAiZXZlbnQiX3MsCisgICAgICAgICJm
aXJzdC1pbnB1dCJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJtZWFzdXJlIl9zCiAg
ICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKaW5kZXggZWMx
MTE4OWZiODNhODZhOTFlYTNlODEyMmM0YTY3ZWIyODIxYjZhNi4uOTNlMDFiMmI5MGUzMjJiMGFj
NDBiYjEyMmY2NmU4MWU3NjJkNjFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmgKQEAgLTQxLDcgKzQxLDkgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGNsYXNzIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3Jt
YW5jZU9ic2VydmVyPiB7CiBwdWJsaWM6CiAgICAgc3RydWN0IEluaXQgewotICAgICAgICBWZWN0
b3I8U3RyaW5nPiBlbnRyeVR5cGVzOworICAgICAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4g
ZW50cnlUeXBlczsKKyAgICAgICAgU3RyaW5nIHR5cGU7CisgICAgICAgIE9wdGlvbmFsPERPTUhp
Z2hSZXNUaW1lU3RhbXA+IGR1cmF0aW9uVGhyZXNob2xkOwogICAgIH07CiAKICAgICBzdGF0aWMg
UmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQpAQCAt
NjQsNiArNjYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlZ2lzdGVyZWQoKSBjb25zdCB7IHJl
dHVybiBtX3JlZ2lzdGVyZWQ7IH0KICAgICBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2smIGNh
bGxiYWNrKCkgeyByZXR1cm4gbV9jYWxsYmFjay5nZXQoKTsgfQogCisgICAgYm9vbCBjYW5PYnNl
cnZlKGNvbnN0IFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSBjb25zdCB7IHJldHVybiBlbnRyeS50
eXBlKCkgIT0gUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6RXZlbnQgfHwgZW50cnkuZHVyYXRpb24o
KSA+PSBtX2R1cmF0aW9uVGhyZXNob2xkOyB9CisKIHByaXZhdGU6CiAgICAgUGVyZm9ybWFuY2VP
YnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJD
YWxsYmFjaz4mJik7CiAKQEAgLTcyLDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBSZWY8UGVyZm9y
bWFuY2VPYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIE9wdGlvblNldDxQZXJmb3Jt
YW5jZUVudHJ5OjpUeXBlPiBtX3R5cGVGaWx0ZXI7CiAgICAgYm9vbCBtX3JlZ2lzdGVyZWQgeyBm
YWxzZSB9OworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbV9kdXJhdGlvblRocmVzaG9sZCB7IDEw
NCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMzBlOGRlMWZhOGFkMjBhOTg3NzhiODE2ZGZm
OWFlNDQzYjcwY2E4Ni4uODIwOTFjNTQwZDg0MDBhOTU2NzgwNGU1Y2IyZWYzYzRmNmEzMzc0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCkBAIC0yNSw2
ICsyNSw4IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1lbGlu
ZS8KIAordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwogWwogICAgIEN1c3Rv
bUlzUmVhY2hhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGluZSwK
QEAgLTQwLDUgKzQyLDcgQEAKIH07CiAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlcklu
aXQgewotICAgIHJlcXVpcmVkIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKKyAgICBz
ZXF1ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CisgICAgRE9NU3RyaW5nIHR5cGU7CisgICAg
RE9NSGlnaFJlc1RpbWVTdGFtcCBkdXJhdGlvblRocmVzaG9sZDsKIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDI4ZWE1
MDYyNmQyMjUzZjRhYzhhNTNlYmFmNjJkNjVjZWEwZjVkOC4uNTQ4MTBlYzRkODliMWNlZGUzMjdi
Zjc2ZTEwMWM3MDQzNzgwMmI2ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTI4ICBS
b2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGlt
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2
NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRl
c3RzLW9wdGlvbnMuanNvbjoKKwogMjAyMC0wNy0yNCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFk
QGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1MgV0sxIEVXU10gY29tcG9zaXRpbmcvcmVwYWlu
dC9pZnJhbWVzIHRlc3RzIGFyZSBmbGFreSBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggYWI3MjMwZWQzMjZiMTIwMWJhZjY0M2U0M2RlOTU4ZmU0OWNhMzE4My4uYTc2
ZWYxMmE1OTIwNThiZTU4NjQzODc1Yjk3ZGRjMWFkZDc0YWI4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA2IEBACisyMDIwLTA3LTI4ICBSb2IgQnVpcyAgPHJi
dWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQt
ZmxhZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NsaWNrLXRpbWluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2NsaWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJh
bWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10
YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9l
dmVudC1jbGljay1jb3VudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXpl
cm8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ct
ZG9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lk
bGhhcm5lc3MuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxo
YXJuZXNzLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1
cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1k
dXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRp
b24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZWVudGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3Vz
ZW91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHkt
b2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJk
b3duLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmxlYXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
cm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2st
bm90LW9ic2VydmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZl
bnQtdGltaW5nLXRlc3QtdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgY2xpY2tPbkVs
ZW1lbnRBbmREZWxheSk6CisgICAgICAgIChtYWluVGhyZWFkQnVzeSk6CisgICAgICAgICh2ZXJp
ZnlFdmVudCk6CisgICAgICAgICh2ZXJpZnlDbGlja0V2ZW50KToKKyAgICAgICAgKHdhaXQpOgor
ICAgICAgICAoYXN5bmMgY29uc3QpOgorICAgICAgICAoYXBwbHlBY3Rpb24pOgorICAgICAgICAo
cmVxdWlyZXNMaXN0ZW5lcik6CisgICAgICAgIChub3RDYW5jZWxhYmxlKToKKyAgICAgICAgKHRl
c3RDb3VudHMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVz
b3VyY2VzL3Nsb3ctaW1hZ2UucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmll
dmFiaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmV0cmlldmUtZmlyc3RJbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRl
ZC10eXBlcy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5n
Y29uZGl0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNj
LWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIwLTA3LTIzICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFNWR0FFbGVtZW50J3MgcmVsIC8g
cmVsTGlzdCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
cmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IDE1NmQ4MDBmYjA0
YmVhMzE4OWQ2NDQ0ZGM2NWQ2MGQ5NGIzOTRhNTIuLjUzZTAwY2U4NDMyOTRiZTRlYTMyY2I1NWVk
YTdhMzdjZmU1ZDczMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNv
dXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0xODAsNiArMTgwLDgg
QEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYSI6ICJpbXBvcnQiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9Hb29nbGUiOiAic2tpcCIs
IAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZW50cmllcy1hcGkiOiAic2tpcCIsIAorICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50c291cmNlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
ZXh0LXhodG1sLXB1YmlkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZlYXR1
cmUtcG9saWN5IjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYWEyN2ZiNjFjMzEwZDkxYjYyOWZmMGQ3YjE5Y2QwMWNlNDY5ZTY0NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL01FVEEueW1sCkBAIC0wLDAgKzEsMyBAQAorc3BlYzogaHR0cHM6Ly9naXRo
dWIuY29tL1dJQ0cvZXZlbnQtdGltaW5nCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG5wbTEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZTk1NjZhMTllY2QyYzA2ODExNzlkZTA3ZTNiY2YxMTI4NWUyMzY2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAor
Q2xpY2sgbWUKKworRkFJTCBFdmVudCBUaW1pbmcgYXV4Y2xpY2suIGFzc2VydF9lcXVhbHM6IE5v
IGV2ZW50cyB5ZXQuIGV4cGVjdGVkIChudW1iZXIpIDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjg4MzI4ZTJhYTM2NzE1ZTgxNjVjNmViMjc3YmU0OWY3ZDE4OTY1NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgYXV4
Y2xpY2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRp
diBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdhdXhjbGljaycpOworICB9
KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYjFmYWI2MDY2NmE5NjliZDJhNDgzM2E2ODExZTg4
NWFlZDUzNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNo
b2xkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9y
bWFuY2VPYnNlcnZlciBidWZmZXJpbmcgaW5kZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1
ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmJlNzY2M2Mx
MTRkMTA1NTg2NmM1OWYwNzVmZjUzNTJhY2ZjZGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVy
ZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGlt
aW5nOiBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBhbmQgZHVyYXRpb25U
aHJlc2hvbGQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0Pgor
PGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRp
bWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAvLyBBZGQgYSBQZXJm
b3JtYW5jZU9ic2VydmVyIGFuZCBvYnNlcnZlIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiAz
MCBhbmQgYnVmZmVyZWQgZmxhZy4KKyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUx
ID0+IHsKKyAgICAvLyBBZGQgYSBzbG93IGNsaWNrIGV2ZW50IGFuZCBtYWtlIHN1cmUgaXQncyBk
aXNwYXRjaGVkIHRvIG9ic2VydmVycy4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyByZXNv
bHZlMiA9PiB7CisgICAgICAvLyBPYnNlcnZlciB0byBhd2FpdCB1bnRpbCBldmVudCBlbnRyeSBp
cyBkaXNwYXRjaGVkLgorICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKCkgPT4geworICAg
ICAgICByZXNvbHZlMigpOworICAgICAgfSkub2JzZXJ2ZSh7dHlwZTogImV2ZW50IiwgZHVyYXRp
b25UaHJlc2hvbGQ6IDE2fSk7CisgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdt
eURpdicsIDMwKTsKKyAgICB9KTsKKyAgICBjb25zdCBhZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3Jt
YW5jZS5ub3coKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0
ID0+IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUoJ21v
dXNlZG93bicpOworICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICBy
ZXR1cm47CisgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLCAnU2hvdWxk
IG9ubHkgb2JzZXJ2ZSAxIGNsaWNrIScpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtb3Vz
ZURvd25zWzBdLnByb2Nlc3NpbmdTdGFydCwgYWZ0ZXJGaXJzdENsaWNrLAorICAgICAgICAnVGhl
IGVudHJ5IHNob3VsZCBub3QgYmUgdGhlIGZpcnN0IGNsaWNrISEnKTsKKyAgICAgIHZlcmlmeUNs
aWNrRXZlbnQobW91c2VEb3duc1swXSwgJ215RGl2JywgZmFsc2UgLyogaXNGaXJzdCAqLywgMTYg
LyogbWluRHVyYXRpb24qLyk7CisgICAgICByZXNvbHZlMSgpOworICAgIH0pKS5vYnNlcnZlKHt0
eXBlOiAnZXZlbnQnLCBkdXJhdGlvblRocmVzaG9sZDogMTYsIGJ1ZmZlcmVkOiB0cnVlfSk7Cisg
ICAgLy8gVGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgY2xpY2sgb2JzZXJ2ZWQgc2luY2UgdGhlIG90
aGVyIG9uZSB3b3VsZCBub3QgYmUgYnVmZmVyZWQuCisgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRB
bmREZWxheSgnbXlEaXYnLCAzMCk7CisgIH0pOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgYnVm
ZmVyaW5nIGluZGVwZW5kZW50IG9mIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQt
ZmxhZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTc2MDRjMjhlMTJmMzk4MDcwZmEyZWZkODc5
MTNjNTYzNTk0ZjIwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0hhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVudHJp
ZXMgVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVm
ZmVyZWQtZmxhZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZTE1MmJlOTM4OGZhODU5M2MzYzJhODU5ODFh
N2NiMGVkNzQ5MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTgg
Lz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2VlcyBlbnRyaWVz
IHdpdGggYnVmZmVyZWQgZmxhZzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRl
IGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgIGxldCBl
dmVudFNlZW4gPSBmYWxzZTsKKyAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVt
ZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qg
c3VwcG9ydGVkLicpOworICAgIGNvbnN0IHZhbGlkYXRlRW50cnkgPSB0LnN0ZXBfZnVuYyhlbnRy
eSA9PiB7CisgICAgICBpZiAoZW50cnkuZW50cnlUeXBlID09PSAnZmlyc3QtaW5wdXQnKQorICAg
ICAgICBmaXJzdElucHV0U2VlbiA9IHRydWU7CisgICAgICBlbHNlIGlmIChlbnRyeS5lbnRyeVR5
cGUgPT09ICdldmVudCcpCisgICAgICAgIGV2ZW50U2VlbiA9IHRydWU7CisgICAgICBlbHNlCisg
ICAgICAgIGFzc2VydF91bnJlYWNoZWQoJ1Nob3VsZCBvbmx5IG9ic2VydmUgRXZlbnQgVGltaW5n
IGVudHJpZXMhJyk7CisgICAgfSk7CisgICAgLy8gRmlyc3Qgb2JzZXJ2ZXIgY3JlYXRlcyBzZWNv
bmQgaW4gY2FsbGJhY2sgdG8gZW5zdXJlIHRoZSBlbnRyeSBoYXMgYmVlbiBkaXNwYXRjaGVkIGJ5
IHRoZSB0aW1lCisgICAgLy8gdGhlIHNlY29uZCBvYnNlcnZlciBiZWdpbnMgb2JzZXJ2aW5nLgor
ICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0LCBvYnMpID0+IHsKKyAgICAgIGxpc3Qu
Z2V0RW50cmllcygpLmZvckVhY2godmFsaWRhdGVFbnRyeSk7CisgICAgICBpZiAoIWZpcnN0SW5w
dXRTZWVuIHx8ICFldmVudFNlZW4pCisgICAgICAgIHJldHVybjsKKworICAgICAgb2JzLmRpc2Nv
bm5lY3QoKTsKKyAgICAgIGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgICAgICBldmVudFNlZW4g
PSBmYWxzZTsKKyAgICAgIC8vIFNlY29uZCBvYnNlcnZlciByZXF1aXJlcyAnYnVmZmVyZWQ6IHRy
dWUnIHRvIHNlZSBlbnRyaWVzLgorICAgICAgY29uc3QgYnVmZmVyZWRPYnNlcnZlciA9IG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgZW50cnlMaXN0Lmdl
dEVudHJpZXMoKS5mb3JFYWNoKHZhbGlkYXRlRW50cnkpOworICAgICAgICAgIGlmIChmaXJzdElu
cHV0U2VlbiAmJiBldmVudFNlZW4pCisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pOwor
ICAgICAgYnVmZmVyZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBidWZmZXJlZDog
dHJ1ZX0pOworICAgICAgYnVmZmVyZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAnZmlyc3QtaW5w
dXQnLCBidWZmZXJlZDogdHJ1ZX0pOworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZl
bnQnLCAnZmlyc3QtaW5wdXQnXX0pOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsK
KyAgfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlv
dXMgRXZlbnQgVGltaW5nIGVudHJpZXMiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0
YWI5YmRhYWNjNjMxYTczZmRhYjg5MDZhMWU5ODVkNWViNjU4NTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDbGljayBtZQorCitIYXJuZXNz
IEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcg
Y2xpY2suIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jbGljay10aW1pbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjk3MWQyZTdk
MzExZDA1ZDBlYTI4NTE1OGI0NDU4NzhjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10
aW1pbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2
ZW50CisKK1BBU1MgRXZlbnQgVGltaW5nOiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jbGljay10aW1pbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg0OTQzZjk1OTBhOWYyZGY4M2VlODQxNTAzODc4ZjFlNDU1MTA3YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jbGljay10aW1pbmcuaHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogY29t
cGFyZSB0aW1pbmcgb2YgdHdvIGxvbmcgY2xpY2tzCis8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0
dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIC8qIFRpbWVsaW5lOgorICAgICBPYnNl
cnZlciBzdGFydHMKKyAgICAgTG9uZyBjbGljayAxCisgICAgIExvbmcgY2xpY2sgMgorICAgICBP
bmNlIHR3byBjbGlja3MgaGF2ZSBiZWVuIHJlY2VpdmVkIGJ5IG9ic2VydmVyLCBjb21wYXJlIHRo
ZSB0aW1lc3RhbXBzLgorICAqLworICBsZXQgdGltZUJlZm9yZUZpcnN0Q2xpY2s7CisgIGxldCB0
aW1lQWZ0ZXJGaXJzdENsaWNrOworICBsZXQgdGltZUFmdGVyU2Vjb25kQ2xpY2s7CisgIGxldCBv
YnNlcnZlZEVudHJpZXMgPSBbXTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNz
ZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1p
bmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0
ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgb2JzZXJ2ZWRFbnRyaWVzID0gb2JzZXJ2ZWRF
bnRyaWVzLmNvbmNhdChlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcigKKyAgICAgICAgZW50
cnkgPT4gZW50cnkubmFtZSA9PT0gJ21vdXNlZG93bicpKTsKKyAgICAgIGlmIChvYnNlcnZlZEVu
dHJpZXMubGVuZ3RoIDwgMikKKyAgICAgICAgcmV0dXJuOworCisgICAgICBhc3NlcnRfbm90X2Vx
dWFscyh0aW1lQmVmb3JlRmlyc3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3Rf
ZXF1YWxzKHRpbWVBZnRlckZpcnN0Q2xpY2ssIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRfbm90
X2VxdWFscyh0aW1lQWZ0ZXJTZWNvbmRDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIC8vIEZpcnN0
IGNsaWNrLgorICAgICAgdmVyaWZ5Q2xpY2tFdmVudChvYnNlcnZlZEVudHJpZXNbMF0sICdidXR0
b24nKTsKKyAgICAgIGFzc2VydF9iZXR3ZWVuX2V4Y2x1c2l2ZShvYnNlcnZlZEVudHJpZXNbMF0u
cHJvY2Vzc2luZ1N0YXJ0LAorICAgICAgICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrLAorICAgICAg
ICAgIHRpbWVBZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICAgIkZpcnN0IGNsaWNrJ3MgcHJvY2Vz
c2luZ1N0YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlckZpcnN0Q2xp
Y2ssIG9ic2VydmVkRW50cmllc1swXS5zdGFydFRpbWUsCisgICAgICAgICAgInRpbWVBZnRlckZp
cnN0Q2xpY2sgc2hvdWxkIGJlIGxhdGVyIHRoYW4gZmlyc3QgY2xpY2sncyBzdGFydCB0aW1lLiIp
OworCisgICAgICAvLyBTZWNvbmQgY2xpY2suCisgICAgICB2ZXJpZnlDbGlja0V2ZW50KG9ic2Vy
dmVkRW50cmllc1sxXSwgJ2J1dHRvbicpOworICAgICAgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZl
KG9ic2VydmVkRW50cmllc1sxXS5wcm9jZXNzaW5nU3RhcnQsCisgICAgICAgICAgdGltZUFmdGVy
Rmlyc3RDbGljaywKKyAgICAgICAgICB0aW1lQWZ0ZXJTZWNvbmRDbGljaywKKyAgICAgICAgICAi
U2Vjb25kIGNsaWNrJ3MgcHJvY2Vzc2luZ1N0YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90
aGFuKHRpbWVBZnRlclNlY29uZENsaWNrLCBvYnNlcnZlZEVudHJpZXNbMV0uc3RhcnRUaW1lLAor
ICAgICAgICAgICJ0aW1lQWZ0ZXJTZWNvbmRDbGljayBzaG91bGQgYmUgbGF0ZXIgdGhhbiBzZWNv
bmQgY2xpY2sncyBzdGFydCB0aW1lLiIpOworICAgICAgdC5kb25lKCk7CisgICAgfSkpLm9ic2Vy
dmUoe3R5cGU6ICdldmVudCd9KTsKKyAgICB0aW1lQmVmb3JlRmlyc3RDbGljayA9IHBlcmZvcm1h
bmNlLm5vdygpOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKCAoKSA9PiB7
CisgICAgICB0aW1lQWZ0ZXJGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICBj
bGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbigoKSA9PiB7CisgICAgICAgIHRpbWVBZnRl
clNlY29uZENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICB9KQorICAgIH0pOworICB9
LCAiRXZlbnQgVGltaW5nOiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIik7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUz
ZWVjYWJkZjE4NzhjOGYwZjc3NzViMGIwZDU4N2NhOTA5MDlmZTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jbGljay5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIGNsaWNrLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+
Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnY2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwZGVjN2JlZmY2MzQwODA5ZjA3MGVjYmMxYjJiMzg3
NzBlMTMyZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw2IEBACitNZW51CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0g
bnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBjb250ZXh0bWVudS4gVGVzdCB0aW1lZCBvdXQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWFhMDVhM2IxNjM5ZTM5ZGM2NmZiZGU4M2YxNjEwYWZmZWY0NzU5ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcg
Y29udGV4dG1lbnUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0
PgorPGRpdiBpZD0ndGFyZ2V0JyBjb250ZXh0bWVudT0ibXltZW51Ij5NZW51Cis8bWVudSB0eXBl
PSJjb250ZXh0IiBpZD0ibXltZW51Ij4KKyAgPG1lbnVpdGVtIGxhYmVsPSJsYWJlbCI+PC9tZW51
aXRlbT4KKzwvbWVudT4KKzwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdjb250ZXh0bWVudScpOworICB9KQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMyZmRjZWVjZDk5NDc2OTI0
M2ZmMWJhZDEwNzhmN2Y3Y2Q5ZjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudCAgCisK
K0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50
IFRpbWluZzogZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJh
bWUuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9z
c2lmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmYmQyODk3YWQ0YmI1YmZkNGVkZWIyY2RjMTdhZmM0
MzhlMzc5NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sCkBAIC0wLDAgKzEs
OTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0
PXV0Zi04IC8+CisgIDx0aXRsZT5FdmVudCBUaW1pbmc6IGVudHJpZXMgc2hvdWxkIGJlIG9ic2Vy
dmFibGUgYnkgaXRzIG93biBmcmFtZS48L3RpdGxlPgorICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdl
bmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+
PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGls
cy5qcz48L3NjcmlwdD4KKzxpZnJhbWUgaWQ9J2lmcmFtZScgc3JjPXJlc291cmNlcy9jcm9zc2lm
cmFtZS1jaGlsZGZyYW1lLmh0bWw+PC9pZnJhbWU+Cis8c2NyaXB0PgorICBsZXQgY2xpY2tUaW1l
TWluOworICBsZXQgY2xpY2tEb25lOworCisgIGZ1bmN0aW9uIHZhbGlkYXRlRW50cmllcyhlbnRy
aWVzKSB7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIk9ubHkgMSBlbnRy
eSBzaG91bGQgYmUgcmVjZWl2ZWQiKTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07Cisg
ICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwgJ2J1dHRvbicsIHRydWUpOworCisgICAgYXNzZXJ0
X2xlc3NfdGhhbihlbnRyeS5wcm9jZXNzaW5nU3RhcnQsIGNsaWNrRG9uZSwKKyAgICAgICAgIlRo
ZSBlbnRyeSdzIHByb2Nlc3Npbmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSBjbGlja0RvbmUuIik7
CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5zdGFydFRpbWUsIGNsaWNrVGltZU1pbiwK
KyAgICAgICAgIlRoZSBlbnRyeSdzIHN0YXJ0IHRpbWUgc2hvdWxkIGJlIGxhdGVyIHRoYW4gY2xp
Y2tUaW1lTWluLiIpOworICB9CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEZyYW1lRW50cmll
cyhjaGlsZEZyYW1lRGF0YSkgeworICAgIGlmIChjaGlsZEZyYW1lRGF0YSA9PT0gImZhaWxlZCIp
IHsKKyAgICAgIGFzc2VydF91bnJlYWNoZWQoIkRpZCBub3QgcmVjZWl2ZSBleGFjdGx5IG9uZSBl
bnRyeSBmcm9tIGNoaWxkIGFzIGV4cGVjdGVkIik7CisgICAgfQorICAgIC8vIHxjaGlsZEZyYW1l
RGF0YXwgaGFzIHByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBuYW1lcyBhcyBpdHMKKyAgICAvLyBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nIGNvdW50ZXJwYXJ0LgorICAgIHZlcmlmeUNsaWNrRXZlbnQo
Y2hpbGRGcmFtZURhdGEsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoY2hpbGRGcmFtZURhdGEu
dGFyZ2V0LCAnaWZyYW1lX2RpdicpOworCisgICAgYXNzZXJ0X2xlc3NfdGhhbihjaGlsZEZyYW1l
RGF0YS5wcm9jZXNzaW5nU3RhcnQsIGNoaWxkRnJhbWVEYXRhLmNsaWNrRG9uZSwKKyAgICAgICAg
IlRoZSBlbnRyeSdzIHByb2Nlc3Npbmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSB0aGFuIHRoZSBj
aGlsZCBmcmFtZSdzIGNsaWNrRG9uZS4iKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGNoaWxk
RnJhbWVEYXRhLnN0YXJ0VGltZSwgY2hpbGRGcmFtZURhdGEuY2xpY2tUaW1lTWluLAorICAgICAg
ICAiVGhlIGVudHJ5J3Mgc3RhcnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiB0aGUgY2hpbGQg
ZnJhbWUncyBcCisgICAgICAgIGNsaWNrVGltZU1pbi4iKTsKKyAgfQorCisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VF
dmVudFRpbWluZywgIkV2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkIik7CisgICAgY2xpY2tU
aW1lTWluID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0g
ZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyaWVzID0+
IHsKKyAgICAgICAgY29uc3QgbW91c2VEb3ducyA9IGVudHJpZXMuZ2V0RW50cmllc0J5TmFtZSgn
bW91c2Vkb3duJyk7CisgICAgICAgIC8vIElnbm9yZSB0aGUgY2FsbGJhY2sgaWYgdGhlcmUgd2Vy
ZSBubyBtb3VzZWRvd24gZW50cmllcy4KKyAgICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09
PSAwKQorICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRN
b3VzZURvd24sCisgICAgICAgICAgICAiT2JzZXJ2ZXIgb2YgbWFpbiBmcmFtZXMgc2hvdWxkIG9u
bHkgY2FwdHVyZSBtYWluLWZyYW1lIGV2ZW50LXRpbWluZyBlbnRyaWVzIik7CisgICAgICAgIHZh
bGlkYXRlRW50cmllcyhtb3VzZURvd25zKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0
cnVlOworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50
J30pOworICAgIH0pOworICAgIGF3YWl0IGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAg
ICBjbGlja0RvbmUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCBvYnNlcnZlclByb21p
c2U7CisgICAgY29uc3QgY2hpbGRGcmFtZUVudHJpZXNQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVu
dCkgPT4geworICAgICAgICByZXNvbHZlKGV2ZW50LmRhdGEpOworICAgICAgfSwgZmFsc2UpOwor
ICAgIH0pOworCisgICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKTsKKyAgICBjb25zdCBpZnJhbWVYID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFt
ZScpLm9mZnNldExlZnQ7CisgICAgY29uc3QgaWZyYW1lWSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpZnJhbWUnKS5vZmZzZXRUb3A7CisgICAgLy8gVGFwIG9uIHRoZSBpZnJhbWUsIHdpdGgg
YW4gb2Zmc2V0IG9mIDEwIHRvIHRhcmdldCB0aGUgZGl2IGluc2lkZSBpdC4KKyAgICBjb25zdCBh
Y3Rpb25zID0gbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKQorICAgICAgICAucG9pbnRlck1vdmUo
aWZyYW1lWCArIDEwLCBpZnJhbWVZICsgMTApCisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAg
ICAgIC5wb2ludGVyVXAoKQorICAgIGFjdGlvbnMuc2VuZCgpOworICAgIGNvbnN0IGNoaWxkRnJh
bWVEYXRhID0gYXdhaXQgY2hpbGRGcmFtZUVudHJpZXNQcm9taXNlOworICAgIHQuc3RlcCgoKSA9
PiB7CisgICAgICB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRhKTsKKyAg
ICB9KTsKKyAgfSwgIkV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZh
YmxlIGJ5IGl0cyBvd24gZnJhbWUuIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjNjMGU0Mzk4NTY1Mjc2NzdkOWU2ZGZmMjc0Njg5N2NlMzZiNDI4MDIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitP
dXRzaWRlIHRhcmdldCEKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBkYmxjbGljay4gVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMzZmNmZDMwZGUwNTFhZTcyMjdlODQzZjI3ZTJiMjdlMDE3Yzk1MQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2RibGNsaWNrLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgZGJsY2xp
Y2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5P
dXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50
VHlwZSh0LCAnZGJsY2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0OGNkMDI5NTZkMTE4ZTE3ZjY4NjQ2MjBiNmM4NWM5NTI1
OTQwOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB3aGVuIHRhcmdldCBpcyBkaXNj
b25uZWN0ZWQsIGVudHJ5LnRhcmdldCByZXR1cm5zIG51bGwuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNj
b25uZWN0LXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ZDY3NzBkMzE4OGRjYjViMjM4MDZkMWFiMDNkNzdlNzZlNGUxMzdmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3Qt
dXRpbHMuanM+PC9zY3JpcHQ+CisKKzxidXR0b24gaWQ9J3RoZV9idXR0b24nPkNsaWNrTWU8L2J1
dHRvbj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBhc3NlcnRfaW1w
bGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBu
b3Qgc3VwcG9ydGVkLicpOworICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKHQuc3RlcF9mdW5jX2RvbmUoKGVudHJ5TGlzdCkgPT4geworICAgIGNvbnN0IGVudHJpZXMg
PSBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcihlID0+IGUubmFtZSA9PT0gJ21vdXNlZG93
bicpOworICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKyAgICAv
LyBUaGVyZSBtdXN0IG9ubHkgYmUgb25lIGNsaWNrIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDEpOworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICAv
LyBUaGlzIGNoZWNrcyB0aGF0IGVudHJ5LnRhcmdldCByZXR1cm5zIHRoZSBjb3JyZWN0IGJ1dHRv
biBOb2RlLgorICAgIHZlcmlmeUNsaWNrRXZlbnQoZW50cnksICd0aGVfYnV0dG9uJywgdHJ1ZSk7
CisgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZV9idXR0b24n
KTsKKyAgICBidXR0b24ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChidXR0b24pOworICAgIC8vIEFm
dGVyIHJlbW92aW5nIHRoZSBidXR0b24sIGVudHJ5LnRhcmdldCBzaG91bGQgbm93IHJldHVybiBu
dWxsLgorICAgIGFzc2VydF9lcXVhbHMoZW50cnkudGFyZ2V0LCBudWxsKTsKKyAgfSkpOworICBv
YnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAgY2xpY2tBbmRCbG9j
a01haW4oJ3RoZV9idXR0b24nKTsKK30sICJFdmVudCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRp
c2Nvbm5lY3RlZCwgZW50cnkudGFyZ2V0IHJldHVybnMgbnVsbC4iKTsKKzwvc2NyaXB0PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50
LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNkZDExMWNkYjZjZjBmYWQ1
NzE4YjIzZmQxZjk5MzUyOGM5NmYzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNv
dW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitDbGljayBtZQorQ2xpY2sgbWUKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQg
VGltaW5nOiBldmVudENvdW50cy4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQt
Y2xpY2stY291bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
YzY1NjNiOTU4MThhYzU2YWRiYzA2YzkzNzQ3OTg3MDBlZDQxMjQ1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6
IGV2ZW50Q291bnRzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSdkaXYnPkNsaWNrIG1lPC9kaXY+Cis8YnV0dG9uIGlkPSdidXR0b24nPkNsaWNr
IG1lPC9idXR0b24+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoIHQgPT4geworICAgIGFzc2Vy
dF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBpc24ndCBzdXBw
b3J0ZWQiKTsKKyAgICBmdW5jdGlvbiB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUp
IHsKKyAgICAgIGNvbnN0IGNsaWNrQ291bnQgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQo
J2NsaWNrJyk7CisgICAgICBpZiAoY2xpY2tDb3VudCA8IGV4cGVjdGVkQ291bnQpIHsKKyAgICAg
ICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgdGVzdENsaWNrcyhleHBl
Y3RlZENvdW50LCByZXNvbHZlKTsKKyAgICAgICAgfSwgNSk7CisgICAgICAgIHJldHVybjsKKyAg
ICAgIH0KKyAgICAgIGFzc2VydF9lcXVhbHMoY2xpY2tDb3VudCwgZXhwZWN0ZWRDb3VudCwnSW5j
b3JyZWN0IGNsaWNrIGNvdW50LicpOworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5l
dmVudENvdW50cy5nZXQoJ21vdXNlZG93bicpLCBleHBlY3RlZENvdW50LCAnSW5jb3JyZWN0IG1v
dXNlZG93biBjb3VudCcpOworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENv
dW50cy5nZXQoJ21vdXNldXAnKSwgZXhwZWN0ZWRDb3VudCwgJ0luY29ycmVjdCBtb3VzZXVwIGNv
dW50LicpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0KKyAgICBmdW5jdGlvbiBwcm9taXNlQ2xp
Y2tzKGV4cGVjdGVkQ291bnQpIHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICAgICAgdGVzdENsaWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZlKQorICAgICAgfSk7
CisgICAgfQorCisgICAgcmV0dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdkaXYnKSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gcHJvbWlzZUNsaWNrcygx
KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiB0ZXN0X2RyaXZlci5jbGljayhk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uJykpOworICAgIH0pLnRoZW4oKCkgPT4gewor
ICAgICAgcmV0dXJuIHByb21pc2VDbGlja3MoMik7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAg
ICByZXR1cm4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rpdicp
KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDMpOwor
ICAgIH0pOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3Vu
dHMtemVyby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzljOWRjMjQxOTRjNWMwNDUzMzdkMDA3N2IyYWRlODBkMDk2OTMyMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworRkFJTCBFdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLiBhc3NlcnRfZXF1YWxzOiBUaGVy
ZSBpcyBhIG5vbnplcm8gdmFsdWUgZm9yIGF1eGNsaWNrIGV4cGVjdGVkIChudW1iZXIpIDAgYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXpl
cm8uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2VjOTBkZDY5MTM4
ZjM1MTk3Nzc0MjM5ZGZjMTJmNTU0YzkyODRiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNv
dW50cy16ZXJvLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IGV2ZW50Q291bnRz
LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICB0ZXN0KCgpID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuRXZlbnRDb3VudHMs
ICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7CisgICAgY29uc3QgZXZlbnRUeXBlcyA9
IFsKKyAgICAgICAgJ2F1eGNsaWNrJywKKyAgICAgICAgJ2NsaWNrJywKKyAgICAgICAgJ2NvbnRl
eHRtZW51JywKKyAgICAgICAgJ2RibGNsaWNrJywKKyAgICAgICAgJ21vdXNlZG93bicsCisgICAg
ICAgICdtb3VzZWVudGVyJywKKyAgICAgICAgJ21vdXNlbGVhdmUnLAorICAgICAgICAnbW91c2Vv
dXQnLAorICAgICAgICAnbW91c2VvdmVyJywKKyAgICAgICAgJ21vdXNldXAnLAorICAgICAgICAn
cG9pbnRlcm92ZXInLAorICAgICAgICAncG9pbnRlcmVudGVyJywKKyAgICAgICAgJ3BvaW50ZXJk
b3duJywKKyAgICAgICAgJ3BvaW50ZXJ1cCcsCisgICAgICAgICdwb2ludGVyY2FuY2VsJywKKyAg
ICAgICAgJ3BvaW50ZXJvdXQnLAorICAgICAgICAncG9pbnRlcmxlYXZlJywKKyAgICAgICAgJ2dv
dHBvaW50ZXJjYXB0dXJlJywKKyAgICAgICAgJ2xvc3Rwb2ludGVyY2FwdHVyZScsCisgICAgICAg
ICd0b3VjaHN0YXJ0JywKKyAgICAgICAgJ3RvdWNoZW5kJywKKyAgICAgICAgJ3RvdWNoY2FuY2Vs
JywKKyAgICAgICAgJ2tleWRvd24nLAorICAgICAgICAna2V5cHJlc3MnLAorICAgICAgICAna2V5
dXAnLAorICAgICAgICAnYmVmb3JlaW5wdXQnLAorICAgICAgICAnaW5wdXQnLAorICAgICAgICAn
Y29tcG9zaXRpb25zdGFydCcsCisgICAgICAgICdjb21wb3NpdGlvbnVwZGF0ZScsCisgICAgICAg
ICdjb21wb3NpdGlvbmVuZCcsCisgICAgICAgICdkcmFnc3RhcnQnLAorICAgICAgICAnZHJhZ2Vu
ZCcsCisgICAgICAgICdkcmFnZW50ZXInLAorICAgICAgICAvLyAnZHJhZ2V4aXQnPyBVbmNsZWFy
IGlmIGl0IHdpbGwgYmUgcmVtb3ZlZCBmcm9tIEhUTUwgc3BlYyBvciBub3QuCisgICAgICAgICdk
cmFnbGVhdmUnLAorICAgICAgICAnZHJhZ292ZXInLAorICAgICAgICAnZHJvcCcKKyAgICBdOwor
ICAgIGV2ZW50VHlwZXMuZm9yRWFjaCh0eXBlID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocGVy
Zm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KHR5cGUpLCAwLCAnVGhlcmUgaXMgYSBub256ZXJvIHZh
bHVlIGZvciAnICsgdHlwZSk7CisgICAgfSkKKyAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNl
LmV2ZW50Q291bnRzLnNpemUsIGV2ZW50VHlwZXMubGVuZ3RoLAorICAgICAgICAnVGhlIHNpemUg
b2YgcGVyZm9ybWFuY2UuZXZlbnRDb3VudHMgaXMgaW5jb3JyZWN0LicpOworICB9KQorPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9l
dmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFiZDFhZWQyYWJiMzZiNzQ2
NDE4ZTVmNDhjYmMwNTg4MjdmODk5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBFdmVudCBUaW1pbmc6IHRhcmdl
dCByZXBvcnRzIHRoZSBsYXN0IEV2ZW50IFRhcmdldCwgaS5lLiBub3RoaW5nIGZyb20gc2hhZG93
IERPTS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdl
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI5YzExNGYzNTZiNTFiODY5Yjk1NTA4MzA4MTVjYjZlNjhiM2M3
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC5odG1sCkBAIC0wLDAgKzEsNDEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9l
dmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPGN1c3RvbS1idXR0b24gaWQ9
J2N1c3RvbV9idXR0b24nPjwvY3VzdG9tLWJ1dHRvbj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVu
dFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBsZXQgaW5uZXJC
dXR0b25DbGlja2VkID0gZmFsc2U7CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY3VzdG9tLWJ1
dHRvbicsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIGNvbm5lY3RlZENhbGxiYWNr
KCkgeworICAgICAgdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAgICAgdGhp
cy5zaGFkb3dSb290LmlubmVySFRNTCA9IGA8YnV0dG9uIGlkPSdpbm5lcl9idXR0b25faWQnPkNs
aWNrIG1lPC9idXR0b24+YDsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgn
aW5uZXJfYnV0dG9uX2lkJykub25jbGljayA9ICgpID0+IHsKKyAgICAgICAgaW5uZXJCdXR0b25D
bGlja2VkID0gdHJ1ZTsKKyAgICAgIH07CisgICAgfQorICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXIg
PSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYygoZW50cnlMaXN0KSA9PiB7Cisg
ICAgY29uc3QgZW50cmllcyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24n
KTsKKyAgICBpZiAoZW50cmllcy5sZW5ndGggPT09IDApCisgICAgICByZXR1cm47CisKKyAgICAv
LyBUaGVyZSBtdXN0IG9ubHkgYmUgb25lIG1vdXNlZG93biBlbnRyeS4KKyAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJpZXNbMF0s
ICdjdXN0b21fYnV0dG9uJywgdHJ1ZSk7CisgICAgYXNzZXJ0X3RydWUoaW5uZXJCdXR0b25DbGlj
a2VkKTsKKyAgICB0LmRvbmUoKQorICB9KSk7CisgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlw
ZXM6IFsnZXZlbnQnXX0pOworICBjbGlja0FuZEJsb2NrTWFpbignY3VzdG9tX2J1dHRvbicpOwor
fSwgIkV2ZW50IFRpbWluZzogdGFyZ2V0IHJlcG9ydHMgdGhlIGxhc3QgRXZlbnQgVGFyZ2V0LCBp
LmUuIG5vdGhpbmcgZnJvbSBzaGFkb3cgRE9NLiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0
LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE2NTJhYTdmMjY1NmY4ODg3ZDU3
YzQ3ODdhNjIzZDZkMmJkOTgzNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFk
b3ctZG9tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBFdmVudCBUaW1pbmc6
IHRlc3QgZmlyc3QgaW5wdXQgb24gc2hhZG93IERPTS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlu
cHV0LXNoYWRvdy1kb20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NmViNjU5NzU1MmZiOWVjNDhhMGE3MzNhNGQ2N2YyMmI0MjdmNzYwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxib2R5PgorPGRpdiBpZD0nY29udGFpbmVyJz4K
KyAgPGN1c3RvbS1idXR0b24gaWQ9J2N1c3RvbV9idXR0b24nPjwvY3VzdG9tLWJ1dHRvbj4KKzwv
ZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMo
d2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBv
cnRlZC4nKTsKKyAgbGV0IGlubmVyQnV0dG9uQ2xpY2tlZCA9IGZhbHNlOworICBjdXN0b21FbGVt
ZW50cy5kZWZpbmUoJ2N1c3RvbS1idXR0b24nLCBjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsK
KyAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHsKKyAgICAgIHRoaXMuYXR0YWNoU2hhZG93KHttb2Rl
OiAnb3Blbid9KTsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5pbm5lckhUTUwgPSBgPGJ1dHRvbiBp
ZD0naW5uZXJfYnV0dG9uX2lkJz5DbGljayBtZTwvYnV0dG9uPmA7CisgICAgICB0aGlzLnNoYWRv
d1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyX2J1dHRvbl9pZCcpLm9ubW91c2Vkb3duID0gKCkg
PT4geworICAgICAgICBpbm5lckJ1dHRvbkNsaWNrZWQgPSB0cnVlOworICAgICAgfTsKKyAgICB9
CisgIH0pOworICBjb25zdCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4g
eworICAgICAgLy8gVGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBmaXJzdC1pbnB1dCBlbnRyeS4KKyAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgsIDEpOworICAg
ICAgLy8gZW50cnkudGFyZ2V0IG11c3QgYmUgdGhlIHNoYWRvdyBob3N0IGR1ZSB0byByZXRhcmdl
dHRpbmcuCisgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF0udGFy
Z2V0LAorICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b21fYnV0dG9uJykp
OworICAgICAgYXNzZXJ0X3RydWUoaW5uZXJCdXR0b25DbGlja2VkLCAnRGlkIG5vdCByZWFjaCB0
aGUgc2hhZG93IERPTSBldmVudCBsaXN0ZW5lciEnKTsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9
KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydmaXJzdC1pbnB1dCddfSk7CisgIH0pOworICBjb25z
dCBjbGlja1Byb21pc2UgPSB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnY3VzdG9tX2J1dHRvbicpKTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclByb21p
c2UsIGNsaWNrUHJvbWlzZV0pOworfSwgIkV2ZW50IFRpbWluZzogdGVzdCBmaXJzdCBpbnB1dCBv
biBzaGFkb3cgRE9NLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWZkYTExMjE3ZmIwMDBmMGI0M2MyMDU5OTQzODBkNGRjMGE4ZmVkOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI5IEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24g
CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBvcmlnaW5hbCBpbnRlcmZhY2Ug
ZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IHZhbGlkIGV4cG9z
dXJlIHNldCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZl
ckluaXQ6IG9yaWdpbmFsIGRpY3Rpb25hcnkgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBkaWN0aW9u
YXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BB
U1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2VbMl06IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVj
dG9yIiBwcm9wZXJ0eSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBA
dW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcHJvY2Vzc2luZ1N0YXJ0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nIGludGVyZmFjZTogYXR0cmlidXRlIHByb2Nlc3NpbmdFbmQgCitQQVNTIFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2FuY2VsYWJsZSAKK1BBU1MgUGVyZm9y
bWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSB0YXJnZXQgCitQQVNTIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBvcGVyYXRpb24gdG9KU09OKCkgCitQQVNTIEV2
ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFT
UyBFdmVudENvdW50cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIEV2ZW50Q291bnRzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAK
K1BBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXZlbnRDb3VudHMgCitQQVNT
IFBlcmZvcm1hbmNlIGludGVyZmFjZTogcGVyZm9ybWFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJldmVudENvdW50cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhh
cm5lc3MuYW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1
MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxo
YXJuZXNzLmFueS5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3Mu
YW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVlOTg1NDhmYjZmMjIwOWI4
YzRiNTM0NjgzMGMwZDcyM2U2ODE3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55
LmpzCkBAIC0wLDAgKzEsMTggQEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2VyCisvLyBN
RVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0v
cmVzb3VyY2VzL2lkbGhhcm5lc3MuanMKKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVu
dC10aW1pbmcvCisKKyd1c2Ugc3RyaWN0JzsKKworaWRsX3Rlc3QoCisgIFsnZXZlbnQtdGltaW5n
J10sCisgIFsncGVyZm9ybWFuY2UtdGltZWxpbmUnLCAnaHItdGltZScsICdkb20nXSwKKyAgaWRs
X2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgUGVyZm9ybWFu
Y2U6IFsncGVyZm9ybWFuY2UnXSwKKyAgICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6IFsg
VE9ETyBdCisgICAgfSk7CisgIH0KKyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3Jr
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MTdlZmRhMjFhNTgwMzJkMTI2NGM3NTgwZDEwZGI4MmIxYzczYjI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE1IEBACisKK1BBU1MgaWRsX3Rlc3Qgc2V0dXAgCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24g
CitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBvcmlnaW5hbCBpbnRlcmZhY2Ug
ZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IHZhbGlkIGV4cG9z
dXJlIHNldCAKK1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG1lbWJlciBuYW1l
cyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZl
ckluaXQ6IG9yaWdpbmFsIGRpY3Rpb25hcnkgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBkaWN0aW9u
YXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BB
U1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2VbMl06IG1lbWJlciBuYW1lcyBhcmUgdW5p
cXVlIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEV2ZW50Q291bnRzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNT
IFBlcmZvcm1hbmNlIGludGVyZmFjZTogbWVtYmVyIGV2ZW50Q291bnRzIAorUEFTUyBQZXJmb3Jt
YW5jZSBpbnRlcmZhY2U6IHBlcmZvcm1hbmNlIG11c3Qgbm90IGhhdmUgcHJvcGVydHkgImV2ZW50
Q291bnRzIiAKK1BBU1MgTm9kZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1Mjhl
NjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJu
ZXNzLmFueS53b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1k
dXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzIwMzdiOGIzNzM5MTZhNGExOTQzNDdkNDg3ZDAw
MDdlNjdmZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3JkaW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9s
ZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1k
dXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjY1ZDQyZDMzNDU3NDJmNTM2NGIw
ODViMmMxMzcxNTY2NTJlMjEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhy
ZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDEyNTwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rp
dj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIHJldHVybiB0ZXN0RHVy
YXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz0yLCBkdXI9MTI1LCBmYXN0RHVyPTcwLCBzbG93
RHVyPTE0MCk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3Jk
aW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9sZCIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1k
dXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMjAzN2I4YjM3Mzkx
NmE0YTE5NDM0N2Q0ODdkMDAwN2U2N2ZkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVy
YXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisK
K1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3JkaW5nIHRvIGl0
cyBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVz
aG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4
MjdmMjIxMWIxMjU1MGZlZThkMGY1ZDEyNThkZmJlMjljODMwZDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBU
aW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDUw
PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9
J215RGl2Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgcmV0dXJuIHRlc3REdXJhdGlvbih0LCAnbXlEaXYnLCBudW1FbnRyaWVzPTMsIGR1cj01
MCwgZmFzdER1cj0yMCwgc2xvd0R1cj03MCk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNl
cnZlcyBldmVudHMgYWNjb3JkaW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9sZCIpOworPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdi
OTRhYTJlYTVhMjJjYzI0NTA5MDQ2MmQ3NTAzMTEzMjczNzMyNTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0Ns
aWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGR1cmF0aW9uVGhyZXNob2xk
IG9mIDAgc2VlcyBldmVudHMgb2YgZHVyYXRpb24gPj0gMTYgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1k
dXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NDNiMzhhMjc4MzMzNzdlNGViYmJlMzA3MjkwYWRkZDQzOWViNTA4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+
RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYSBkdXJhdGlvblRocmVzaG9s
ZCBsZXNzIHRoYW4gMTY8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICByZXR1cm4gdGVzdER1cmF0aW9uKHQsICdteURpdicsIG51bUVu
dHJpZXM9NSwgZHVyPTAsIGZhc3REdXI9MCwgc2xvd0R1cj0yMCk7Cit9LCAiUGVyZm9ybWFuY2VP
YnNlcnZlciB3aXRoIGR1cmF0aW9uVGhyZXNob2xkIG9mIDAgc2VlcyBldmVudHMgb2YgZHVyYXRp
b24gPj0gMTYiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhlNTZjNmEw
NGMyZWEyYWY1NTY0MzllNTIxZmNkZGQxYzE2MWVkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
ZG93bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitDbGljayBtZQorCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91
c2Vkb3duLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlZG93bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1YTA3ZmFlYjFiY2FhYWRiMGNhNjA2Zjg5NDgwMDRi
NDVhMTE1YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1l
dGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1v
dXNlZG93bi48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8
ZGl2IGlkPSd0YXJnZXQnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZG93bicpOwor
ICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NzFiNTMyZjhkZTg1
ZDAxOGI5YTllOTE4MzliNzQ0ZmMxNzdiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVy
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisK
K0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50
IFRpbWluZyBtb3VzZWVudGVyLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVu
dGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODA0ZDU3NDM3NDJjNzNlYzc2
OTYxM2U0MWNlNDViZjE5MGE0NzNhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRt
bApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZWVudGVyLjwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVu
dC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9k
aXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWVudGVy
Jyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0YmVlOTJm
ZmI3YjRjYjlkOGU1Y2ZlYjU4NzE3MDM1ZmM2Y2M2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
bGVhdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJn
ZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQg
RXZlbnQgVGltaW5nIG1vdXNlbGVhdmUuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlbGVhdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDJjZjczZTJhNjE2
YzU2MTIyMzJhN2UxZjk4NzU3MGVlZDllMmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2
ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlbGVhdmUuPC90aXRsZT4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2Vz
L2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdl
dCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNl
bGVhdmUnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2VvdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYTY5OTNi
NWEwNTg5ZTllYzFmMzM5NGUyYjIzM2I5Yjk5ZDM5NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3Vz
ZW91dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1Rhcmdl
dAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBF
dmVudCBUaW1pbmcgbW91c2VvdXQuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMzIxOTM0YjBiNzg0MjgwYTVl
ZDUyMGI3MGQwYmMwYmI1YzE4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8
ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZW91dCcsIHRydWUg
LyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlb3Zlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIwYmUwNWEzYThlYzVjMmNjZDIwOTRkZWFlMzkzZmM2NTkzNGNiODcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0
YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIG1vdXNlb3Zlci4gVGVzdCB0aW1lZCBvdXQKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2VvdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDFl
ZTJkN2VjZDdmYjkzOGQyZDRmZTI0YWQ2Y2EwMDU2NTA3YjBmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2VvdmVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VvdmVyLjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lk
ZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4K
KyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQs
ICdtb3VzZW92ZXInLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwMTVhOGRjODI2Y2UzYzkxMzVhYjVkMWI3ZTEwYmM2MTViZjEy
YWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKwor
VElNRU9VVCBFdmVudCBUaW1pbmcgbW91c2V1cC4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1M2JlZjhmZGIyZjAy
NTM2Y2U2ODc0OTFiOTUxMWFhZDk0ZmIwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0
bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2V1cC48L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwv
ZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0
ZXN0RXZlbnRUeXBlKHQsICdtb3VzZXVwJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2Jz
ZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzFmZDU3YzQ0ZmUyNzgz
NDUwYWEzZjkwZmVhMjcxMDQ5MGYwZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZl
LWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xp
Y2snIGV2ZW50CisKK1BBU1MgRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQ
ZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElu
cHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTRhNjAzNmY5MWFkYjg5YzdiNjUyOGU0MDg1MDkzN2Q3MDUy
MGI3NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKQEAg
LTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG9ubHkgb2JzZXJ2ZSB0aGUgZmlyc3QgaW5wdXQ8
L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1
dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9
cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0
PgorICAvKiBUZXN0OgorICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciBmaXJzdC1pbnB1dCBp
cyByZWdpc3RlcmVkCisgICAgIENsaWNrIDEKKyAgICAgQ2xpY2sgMgorICAgICBXYWl0CisgICAg
IEV4cGVjdGVkIHJlc3VsdDoKKyAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciBzaG91bGQgb2JzZXJ2
ZSBvbmUgYW5kIG9ubHkgb25lIGVudHJ5LgorICAqLworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQp
IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywg
J0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGxldCBoYXNPYnNlcnZlZEZp
cnN0SW5wdXQgPSBmYWxzZTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVu
YygoZW50cnlMaXN0KSA9PiB7CisgICAgICAgIGFzc2VydF9mYWxzZShoYXNPYnNlcnZlZEZpcnN0
SW5wdXQpOworICAgICAgICBoYXNPYnNlcnZlZEZpcnN0SW5wdXQgPSB0cnVlOworICAgICAgICBj
b25zdCBvYnNlcnZlZEVudHJpZXMgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcigKKyAg
ICAgICAgICAgIGVudHJ5ID0+IGVudHJ5Lm5hbWUgPT09ICdtb3VzZWRvd24nKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhvYnNlcnZlZEVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhvYnNlcnZlZEVudHJpZXNbMF0uZW50cnlUeXBlLCAnZmlyc3QtaW5wdXQnKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhvYnNlcnZlZEVudHJpZXNbMF0ubmFtZSwgJ21vdXNlZG93bicp
OworICAgIH0pKS5vYnNlcnZlKHsgZW50cnlUeXBlczogWydmaXJzdC1pbnB1dCddIH0pOworICAg
IG9uX2V2ZW50KHdpbmRvdywgJ2xvYWQnLCAoKSA9PiB7CisgICAgICBjbGlja0FuZEJsb2NrTWFp
bignYnV0dG9uJykudGhlbigoKSA9PiB7CisgICAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0
b24nKS50aGVuKHdhaXQpLnRoZW4oICgpID0+IHsKKyAgICAgICAgICAvLyBBZnRlciBzb21lIHdh
aXQsIHRoZSBQZXJmb3JtYW5jZU9ic2VydmVyIHNob3VsZCBoYXZlIHByb2Nlc3NlZCBib3RoIGNs
aWNrcy4KKyAgICAgICAgICAvLyBPbmUgYW5kIG9ubHkgb25lIGZpcnN0LWlucHV0IGVudHJ5IHNo
b3VsZCBoYXZlIGJlZW4gZGlzcGF0Y2hlZCwgc28KKyAgICAgICAgICAvLyB8aGFzT2JzZXJ2ZWRG
aXJzdElucHV0fCBzaG91bGQgYmUgdHJ1ZS4KKyAgICAgICAgICB0LnN0ZXBfdGltZW91dCggKCkg
PT4geworICAgICAgICAgICAgYXNzZXJ0X3RydWUoaGFzT2JzZXJ2ZWRGaXJzdElucHV0KTsKKyAg
ICAgICAgICAgIHQuZG9uZSgpOworICAgICAgICAgIH0sIDEwKTsKKyAgICAgICAgfSk7CisgICAg
ICB9KTsKKyAgICB9KTsKKyAgfSwKKyAgIkV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQg
Zm9yIGEgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZpbmcgb25seSBmaXJzdC1pbnB1dC4iCisg
ICk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWNkZjIyYmY5NTNl
ODA0MDhkZTcyYTM4ZjRmMjg0NDRmYzcwNTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRv
d24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVy
ZG93bi4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJkb3duLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmViNmFlODk4Y2NkMDA2ZGExNjMzYTdmODEyZGJj
ZmMwZmNiZTlmMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4K
KzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPkV2ZW50IFRpbWlu
ZyBwb2ludGVyZG93bi48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90
ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyZG93
bicpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTM0
OTM4NzdiZDExMDg2YTQ1MGU2MjdiNzBlMzljYWZlNDFmZmQ3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cG9pbnRlcmVudGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0
IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitU
SU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVyZW50ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJlbnRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmFlMWM1MWQ1MWNkZTRkMjMxNGUzMTA2OTMzMjhmZDI2ZGJkOGJlMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJlbnRlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50
ZXJlbnRlci48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8
ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4K
KzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2
ZW50VHlwZSh0LCAncG9pbnRlcmVudGVyJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE2MjUyMGFkNTkyNjBkZWJkNDk3MDgyNmU2YWRiNTYxNmJjMTQw
NjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9V
VCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJsZWF2ZS4g
VGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVy
bGVhdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWU4ZjE1ZWMwZDE2YTUzMTgyZjA2ZTdmOTU1MzIyOGNj
MGFiN2VjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0
aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmxlYXZlLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1h
Y3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlk
PSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVybGVhdmUnKTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NmUzMGRhNTMwMTkyNDIwOWJk
MzJkMTExNDRiOTMwMDhlN2NiYzA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1p
bmcgcG9pbnRlcm91dC4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcm91dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwOGY1NzY5OWNjNDhkODIzNTBmYWJi
ZTNiZTI1ODljMmJiMmMxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcm91dC48L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2Pgor
PGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcm91dCcsIHRy
dWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZDVlMTZiNTZkNzA0NTQ3NTIzYzI1N2JlMjgyMWI4NzBiODlhMTljCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAor
T3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJvdmVyLiBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wZTE3MTIyMzljMDk1ODM4YTU2NWNlZTg4NzRjYzNiNTIyMTk0OGQxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRp
bWluZyBwb2ludGVyb3Zlci48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9z
Y3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJn
ZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1
cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcm92ZXInLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8p
OworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcnVwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjliMDhjMTg4NmMx
NTM3NjUxNGJlNDgyMTNkY2JiODkwMzdiN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVw
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcnVw
LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1
cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQzMjRhNWJlYjdhYjMyYzNmN2JhZWU2OTlhZjM5NzA5MDFmN2Fl
NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbApAQCAtMCwwICsxLDE3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2
ZW50IFRpbWluZyBwb2ludGVydXAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9p
bnRlcnVwJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1t
YXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNr
LW5vdC1vYnNlcnZlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJmNDhjZjkyMGE2OTlhYTNi
YzY2ODg3MThiNWYwNTQ2ZGQwYTY0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1j
bGljay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ2xpY2sgbWUK
K05vLCBjbGljayBtZSEKKworUEFTUyBFdmVudCBUaW1pbmc6IGV2ZW50cyBmcm9tIHByb2dyYW1t
YXRpYyBjbGljayBhcmUgbm90IG9ic2VydmVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMt
Y2xpY2stbm90LW9ic2VydmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDA2MGQyZDAwZGMxYzAyMTA4NTQzMTdiY2U1YmJjNWJjMjVmZmY1
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRt
bApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOCAvPgorPGRpdiBpZD0nZGl2JyBvbmNsaWNrPSdkZWxheSgpJz5DbGljayBtZTwvZGl2
PgorPGRpdiBpZD0nZGl2Mic+Tm8sIGNsaWNrIG1lITwvZGl2PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRl
c3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICBsZXQgZGVsYXlDYWxsZWQgPSBmYWxz
ZTsKKyAgbGV0IGJlZm9yZUNsaWNrOworICBmdW5jdGlvbiBkZWxheSgpIHsKKyAgICBjb25zdCBl
bmQgPSBwZXJmb3JtYW5jZS5ub3coKSArIDE1MDsKKyAgICB3aGlsZShwZXJmb3JtYW5jZS5ub3co
KSA8IGVuZCkge30KKyAgICBkZWxheUNhbGxlZCA9IHRydWU7CisgIH0KKyAgcHJvbWlzZV90ZXN0
KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VF
dmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGxldCBv
YnNlcnZlZE1vdXNlRG93biA9IGZhbHNlOworICAgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgICBjb25zdCBt
b3VzZURvd25zID0gZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAg
ICAgICAvLyBJZ25vcmUgY2FzZXMgaW4gd2hpY2ggdGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAg
ICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwgJ1RoZXJlIG11c3Qgb25seSBi
ZSBvbmUgbW91c2Vkb3duIGVudHJ5LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93
bnMubGVuZ3RoLCAxKTsKKyAgICAgICAgY29uc3QgZW50cnkgPSBtb3VzZURvd25zWzBdOworICAg
ICAgICAvLyBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgZW50cnkgaXMgZXhwb3NpbmcgdGltaW5nIGZy
b20gdGhlIHNlY29uZCBjbGljaywgaS5lLgorICAgICAgICAvLyB0aGUgb25lIGZyb20gdGhlIGNs
aWNrQW5kQmxvY2tNYWluKCkgY2FsbC4KKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChlbnRyeS5wcm9jZXNzaW5nU3RhcnQsIGJlZm9yZUNsaWNrKTsKKyAgICAgICAgdmVyaWZ5Q2xp
Y2tFdmVudChlbnRyeSwgJ2RpdjInLCB0cnVlKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24g
PSB0cnVlOworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9KSk7CisgICAgICBvYnNlcnZlci5v
YnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAgICB9KTsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZGl2JykuY2xpY2soKTsKKyAgICAvLyBUYWtlIHRoZSB0aW1lc3RhbXAg
YWZ0ZXIgdGhlIHByb2dyYW1tYXRpYyBjbGljayBidXQgYmVmb3JlIHRoZSBuZXh0IGNsaWNrLgor
ICAgIGJlZm9yZUNsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgLy8gQWZ0ZXIgdGhlIHBy
b2dyYW1tYXRpYyBjbGljaywgdXNlIGFub3RoZXIgaW5wdXQgdG8ga25vdyB3aGVuIGVudHJpZXMg
aGF2ZSBiZWVuCisgICAgLy8gZGlzcGF0Y2hlZCB0byB0aGUgUGVyZm9ybWFuY2VPYnNlcnZlciBj
YWxsYmFjay4KKyAgICBjb25zdCBjbGlja1Byb21pc2UgPSBjbGlja0FuZEJsb2NrTWFpbignZGl2
MicpOworICAgIHJldHVybiBQcm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9taXNlLCBjbGlja1Byb21p
c2VdKTsKKyAgfSwgIkV2ZW50IFRpbWluZzogZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNr
IGFyZSBub3Qgb2JzZXJ2ZWQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVz
b3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFt
ZS1jaGlsZGZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTgyOTRhZTAyYzIzYmFmMTM3NmI3N2JhOWY2
NDJmZjdiNGU1OWM2NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1j
aGlsZGZyYW1lLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUeXBlIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogMzAwcHgiIGlkPSdpZnJhbWVfZGl2
JyBvbm1vdXNlZG93bj0ibWFpblRocmVhZEJ1c3koMTIwKSI+Cis8c2NyaXB0PgorKGFzeW5jICgp
ID0+IHsKKyAgY29uc3QgY2xpY2tUaW1lTWluID0gcGVyZm9ybWFuY2Uubm93KCk7CisgIGNvbnN0
IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICBjb25zdCBtb3VzZURvd25zID0g
ZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgaWYgKG1vdXNl
RG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICByZXR1cm47CisgICAgICByZXNvbHZlKG1vdXNl
RG93bnMpOworICAgIH0pLm9ic2VydmUoeyB0eXBlOidldmVudCcgfSk7CisgIH0pOworICBjb25z
dCBlbnRyaWVzID0gYXdhaXQgb2JzZXJ2ZXJQcm9taXNlOworICBjb25zdCBjbGlja0RvbmUgPSBw
ZXJmb3JtYW5jZS5ub3coKTsKKyAgaWYgKGVudHJpZXMubGVuZ3RoICE9PSAxKSB7CisgICAgdG9w
LnBvc3RNZXNzYWdlKCJmYWlsZWQiLCAiKiIpOworICAgIHJldHVybjsKKyAgfQorICBjb25zdCBl
bnRyeSA9IGVudHJpZXNbMF07CisgIHRvcC5wb3N0TWVzc2FnZSh7CisgICAgLy8gRW50cnkgdmFs
dWVzICh8ZW50cnl8IGl0c2VsZiBpcyBub3QgY2xvbmFibGUpCisgICAgIm5hbWUiOiBlbnRyeS5u
YW1lLAorICAgICJjYW5jZWxhYmxlIjogZW50cnkuY2FuY2VsYWJsZSwKKyAgICAiZW50cnlUeXBl
IjogZW50cnkuZW50cnlUeXBlLAorICAgICJzdGFydFRpbWUiOiBlbnRyeS5zdGFydFRpbWUsCisg
ICAgInByb2Nlc3NpbmdTdGFydCI6IGVudHJ5LnByb2Nlc3NpbmdTdGFydCwKKyAgICAicHJvY2Vz
c2luZ0VuZCI6IGVudHJ5LnByb2Nlc3NpbmdFbmQsCisgICAgImR1cmF0aW9uIjogZW50cnkuZHVy
YXRpb24sCisgICAgLy8gT3RoZXIgdmFsdWVzCisgICAgImNsaWNrVGltZU1pbiI6IGNsaWNrVGlt
ZU1pbiwKKyAgICAiY2xpY2tEb25lIiA6IGNsaWNrRG9uZSwKKyAgICAidGFyZ2V0IjogZW50cnku
dGFyZ2V0LmlkLAorICB9LCAnKicpOworfSkgKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDljZmUzYzE5
ZDFiM2M2NWRhMTUzMGJkMzM5MTkwYjA1NjZmNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3Vy
Y2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzCkBAIC0wLDAgKzEsMjY1IEBACisvLyBDbGlj
a3Mgb24gdGhlIGVsZW1lbnQgd2l0aCB0aGUgZ2l2ZW4gSUQuIEl0IGFkZHMgYW4gZXZlbnQgaGFu
ZGxlciB0byB0aGUgZWxlbWVudCB3aGljaAorLy8gZW5zdXJlcyB0aGF0IHRoZSBldmVudHMgaGF2
ZSBhIGR1cmF0aW9uIG9mIGF0IGxlYXN0IHxkZWxheXwuIENhbGxzIHxjYWxsYmFja3wgZHVyaW5n
CisvLyBldmVudCBoYW5kbGVyIGlmIHxjYWxsYmFja3wgaXMgcHJvdmlkZWQuCithc3luYyBmdW5j
dGlvbiBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCBkZWxheSwgY2FsbGJhY2spIHsKKyAgY29u
c3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgY29uc3QgY2xpY2tI
YW5kbGVyID0gKCkgPT4geworICAgIG1haW5UaHJlYWRCdXN5KGRlbGF5KTsKKyAgICBpZiAoY2Fs
bGJhY2spCisgICAgICBjYWxsYmFjaygpOworICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5l
cigibW91c2Vkb3duIiwgY2xpY2tIYW5kbGVyKTsKKyAgfTsKKyAgZWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZWRvd24iLCBjbGlja0hhbmRsZXIpOworICBhd2FpdCB0ZXN0X2RyaXZlci5j
bGljayhlbGVtZW50KTsKK30KKworZnVuY3Rpb24gbWFpblRocmVhZEJ1c3koZHVyYXRpb24pIHsK
KyAgY29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7CisgIHdoaWxlIChwZXJmb3JtYW5jZS5u
b3coKSA8IG5vdyArIGR1cmF0aW9uKTsKK30KKworLy8gVGhpcyBtZXRob2Qgc2hvdWxkIHJlY2Vp
dmUgYW4gZW50cnkgb2YgdHlwZSAnZXZlbnQnLiB8aXNGaXJzdHwgaXMgdHJ1ZSBvbmx5IHdoZW4g
d2Ugd2FudAorLy8gdG8gY2hlY2sgdGhhdCB0aGUgZXZlbnQgYWxzbyBoYXBwZW5zIHRvIGNvcnJl
c3BvbmQgdG8gdGhlIGZpcnN0IGV2ZW50LiBJbiB0aGlzIGNhc2UsIHRoZQorLy8gdGltaW5ncyBv
ZiB0aGUgJ2ZpcnN0LWlucHV0JyBlbnRyeSBzaG91bGQgYmUgZXF1YWwgdG8gdGhvc2Ugb2YgdGhp
cyBlbnRyeS4gfG1pbkR1cmF0aW9ufAorLy8gaXMgdXNlZCB0byBjb21wYXJlZCBhZ2FpbnN0IGVu
dHJ5LmR1cmF0aW9uLgorZnVuY3Rpb24gdmVyaWZ5RXZlbnQoZW50cnksIGV2ZW50VHlwZSwgdGFy
Z2V0SWQsIGlzRmlyc3Q9ZmFsc2UsIG1pbkR1cmF0aW9uPTEwNCwgbm90Q2FuY2VsYWJsZT1mYWxz
ZSkgeworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmNhbmNlbGFibGUsICFub3RDYW5jZWxhYmxlLCAn
Y2FuY2VsYWJsZSBwcm9wZXJ0eScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5Lm5hbWUsIGV2ZW50
VHlwZSk7CisgIGFzc2VydF9lcXVhbHMoZW50cnkuZW50cnlUeXBlLCAnZXZlbnQnKTsKKyAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlvbiwgbWluRHVyYXRpb24sCisgICAg
ICAiVGhlIGVudHJ5J3MgZHVyYXRpb24gc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0
byAiICsgbWluRHVyYXRpb24gKyAiIG1zLiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KGVudHJ5LnByb2Nlc3NpbmdTdGFydCwgZW50cnkuc3RhcnRUaW1lLAorICAgICAgIlRoZSBlbnRy
eSdzIHByb2Nlc3NpbmdTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHN0
YXJ0VGltZS4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5wcm9jZXNzaW5n
RW5kLCBlbnRyeS5wcm9jZXNzaW5nU3RhcnQsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2lu
Z0VuZCBtdXN0IGJlIGF0IGxlYXN0IGFzIGxhcmdlIGFzIHByb2Nlc3NpbmdTdGFydC4iKTsKKyAg
Ly8gfGR1cmF0aW9ufCBpcyBhIG51bWJlciByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IDggbXMsIHNv
IGFkZCA0IHRvIGdldCBhIGxvd2VyIGJvdW5kCisgIC8vIG9uIHRoZSBhY3R1YWwgZHVyYXRpb24u
CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24gKyA0LCBlbnRyeS5w
cm9jZXNzaW5nRW5kIC0gZW50cnkuc3RhcnRUaW1lLAorICAgICAgIlRoZSBlbnRyeSdzIGR1cmF0
aW9uIG11c3QgYmUgYXQgbGVhc3QgYXMgbGFyZ2UgYXMgcHJvY2Vzc2luZ0VuZCAtIHN0YXJ0VGlt
ZS4iKTsKKyAgaWYgKGlzRmlyc3QpIHsKKyAgICBsZXQgZmlyc3RJbnB1dHMgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpOworICAgIGFzc2VydF9lcXVhbHMoZmly
c3RJbnB1dHMubGVuZ3RoLCAxLCAnVGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIGZpcnN0LWlucHV0
IGVudHJ5Jyk7CisgICAgbGV0IGZpcnN0SW5wdXQgPSBmaXJzdElucHV0c1swXTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGZpcnN0SW5wdXQubmFtZSwgZW50cnkubmFtZSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhmaXJzdElucHV0LmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhmaXJzdElucHV0LnN0YXJ0VGltZSwgZW50cnkuc3RhcnRUaW1lKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGZpcnN0SW5wdXQuZHVyYXRpb24sIGVudHJ5LmR1cmF0aW9uKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGZpcnN0SW5wdXQucHJvY2Vzc2luZ1N0YXJ0LCBlbnRyeS5wcm9jZXNzaW5nU3RhcnQpOwor
ICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5wcm9jZXNzaW5nRW5kLCBlbnRyeS5wcm9jZXNz
aW5nRW5kKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuY2FuY2VsYWJsZSwgZW50cnku
Y2FuY2VsYWJsZSk7CisgIH0KKyAgaWYgKHRhcmdldElkKQorICAgIGFzc2VydF9lcXVhbHMoZW50
cnkudGFyZ2V0LCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCkpOworfQorCitmdW5j
dGlvbiB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCB0YXJnZXRJZCwgaXNGaXJzdD1mYWxzZSwgbWlu
RHVyYXRpb249MTA0KSB7CisgIHZlcmlmeUV2ZW50KGVudHJ5LCAnbW91c2Vkb3duJywgdGFyZ2V0
SWQsIGlzRmlyc3QsIG1pbkR1cmF0aW9uKTsKK30KKworZnVuY3Rpb24gd2FpdCgpIHsKKyAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBzdGVwX3RpbWVvdXQo
KCkgPT4geworICAgICAgcmVzb2x2ZSgpOworICAgIH0sIDApOworICB9KTsKK30KKworZnVuY3Rp
b24gY2xpY2tBbmRCbG9ja01haW4oaWQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZl
LCByZWplY3QpID0+IHsKKyAgICBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCAxMjAsIHJlc29s
dmUpOworICB9KTsKK30KKworICAvLyBBZGQgYSBQZXJmb3JtYW5jZU9ic2VydmVyIGFuZCBvYnNl
cnZlIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiB8ZHVyfC4gVGhpcyB0ZXN0IHdpbGwKKyAg
Ly8gYXR0ZW1wdCB0byBjaGVjayB0aGF0IHRoZSBkdXJhdGlvbiBpcyBhcHByb3ByaWF0ZWx5IGNo
ZWNrZWQgYnk6CisgIC8vICogQXNzZXJ0aW5nIHRoYXQgZW50cmllcyByZWNlaXZlZCBoYXZlIGEg
ZHVyYXRpb24gd2hpY2ggaXMgdGhlIHNtYWxsZXN0IG11bHRpcGxlIG9mIDgKKyAgLy8gICB0aGF0
IGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB8ZHVyfC4KKyAgLy8gKiBJc3N1aW5nIHxudW1F
bnRyaWVzfCBlbnRyaWVzIHRoYXQgYXJlIGZhc3QsIG9mIGR1cmF0aW9uIHxzbG93RHVyfC4KKyAg
Ly8gKiBJc3N1aW5nIHxudW1FbnRyaWVzfCBlbnRyaWVzIHRoYXQgYXJlIHNsb3csIG9mIGR1cmF0
aW9uIHxmYXN0RHVyfC4KKyAgLy8gKiBBc3NlcnRpbmcgdGhhdCBhdCBsZWFzdCB8bnVtRW50cmll
c3wgZW50cmllcyBhcmUgcmVjZWl2ZWQgKGF0IGxlYXN0IHRoZSBzbG93IG9uZXMpLgorICAvLyBQ
YXJhbWV0ZXJzOgorICAvLyB8dHwgICAgICAgICAgLSB0aGUgdGVzdCBoYXJuZXNzLgorICAvLyB8
ZHVyfCAgICAgICAgLSB0aGUgZHVyYXRpb25UaHJlc2hvbGQgZm9yIHRoZSBQZXJmb3JtYW5jZU9i
c2VydmVyLgorICAvLyB8aWR8ICAgICAgICAgLSB0aGUgSUQgb2YgdGhlIGVsZW1lbnQgdG8gYmUg
Y2xpY2tlZC4KKyAgLy8gfG51bUVudHJpZXN8IC0gdGhlIG51bWJlciBvZiBzbG93IGFuZCBudW1i
ZXIgb2YgZmFzdCBlbnRyaWVzLgorICAvLyB8c2xvd0R1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9u
IG9mIGEgc2xvdyBlbnRyeS4KKyAgLy8gfGZhc3REdXJ8ICAgIC0gdGhlIG1pbiBkdXJhdGlvbiBv
ZiBhIGZhc3QgZW50cnkuCithc3luYyBmdW5jdGlvbiB0ZXN0RHVyYXRpb24odCwgaWQsIG51bUVu
dHJpZXMsIGR1ciwgZmFzdER1ciwgc2xvd0R1cikgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5k
b3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVk
LicpOworICBjb25zdCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZl
ID0+IHsKKyAgICBsZXQgbWluRHVyYXRpb24gPSBNYXRoLmNlaWwoZHVyIC8gOCkgKiA4OworICAg
IC8vIEV4cG9zZWQgZXZlbnRzIG11c3QgYWx3YXlzIGhhdmUgYSBtaW5pbXVtIGR1cmF0aW9uIG9m
IDE2LgorICAgIG1pbkR1cmF0aW9uID0gTWF0aC5tYXgobWluRHVyYXRpb24sIDE2KTsKKyAgICBs
ZXQgbnVtRW50cmllc1JlY2VpdmVkID0gMDsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihs
aXN0ID0+IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUo
J21vdXNlZG93bicpOworICAgICAgbW91c2VEb3ducy5mb3JFYWNoKGUgPT4geworICAgICAgICB0
LnN0ZXAoKCkgPT4geworICAgICAgICAgIHZlcmlmeUNsaWNrRXZlbnQoZSwgaWQsIGZhbHNlIC8q
IGlzRmlyc3QgKi8sIG1pbkR1cmF0aW9uKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICAg
IG51bUVudHJpZXNSZWNlaXZlZCArPSBtb3VzZURvd25zLmxlbmd0aDsKKyAgICAgIC8vIE5vdGUg
dGhhdCB3ZSBtYXkgcmVjZWl2ZSBtb3JlIGVudHJpZXMgaWYgdGhlICdmYXN0JyBjbGljayBldmVu
dHMgdHVybiBvdXQgc2xvd2VyCisgICAgICAvLyB0aGFuIGV4cGVjdGVkLgorICAgICAgaWYgKG51
bUVudHJpZXNSZWNlaXZlZCA+PSBudW1FbnRyaWVzKQorICAgICAgICByZXNvbHZlKCk7CisgICAg
fSkub2JzZXJ2ZSh7dHlwZTogImV2ZW50IiwgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cn0pOworICB9
KTsKKyAgY29uc3QgY2xpY2tzUHJvbWlzZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4g
eworICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBudW1FbnRyaWVzOyBpbmRleCsrKSB7
CisgICAgICAvLyBBZGQgc29tZSBmYXN0IGNsaWNrIGV2ZW50cy4KKyAgICAgIGF3YWl0IGNsaWNr
T25FbGVtZW50QW5kRGVsYXkoaWQsIHNsb3dEdXIpOworICAgICAgLy8gQWRkIHNvbWUgc2xvdyBj
bGljayBldmVudHMuCisgICAgICBpZiAoZmFzdER1ciA+IDApIHsKKyAgICAgICAgYXdhaXQgY2xp
Y2tPbkVsZW1lbnRBbmREZWxheShpZCwgZmFzdER1cik7CisgICAgICB9IGVsc2UgeworICAgICAg
ICAvLyBXZSBjYW4ganVzdCBkaXJlY3RseSBjYWxsIHRlc3RfZHJpdmVyIHdoZW4gfGZhc3REdXJ8
IGlzIDAuCisgICAgICAgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKGlkKSk7CisgICAgICB9CisgICAgfQorICAgIHJlc29sdmUoKTsKKyAgfSk7CisgIHJl
dHVybiBQcm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9taXNlLCBjbGlja3NQcm9taXNlXSk7Cit9CisK
Ky8vIEFwcGx5IGV2ZW50cyB0aGF0IHRyaWdnZXIgYW4gZXZlbnQgb2YgdGhlIGdpdmVuIHxldmVu
dFR5cGV8IHRvIGJlIGRpc3BhdGNoZWQgdG8gdGhlCisvLyB8dGFyZ2V0fC4gU29tZSBvZiB0aGVz
ZSBhc3N1bWUgdGhhdCB0aGUgdGFyZ2V0IGlzIG5vdCBvbiB0aGUgdG9wIGxlZnQgY29ybmVyIG9m
IHRoZQorLy8gc2NyZWVuLCB3aGljaCBtZWFucyB0aGF0ICgwLCAwKSBvZiB0aGUgdmlld3BvcnQg
aXMgb3V0c2lkZSBvZiB0aGUgfHRhcmdldHwuCitmdW5jdGlvbiBhcHBseUFjdGlvbihldmVudFR5
cGUsIHRhcmdldCkgeworICBjb25zdCBhY3Rpb25zID0gbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMo
KTsKKyAgaWYgKGV2ZW50VHlwZSA9PT0gJ2F1eGNsaWNrJykgeworICAgIGFjdGlvbnMucG9pbnRl
ck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRlckRvd24oe2J1dHRvbjog
YWN0aW9ucy5CdXR0b25UeXBlLk1JRERMRX0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rp
b25zLkJ1dHRvblR5cGUuTUlERExFfSk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnY2xp
Y2snIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNlZG93bicgfHwgZXZlbnRUeXBlID09PSAnbW91c2V1
cCcKKyAgICAgIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJkb3duJyB8fCBldmVudFR5cGUgPT09
ICdwb2ludGVydXAnCisgICAgICB8fCBldmVudFR5cGUgPT09ICd0b3VjaHN0YXJ0JyB8fCBldmVu
dFR5cGUgPT09ICd0b3VjaGVuZCcpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtv
cmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKCkKKyAgICAucG9pbnRlclVwKCk7Cisg
IH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnY29udGV4dG1lbnUnKSB7CisgICAgYWN0aW9ucy5w
b2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bih7YnV0
dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuUklHSFR9KQorICAgIC5wb2ludGVyVXAoe2J1dHRvbjog
YWN0aW9ucy5CdXR0b25UeXBlLlJJR0hUfSk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAn
ZGJsY2xpY2snKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJn
ZXR9KQorICAgIC5wb2ludGVyRG93bigpCisgICAgLnBvaW50ZXJVcCgpCisgICAgLnBvaW50ZXJE
b3duKCkKKyAgICAucG9pbnRlclVwKCkKKyAgICAvLyBSZXNldCBieSBjbGlja2luZyBvdXRzaWRl
IG9mIHRoZSB0YXJnZXQuCisgICAgLnBvaW50ZXJNb3ZlKDAsIDApCisgICAgLnBvaW50ZXJEb3du
KCkKKyAgICAucG9pbnRlclVwKCk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnbW91c2Vl
bnRlcicgfHwgZXZlbnRUeXBlID09PSAnbW91c2VvdmVyJworICAgICAgfHwgZXZlbnRUeXBlID09
PSAncG9pbnRlcmVudGVyJyB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyb3ZlcicpIHsKKyAgICAv
LyBNb3ZlIG91dHNpZGUgb2YgdGhlIHRhcmdldCBhbmQgdGhlbiBiYWNrIGluc2lkZS4KKyAgICBh
Y3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDApCisgICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46
IHRhcmdldH0pOworICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ21vdXNlbGVhdmUnIHx8IGV2
ZW50VHlwZSA9PT0gJ21vdXNlb3V0JworICAgICAgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcmxl
YXZlJyB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyb3V0JykgeworICAgIGFjdGlvbnMucG9pbnRl
ck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRlck1vdmUoMCwgMCk7Cisg
IH0gZWxzZSB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgnVGhlIGV2ZW50IHR5cGUgJyArIGV2ZW50
VHlwZSArICcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgfQorICByZXR1cm4gYWN0aW9ucy5zZW5k
KCk7Cit9CisKK2Z1bmN0aW9uIHJlcXVpcmVzTGlzdGVuZXIoZXZlbnRUeXBlKSB7CisgIHJldHVy
biBbJ21vdXNlZW50ZXInLAorICAgICAgICAgICdtb3VzZWxlYXZlJywKKyAgICAgICAgICAncG9p
bnRlcmRvd24nLAorICAgICAgICAgICdwb2ludGVyZW50ZXInLAorICAgICAgICAgICdwb2ludGVy
bGVhdmUnLAorICAgICAgICAgICdwb2ludGVyb3V0JywKKyAgICAgICAgICAncG9pbnRlcm92ZXIn
LAorICAgICAgICAgICdwb2ludGVydXAnCisgICAgICAgIF0uaW5jbHVkZXMoZXZlbnRUeXBlKTsK
K30KKworZnVuY3Rpb24gbm90Q2FuY2VsYWJsZShldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91
c2VlbnRlcicsICdtb3VzZWxlYXZlJywgJ3BvaW50ZXJlbnRlcicsICdwb2ludGVybGVhdmUnXS5p
bmNsdWRlcyhldmVudFR5cGUpOworfQorCisvLyBUZXN0cyB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwn
cyBwZXJmb3JtYW5jZS5ldmVudENvdW50cyB2YWx1ZS4gU2luY2UgdGhpcyBpcyBwb3B1bGF0ZWQg
b25seSB3aGVuCisvLyB0aGUgZXZlbnQgaXMgcHJvY2Vzc2VkLCB3ZSBjaGVjayBldmVyeSAxMCBt
cyB1bnRpbCB3ZSd2ZSBmb3VuZCB0aGUgfGV4cGVjdGVkQ291bnR8LgorZnVuY3Rpb24gdGVzdENv
dW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGV4cGVjdGVkQ291bnQpIHsK
KyAgY29uc3QgY291bnRzID0gcGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSk7
CisgIGlmIChjb3VudHMgPCBleHBlY3RlZENvdW50KSB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkg
PT4geworICAgICAgdGVzdENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUs
IGV4cGVjdGVkQ291bnQpOworICAgIH0sIDEwKTsKKyAgICByZXR1cm47CisgIH0KKyAgaWYgKGxv
b3NlQ291bnQpIHsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKHBlcmZvcm1hbmNlLmV2
ZW50Q291bnRzLmdldChldmVudFR5cGUpLCBleHBlY3RlZENvdW50LAorICAgICAgICBgU2hvdWxk
IGhhdmUgYXQgbGVhc3QgJHtleHBlY3RlZENvdW50fSAke2V2ZW50VHlwZX0gZXZlbnRzYCkKKyAg
fSBlbHNlIHsKKyAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldChl
dmVudFR5cGUpLCBleHBlY3RlZENvdW50LAorICAgICAgICBgU2hvdWxkIGhhdmUgJHtleHBlY3Rl
ZENvdW50fSAke2V2ZW50VHlwZX0gZXZlbnRzYCk7CisgIH0KKyAgcmVzb2x2ZSgpOworfQorCisv
LyBUZXN0cyB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwgYnkgY3JlYXRpbmcgZXZlbnRzIHdob3NlIHRh
cmdldCBhcmUgdGhlIGVsZW1lbnQgd2l0aCBpZAorLy8gJ3RhcmdldCcuIFRoZSB0ZXN0IGFzc3Vt
ZXMgdGhhdCBzdWNoIGVsZW1lbnQgYWxyZWFkeSBleGlzdHMuIHxsb29zZUNvdW50fCBpcyBzZXQg
Zm9yCisvLyBldmVudFR5cGVzIGZvciB3aGljaCBldmVudHMgd291bGQgb2NjdXIgZm9yIG90aGVy
IGludGVyYWN0aW9ucyBvdGhlciB0aGFuIHRoZSBvbmVzIGJlaW5nCisvLyBzcGVjaWZpZWQgZm9y
IHRoZSB0YXJnZXQsIHNvIHRoZSBjb3VudHMgY291bGQgYmUgbGFyZ2VyLgorYXN5bmMgZnVuY3Rp
b24gdGVzdEV2ZW50VHlwZSh0LCBldmVudFR5cGUsIGxvb3NlQ291bnQ9ZmFsc2UpIHsKKyAgYXNz
ZXJ0X2ltcGxlbWVudHMod2luZG93LkV2ZW50Q291bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0IHN1
cHBvcnRlZCIpOworICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFy
Z2V0Jyk7CisgIGlmIChyZXF1aXJlc0xpc3RlbmVyKGV2ZW50VHlwZSkpIHsKKyAgICB0YXJnZXQu
YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICgpID0+e30pOworICB9CisgIGNvbnN0IGluaXRp
YWxDb3VudCA9IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldChldmVudFR5cGUpOworICBpZiAo
IWxvb3NlQ291bnQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGluaXRpYWxDb3VudCwgMCwgJ05vIGV2
ZW50cyB5ZXQuJyk7CisgIH0KKyAgLy8gVHJpZ2dlciB0d28gJ2Zhc3QnIGV2ZW50cyBvZiB0aGUg
dHlwZS4KKyAgYXdhaXQgYXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICBhd2FpdCBh
cHBseUFjdGlvbihldmVudFR5cGUsIHRhcmdldCk7CisgIGF3YWl0IG5ldyBQcm9taXNlKHQuc3Rl
cF9mdW5jKHJlc29sdmUgPT4geworICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VDb3Vu
dCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAyKTsKKyAgfSkpOworICAvLyBUaGUgZHVyYXRp
b25UaHJlc2hvbGQgdXNlZCBieSB0aGUgb2JzZXJ2ZXIuIEEgc2xvdyBldmVudHMgbmVlZHMgdG8g
YmUgc2xvd2VyIHRoYW4gdGhhdC4KKyAgY29uc3QgZHVyYXRpb25UaHJlc2hvbGQgPSAxNjsKKyAg
Ly8gTm93IGFkZCBhbiBldmVudCBoYW5kbGVyIHRvIGNhdXNlIGEgc2xvdyBldmVudC4KKyAgdGFy
Z2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCAoKSA9PiB7CisgICAgbWFpblRocmVhZEJ1
c3koZHVyYXRpb25UaHJlc2hvbGQgKyA0KTsKKyAgfSk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICBsZXQgZXZlbnRUeXBlRW50
cmllcyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKGV2ZW50VHlwZSk7CisgICAgICBpZiAo
ZXZlbnRUeXBlRW50cmllcy5sZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKworICAgICAg
bGV0IGVudHJ5ID0gbnVsbDsKKyAgICAgIGlmICghbG9vc2VDb3VudCkgeworICAgICAgICBlbnRy
eSA9IGV2ZW50VHlwZUVudHJpZXNbMF07CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnRUeXBl
RW50cmllcy5sZW5ndGgsIDEpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gVGhlIG90aGVy
IGV2ZW50cyBjb3VsZCBhbHNvIGJlIGNvbnNpZGVyZWQgc2xvdy4gRmluZCB0aGUgb25lIHdpdGgg
dGhlIGNvcnJlY3QKKyAgICAgICAgLy8gdGFyZ2V0LgorICAgICAgICBldmVudFR5cGVFbnRyaWVz
LmZvckVhY2goZSA9PiB7CisgICAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGFyZ2V0JykpCisgICAgICAgICAgICBlbnRyeSA9IGU7CisgICAgICAgIH0p
OworICAgICAgICBpZiAoIWVudHJ5KQorICAgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAg
IHZlcmlmeUV2ZW50KGVudHJ5LAorICAgICAgICAgICAgICAgICAgZXZlbnRUeXBlLAorICAgICAg
ICAgICAgICAgICAgJ3RhcmdldCcsCisgICAgICAgICAgICAgICAgICBmYWxzZSAvKiBpc0ZpcnN0
ICovLAorICAgICAgICAgICAgICAgICAgZHVyYXRpb25UaHJlc2hvbGQsCisgICAgICAgICAgICAg
ICAgICBub3RDYW5jZWxhYmxlKGV2ZW50VHlwZSkpOworICAgICAgLy8gU2hvdWxkbid0IG5lZWQg
YXN5bmMgdGVzdGluZyBoZXJlIHNpbmNlIHdlIGFscmVhZHkgZ290IHRoZSBvYnNlcnZlciBlbnRy
eSwgYnV0IG1pZ2h0IGFzCisgICAgICAvLyB3ZWxsIHJldXNlIHRoZSBtZXRob2QuCisgICAgICB0
ZXN0Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgaW5pdGlhbENvdW50
ICsgMyk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVudCcsIGR1cmF0aW9uVGhyZXNob2xk
OiBkdXJhdGlvblRocmVzaG9sZH0pOworICB9KTsKKyAgLy8gQ2F1c2UgYSBzbG93IGV2ZW50Lgor
ICBsZXQgYWN0aW9uUHJvbWlzZSA9IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KTsKKyAg
cmV0dXJuIFByb21pc2UuYWxsKFthY3Rpb25Qcm9taXNlLCBvYnNlcnZlclByb21pc2VdKTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1h
Z2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYzJmOTE2NTVjZjM5ZjU4Yjc5NDBmMmJlZGI0YzU4YjhkNjk5ZjAx
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5CkBAIC0wLDAgKzEs
NyBAQAoraW1wb3J0IHRpbWUKKworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgICMg
U2xlZXAgZm9yIDUwMG1zIHRvIGRlbGF5IG9ubG9hZC4KKyAgICB0aW1lLnNsZWVwKDAuNSkKKyAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLWNhY2hlLCBtdXN0
LXJldmFsaWRhdGUiKTsKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgYiJk
YXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUpBQUFNakl5QUFBQUN3QUFBQUFBUUFC
QUFBQ0FnUUJBRHMlM0QiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDBmMDAwYWYzOWRhMWQ2YzZl
ZWEzY2ZhMmEyNGJmMWJlMjdjZjRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1p
bXBvcnQubG9nCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3
ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVz
ZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVl
c3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10
ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBp
biBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxl
LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhl
czoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9u
ZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFt
ZS1jaGlsZGZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanMK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTdm
Yjg5OTA1YjU5ZjcyOGM1OTQ5N2VlYzlkZjRhNzUzZTcyOWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9y
ZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdj
bGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1pbmc6IG1ha2Ugc3VyZSBldmVudC10aW1pbmcg
ZW50cmllcyBhcmUgbm90IHJldHJpZXZhYmxlIGJ5IHBlcmZvcm1hbmNlLmdldEVudHJpZXMqLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWI0NzVmYzUyOTc0ZmUyYWZkZTM1NTMzMjY1M2M4MDJjN2M1ZjE2ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQg
VGltaW5nOiBtYWtlIHN1cmUgJ2V2ZW50JyBlbnRyaWVzIGFyZSBub3QgcmV0cmlldmFibGUgYnkg
cGVyZm9ybWFuY2UuZ2V0RW50cmllcyogQVBJcy48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91
dCIgY29udGVudD0ibG9uZyI+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNr
JyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+
CisKKzxzY3JpcHQ+CisgIGZ1bmN0aW9uIHZhbGlkYXRlRW50cmllcygpIHsKKyAgICBjb25zdCBl
bnRyaWVzQnlOYW1lID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJywg
J2V2ZW50Jyk7CisgICAgY29uc3QgZW50cmllc0J5VHlwZSA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoJ2V2ZW50Jyk7CisgICAgY29uc3QgYWxsRW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXMoKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNCeU5hbWUubGVuZ3RoLCAwLCAn
RXZlbnQgVGltaW5nIGVudHJ5IHNob3VsZCBub3QgYmUgcmV0cmlldmFibGUgYnkgZ2V0RW50cmll
c0J5TmFtZScpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmllc0J5VHlwZS5sZW5ndGgsIDAsICdF
dmVudCBUaW1pbmcgZW50cnkgc2hvdWxkIG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVz
QnlUeXBlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhhbGxFbnRyaWVzLmZpbHRlcihlID0+IGUuZW50
cnlUeXBlID09PSAnZXZlbnQnKS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkgc2hvdWxk
IG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzJyk7CisgIH0KKworICAvKiBUaW1lbGlu
ZToKKyAgICAgQmVnaW4gQnVzeSBMb29wCisgICAgIENsaWNrIDEgYXJyaXZlcworICAgICBFbmQg
QnVzeSBMb29wCisgICAgIChEaXNwYXRjaCBhbmQgUHJvY2VzcyBDbGljayAxIC0gYnVmZmVyZWQp
CisgICAgIE9ubG9hZCBFdmVudCBGaXJlcworICAgICBWYWxpZGF0ZSBlbnRyaWVzCisgICovCisg
IGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7
CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsK
KyAgICAgIGlmIChlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJykubGVuZ3Ro
ID4gMCkgeworICAgICAgICB2YWxpZGF0ZUVudHJpZXMoKTsKKyAgICAgICAgdC5kb25lKCk7Cisg
ICAgICB9CisgICAgfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICAgIGNs
aWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgfSwgIkV2ZW50IFRpbWluZzogbWFrZSBzdXJl
IGV2ZW50LXRpbWluZyBlbnRyaWVzIGFyZSBub3QgcmV0cmlldmFibGUgYnkgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllcyouIik7CisKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmll
dmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kMzljZGYzYmY2MWJlZGZjNzllYWIwMzMzZTFiNzhmNzQ1OTViODVl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1p
bmc6IGNoZWNrIGZpcnN0LWlucHV0IGFmdGVyIG9ubG9hZCwgb2JzZXJ2ZXIsIGNsaWNrLCBjbGlj
ay4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZp
cnN0SW5wdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2IxN2NkMTgxNjVmOTc1ZmJiZDk4ZTdkZTA3ZGFk
NzEyNTFjMWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCkBA
IC0wLDAgKzEsMzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBmaXJzdC1pbnB1dCBlbnRyeSBzaG91bGQgYmUg
YnVmZmVyZWQgZXZlbiB3aXRob3V0IG9ic2VydmVyPC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRv
bic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5k
b3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcs
ICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBmdW5jdGlvbiB0ZXN0RW50
cmllcygpIHsKKyAgICAgIC8vIEZpcnN0IGNhbGxiYWNrIGlzIG5vdCBlbnN1cmVkIHRvIGhhdmUg
dGhlIGVudHJ5LgorICAgICAgaWYgKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2ZpcnN0
LWlucHV0JykubGVuZ3RoID09PSAwKSB7CisgICAgICAgIHQuc3RlcF90aW1lb3V0KHRlc3RFbnRy
aWVzLCAxMCk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGFzc2VydF9lcXVhbHMo
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGgsIDEsCisg
ICAgICAgICJUaGVyZSBzaG91bGQgYmUgYSBmaXJzdC1pbnB1dCBlbnRyeSBpbiB0aGUgcGVyZm9y
bWFuY2UgdGltZWxpbmUiKTsKKyAgICAgIGNvbnN0IGVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKVswXTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnku
bmFtZSwgJ21vdXNlZG93bicpOworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbnRyeVR5cGUs
ICdmaXJzdC1pbnB1dCcpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5k
dXJhdGlvbiwgMTA0LAorICAgICAgICAiVGhlIGZpcnN0IGlucHV0IHdhcyBhIGxvbmcgb25lLiIp
OworICAgICAgdC5kb25lKCk7CisgICAgfQorICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24n
KS50aGVuKHdhaXQpLnRoZW4odC5zdGVwX2Z1bmModGVzdEVudHJpZXMpKTsKKyAgfSwKKyAgIkV2
ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQgYWZ0ZXIgb25sb2FkLCBvYnNlcnZlciwgY2xp
Y2ssIGNsaWNrLiIKKyAgKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9y
dGVkLXR5cGVzLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjg1ODA2ZjdmNDIxY2RmMWY5MzBmMDRiMmZiMGY5MmY2
ZGE5MjJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mgc3VwcG9ydGVkRW50cnlUeXBlcyBjb250YWlu
cyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5
cGVzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWNjNDM0OTVjMDk2ZmQwY2Q1NjhmYTU5ODMwNTVjMDM5MGY5NGQ0MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuanMKQEAgLTAsMCArMSwx
MiBAQAordGVzdCgoKSA9PiB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5j
ZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGFzc2Vy
dF9pbXBsZW1lbnRzKHR5cGVvZiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlw
ZXMgIT09ICJ1bmRlZmluZWQiLAorICAgICAgJ3N1cHBvcnRlZEVudHJ5VHlwZXMgaXMgbm90IHN1
cHBvcnRlZCcpOworICBjb25zdCB0eXBlcyA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVk
RW50cnlUeXBlczsKKyAgYXNzZXJ0X3RydWUodHlwZXMuaW5jbHVkZXMoImZpcnN0LWlucHV0Iiks
CisgICAgIlRoZXJlIHNob3VsZCBiZSAnZmlyc3QtaW5wdXQnIGluIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyIpOworICBhc3NlcnRfdHJ1ZSh0eXBlcy5pbmNsdWRlcygi
ZXZlbnQiKSwKKyAgICAiVGhlcmUgc2hvdWxkIGJlICdldmVudCcgaW4gUGVyZm9ybWFuY2VPYnNl
cnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW4odHlwZXMu
aW5kZXhPZigiZmlyc3QtaW5wdXQiKSwgdHlwZXMuaW5kZXhPZignZXZlbnQnKSwKKyAgICAiVGhl
ICdmaXJzdC1pbnB1dCcgZW50cnkgc2hvdWxkIGFwcGVhciBhZnRlciB0aGUgJ2V2ZW50JyBlbnRy
eSIpOworfSwgInN1cHBvcnRlZEVudHJ5VHlwZXMgY29udGFpbnMgJ2V2ZW50JyBhbmQgJ2ZpcnN0
LWlucHV0Jy4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
dGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y2NjkxNTMyNmJlMDg2
YjM1MDQ2YTI0Mzg5YjVmMWZkNjM0ZmI1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRp
dGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2
ZW50CisKK1BBU1MgRXZlbnQgVGltaW5nIG9ubHkgdGltZXMgY2VydGFpbiB0eXBlcyBvZiB0cnVz
dGVkIGV2ZW50LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5n
Y29uZGl0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNDQ0OGMyYTEwM2E4NTExNTQ0ZmJlN2JiZmQw
NzYwNzczN2E5MGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKQEAg
LTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRy
dXN0ZWQgZXZlbnQuCis8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9u
ZyI+Cis8YnV0dG9uIGlkPSdidXR0b24nIG9ubW91c2Vkb3duPSdtYWluVGhyZWFkQnVzeSg2MCkn
CisgIG9uZm9jdXM9J21haW5UaHJlYWRCdXN5KDYwKSc+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50
PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQg
c3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisgIGxldCB0cnVzdGVkQ2xpY2tTdGFydDsKKyAgZnVuY3Rpb24gdHJ1c3RlZENsaWNrQW5k
QmxvY2tNYWluKGlkKSB7CisgICAgdHJ1c3RlZENsaWNrU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3co
KTsKKyAgICByZXR1cm4gY2xpY2tBbmRCbG9ja01haW4oaWQpOworICB9CisKKyAgZnVuY3Rpb24g
dW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgLy8gQmxvY2sgbWFpbnRocmVhZCBpbiB0aGUg
Y2FsbGJhY2ssIGFzIGRpc3BhdGNoRXZlbnQoKSBpcyBhIHN5bmMgY2FsbC4KKyAgICB0YXJnZXQu
ZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgnbW91c2Vkb3duJykpOworICB9CisKKyAgZnVu
Y3Rpb24gdHJ1c3RlZEZvY3VzQW5kQmxvY2tNYWluKGlkKSB7CisgICAgY29uc3QgdGFyZ2V0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgIHRydXN0ZWRGb2N1c1N0YXJ0ID0gcGVy
Zm9ybWFuY2Uubm93KCk7CisgICAgLy8gQmxvY2sgbWFpbnRocmVhZCBpbiB0aGUgY2FsbGJhY2ss
ICBhcyBmb2N1cygpIGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5mb2N1cygpOworICB9CisK
KyAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5k
b3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVk
LicpOworICAgIGxldCBvYnNlcnZlZE1vdXNlRG93biA9IGZhbHNlOworICAgIGNvbnN0IG9ic2Vy
dmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgY29uc3Qgb2Jz
ZXJ2ZXJDYWxsYmFja1RpbWUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgICAgY29uc3QgbW91
c2VEb3ducyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICAg
ICAgLy8gSWdub3JlIGNhc2VzIGluIHdoaWNoIHRoZXJlIGlzIG5vIG1vdXNlZG93bi4KKyAgICAg
ICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24sICdHb3QgbW9yZSB0aGFuIG9uZSBj
YWxsYmFjayB3aXRoIG1vdXNlZG93bi4nKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURv
d25zLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICJTaG91bGQgb25seSBvYnNlcnZlIG9uZSBtb3Vz
ZWRvd24gZW50cnkuIEluc3RlYWQsIGdvdCB0aGVzZTogIiArCisgICAgICAgICAgICBKU09OLnN0
cmluZ2lmeShtb3VzZURvd25zKSArICIuIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VE
b3duc1swXS5uYW1lLCAnbW91c2Vkb3duJywKKyAgICAgICAgICAgICJUaGUgb2JzZXJ2ZWQgZW50
cnkgc2hvdWxkIGJlIGEgbW91c2Vkb3duIik7CisgICAgICAgIGFzc2VydF9sZXNzX3RoYW4obW91
c2VEb3duc1swXS5zdGFydFRpbWUsIG9ic2VydmVyQ2FsbGJhY2tUaW1lLAorICAgICAgICAgICAg
IlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGJlZm9yZSBvYnNlcnZlckNhbGxiYWNrVGltZSIpOwor
ICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKG1vdXNlRG93bnNbMF0uc3RhcnRUaW1lLCB0cnVz
dGVkQ2xpY2tTdGFydCwKKyAgICAgICAgICAgICJUaGUgc3RhcnRUaW1lIHNob3VsZCBiZSBhZnRl
ciB0cnVzdGVkQ2xpY2tTdGFydCIpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7
CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0pKS5vYnNlcnZlKHsgZW50cnlUeXBlczogWydl
dmVudCddIH0pOworICAgIH0pOworICAgIC8vIFVudHJ1c3RlZCBldmVudCBvZiBhIHR5cGUgZXZl
bnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIHVudHJ1c3RlZENsaWNrQW5kQmxvY2tNYWluKCdi
dXR0b24nKTsKKyAgICAvLyBUcnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgZG9l
c24ndCBjYXJlcyBhYm91dC4KKyAgICB0cnVzdGVkRm9jdXNBbmRCbG9ja01haW4oJ2J1dHRvbicp
OworICAgIC8vIFRydXN0ZWQgZXZlbnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBjYXJlcyBhYm91
dC4KKyAgICBjb25zdCBjbGlja1Byb21pc2UgPSB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1
dHRvbicpLnRoZW4od2FpdCk7CisgICAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclByb21p
c2UsIGNsaWNrUHJvbWlzZV0pOworICB9LCAiRXZlbnQgVGltaW5nIG9ubHkgdGltZXMgY2VydGFp
biB0eXBlcyBvZiB0cnVzdGVkIGV2ZW50LiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy90b0pTT04tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44YTk3YzZlYjE4OGQ0ZmFkZTI3YzA2OTVmYzdlMDExMTA2MjYxYWVlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvdG9KU09OLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2Ns
aWNrJyBldmVudAorCitGQUlMIFRlc3QgdG9KU09OKCkgaW4gUGVyZm9ybWFuY2VFdmVudFRpbWlu
Zy4gYXNzZXJ0X2VxdWFsczogUGVyZm9ybWFuY2VFdmVudFRpbWluZyAke2tleX0gZW50cnkgZG9l
cyBub3QgbWF0Y2ggaXRzIHRvSlNPTiB2YWx1ZSBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5v
ZGUgPGJ1dHRvbiBpZD0iYnV0dG9uIj5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4g
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy90b0pTT04uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmRlNDc2N2M0MmE1ZDNmZThhODRjZGVmN2M1MzRh
ZmJjZDQ0ZTFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwKQEAgLTAsMCArMSw0MiBA
QAorPCFET0NUWVBFIEhUTUw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkV2ZW50IFRp
bWluZzogdG9KU09OPC90aXRsZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8
L2J1dHRvbj4KKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3Nl
cnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWlu
ZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIoCisgICAgICB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGVudHJ5TGlzdCkg
eworICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAg
ICAgIGFzc2VydF9lcXVhbHModHlwZW9mKGVudHJ5LnRvSlNPTiksICdmdW5jdGlvbicpOworICAg
ICAgICBjb25zdCBqc29uID0gZW50cnkudG9KU09OKCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mKGpzb24pLCAnb2JqZWN0Jyk7CisgICAgICAgIGNvbnN0IGtleXMgPSBbCisgICAgICAg
ICAgLy8gUGVyZm9ybWFuY2VFbnRyeQorICAgICAgICAgICduYW1lJywKKyAgICAgICAgICAnZW50
cnlUeXBlJywKKyAgICAgICAgICAnc3RhcnRUaW1lJywKKyAgICAgICAgICAnZHVyYXRpb24nLAor
ICAgICAgICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcKKyAgICAgICAgICAncHJvY2Vzc2lu
Z1N0YXJ0JywKKyAgICAgICAgICAncHJvY2Vzc2luZ0VuZCcsCisgICAgICAgICAgJ2NhbmNlbGFi
bGUnLAorICAgICAgICAgICd0YXJnZXQnLAorICAgICAgICBdOworICAgICAgICBmb3IgKGNvbnN0
IGtleSBvZiBrZXlzKSB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhqc29uW2tleV0sIGVudHJ5
W2tleV0sCisgICAgICAgICAgICAnUGVyZm9ybWFuY2VFdmVudFRpbWluZyAke2tleX0gZW50cnkg
ZG9lcyBub3QgbWF0Y2ggaXRzIHRvSlNPTiB2YWx1ZScpOworICAgICAgICB9CisgICAgICB9KQor
ICAgICk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAgIGNsaWNr
QW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgfSwgJ1Rlc3QgdG9KU09OKCkgaW4gUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNjLWlt
cG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjI4ODY3ZmRmMjc1MGJkZDc1
NWJkYWRiMzZiY2Q2MGQxNGI0OTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSw1MyBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVm
ZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y2xpY2stdGltaW5nLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3Nz
aWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9kYmxjbGljay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2
ZW50LWNsaWNrLWNvdW50cy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJl
dGFyZ2V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFu
eS5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRo
cmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZWVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2VvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcmRvd24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZl
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0
eS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRv
dy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25z
Lmpzb24KaW5kZXggNGJlNjFlNjcwOWMzZjgxMzdkMjVhNTM5MjI2Yzg4OTE0ZDM4ODlmMi4uNzdh
YTFkNDA3OTcxOTBkYmFlY2FhYzc5NWQ5NjVhNDFlNWQ1MzAxMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMu
anNvbgpAQCAtMTM1OCw2ICsxMzU4LDIxIEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2RybS10ZW1wb3JhcnktbGljZW5zZS10eXBlLmh0dHBz
Lmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwiOiBbCisgICAgICAg
ICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NsaWNrLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0
bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwiOiBbCisgICAgICAg
ICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAg
XSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudHNvdXJjZS9kZWRp
Y2F0ZWQtd29ya2VyL2V2ZW50c291cmNlLWNvbnN0cnVjdG9yLW5vbi1zYW1lLW9yaWdpbi5odG0i
OiBbCiAgICAgICAgICJzbG93IgogICAgIF0sCkBAIC0zMDc3LDQgKzMwOTIsNCBAQAogICAgICJp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC10aW1lb3V0
LXdvcmtlci10d2ljZS5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdCi19ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405443</attachid>
            <date>2020-07-29 00:27:30 -0700</date>
            <delta_ts>2020-07-29 05:51:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200729092727.patch</filename>
            <type>text/plain</type>
            <size>173743</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUyNzAxMjlmNmVlZjUw
NTgwZDgzZDRmNDQ5ODg5NWEzNjU5NTNmNy4uZjExMzE3YmJhNDViYTBhNzAyZGRlYjQ2MTdhZGEy
YWQ3ZDQ3ZTgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wNy0yOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDctMjggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyNjQ5ODYpIFVucmV2aWV3ZWQgY3Jhc2ggZml4CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDBmMjljOWU4NjMzZjkyYTk4Njg5ZTQ3NjA1MTMyZTRjZTk3
Y2I2YzYuLjA5MGQ4NjAzZTU1Y2I3ZDhjODRlNmEzZGUxY2U1YmY3ZjIxYWJlYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC05NzMsNiArOTczLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAg
ICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAogICAgIHBhZ2Uv
RXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAgcGFnZS9HbG9i
YWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5MCw2ICs5OTEsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IDNkMmY4YTMxNjcyYTMzNzliNjNiMGM3MjNhYzJhYzUyYWY2NmNmMmMuLjEzNGMzYmQyYTUy
NmIzZDYwNmU3NGExMDJkZmRjZjBiYjljZDE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQyLDYgKzk0Miw3IEBAICQoUFJPSkVD
VF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5cHRvLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdl
L0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9HbG9i
YWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApA
QCAtOTYwLDYgKzk2MSw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdv
cmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pF
Q1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlNmViMDcyYmE3NWUyYzE1MjczYzE4MzdlMWM3ZDA4
NGExNzdmOTE3Li5mODg5YWFmYmM2NjdkZTcxNjU0ODA4NjYxODRmY2RkNDc4NjNlY2QzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAt
NTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcApA
QCAtMTMwNCw2ICsxMzA2LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFz
dXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjliYWI4OTFhZjRlODkw
YzgyOTg0YjE0MDhhYmViZjM0NjkxYzdlNS4uN2NlZjFhYmI5NjkzNWE4Y2VmOWM4YmU0YWY1MWZh
ZDVhNDFkN2FiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NjEsNiArOTYx
LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudENvdW50cy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsUGVy
Zm9ybWFuY2UuaWRsIFwKQEAgLTk3OSw2ICs5ODAsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA3NTIyODM4N2M1NGY1
ZWI2MGNkYjYwYWFiMmM1MTkwYmIxYmI1NTQwLi5jYWMyZTFiNzI1ZmE3YTljYWJiYjY2MjRlMzk3
Zjc3M2IwZWQzOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEwIEBAIHBhZ2Uv
RGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRpb25zLmNwcAog
cGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVyZW5jZS5jcHAK
K3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRT
b3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3Bw
CiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0x
NjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFn
ZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5j
ZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVy
Zm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzMyw2ICsyODM2LDcgQEAgSlNFbnRlclBpY3R1cmVJ
blBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAK
IEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3BwCiBKU0V2ZW50
TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNjUsNiArMzE2OSw3IEBA
IEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVy
Zm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNw
cAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWMyYmEwODZmOTY0NTdiNGJlYzI4
ZDI3MTIyN2ExYTc1NmZmOWYzZC4uZDE1Yjg1YzIwZmJjYzRlMDYwNjA1MGQ0ODkzOTM3ZjU3ZDBi
OGFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMzQ0MCw2ICszNDQwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3RDAwRkRGOTU5
IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlLmggKi87
IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODA1MEQ3
NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJQUExMkRGNDkx
NzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1RDE3NDI5QkND
MDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsgfTsKKwkJQUEx
MkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyog
RXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1
cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUEyQTVB
Q0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4NUQ1MDA5NzVB
MjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAxNkE0ODYwNDAw
OTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1QTI1IC8qIFNw
ZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ1NSw4ICszNDU2LDEwIEBACiAJ
CUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFOUYx
NkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CiAJ
CUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdGRUVBMTE2QTRF
NkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9OwogCQlBQTdGRUVB
RDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAv
KiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1MDBCRUY5NTUg
LyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oICovOyB9Owog
CQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFB
QTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNW
R1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFB
QzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9Owor
CQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5
NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0Ez
MjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2
N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZE
NjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNs
aWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFD
OTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ4Niw2ICsxMjQ4OSw4IEBACiAJ
CUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
TWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTEx
QzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2lu
ZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5
NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVl
Y2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MTYsNiAr
MTI1MjEsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVz
aXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NwZWVj
aFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE3RkVF
QTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVl
Y2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hT
eW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODQyNENCMzYy
RjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50Q291
bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYyNENCMzYzMDAw
QkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291bnRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBF
dmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJpbGl0eU9iamVj
dElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2li
aWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQTcyOEYx
MTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMjE2RDFEOEJD
MDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTMwLDYgKzEyNTM4
LDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhl
c2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRm
b3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRTM3NTVEMTc0
MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVCOEFENzI0Qzk3
NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFB
RUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJh
bWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU29ja2V0RnJh
bWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2
N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZv
cmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEy
MTQsMTEgKzIxMjI1LDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1IC8qIEVkaXRh
YmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEwMDQ1OThCNSAv
KiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhG
MEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAv
KiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2
ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8qIEV2ZW50Q291
bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVy
LmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmgg
Ki8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywK
IAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlF
MEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJF
NkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0Qy
NEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIx
QzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIx
QzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIw
MDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzMDMsNiArMjEzMTksOSBAQAog
CQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywK
IAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAog
CQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywK
KwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5j
cHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZv
cm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBl
cmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQ
ZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NzQsNiArMzA3OTMsNyBAQAog
CQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0
Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2
ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3
IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc5Miw2ICszMDgxMiw3IEBA
CiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdl
dEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAv
KiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBMTJFNkQwMjRD
OUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0
MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0zMjcyNCw2ICszMjc0NSw3IEBACiAJCQkJRTNGQTM4NjQxRDcxODEy
RDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThB
ODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3MDcwNTQgLyog
UGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFMzFFRDdDMTgz
MDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFu
Y2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1h
bmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0
NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdjNWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5
Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUVu
dHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1
ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50
VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisjaW5j
bHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFy
ay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1h
bmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVh
dGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVm
PFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQogICAgICAgICBy
ZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3Qs
IFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihl
bnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAppbmRleCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFiLi5mMjkzNTg2
ZDY4NDNlOGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiArMTg2LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2JhbFNjb3BlKSBc
CiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50
cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAg
IG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IDNkNzQyZTcxOWQ4NTBjNzJlNzk5MWZmNTc0ZjJmMzk4NDNiODNhMWQuLjNmNzRkZjUxZjY0NjI0
NTg2MTY2MzIyMzZkNjI1NDUzMDM1ZWJmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
MzE5OCw2ICszMTk4LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRpbWluZ0VudHJ5
SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsK
IH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1kaXNwYXRj
aC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRyaWVzSWZOZWVk
ZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNoUGVuZGluZ0V2
ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3cml0ZShEb2N1
bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4dCkKIHsKICAg
ICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBm
NWY2ODNhMjA5MTNlODJiZGQ4MDA0NGI4YTJkY2U2ZTc5NTQ1MDRkLi42ZTc1NTVmMmU1YmNmYzEw
OTllMDRkNjg5OGE5NzZjM2ZkYTJmODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTU3NCw2
ICsxNTc0LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNv
bnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50
OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7CiAKKyAgICB2
b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAgRWRpdG9yJiBl
ZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYgZWRpdG9yKCkg
Y29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9u
KCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hl
ci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3NGU3MS4uZjdl
MDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb21wb3Np
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZlbnRQ
YXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTEsNyAr
MTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5vZGUmIG5vZGUs
IEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9wcGVkKCkgJiYg
IWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQYXRoKGV2ZW50
UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZlbnRUaW1pbmc7
CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAgICAgICAgICBl
dmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5k
b3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQsIGV2ZW50UGF0
aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50VGltaW5nLT5l
dmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwog
ICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzlmMTIyY2FjYzkyYWExNTczZDUwZDBkODIxNjM3
M2QzYWNlN2QxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENv
dW50cy5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgorCisjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitFdmVudENvdW50czo6RXZlbnRDb3VudHMoKQoreworICAgIHN0YXRp
YyBjb25zdCBhdXRvIGV2ZW50VHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEF0b21T
dHJpbmc+IHsKKyAgICAgICAgLyogTW91c2VFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygp
LmNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5jb250ZXh0bWVudUV2ZW50LCBldmVudE5hbWVzKCku
ZGJsY2xpY2tFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50LAorICAgICAgICBldmVu
dE5hbWVzKCkubW91c2VlbnRlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2VsZWF2ZUV2ZW50LCBl
dmVudE5hbWVzKCkubW91c2VvdXRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLm1vdXNlb3Zl
ckV2ZW50LCBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50LAorICAgICAgICAvKiBQb2ludGVyRXZl
bnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyb3ZlckV2ZW50LCBldmVudE5hbWVz
KCkucG9pbnRlcmVudGVyRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyZG93bkV2
ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcnVwRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5w
b2ludGVyY2FuY2VsRXZlbnQsIGV2ZW50TmFtZXMoKS5wb2ludGVyb3V0RXZlbnQsCisgICAgICAg
IGV2ZW50TmFtZXMoKS5wb2ludGVybGVhdmVFdmVudCwgZXZlbnROYW1lcygpLmdvdHBvaW50ZXJj
YXB0dXJlRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5sb3N0cG9pbnRlcmNhcHR1cmVFdmVu
dCwKKyAgICAgICAgLyogVG91Y2hFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLnRvdWNo
c3RhcnRFdmVudCwgZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsCisgICAgICAgIGV2ZW50TmFt
ZXMoKS50b3VjaGNhbmNlbEV2ZW50LAorICAgICAgICAvKiBLZXlib2FyZEV2ZW50cyAqLworICAg
ICAgICBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVu
dCwKKyAgICAgICAgZXZlbnROYW1lcygpLmtleXVwRXZlbnQsCisgICAgICAgIC8qIElucHV0RXZl
bnRzICovCisgICAgICAgIGV2ZW50TmFtZXMoKS5iZWZvcmVpbnB1dEV2ZW50LCBldmVudE5hbWVz
KCkuaW5wdXRFdmVudCwKKyAgICAgICAgLyogQ29tcG9zaXRpb25FdmVudHMgKi8KKyAgICAgICAg
ZXZlbnROYW1lcygpLmNvbXBvc2l0aW9uc3RhcnRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygp
LmNvbXBvc2l0aW9udXBkYXRlRXZlbnQsIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbmVuZEV2ZW50
LAorICAgICAgICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygp
LmRyYWdzdGFydEV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2VuZEV2ZW50LAorICAgICAgICBldmVu
dE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcm9wRXZlbnQs
CisgICAgfSk7CisgICAgZm9yIChjb25zdCBhdXRvJiB0eXBlIDogZXZlbnRUeXBlcy5nZXQoKSkK
KyAgICAgICAgbV9tYXAuYWRkKHR5cGUsIDB1KTsKK30KKwordm9pZCBFdmVudENvdW50czo6aW5p
dGlhbGl6ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYgbWFwKQoreworICAgIGZvciAoYXV0byYga2V5
VmFsdWUgOiBtX21hcCkKKyAgICAgICAgbWFwLnNldDxJRExET01TdHJpbmcsIElETFVuc2lnbmVk
TG9uZ0xvbmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOworfQorCit2b2lkIEV2ZW50
Q291bnRzOjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiBrZXksIHVuc2lnbmVkIHZhbHVlKQorewor
ICAgIG1fbWFwLnNldChXVEZNb3ZlKGtleSksIHZhbHVlKTsKK30KKwordm9pZCBFdmVudENvdW50
czo6YWRkKGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRvIGl0ID0gbV9tYXAuZmluZCh0
eXBlKTsKKyAgICBpdC0+dmFsdWUgPSBpdC0+dmFsdWUgKyAxOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGZmYTgy
OWJhZDAzYTQ1MzhjZmVlNjRmNjQ1ODc5ZDIzMTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIERPTVN0cmluZzsKKworY2xhc3MgRXZl
bnRDb3VudHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudENvdW50cz4geworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8RXZlbnRDb3VudHM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgRXZlbnRDb3VudHMpOyB9CisKKyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1h
cEFkYXB0ZXImKTsKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmluZyYmLCB1bnNpZ25lZCk7
CisKKyAgICBjb25zdCBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+JiBtYXAoKSBjb25zdCB7IHJl
dHVybiBtX21hcDsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgU3RyaW5nJiB0eXBlKTsKKworcHJp
dmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4g
bV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRD
b3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyNzk2NGRkNWE1NTY1ZmFkMWQ2YjQ3ZTYxN2QyMmQwZTRi
ZGNhODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRz
LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1l
dmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAgIHJlYWRvbmx5IG1h
cGxpa2U8RE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+OworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkyMmY5M2NjODI3MjBlZmE5YWRjNzIzZmRlNzI5
ODMxZjM2YWEyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRU
aW1pbmcuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICog
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29n
bGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2lu
Y2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVyZm9y
bWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRUaW1p
bmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1fc3Rh
cnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFy
dCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25zdCBF
dmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9mIGNl
cnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRzIHRo
YXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRoZSB1
c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIgY2Vy
dGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVudENv
dW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBvbiB0
aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1p
bmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQorICAg
ICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQoKQor
ICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2ZW50
KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRFdmVu
dCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAgJiYg
ZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAmJiBl
dmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAgJiYg
ZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAmJiBl
dmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZlbnQu
dHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxF
dmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRpbWlu
ZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBlcmZv
cm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmlz
RXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPEV2ZW50
VGltaW5nPih3aW5kb3cucGVyZm9ybWFuY2UoKS5yZWxhdGl2ZVRpbWVGcm9tVGltZU9yaWdpbklu
UmVkdWNlZFJlc29sdXRpb24oZXZlbnQudGltZVN0YW1wKCkpLCB3aW5kb3cucGVyZm9ybWFuY2Uo
KS5ub3coKSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgRXZlbnRUaW1pbmc6OmV2
ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3QgRXZlbnQmIGV2
ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXplRXZlbnRUaW1pbmcoZXZl
bnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQsIGV2ZW50LmNhbmNlbGFi
bGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5YjY3ZGZiNzc0MTc5ZTYw
ZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6
CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
KyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xhc3MgRE9NV2luZG93Owor
CitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gY3JlYXRl
KGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBFdmVudFRpbWluZyhkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKworICAgIHZvaWQgZXZlbnRX
YXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKK3ByaXZhdGU6
CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdTdGFydDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDBlMmE3
N2I4ZGMzNTVlNjNlMzQ5NWEyYjE4OTJjNzU3NWFhODQ4ZWYuLjhkMTE3YWUyYTk2YjRmM2VlZDhj
MTZkYjg0NGY5YmNjZmM5MzE5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTUyOSw2ICsxNTI5
LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgICAgIGRvY3Vt
ZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAgICB9KTsKIAorICAgIGZv
ckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50
LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAgIH0pOworCiAgICAgZm9y
RWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQu
dXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5NTM2M2U1MWMwYzU1NzYu
LmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudC5oIgorI2lu
Y2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUg
IkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgIlBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCIK
ICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VQ
YWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9ybWFuY2VUaW1pbmcqIFBl
cmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5nZXQoKTsKIH0KIAorRXZl
bnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7CisgICAgaWYgKCFtX2V2ZW50
Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOwor
ICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZlY3RvcjxSZWZQdHI8UGVy
Zm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkgY29uc3QKIHsKICAgICBW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwogCisgICAgaWYgKG1fZmly
c3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdElucHV0VGltaW5n
KTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZmZXIpOwog
CiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5IEBAIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzQnlUeXBlKGNvbnN0
IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKICAgICAgICAgZW50cmll
cy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0
VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgImZpcnN0
LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJbnB1dFRpbWluZyk7CisK
ICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVzLmFwcGVu
ZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcxLDYgKzE4Nyw5IEBAIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzQnlO
YW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYg
KGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRy
eVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50IikKICAg
ICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBpZiAo
bV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkgJiYgbmFtZSA9PSAi
Zmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0SW5wdXRUaW1pbmcp
OworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBlLmlzTnVs
bCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkK
ICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3Mo
bmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpyZXBvcnRGaXJz
dENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXplKCkgPj0gMTUwOworfQor
Cit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJmb3JtYW5jZUV2ZW50
VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisg
ICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7Cit9CisKK3ZvaWQgUGVy
Zm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91
YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9vbCBjYW5jZWxhYmxlLCBF
dmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5nU3RhcnQsIG5vdygpLCBj
YW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFwcGVuZChXVEZNb3ZlKGVu
dHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5n
KCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygpOworICAgIHdoaWxlICgh
bV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxQZXJmb3JtYW5jZUV2
ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJzdCgpOworICAgICAgICBp
ZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3Vu
dHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQoZW50cnktPm5hbWUoKSk7
CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQoKHJlbmRlcmluZ1RpbWVz
dGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAgICAgIGVudHJ5LT5zZXRE
dXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9maXJzdElucHV0VGltaW5n
KSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xpY2siIHx8IGVudHJ5LT5u
YW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1vdXNlZG93biIpIHsKKyAg
ICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
OjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAgICAgICAgICAgcXVldWVF
bnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
ICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJhdGlvbkluTXMgPj0gMTA0
ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAgICAgbV9ldmVudFRpbWlu
Z0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30KKwogdm9pZCBQZXJmb3Jt
YW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykK
IHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTM0Niw3ICs0MDYs
NyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5
KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7CiAgICAgZm9yIChhdXRv
JiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZp
bHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLT50
eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNlcnZlci0+Y2FuT2JzZXJ2
ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5KTsKICAg
ICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNmZWNmNGNi
NjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4ZGRjM2IzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBl
cmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOwogY2xhc3MgUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsKIGNsYXNzIFBl
cmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBQZXJm
b3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJmb3JtYW5jZVRpbWluZyog
dGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMoKTsKKwogICAgIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBjb25zdDsKICAgICBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmlu
ZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBv
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJzdElucHV0RGV0ZWN0ZWQo
KSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQorCisgICAgYm9vbCBpc0V2
ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRkRXZlbnRUaW1pbmdCdWZm
ZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBmaW5hbGl6ZUV2ZW50VGlt
aW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9j
ZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKyAgICB2b2lkIGRp
c3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVy
cygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1h
bmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZhdGU6CiAKICAgICBtdXRh
YmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKICAgICBtdXRh
YmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7CisgICAgbXV0YWJsZSBSZWZQ
dHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBodHRwczovL3czYy5naXRo
dWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1hbmNlLWludGVyZmFjZSBy
ZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQgbV9yZXNvdXJjZVRpbWlu
Z0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50
VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGltZXIgbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50
cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0xMjksNiArMTQ2LDggQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJzdENvbnRl
bnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2VyVGltaW5n
OwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1fZmlyc3RJbnB1dFRpbWlu
ZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gbV9wZXJm
b3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQZXJmb3Jt
YW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
LmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQyODM5ZTA1ZjhiLi42OGVi
NGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVz
VGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQgY2xlYXJN
YXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtFbmFibGVkQXRSdW50aW1l
PVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3RyaW5nIG1l
YXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBET01TdHJp
bmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVh
ck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7CisKKyAgICAvLyBodHRw
czovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVuc2lvbnMKKyAgICBbRXhw
b3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudENvdW50cyBl
dmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9ybWFuY2VFbnRyeT4gUGVy
Zm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJmMjczNzg5Li4zYWRmNzNh
Nzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBlcmZvcm1hbmNlRW50cnk6
On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25hbDxQZXJmb3JtYW5jZUVu
dHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhjb25zdCBT
dHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09ICJldmVudCIpCisgICAg
ICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisKKyAgICBpZiAoZW50cnlU
eXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBl
OjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24iKQogICAg
ICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlvbik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkwYjIxY2JhNjE0ZDc4Y2U4
OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4YjliYzIzZWRiMmRmMjcxMWY4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQ2LDEzICs0Niwx
NiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRUaW1l
OyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlvbjsgfQor
ICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1fZHVyYXRpb24gPSBkdXJh
dGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAgTmF2aWdhdGlvbiAgPSAx
IDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAgICAgICBNZWFzdXJlICAg
ICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCi0gICAgICAgIFBhaW50
ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0LAorICAgICAgICBF
dmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAgPSAxIDw8IDYKICAgICB9
OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02NCw2ICs2Nyw4IEBA
IHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBl
OjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
VHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNvbnN0IHsgcmV0dXJuIHR5
cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElucHV0KCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAgIHN0YXRpYyBib29sIHN0
YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGEs
IGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7CkBAIC03Niw3ICs4MSw3
IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5nIG1fbmFtZTsKICAgICBj
b25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91YmxlIG1fZHVyYXRpb247Cisg
ICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApAQCAt
MCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKKworI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSYgZW50cnlUeXBl
LCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vz
c2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAgIDogUGVy
Zm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0
YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNzaW5nRW5k
KQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBtX2VudHJ5VHlwZShlbnRy
eVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1JlZjxQZXJmb3JtYW5jZUV2
ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5n
KGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGF1dG8gZXZlbnRU
aW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZW50cnkubmFtZSgp
LCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRyeS5zdGFydFRpbWUoKSwg
ZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdFbmQoKSwgZW50cnkuY2Fu
Y2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGltaW5nLT5zZXREdXJhdGlv
bihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1pbmc7Cit9CisKK3N0YXRp
YyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUgfHwgIW5v
ZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVudCgpLmlzRnVsbHlBY3Rp
dmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK05v
ZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0Cit7CisgICAgaWYgKCFt
X3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQpOworICAgIHJldHVybiBj
YW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisKK0FTQ0lJTGl0ZXJhbCBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBt
X2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlucHV0Il9zIDogImV2ZW50
Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4Y2IxYzVjMzJlNjg1ZDRj
Y2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQZXJmb3Jt
YW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGZpbmFs
IDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UGVy
Zm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJs
ZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNzaW5nRW5k
LCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKHR5cGUsIFR5cGU6OkV2
ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2luZ0VuZCwgY2FuY2VsYWJs
ZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWlu
Zz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nJik7
CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVsdDsKKworICAgIGRvdWJs
ZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdTdGFydDsgfQor
ICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzaW5nRW5k
OyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxhYmxlOyB9
CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVHlwZSYgZW50cnlU
eXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJv
Y2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopOworCitwcml2YXRlOgor
ICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50cnlUeXBlOyB9CisgICAg
QVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisgICAgZG91YmxlIG1fcHJv
Y2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9vbCBtX2Nh
bmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVudFRhcmdldCogbV90YXJn
ZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJ
VFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykKKyAgICBzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpIHsgcmV0dXJu
IGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsgfQorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2VmNzRkNGQ0ZGVlMTkxODM4
ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMt
cGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1l
U3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVyZm9ybWFu
Y2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIE5vZGU/
IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9OworfTsK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKaW5kZXggN2Fj
YzY4NmI4Nzg4YjU2MThmMDdjNjJlODkyMTg1OGM0NDYxODExOS4uNjEyMjk3Y2I3ZTc1NDcwYjgy
MWU3MmMyZGMxZTllZGY3YzllNmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuY3BwCkBAIC0xMjUsNiArMTI1LDggQEAgVmVjdG9yPFN0cmluZz4gUGVyZm9y
bWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0
JgogICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJWE1FOiA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBU
aW1pbmcgTGV2ZWwgMgogICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKKyAgICAgICAgImV2ZW50
Il9zLAorICAgICAgICAiZmlyc3QtaW5wdXQiX3MsCiAgICAgICAgICJtYXJrIl9zLAogICAgICAg
ICAibWVhc3VyZSJfcwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5oCmluZGV4IDA5N2U1YzMwNWMyMjUzYmY4NTNmMDliYTU1YjEzODVjN2QzM2M2ZGEuLjI0
YjJmZjY1YTUxYTFlYjkwZDgxOGRiMTAxMTIwNTE2OWE2MTFlYjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAg
ICBzdHJ1Y3QgSW5pdCB7CiAgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBlbnRyeVR5
cGVzOwogICAgICAgICBPcHRpb25hbDxTdHJpbmc+IHR5cGU7CisgICAgICAgIE9wdGlvbmFsPERP
TUhpZ2hSZXNUaW1lU3RhbXA+IGR1cmF0aW9uVGhyZXNob2xkOwogICAgIH07CiAKICAgICBzdGF0
aWMgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmIGNhbGxiYWNrKQpA
QCAtNjUsNiArNjYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlZ2lzdGVyZWQoKSBjb25zdCB7
IHJldHVybiBtX3JlZ2lzdGVyZWQ7IH0KICAgICBQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2sm
IGNhbGxiYWNrKCkgeyByZXR1cm4gbV9jYWxsYmFjay5nZXQoKTsgfQogCisgICAgYm9vbCBjYW5P
YnNlcnZlKGNvbnN0IFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSBjb25zdCB7IHJldHVybiBlbnRy
eS50eXBlKCkgIT0gUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6RXZlbnQgfHwgZW50cnkuZHVyYXRp
b24oKSA+PSBtX2R1cmF0aW9uVGhyZXNob2xkOyB9CisKIHByaXZhdGU6CiAgICAgUGVyZm9ybWFu
Y2VPYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2
ZXJDYWxsYmFjaz4mJik7CiAKQEAgLTczLDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBSZWY8UGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIE9wdGlvblNldDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBtX3R5cGVGaWx0ZXI7CiAgICAgYm9vbCBtX3JlZ2lzdGVyZWQg
eyBmYWxzZSB9OworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbV9kdXJhdGlvblRocmVzaG9sZCB7
IDEwNCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMTE5NjM1OWIxMTI5MTcyOTg5MTVmNmZj
NThlY2Y1ODM4OTUyZjhiYi4uODIwOTFjNTQwZDg0MDBhOTU2NzgwNGU1Y2IyZWYzYzRmNmEzMzc0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCkBAIC0y
NSw2ICsyNSw4IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1l
bGluZS8KIAordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwogWwogICAgIEN1
c3RvbUlzUmVhY2hhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGlu
ZSwKQEAgLTQyLDQgKzQ0LDUgQEAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQg
ewogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKICAgICBET01TdHJpbmcgdHlw
ZTsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIGR1cmF0aW9uVGhyZXNob2xkOwogfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBjZjM2NGY3NTZmMmM0YTQ4OWZiMzgyZWNmOGRjYTJiNDliZTQ2MzBjLi4xOGMwMzUwYjRjMWFm
NDVhN2QzNzMzMWQ0YWNjYjNhZDc5YzJiMDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAt
MDctMjkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIwLTA3LTI4ICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ5MzApOiBbIGlP
UyBkZWJ1ZyB3azIgXSB3ZWJydGMvdmlkZW8uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1cmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDE3MjEzY2U0ZWQ0YjM1YmU3ZWM1ZWUyNjU5
ZjY1Njg2MTViMjI2YTcuLmIwYmViNDY5NjMyOTllMTRlYzE1ZTBjZjdiZDY0ZGViZjdiMDJjNGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNiBAQAorMjAyMC0w
Ny0yOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBF
dmVudFRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE0Njc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVm
ZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9u
LXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9j
b250ZXh0bWVudS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9k
YmxjbGljay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNs
aWNrLWNvdW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Zmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhh
cm5lc3MuYW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55
Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNo
b2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNo
b2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3du
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2VlbnRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZW91dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNldXAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZl
LWZpcnN0SW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJlbnRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcm91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1
cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcnVwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1jaGls
ZGZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGFzeW5jIGNsaWNrT25FbGVtZW50QW5kRGVsYXkpOgorICAgICAgICAobWFpblRocmVhZEJ1
c3kpOgorICAgICAgICAodmVyaWZ5RXZlbnQpOgorICAgICAgICAodmVyaWZ5Q2xpY2tFdmVudCk6
CisgICAgICAgICh3YWl0KToKKyAgICAgICAgKGFzeW5jIGNvbnN0KToKKyAgICAgICAgKGFwcGx5
QWN0aW9uKToKKyAgICAgICAgKHJlcXVpcmVzTGlzdGVuZXIpOgorICAgICAgICAobm90Q2FuY2Vs
YWJsZSk6CisgICAgICAgICh0ZXN0Q291bnRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5OiBBZGRlZC4KKyAgICAgICAg
KG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZl
LWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2lu
ZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5q
czogQWRkZWQuCisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pT
T04tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3RvSlNPTi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAyMC0wNy0yOCAgT3Jp
b2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gRml4
ICdhbGlnbi1jb250ZW50JyBpbiBncmlkIGNvbnRhaW5lcnMgd2l0aCBzbWFsbCBjb250ZW50IGFy
ZWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0
LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMTU2ZDgwMGZiMDRiZWEzMTg5ZDY0NDRkYzY1
ZDYwZDk0YjM5NGE1Mi4uNTNlMDBjZTg0MzI5NGJlNGVhMzJjYjU1ZWRhN2EzN2NmZTVkNzMxYSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9p
bXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE4MCw2ICsxODAsOCBAQAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL0dvb2dsZSI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9lbnRyaWVzLWFwaSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmciOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3Vy
Y2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9leHQteGh0bWwtcHViaWQi
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmVhdHVyZS1wb2xpY3kiOiAic2tp
cCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTI3ZmI2
MWMzMTBkOTFiNjI5ZmYwZDdiMTljZDAxY2U0NjllNjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVU
QS55bWwKQEAgLTAsMCArMSwzIEBACitzcGVjOiBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9ldmVu
dC10aW1pbmcKK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gbnBtMQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4
Y2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZl
OTU2NmExOWVjZDJjMDY4MTE3OWRlMDdlM2JjZjExMjg1ZTIzNjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9hdXhjbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitGQUlM
IEV2ZW50IFRpbWluZyBhdXhjbGljay4gYXNzZXJ0X2VxdWFsczogTm8gZXZlbnRzIHlldC4gZXhw
ZWN0ZWQgKG51bWJlcikgMCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9hdXhjbGljay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODgzMjhlMmFh
MzY3MTVlODE2NWM2ZWIyNzdiZTQ5ZjdkMTg5NjU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xp
Y2suaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBhdXhjbGljay48L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMv
ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPkNs
aWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ2F1eGNsaWNrJyk7CisgIH0pCis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTFiMWZhYjYwNjY2YTk2OWJkMmE0ODMzYTY4MTFlODg1YWVkNTM1NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIGJ1
ZmZlcmluZyBpbmRlcGVuZGVudCBvZiBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0
aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YmU3NjYzYzExNGQxMDU1ODY2YzU5ZjA3
NWZmNTM1MmFjZmNkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIGFuZCBkdXJhdGlvblRocmVzaG9sZDwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+
Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGFz
c2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGlt
aW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
YW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDMwIGFuZCBidWZmZXJlZCBm
bGFnLgorICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZTEgPT4geworICAgIC8vIEFk
ZCBhIHNsb3cgY2xpY2sgZXZlbnQgYW5kIG1ha2Ugc3VyZSBpdCdzIGRpc3BhdGNoZWQgdG8gb2Jz
ZXJ2ZXJzLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUyID0+IHsKKyAgICAg
IC8vIE9ic2VydmVyIHRvIGF3YWl0IHVudGlsIGV2ZW50IGVudHJ5IGlzIGRpc3BhdGNoZWQuCisg
ICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoKSA9PiB7CisgICAgICAgIHJlc29sdmUyKCk7
CisgICAgICB9KS5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9sZDogMTZ9
KTsKKyAgICAgIGF3YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXkoJ215RGl2JywgMzApOworICAg
IH0pOworICAgIGNvbnN0IGFmdGVyRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOworICAg
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGxpc3QgPT4geworICAgICAgY29u
c3QgbW91c2VEb3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAg
ICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKyAgICAgIGFz
c2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEsICdTaG91bGQgb25seSBvYnNlcnZlIDEg
Y2xpY2shJyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKG1vdXNlRG93bnNbMF0ucHJvY2Vz
c2luZ1N0YXJ0LCBhZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICdUaGUgZW50cnkgc2hvdWxkIG5v
dCBiZSB0aGUgZmlyc3QgY2xpY2shIScpOworICAgICAgdmVyaWZ5Q2xpY2tFdmVudChtb3VzZURv
d25zWzBdLCAnbXlEaXYnLCBmYWxzZSAvKiBpc0ZpcnN0ICovLCAxNiAvKiBtaW5EdXJhdGlvbiov
KTsKKyAgICAgIHJlc29sdmUxKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVudCcsIGR1
cmF0aW9uVGhyZXNob2xkOiAxNiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICAvLyBUaGlzIHNob3Vs
ZCBiZSB0aGUgb25seSBjbGljayBvYnNlcnZlZCBzaW5jZSB0aGUgb3RoZXIgb25lIHdvdWxkIG5v
dCBiZSBidWZmZXJlZC4KKyAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdteURpdics
IDMwKTsKKyAgfSk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBidWZmZXJpbmcgaW5kZXBlbmRl
bnQgb2YgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xNzYwNGMyOGUxMmYzOTgwNzBmYTJlZmQ4NzkxM2M1NjM1OTRmMjBjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZl
cmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBUaW1pbmcgZW50cmllcyBUZXN0IHRpbWVkIG91
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2VlMTUyYmU5Mzg4ZmE4NTkzYzNjMmE4NTk4MWE3Y2IwZWQ3NDkyYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciBzZWVzIGVudHJpZXMgd2l0aCBidWZmZXJlZCBm
bGFnPC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50
PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorICBsZXQgZmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgbGV0IGV2ZW50U2VlbiA9IGZhbHNl
OworICBhc3luY190ZXN0KHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJm
b3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7Cisg
ICAgY29uc3QgdmFsaWRhdGVFbnRyeSA9IHQuc3RlcF9mdW5jKGVudHJ5ID0+IHsKKyAgICAgIGlm
IChlbnRyeS5lbnRyeVR5cGUgPT09ICdmaXJzdC1pbnB1dCcpCisgICAgICAgIGZpcnN0SW5wdXRT
ZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UgaWYgKGVudHJ5LmVudHJ5VHlwZSA9PT0gJ2V2ZW50JykK
KyAgICAgICAgZXZlbnRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UKKyAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgnU2hvdWxkIG9ubHkgb2JzZXJ2ZSBFdmVudCBUaW1pbmcgZW50cmllcyEnKTsKKyAg
ICB9KTsKKyAgICAvLyBGaXJzdCBvYnNlcnZlciBjcmVhdGVzIHNlY29uZCBpbiBjYWxsYmFjayB0
byBlbnN1cmUgdGhlIGVudHJ5IGhhcyBiZWVuIGRpc3BhdGNoZWQgYnkgdGhlIHRpbWUKKyAgICAv
LyB0aGUgc2Vjb25kIG9ic2VydmVyIGJlZ2lucyBvYnNlcnZpbmcuCisgICAgbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIoKGxpc3QsIG9icykgPT4geworICAgICAgbGlzdC5nZXRFbnRyaWVzKCkuZm9y
RWFjaCh2YWxpZGF0ZUVudHJ5KTsKKyAgICAgIGlmICghZmlyc3RJbnB1dFNlZW4gfHwgIWV2ZW50
U2VlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgICBvYnMuZGlzY29ubmVjdCgpOworICAgICAg
Zmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgICAgIGV2ZW50U2VlbiA9IGZhbHNlOworICAgICAg
Ly8gU2Vjb25kIG9ic2VydmVyIHJlcXVpcmVzICdidWZmZXJlZDogdHJ1ZScgdG8gc2VlIGVudHJp
ZXMuCisgICAgICBjb25zdCBidWZmZXJlZE9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2
ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVh
Y2godmFsaWRhdGVFbnRyeSk7CisgICAgICAgICAgaWYgKGZpcnN0SW5wdXRTZWVuICYmIGV2ZW50
U2VlbikKKyAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7CisgICAgICBidWZmZXJlZE9i
c2VydmVyLm9ic2VydmUoe3R5cGU6ICJldmVudCIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAgICBi
dWZmZXJlZE9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICdmaXJzdC1pbnB1dCcsIGJ1ZmZlcmVkOiB0
cnVlfSk7CisgICAgfSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCcsICdmaXJzdC1pbnB1
dCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9LCAiUGVyZm9ybWFu
Y2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBUaW1pbmcg
ZW50cmllcyIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRhYjliZGFhY2M2MzFhNzNm
ZGFiODkwNmExZTk4NWQ1ZWI2NTg1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQp
LCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBjbGljay4gVGVzdCB0aW1l
ZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRp
bWluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJmOTcxZDJlN2QzMTFkMDVkMGVhMjg1MTU4
YjQ0NTg3OGNlMTQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVu
dCBUaW1pbmc6IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRp
bWluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ5NDNmOTU5MGE5ZjJk
ZjgzZWU4NDE1MDM4NzhmMWU0NTUxMDdhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWlu
Zy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBjb21wYXJlIHRpbWluZyBvZiB0
d28gbG9uZyBjbGlja3MKKzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEg
J2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKyAgLyogVGltZWxpbmU6CisgICAgIE9ic2VydmVyIHN0YXJ0cworICAg
ICBMb25nIGNsaWNrIDEKKyAgICAgTG9uZyBjbGljayAyCisgICAgIE9uY2UgdHdvIGNsaWNrcyBo
YXZlIGJlZW4gcmVjZWl2ZWQgYnkgb2JzZXJ2ZXIsIGNvbXBhcmUgdGhlIHRpbWVzdGFtcHMuCisg
ICovCisgIGxldCB0aW1lQmVmb3JlRmlyc3RDbGljazsKKyAgbGV0IHRpbWVBZnRlckZpcnN0Q2xp
Y2s7CisgIGxldCB0aW1lQWZ0ZXJTZWNvbmRDbGljazsKKyAgbGV0IG9ic2VydmVkRW50cmllcyA9
IFtdOworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9y
dGVkLicpOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlz
dCA9PiB7CisgICAgICBvYnNlcnZlZEVudHJpZXMgPSBvYnNlcnZlZEVudHJpZXMuY29uY2F0KGVu
dHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICBlbnRyeSA9PiBlbnRyeS5uYW1l
ID09PSAnbW91c2Vkb3duJykpOworICAgICAgaWYgKG9ic2VydmVkRW50cmllcy5sZW5ndGggPCAy
KQorICAgICAgICByZXR1cm47CisKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVCZWZvcmVG
aXJzdENsaWNrLCB1bmRlZmluZWQpOworICAgICAgYXNzZXJ0X25vdF9lcXVhbHModGltZUFmdGVy
Rmlyc3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVBZnRl
clNlY29uZENsaWNrLCB1bmRlZmluZWQpOworICAgICAgLy8gRmlyc3QgY2xpY2suCisgICAgICB2
ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50cmllc1swXSwgJ2J1dHRvbicpOworICAgICAgYXNz
ZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1swXS5wcm9jZXNzaW5nU3RhcnQs
CisgICAgICAgICAgdGltZUJlZm9yZUZpcnN0Q2xpY2ssCisgICAgICAgICAgdGltZUFmdGVyRmly
c3RDbGljaywKKyAgICAgICAgICAiRmlyc3QgY2xpY2sncyBwcm9jZXNzaW5nU3RhcnQiKTsKKyAg
ICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVyRmlyc3RDbGljaywgb2JzZXJ2ZWRFbnRy
aWVzWzBdLnN0YXJ0VGltZSwKKyAgICAgICAgICAidGltZUFmdGVyRmlyc3RDbGljayBzaG91bGQg
YmUgbGF0ZXIgdGhhbiBmaXJzdCBjbGljaydzIHN0YXJ0IHRpbWUuIik7CisKKyAgICAgIC8vIFNl
Y29uZCBjbGljay4KKyAgICAgIHZlcmlmeUNsaWNrRXZlbnQob2JzZXJ2ZWRFbnRyaWVzWzFdLCAn
YnV0dG9uJyk7CisgICAgICBhc3NlcnRfYmV0d2Vlbl9leGNsdXNpdmUob2JzZXJ2ZWRFbnRyaWVz
WzFdLnByb2Nlc3NpbmdTdGFydCwKKyAgICAgICAgICB0aW1lQWZ0ZXJGaXJzdENsaWNrLAorICAg
ICAgICAgIHRpbWVBZnRlclNlY29uZENsaWNrLAorICAgICAgICAgICJTZWNvbmQgY2xpY2sncyBw
cm9jZXNzaW5nU3RhcnQiKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVyU2Vj
b25kQ2xpY2ssIG9ic2VydmVkRW50cmllc1sxXS5zdGFydFRpbWUsCisgICAgICAgICAgInRpbWVB
ZnRlclNlY29uZENsaWNrIHNob3VsZCBiZSBsYXRlciB0aGFuIHNlY29uZCBjbGljaydzIHN0YXJ0
IHRpbWUuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50
J30pOworICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAg
Y2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4oICgpID0+IHsKKyAgICAgIHRpbWVBZnRl
ckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWlu
KCdidXR0b24nKS50aGVuKCgpID0+IHsKKyAgICAgICAgdGltZUFmdGVyU2Vjb25kQ2xpY2sgPSBw
ZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIH0pCisgICAgfSk7CisgIH0sICJFdmVudCBUaW1pbmc6
IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNlZWNhYmRmMTg3OGM4ZjBm
Nzc3NWIwYjBkNTg3Y2E5MDkwOWZlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwKQEAg
LTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY2xpY2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVy
LWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
dmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2Pgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZl
bnRUeXBlKHQsICdjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjBkZWM3YmVmZjYzNDA4MDlmMDcwZWNiYzFiMmIzODc3MGUxMzJlMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2NvbnRleHRtZW51LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK01l
bnUKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQg
RXZlbnQgVGltaW5nIGNvbnRleHRtZW51LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9j
b250ZXh0bWVudS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWEwNWEzYjE2
MzllMzlkYzY2ZmJkZTgzZjE2MTBhZmZlZjQ3NTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4
dG1lbnUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBjb250ZXh0bWVudS48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJn
ZXQnIGNvbnRleHRtZW51PSJteW1lbnUiPk1lbnUKKzxtZW51IHR5cGU9ImNvbnRleHQiIGlkPSJt
eW1lbnUiPgorICA8bWVudWl0ZW0gbGFiZWw9ImxhYmVsIj48L21lbnVpdGVtPgorPC9tZW51Pgor
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJu
IHRlc3RFdmVudFR5cGUodCwgJ2NvbnRleHRtZW51Jyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzJmZGNlZWNkOTk0NzY5MjQzZmYxYmFkMTA3OGY3Zjdj
ZDlmM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50ICAKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nOiBlbnRyaWVz
IHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS4gVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGZiZDI4OTdhZDRiYjViZmQ0ZWRlYjJjZGMxN2FmYzQzOGUzNzk2MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKworPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKyAgPHRp
dGxlPkV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2YWJsZSBieSBpdHMgb3du
IGZyYW1lLjwvdGl0bGU+CisgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgor
PC9oZWFkPgorCis8Ym9keT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2sn
IGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0Pgor
PGlmcmFtZSBpZD0naWZyYW1lJyBzcmM9cmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUu
aHRtbD48L2lmcmFtZT4KKzxzY3JpcHQ+CisgIGxldCBjbGlja1RpbWVNaW47CisgIGxldCBjbGlj
a0RvbmU7CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKGVudHJpZXMpIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiT25seSAxIGVudHJ5IHNob3VsZCBiZSByZWNl
aXZlZCIpOworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICB2ZXJpZnlDbGlja0V2
ZW50KGVudHJ5LCAnYnV0dG9uJywgdHJ1ZSk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGVudHJ5
LnByb2Nlc3NpbmdTdGFydCwgY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vz
c2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIGNsaWNrRG9uZS4iKTsKKyAgICBhc3NlcnRfZ3Jl
YXRlcl90aGFuKGVudHJ5LnN0YXJ0VGltZSwgY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVu
dHJ5J3Mgc3RhcnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiBjbGlja1RpbWVNaW4uIik7Cisg
IH0KKworICBmdW5jdGlvbiB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRh
KSB7CisgICAgaWYgKGNoaWxkRnJhbWVEYXRhID09PSAiZmFpbGVkIikgeworICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgiRGlkIG5vdCByZWNlaXZlIGV4YWN0bHkgb25lIGVudHJ5IGZyb20gY2hpbGQg
YXMgZXhwZWN0ZWQiKTsKKyAgICB9CisgICAgLy8gfGNoaWxkRnJhbWVEYXRhfCBoYXMgcHJvcGVy
dGllcyB3aXRoIHRoZSBzYW1lIG5hbWVzIGFzIGl0cworICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcgY291bnRlcnBhcnQuCisgICAgdmVyaWZ5Q2xpY2tFdmVudChjaGlsZEZyYW1lRGF0YSwg
bnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhjaGlsZEZyYW1lRGF0YS50YXJnZXQsICdpZnJhbWVf
ZGl2Jyk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGNoaWxkRnJhbWVEYXRhLnByb2Nlc3NpbmdT
dGFydCwgY2hpbGRGcmFtZURhdGEuY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJv
Y2Vzc2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIHRoYW4gdGhlIGNoaWxkIGZyYW1lJ3MgY2xp
Y2tEb25lLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oY2hpbGRGcmFtZURhdGEuc3RhcnRU
aW1lLCBjaGlsZEZyYW1lRGF0YS5jbGlja1RpbWVNaW4sCisgICAgICAgICJUaGUgZW50cnkncyBz
dGFydCB0aW1lIHNob3VsZCBiZSBsYXRlciB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIFwKKyAgICAg
ICAgY2xpY2tUaW1lTWluLiIpOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAiRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKyAgICBjbGlja1RpbWVNaW4gPSBwZXJmb3Jt
YW5jZS5ub3coKTsKKyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25z
dCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJpZXMgPT4geworICAgICAgICBjb25z
dCBtb3VzZURvd25zID0gZW50cmllcy5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAg
ICAgICAgLy8gSWdub3JlIHRoZSBjYWxsYmFjayBpZiB0aGVyZSB3ZXJlIG5vIG1vdXNlZG93biBl
bnRyaWVzLgorICAgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwKKyAgICAg
ICAgICAgICJPYnNlcnZlciBvZiBtYWluIGZyYW1lcyBzaG91bGQgb25seSBjYXB0dXJlIG1haW4t
ZnJhbWUgZXZlbnQtdGltaW5nIGVudHJpZXMiKTsKKyAgICAgICAgdmFsaWRhdGVFbnRyaWVzKG1v
dXNlRG93bnMpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgfSk7Cisg
ICAgYXdhaXQgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIGNsaWNrRG9uZSA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKyAgICBjb25zdCBj
aGlsZEZyYW1lRW50cmllc1Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7CisgICAgICAg
IHJlc29sdmUoZXZlbnQuZGF0YSk7CisgICAgICB9LCBmYWxzZSk7CisgICAgfSk7CisKKyAgICBs
ZXQgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOworICAgIGNvbnN0
IGlmcmFtZVggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykub2Zmc2V0TGVmdDsK
KyAgICBjb25zdCBpZnJhbWVZID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLm9m
ZnNldFRvcDsKKyAgICAvLyBUYXAgb24gdGhlIGlmcmFtZSwgd2l0aCBhbiBvZmZzZXQgb2YgMTAg
dG8gdGFyZ2V0IHRoZSBkaXYgaW5zaWRlIGl0LgorICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgdGVz
dF9kcml2ZXIuQWN0aW9ucygpCisgICAgICAgIC5wb2ludGVyTW92ZShpZnJhbWVYICsgMTAsIGlm
cmFtZVkgKyAxMCkKKyAgICAgICAgLnBvaW50ZXJEb3duKCkKKyAgICAgICAgLnBvaW50ZXJVcCgp
CisgICAgYWN0aW9ucy5zZW5kKCk7CisgICAgY29uc3QgY2hpbGRGcmFtZURhdGEgPSBhd2FpdCBj
aGlsZEZyYW1lRW50cmllc1Byb21pc2U7CisgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgIHZhbGlk
YXRlQ2hpbGRGcmFtZUVudHJpZXMoY2hpbGRGcmFtZURhdGEpOworICAgIH0pOworICB9LCAiRXZl
bnQgVGltaW5nOiBlbnRyaWVzIHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBm
cmFtZS4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxj
bGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Mw
ZTQzOTg1NjUyNzY3N2Q5ZTZkZmYyNzQ2ODk3Y2UzNmI0MjgwMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2RibGNsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQor
Q2xpY2sgbWUKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJ
TUVPVVQgRXZlbnQgVGltaW5nIGRibGNsaWNrLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9kYmxjbGljay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNmY2ZkMzBkZTA1
MWFlNzIyN2U4NDNmMjdlMmIyN2UwMTdjOTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2su
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBkYmxjbGljay48L3RpdGxlPgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZl
bnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwv
ZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdkYmxjbGlj
aycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRh
cmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzQ4Y2QwMjk1NmQxMThlMTdmNjg2NDYyMGI2Yzg1Yzk1MjU5NDA5MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBFdmVudCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwgZW50cnku
dGFyZ2V0IHJldHVybnMgbnVsbC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkNjc3MGQzMTg4ZGNiNWIy
MzgwNmQxYWIwM2Q3N2U3NmU0ZTEzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRh
cmdldC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKworPGJ1dHRvbiBpZD0ndGhlX2J1dHRvbic+Q2xpY2tNZTwvYnV0dG9uPgorCis8c2NyaXB0
PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7
CisgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmNf
ZG9uZSgoZW50cnlMaXN0KSA9PiB7CisgICAgY29uc3QgZW50cmllcyA9IGVudHJ5TGlzdC5nZXRF
bnRyaWVzKCkuZmlsdGVyKGUgPT4gZS5uYW1lID09PSAnbW91c2Vkb3duJyk7CisgICAgaWYgKGVu
dHJpZXMubGVuZ3RoID09PSAwKQorICAgICAgcmV0dXJuOworICAgIC8vIFRoZXJlIG11c3Qgb25s
eSBiZSBvbmUgY2xpY2sgZW50cnkuCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
MSk7CisgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICAgIC8vIFRoaXMgY2hlY2tzIHRo
YXQgZW50cnkudGFyZ2V0IHJldHVybnMgdGhlIGNvcnJlY3QgYnV0dG9uIE5vZGUuCisgICAgdmVy
aWZ5Q2xpY2tFdmVudChlbnRyeSwgJ3RoZV9idXR0b24nLCB0cnVlKTsKKyAgICBjb25zdCBidXR0
b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGhlX2J1dHRvbicpOworICAgIGJ1dHRvbi5w
YXJlbnROb2RlLnJlbW92ZUNoaWxkKGJ1dHRvbik7CisgICAgLy8gQWZ0ZXIgcmVtb3ZpbmcgdGhl
IGJ1dHRvbiwgZW50cnkudGFyZ2V0IHNob3VsZCBub3cgcmV0dXJuIG51bGwuCisgICAgYXNzZXJ0
X2VxdWFscyhlbnRyeS50YXJnZXQsIG51bGwpOworICB9KSk7CisgIG9ic2VydmVyLm9ic2VydmUo
e2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICBjbGlja0FuZEJsb2NrTWFpbigndGhlX2J1dHRv
bicpOworfSwgIkV2ZW50IFRpbWluZzogd2hlbiB0YXJnZXQgaXMgZGlzY29ubmVjdGVkLCBlbnRy
eS50YXJnZXQgcmV0dXJucyBudWxsLiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1jbGljay1jb3VudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2RkMTExY2RiNmNmMGZhZDU3MThiMjNmZDFmOTkzNTI4
Yzk2ZjNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDcgQEAKK0NsaWNrIG1lCitDbGljayBtZQorCitIYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmc6IGV2ZW50Q291
bnRzLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2V2ZW50LWNsaWNrLWNvdW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNjU2M2I5NTgxOGFjNTZh
ZGJjMDZjOTM3NDc5ODcwMGVkNDEyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1j
b3VudHMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuPC90
aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J2Rpdic+
Q2xpY2sgbWU8L2Rpdj4KKzxidXR0b24gaWQ9J2J1dHRvbic+Q2xpY2sgbWU8L2J1dHRvbj4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdCggdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LkV2ZW50Q291bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0IHN1cHBvcnRlZCIpOworICAgIGZ1
bmN0aW9uIHRlc3RDbGlja3MoZXhwZWN0ZWRDb3VudCwgcmVzb2x2ZSkgeworICAgICAgY29uc3Qg
Y2xpY2tDb3VudCA9IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnY2xpY2snKTsKKyAgICAg
IGlmIChjbGlja0NvdW50IDwgZXhwZWN0ZWRDb3VudCkgeworICAgICAgICB0LnN0ZXBfdGltZW91
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29s
dmUpOworICAgICAgICB9LCA1KTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgYXNz
ZXJ0X2VxdWFscyhjbGlja0NvdW50LCBleHBlY3RlZENvdW50LCdJbmNvcnJlY3QgY2xpY2sgY291
bnQuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgn
bW91c2Vkb3duJyksIGV4cGVjdGVkQ291bnQsICdJbmNvcnJlY3QgbW91c2Vkb3duIGNvdW50Jyk7
CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnbW91c2V1
cCcpLCBleHBlY3RlZENvdW50LCAnSW5jb3JyZWN0IG1vdXNldXAgY291bnQuJyk7CisgICAgICBy
ZXNvbHZlKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIHByb21pc2VDbGlja3MoZXhwZWN0ZWRDb3Vu
dCkgeworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICB0ZXN0
Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUpCisgICAgICB9KTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpKS50
aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDEpOworICAgIH0pLnRoZW4o
KCkgPT4geworICAgICAgcmV0dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdidXR0b24nKSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gcHJv
bWlzZUNsaWNrcygyKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiB0ZXN0X2Ry
aXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2JykpOworICAgIH0pLnRoZW4o
KCkgPT4geworICAgICAgcmV0dXJuIHByb21pc2VDbGlja3MoMyk7CisgICAgfSk7CisgIH0pCis8
L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOWM5ZGMy
NDE5NGM1YzA0NTMzN2QwMDc3YjJhZGU4MGQwOTY5MzIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZl
bnQtY291bnRzLXplcm8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlMIEV2ZW50
IFRpbWluZzogZXZlbnRDb3VudHMuIGFzc2VydF9lcXVhbHM6IFRoZXJlIGlzIGEgbm9uemVybyB2
YWx1ZSBmb3IgYXV4Y2xpY2sgZXhwZWN0ZWQgKG51bWJlcikgMCBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQt
Y291bnRzLXplcm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM5MGRkNjkxMzhmMzUxOTc3NzQyMzlkZmMx
MmY1NTRjOTI4NGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbApA
QCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHRlc3QoKCkgPT4gewor
ICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBp
c24ndCBzdXBwb3J0ZWQiKTsKKyAgICBjb25zdCBldmVudFR5cGVzID0gWworICAgICAgICAnYXV4
Y2xpY2snLAorICAgICAgICAnY2xpY2snLAorICAgICAgICAnY29udGV4dG1lbnUnLAorICAgICAg
ICAnZGJsY2xpY2snLAorICAgICAgICAnbW91c2Vkb3duJywKKyAgICAgICAgJ21vdXNlZW50ZXIn
LAorICAgICAgICAnbW91c2VsZWF2ZScsCisgICAgICAgICdtb3VzZW91dCcsCisgICAgICAgICdt
b3VzZW92ZXInLAorICAgICAgICAnbW91c2V1cCcsCisgICAgICAgICdwb2ludGVyb3ZlcicsCisg
ICAgICAgICdwb2ludGVyZW50ZXInLAorICAgICAgICAncG9pbnRlcmRvd24nLAorICAgICAgICAn
cG9pbnRlcnVwJywKKyAgICAgICAgJ3BvaW50ZXJjYW5jZWwnLAorICAgICAgICAncG9pbnRlcm91
dCcsCisgICAgICAgICdwb2ludGVybGVhdmUnLAorICAgICAgICAnZ290cG9pbnRlcmNhcHR1cmUn
LAorICAgICAgICAnbG9zdHBvaW50ZXJjYXB0dXJlJywKKyAgICAgICAgJ3RvdWNoc3RhcnQnLAor
ICAgICAgICAndG91Y2hlbmQnLAorICAgICAgICAndG91Y2hjYW5jZWwnLAorICAgICAgICAna2V5
ZG93bicsCisgICAgICAgICdrZXlwcmVzcycsCisgICAgICAgICdrZXl1cCcsCisgICAgICAgICdi
ZWZvcmVpbnB1dCcsCisgICAgICAgICdpbnB1dCcsCisgICAgICAgICdjb21wb3NpdGlvbnN0YXJ0
JywKKyAgICAgICAgJ2NvbXBvc2l0aW9udXBkYXRlJywKKyAgICAgICAgJ2NvbXBvc2l0aW9uZW5k
JywKKyAgICAgICAgJ2RyYWdzdGFydCcsCisgICAgICAgICdkcmFnZW5kJywKKyAgICAgICAgJ2Ry
YWdlbnRlcicsCisgICAgICAgIC8vICdkcmFnZXhpdCc/IFVuY2xlYXIgaWYgaXQgd2lsbCBiZSBy
ZW1vdmVkIGZyb20gSFRNTCBzcGVjIG9yIG5vdC4KKyAgICAgICAgJ2RyYWdsZWF2ZScsCisgICAg
ICAgICdkcmFnb3ZlcicsCisgICAgICAgICdkcm9wJworICAgIF07CisgICAgZXZlbnRUeXBlcy5m
b3JFYWNoKHR5cGUgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENv
dW50cy5nZXQodHlwZSksIDAsICdUaGVyZSBpcyBhIG5vbnplcm8gdmFsdWUgZm9yICcgKyB0eXBl
KTsKKyAgICB9KQorICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuc2l6
ZSwgZXZlbnRUeXBlcy5sZW5ndGgsCisgICAgICAgICdUaGUgc2l6ZSBvZiBwZXJmb3JtYW5jZS5l
dmVudENvdW50cyBpcyBpbmNvcnJlY3QuJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWJkMWFlZDJhYmIzNmI3NDY0MThlNWY0OGNiYzA1ODgy
N2Y4OTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGFyZ2V0IHJlcG9ydHMgdGhlIGxh
c3QgRXZlbnQgVGFyZ2V0LCBpLmUuIG5vdGhpbmcgZnJvbSBzaGFkb3cgRE9NLiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjljMTE0ZjM1NmI1MWI4NjliOTU1MDgzMDgxNWNiNmU2OGIzYzdhNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8Y3VzdG9tLWJ1dHRvbiBpZD0nY3VzdG9tX2J1dHRvbic+
PC9jdXN0b20tYnV0dG9uPgorCis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Cisg
IGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQg
VGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGxldCBpbm5lckJ1dHRvbkNsaWNrZWQgPSBm
YWxzZTsKKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tYnV0dG9uJywgY2xhc3MgZXh0
ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CisgICAgICB0aGlz
LmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgICB0aGlzLnNoYWRvd1Jvb3QuaW5u
ZXJIVE1MID0gYDxidXR0b24gaWQ9J2lubmVyX2J1dHRvbl9pZCc+Q2xpY2sgbWU8L2J1dHRvbj5g
OworICAgICAgdGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdpbm5lcl9idXR0b25faWQn
KS5vbmNsaWNrID0gKCkgPT4geworICAgICAgICBpbm5lckJ1dHRvbkNsaWNrZWQgPSB0cnVlOwor
ICAgICAgfTsKKyAgICB9CisgIH0pOworICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsKKyAgICBjb25zdCBlbnRyaWVz
ID0gZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgIGlmIChlbnRy
aWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKworICAgIC8vIFRoZXJlIG11c3Qgb25s
eSBiZSBvbmUgbW91c2Vkb3duIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEpOworICAgIHZlcmlmeUNsaWNrRXZlbnQoZW50cmllc1swXSwgJ2N1c3RvbV9idXR0b24n
LCB0cnVlKTsKKyAgICBhc3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQpOworICAgIHQuZG9u
ZSgpCisgIH0pKTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7
CisgIGNsaWNrQW5kQmxvY2tNYWluKCdjdXN0b21fYnV0dG9uJyk7Cit9LCAiRXZlbnQgVGltaW5n
OiB0YXJnZXQgcmVwb3J0cyB0aGUgbGFzdCBFdmVudCBUYXJnZXQsIGkuZS4gbm90aGluZyBmcm9t
IHNoYWRvdyBET00uIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlu
cHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1MmFhN2YyNjU2Zjg4ODdkNTdjNDc4N2E2MjNkNmQyYmQ5
ODM1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGVzdCBmaXJzdCBpbnB1
dCBvbiBzaGFkb3cgRE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZWI2NTk3NTUy
ZmI5ZWM0OGEwYTczM2E0ZDY3ZjIyYjQyN2Y3NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1p
bnB1dC1zaGFkb3ctZG9tLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKworPGJvZHk+Cis8ZGl2IGlkPSdjb250YWluZXInPgorICA8Y3VzdG9tLWJ1dHRv
biBpZD0nY3VzdG9tX2J1dHRvbic+PC9jdXN0b20tYnV0dG9uPgorPC9kaXY+Cis8c2NyaXB0Pgor
cHJvbWlzZV90ZXN0KHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFu
Y2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBsZXQg
aW5uZXJCdXR0b25DbGlja2VkID0gZmFsc2U7CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY3Vz
dG9tLWJ1dHRvbicsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIGNvbm5lY3RlZENh
bGxiYWNrKCkgeworICAgICAgdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAg
ICAgdGhpcy5zaGFkb3dSb290LmlubmVySFRNTCA9IGA8YnV0dG9uIGlkPSdpbm5lcl9idXR0b25f
aWQnPkNsaWNrIG1lPC9idXR0b24+YDsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50
QnlJZCgnaW5uZXJfYnV0dG9uX2lkJykub25tb3VzZWRvd24gPSAoKSA9PiB7CisgICAgICAgIGlu
bmVyQnV0dG9uQ2xpY2tlZCA9IHRydWU7CisgICAgICB9OworICAgIH0KKyAgfSk7CisgIGNvbnN0
IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAvLyBUaGVy
ZSBtdXN0IG9ubHkgYmUgb25lIGZpcnN0LWlucHV0IGVudHJ5LgorICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCwgMSk7CisgICAgICAvLyBlbnRyeS50YXJn
ZXQgbXVzdCBiZSB0aGUgc2hhZG93IGhvc3QgZHVlIHRvIHJldGFyZ2V0dGluZy4KKyAgICAgIGFz
c2VydF9lcXVhbHMoZW50cnlMaXN0LmdldEVudHJpZXMoKVswXS50YXJnZXQsCisgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1c3RvbV9idXR0b24nKSk7CisgICAgICBhc3NlcnRf
dHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQsICdEaWQgbm90IHJlYWNoIHRoZSBzaGFkb3cgRE9NIGV2
ZW50IGxpc3RlbmVyIScpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0pKS5vYnNlcnZlKHtlbnRy
eVR5cGVzOiBbJ2ZpcnN0LWlucHV0J119KTsKKyAgfSk7CisgIGNvbnN0IGNsaWNrUHJvbWlzZSA9
IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b21fYnV0dG9u
JykpOworICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNl
XSk7Cit9LCAiRXZlbnQgVGltaW5nOiB0ZXN0IGZpcnN0IGlucHV0IG9uIHNoYWRvdyBET00uIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
ZmRhMTEyMTdmYjAwMGYwYjQzYzIwNTk5NDM4MGQ0ZGMwYThmZWQ4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKKworUEFTUyBp
ZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFydGlhbCBp
bnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAorUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAorUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQ
QVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3JpZ2luYWwg
ZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2Ug
b2JqZWN0IGxlbmd0aCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2Ugb2Jq
ZWN0IG5hbWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAor
UEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBw
cm9jZXNzaW5nU3RhcnQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgcHJvY2Vzc2luZ0VuZCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBjYW5jZWxhYmxlIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
IGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0b0pTT04oKSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1Mg
RXZlbnRDb3VudHMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEV2ZW50Q291bnRzIGlu
dGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIEV2
ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgRXZlbnRD
b3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBQZXJmb3JtYW5j
ZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBldmVudENvdW50cyAKK1BBU1MgUGVyZm9ybWFuY2UgaW50
ZXJmYWNlOiBwZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV2ZW50Q291bnRzIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2lkbGhhcm5lc3MuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJu
ZXNzLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWU5ODU0OGZiNmYyMjA5YjhjNGI1MzQ2ODMwYzBkNzIz
ZTY4MTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMKQEAgLTAsMCArMSwx
OCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVz
b3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvaWRsaGFy
bmVzcy5qcworCisvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8KKworJ3Vz
ZSBzdHJpY3QnOworCitpZGxfdGVzdCgKKyAgWydldmVudC10aW1pbmcnXSwKKyAgWydwZXJmb3Jt
YW5jZS10aW1lbGluZScsICdoci10aW1lJywgJ2RvbSddLAorICBpZGxfYXJyYXkgPT4geworICAg
IGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBQZXJmb3JtYW5jZTogWydwZXJmb3JtYW5j
ZSddLAorICAgICAgLy8gUGVyZm9ybWFuY2VFdmVudFRpbWluZzogWyBUT0RPIF0KKyAgICB9KTsK
KyAgfQorKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxN2VmZGEy
MWE1ODAzMmQxMjY0Yzc1ODBkMTBkYjgyYjFjNzNiMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxo
YXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKKworUEFTUyBp
ZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFydGlhbCBp
bnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAorUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAorUEFTUyBQ
YXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQ
QVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3JpZ2luYWwg
ZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VP
YnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFuY2UgaW50
ZXJmYWNlOiBtZW1iZXIgZXZlbnRDb3VudHMgCitQQVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTog
cGVyZm9ybWFuY2UgbXVzdCBub3QgaGF2ZSBwcm9wZXJ0eSAiZXZlbnRDb3VudHMiIAorUEFTUyBO
b2RlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVz
cy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzMjAzN2I4YjM3MzkxNmE0YTE5NDM0N2Q0ODdkMDAwN2U2N2ZkYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVz
IGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2NjVkNDJkMzM0NTc0MmY1MzY0YjA4NWIyYzEzNzE1NjY1MmUy
MTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApAQCAt
MCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGEgZHVy
YXRpb25UaHJlc2hvbGQgb2YgMTI1PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KK3By
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3REdXJhdGlvbih0LCAnbXlEaXYn
LCBudW1FbnRyaWVzPTIsIGR1cj0xMjUsIGZhc3REdXI9NzAsIHNsb3dEdXI9MTQwKTsKK30sICJQ
ZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0
aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1k
dXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyMDM3YjhiMzczOTE2YTRhMTk0MzQ3ZDQ4N2Qw
MDA3ZTY3ZmRiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5j
ZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNo
b2xkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRp
dW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgyN2YyMjExYjEyNTUwZmVl
OGQwZjVkMTI1OGRmYmUyOWM4MzBkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9ybWFu
Y2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgNTA8L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1l
PC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICByZXR1cm4gdGVz
dER1cmF0aW9uKHQsICdteURpdicsIG51bUVudHJpZXM9MywgZHVyPTUwLCBmYXN0RHVyPTIwLCBz
bG93RHVyPTcwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2Nv
cmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0
aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5NGFhMmVhNWEyMmNjMjQ1
MDkwNDYyZDc1MDMxMTMyNzM3MzI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10
aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQ
ZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hvbGQgb2YgMCBzZWVzIGV2ZW50
cyBvZiBkdXJhdGlvbiA+PSAxNiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0M2IzOGEy
NzgzMzM3N2U0ZWJiYmUzMDcyOTBhZGRkNDM5ZWI1MDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4t
ZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIGxlc3MgdGhhbiAxNjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdt
eURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIHJldHVybiB0ZXN0RHVyYXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz01LCBkdXI9MCwg
ZmFzdER1cj0wLCBzbG93RHVyPTIwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggZHVy
YXRpb25UaHJlc2hvbGQgb2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlvbiA+PSAxNiIpOworPC9z
Y3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2Vkb3duLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGU1NmM2YTA0YzJlYTJhZjU1NjQzOWU1
MjFmY2RkZDFjMTYxZWRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZWRvd24uIFRlc3QgdGlt
ZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzVhMDdmYWViMWJjYWFhZGIwY2E2MDZmODk0ODAwNGI0NWExMTVhZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0
IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2Vkb3duLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+
Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2Vkb3duJyk7CisgIH0pCis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRl
ci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk3MWI1MzJmOGRlODVkMDE4YjlhOWU5MTgzOWI3
NDRmYzE3N2JmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIG1vdXNlZW50
ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
ZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDRkNTc0Mzc0MmM3M2VjNzY5NjEzZTQxY2U0NWJmMTkw
YTQ3M2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sCkBAIC0wLDAgKzEsMTgg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0
bGU+RXZlbnQgVGltaW5nIG1vdXNlZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlv
bnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0
aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3Rh
cmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZW50ZXInKTsKKyAgfSkKKzwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3Vz
ZWxlYXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTRiZWU5MmZmYjdiNGNiOWQ4ZTVjZmVi
NTg3MTcwMzVmYzZjYzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91
c2VsZWF2ZS4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2VsZWF2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMmNmNzNlMmE2MTZjNTYxMjIzMmE3ZTFmOTg3
NTcwZWVkOWUyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4K
Kzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VsZWF2ZS48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
YWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12
ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRl
c3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VsZWF2ZScpOworICB9KQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZW91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNhNjk5M2I1YTA1ODllOWVjMWYzMzk0
ZTJiMjMzYjliOTlkMzk0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3Vz
ZW91dC4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
b3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQzMjE5MzRiMGI3ODQyODBhNWVkNTIwYjcwZDBiYzBiYjVj
MTgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5F
dmVudCBUaW1pbmcgbW91c2VvdXQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+
VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50ICov
KTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBiZTA1YTNhOGVj
NWMyY2NkMjA5NGRlYWUzOTNmYzY1OTM0Y2I4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAor
CitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVu
dCBUaW1pbmcgbW91c2VvdmVyLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MWVlMmQ3ZWNkN2ZiOTM4ZDJk
NGZlMjRhZDZjYTAwNTY1MDdiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZW92ZXIuPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4K
KzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3ZlcicsIHRy
dWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNldXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTAxNWE4ZGM4MjZjZTNjOTEzNWFiNWQxYjdlMTBiYzYxNWJmMTJhZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNldXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRp
bWluZyBtb3VzZXVwLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tb3VzZXVwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYmVmOGZkYjJmMDI1MzZjZTY4NzQ5MWI5NTEx
YWFkOTRmYjAzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbApAQCAtMCwwICsxLDE3
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZyBtb3VzZXVwLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25z
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGls
cy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwg
J21vdXNldXAnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1v
YnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MWZkNTdjNDRmZTI3ODM0NTBhYTNmOTBmZWEyNzEw
NDkwZjBkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFT
UyBFdmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgb2JzZXJ2aW5nIG9ubHkgZmlyc3QtaW5wdXQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2Vy
dmUtZmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NGE2MDM2ZjkxYWRiODljN2I2NTI4ZTQwODUwOTM3ZDcwNTIwYjc3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2
ZW50IFRpbWluZzogb25seSBvYnNlcnZlIHRoZSBmaXJzdCBpbnB1dDwvdGl0bGU+Cis8YnV0dG9u
IGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIC8qIFRlc3Q6Cisg
ICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIGZpcnN0LWlucHV0IGlzIHJlZ2lzdGVyZWQKKyAg
ICAgQ2xpY2sgMQorICAgICBDbGljayAyCisgICAgIFdhaXQKKyAgICAgRXhwZWN0ZWQgcmVzdWx0
OgorICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIHNob3VsZCBvYnNlcnZlIG9uZSBhbmQgb25seSBv
bmUgZW50cnkuCisgICovCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9p
bXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlz
IG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IGhhc09ic2VydmVkRmlyc3RJbnB1dCA9IGZhbHNl
OworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGhhc09ic2VydmVkRmlyc3RJbnB1dCk7CisgICAgICAg
IGhhc09ic2VydmVkRmlyc3RJbnB1dCA9IHRydWU7CisgICAgICAgIGNvbnN0IG9ic2VydmVkRW50
cmllcyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICAgICAgZW50cnkg
PT4gZW50cnkubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9i
c2VydmVkRW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2VydmVk
RW50cmllc1swXS5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKG9ic2VydmVkRW50cmllc1swXS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgfSkpLm9ic2Vy
dmUoeyBlbnRyeVR5cGVzOiBbJ2ZpcnN0LWlucHV0J10gfSk7CisgICAgb25fZXZlbnQod2luZG93
LCAnbG9hZCcsICgpID0+IHsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVu
KCgpID0+IHsKKyAgICAgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCku
dGhlbiggKCkgPT4geworICAgICAgICAgIC8vIEFmdGVyIHNvbWUgd2FpdCwgdGhlIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIgc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIGJvdGggY2xpY2tzLgorICAgICAgICAg
IC8vIE9uZSBhbmQgb25seSBvbmUgZmlyc3QtaW5wdXQgZW50cnkgc2hvdWxkIGhhdmUgYmVlbiBk
aXNwYXRjaGVkLCBzbworICAgICAgICAgIC8vIHxoYXNPYnNlcnZlZEZpcnN0SW5wdXR8IHNob3Vs
ZCBiZSB0cnVlLgorICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCAoKSA9PiB7CisgICAgICAgICAg
ICBhc3NlcnRfdHJ1ZShoYXNPYnNlcnZlZEZpcnN0SW5wdXQpOworICAgICAgICAgICAgdC5kb25l
KCk7CisgICAgICAgICAgfSwgMTApOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgIH0pOwor
ICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQZXJmb3JtYW5j
ZU9ic2VydmVyIG9ic2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiIKKyAgKTsKKzwvc2NyaXB0Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRv
d24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlY2RmMjJiZjk1M2U4MDQwOGRlNzJhMzhmNGYy
ODQ0NGZjNzA1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2IEBACitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLiBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZWI2YWU4OThjY2QwMDZkYTE2MzNhN2Y4MTJkYmNmYzBmY2JlOWYxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3Rh
cmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJkb3duJyk7CisgIH0pCis8L3Nj
cmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyZW50ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMzQ5Mzg3N2JkMTEwODZhNDUw
ZTYyN2I3MGUzOWNhZmU0MWZmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGlt
aW5nIHBvaW50ZXJlbnRlci4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVu
dGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWUxYzUxZDUxY2RlNGQy
MzE0ZTMxMDY5MzMyOGZkMjZkYmQ4YmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVy
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmVudGVyLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJn
ZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2lu
dGVyZW50ZXInKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cmxlYXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTYyNTIwYWQ1OTI2MGRlYmQ0OTcwODI2ZTZhZGI1NjE2YmMxNDA2MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRl
IHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcmxlYXZlLiBUZXN0IHRpbWVkIG91dAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxZThmMTVlYzBkMTZhNTMxODJmMDZlN2Y5NTUzMjI4Y2MwYWI3ZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWlu
ZyBwb2ludGVybGVhdmUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJu
IHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJsZWF2ZScpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZTMwZGE1MzAxOTI0MjA5YmQzMmQxMTE0NGI5MzAwOGU3
Y2JjMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVyb3V0LiBU
ZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjA4ZjU3Njk5Y2M0OGQ4MjM1MGZhYmJlM2JlMjU4OWMyYmIyYzFm
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2
ZW50IFRpbWluZyBwb2ludGVyb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQn
PlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAg
IHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50
ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkNWUx
NmI1NmQ3MDQ1NDc1MjNjMjU3YmUyODIxYjg3MGI4OWExOWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyb3Zlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEK
K1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElN
RU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcm92ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTcx
MjIzOWMwOTU4MzhhNTY1Y2VlODg3NGNjM2I1MjIxOTQ4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyb3Zlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJvdmVy
LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0
c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlw
dD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBl
KHQsICdwb2ludGVyb3ZlcicsIHRydWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVy
dXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWIwOGMxODg2YzE1Mzc2NTE0YmU0ODIxM2Rj
YmI4OTAzN2I3ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVydXAuIFRlc3QgdGltZWQgb3V0
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDMyNGE1YmViN2FiMzJjM2Y3YmFlZTY5OWFmMzk3MDkwMWY3YWU1MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJ1cC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50
ZXJ1cC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVydXAnKTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1v
YnNlcnZlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmY0OGNmOTIwYTY5OWFhM2JjNjY4ODcxOGI1ZjA1NDZk
ZDBhNjRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDbGljayBtZQorTm8sIGNsaWNrIG1lIQor
CitQQVNTIEV2ZW50IFRpbWluZzogZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNrIGFyZSBu
b3Qgb2JzZXJ2ZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MDYwZDJkMDBkYzFjMDIxMDg1NDMxN2JjZTViYmM1YmMyNWZmZjU3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sCkBAIC0wLDAgKzEsNTEg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8ZGl2
IGlkPSdkaXYnIG9uY2xpY2s9J2RlbGF5KCknPkNsaWNrIG1lPC9kaXY+Cis8ZGl2IGlkPSdkaXYy
Jz5ObywgY2xpY2sgbWUhPC9kaXY+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisgIGxldCBkZWxheUNhbGxlZCA9IGZhbHNlOworICBsZXQgYmVmb3Jl
Q2xpY2s7CisgIGZ1bmN0aW9uIGRlbGF5KCkgeworICAgIGNvbnN0IGVuZCA9IHBlcmZvcm1hbmNl
Lm5vdygpICsgMTUwOworICAgIHdoaWxlKHBlcmZvcm1hbmNlLm5vdygpIDwgZW5kKSB7fQorICAg
IGRlbGF5Q2FsbGVkID0gdHJ1ZTsKKyAgfQorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgewor
ICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3du
ID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQu
c3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRy
eUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICAgIC8vIElnbm9yZSBj
YXNlcyBpbiB3aGljaCB0aGVyZSBpcyBubyBtb3VzZWRvd24uCisgICAgICAgIGlmIChtb3VzZURv
d25zLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXNzZXJ0X2Zh
bHNlKG9ic2VydmVkTW91c2VEb3duLCAnVGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBtb3VzZWRvd24g
ZW50cnkuJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEpOwor
ICAgICAgICBjb25zdCBlbnRyeSA9IG1vdXNlRG93bnNbMF07CisgICAgICAgIC8vIFRoaXMgZW5z
dXJlcyB0aGF0IHRoZSBlbnRyeSBpcyBleHBvc2luZyB0aW1pbmcgZnJvbSB0aGUgc2Vjb25kIGNs
aWNrLCBpLmUuCisgICAgICAgIC8vIHRoZSBvbmUgZnJvbSB0aGUgY2xpY2tBbmRCbG9ja01haW4o
KSBjYWxsLgorICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3Np
bmdTdGFydCwgYmVmb3JlQ2xpY2spOworICAgICAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCAn
ZGl2MicsIHRydWUpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgIH0pKTsKKyAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlw
ZXM6IFsnZXZlbnQnXX0pOworICAgIH0pOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdk
aXYnKS5jbGljaygpOworICAgIC8vIFRha2UgdGhlIHRpbWVzdGFtcCBhZnRlciB0aGUgcHJvZ3Jh
bW1hdGljIGNsaWNrIGJ1dCBiZWZvcmUgdGhlIG5leHQgY2xpY2suCisgICAgYmVmb3JlQ2xpY2sg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAvLyBBZnRlciB0aGUgcHJvZ3JhbW1hdGljIGNsaWNr
LCB1c2UgYW5vdGhlciBpbnB1dCB0byBrbm93IHdoZW4gZW50cmllcyBoYXZlIGJlZW4KKyAgICAv
LyBkaXNwYXRjaGVkIHRvIHRoZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrLgorICAgIGNv
bnN0IGNsaWNrUHJvbWlzZSA9IGNsaWNrQW5kQmxvY2tNYWluKCdkaXYyJyk7CisgICAgcmV0dXJu
IFByb21pc2UuYWxsKFtvYnNlcnZlclByb21pc2UsIGNsaWNrUHJvbWlzZV0pOworICB9LCAiRXZl
bnQgVGltaW5nOiBldmVudHMgZnJvbSBwcm9ncmFtbWF0aWMgY2xpY2sgYXJlIG5vdCBvYnNlcnZl
ZCIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJh
bWUtY2hpbGRmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ODI5NGFlMDJjMjNiYWYxMzc2Yjc3YmE5ZjY0MmZmN2I0ZTU5YzY2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbApA
QCAtMCwwICsxLDQxIEBACis8IURPQ1R5cGUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz1ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAzMDBweDsgaGVpZ2h0OiAzMDBweCIgaWQ9J2lmcmFtZV9kaXYnIG9ubW91c2Vkb3duPSJt
YWluVGhyZWFkQnVzeSgxMjApIj4KKzxzY3JpcHQ+CisoYXN5bmMgKCkgPT4geworICBjb25zdCBj
bGlja1RpbWVNaW4gPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNl
ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
ZW50cnlMaXN0ID0+IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRyeUxpc3QuZ2V0RW50
cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09
IDApCisgICAgICAgIHJldHVybjsKKyAgICAgIHJlc29sdmUobW91c2VEb3ducyk7CisgICAgfSku
b2JzZXJ2ZSh7IHR5cGU6J2V2ZW50JyB9KTsKKyAgfSk7CisgIGNvbnN0IGVudHJpZXMgPSBhd2Fp
dCBvYnNlcnZlclByb21pc2U7CisgIGNvbnN0IGNsaWNrRG9uZSA9IHBlcmZvcm1hbmNlLm5vdygp
OworICBpZiAoZW50cmllcy5sZW5ndGggIT09IDEpIHsKKyAgICB0b3AucG9zdE1lc3NhZ2UoImZh
aWxlZCIsICIqIik7CisgICAgcmV0dXJuOworICB9CisgIGNvbnN0IGVudHJ5ID0gZW50cmllc1sw
XTsKKyAgdG9wLnBvc3RNZXNzYWdlKHsKKyAgICAvLyBFbnRyeSB2YWx1ZXMgKHxlbnRyeXwgaXRz
ZWxmIGlzIG5vdCBjbG9uYWJsZSkKKyAgICAibmFtZSI6IGVudHJ5Lm5hbWUsCisgICAgImNhbmNl
bGFibGUiOiBlbnRyeS5jYW5jZWxhYmxlLAorICAgICJlbnRyeVR5cGUiOiBlbnRyeS5lbnRyeVR5
cGUsCisgICAgInN0YXJ0VGltZSI6IGVudHJ5LnN0YXJ0VGltZSwKKyAgICAicHJvY2Vzc2luZ1N0
YXJ0IjogZW50cnkucHJvY2Vzc2luZ1N0YXJ0LAorICAgICJwcm9jZXNzaW5nRW5kIjogZW50cnku
cHJvY2Vzc2luZ0VuZCwKKyAgICAiZHVyYXRpb24iOiBlbnRyeS5kdXJhdGlvbiwKKyAgICAvLyBP
dGhlciB2YWx1ZXMKKyAgICAiY2xpY2tUaW1lTWluIjogY2xpY2tUaW1lTWluLAorICAgICJjbGlj
a0RvbmUiIDogY2xpY2tEb25lLAorICAgICJ0YXJnZXQiOiBlbnRyeS50YXJnZXQuaWQsCisgIH0s
ICcqJyk7Cit9KSAoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OWNmZTNjMTlkMWIzYzY1ZGExNTMwYmQz
MzkxOTBiMDU2NmY0MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5n
LXRlc3QtdXRpbHMuanMKQEAgLTAsMCArMSwyNjUgQEAKKy8vIENsaWNrcyBvbiB0aGUgZWxlbWVu
dCB3aXRoIHRoZSBnaXZlbiBJRC4gSXQgYWRkcyBhbiBldmVudCBoYW5kbGVyIHRvIHRoZSBlbGVt
ZW50IHdoaWNoCisvLyBlbnN1cmVzIHRoYXQgdGhlIGV2ZW50cyBoYXZlIGEgZHVyYXRpb24gb2Yg
YXQgbGVhc3QgfGRlbGF5fC4gQ2FsbHMgfGNhbGxiYWNrfCBkdXJpbmcKKy8vIGV2ZW50IGhhbmRs
ZXIgaWYgfGNhbGxiYWNrfCBpcyBwcm92aWRlZC4KK2FzeW5jIGZ1bmN0aW9uIGNsaWNrT25FbGVt
ZW50QW5kRGVsYXkoaWQsIGRlbGF5LCBjYWxsYmFjaykgeworICBjb25zdCBlbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICBjb25zdCBjbGlja0hhbmRsZXIgPSAoKSA9PiB7
CisgICAgbWFpblRocmVhZEJ1c3koZGVsYXkpOworICAgIGlmIChjYWxsYmFjaykKKyAgICAgIGNh
bGxiYWNrKCk7CisgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBj
bGlja0hhbmRsZXIpOworICB9OworICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93
biIsIGNsaWNrSGFuZGxlcik7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW1lbnQpOwor
fQorCitmdW5jdGlvbiBtYWluVGhyZWFkQnVzeShkdXJhdGlvbikgeworICBjb25zdCBub3cgPSBw
ZXJmb3JtYW5jZS5ub3coKTsKKyAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpIDwgbm93ICsgZHVy
YXRpb24pOworfQorCisvLyBUaGlzIG1ldGhvZCBzaG91bGQgcmVjZWl2ZSBhbiBlbnRyeSBvZiB0
eXBlICdldmVudCcuIHxpc0ZpcnN0fCBpcyB0cnVlIG9ubHkgd2hlbiB3ZSB3YW50CisvLyB0byBj
aGVjayB0aGF0IHRoZSBldmVudCBhbHNvIGhhcHBlbnMgdG8gY29ycmVzcG9uZCB0byB0aGUgZmly
c3QgZXZlbnQuIEluIHRoaXMgY2FzZSwgdGhlCisvLyB0aW1pbmdzIG9mIHRoZSAnZmlyc3QtaW5w
dXQnIGVudHJ5IHNob3VsZCBiZSBlcXVhbCB0byB0aG9zZSBvZiB0aGlzIGVudHJ5LiB8bWluRHVy
YXRpb258CisvLyBpcyB1c2VkIHRvIGNvbXBhcmVkIGFnYWluc3QgZW50cnkuZHVyYXRpb24uCitm
dW5jdGlvbiB2ZXJpZnlFdmVudChlbnRyeSwgZXZlbnRUeXBlLCB0YXJnZXRJZCwgaXNGaXJzdD1m
YWxzZSwgbWluRHVyYXRpb249MTA0LCBub3RDYW5jZWxhYmxlPWZhbHNlKSB7CisgIGFzc2VydF9l
cXVhbHMoZW50cnkuY2FuY2VsYWJsZSwgIW5vdENhbmNlbGFibGUsICdjYW5jZWxhYmxlIHByb3Bl
cnR5Jyk7CisgIGFzc2VydF9lcXVhbHMoZW50cnkubmFtZSwgZXZlbnRUeXBlKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbnRyeS5lbnRyeVR5cGUsICdldmVudCcpOworICBhc3NlcnRfZ3JlYXRlcl90aGFu
X2VxdWFsKGVudHJ5LmR1cmF0aW9uLCBtaW5EdXJhdGlvbiwKKyAgICAgICJUaGUgZW50cnkncyBk
dXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICIgKyBtaW5EdXJhdGlv
biArICIgbXMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJvY2Vzc2lu
Z1N0YXJ0LCBlbnRyeS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZ1N0
YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnRUaW1lLiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nl
c3NpbmdTdGFydCwKKyAgICAgICJUaGUgZW50cnkncyBwcm9jZXNzaW5nRW5kIG11c3QgYmUgYXQg
bGVhc3QgYXMgbGFyZ2UgYXMgcHJvY2Vzc2luZ1N0YXJ0LiIpOworICAvLyB8ZHVyYXRpb258IGlz
IGEgbnVtYmVyIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgOCBtcywgc28gYWRkIDQgdG8gZ2V0IGEg
bG93ZXIgYm91bmQKKyAgLy8gb24gdGhlIGFjdHVhbCBkdXJhdGlvbi4KKyAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlvbiArIDQsIGVudHJ5LnByb2Nlc3NpbmdFbmQgLSBl
bnRyeS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgZHVyYXRpb24gbXVzdCBiZSBhdCBs
ZWFzdCBhcyBsYXJnZSBhcyBwcm9jZXNzaW5nRW5kIC0gc3RhcnRUaW1lLiIpOworICBpZiAoaXNG
aXJzdCkgeworICAgIGxldCBmaXJzdElucHV0cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoJ2ZpcnN0LWlucHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0cy5sZW5ndGgs
IDEsICdUaGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgZmlyc3QtaW5wdXQgZW50cnknKTsKKyAgICBs
ZXQgZmlyc3RJbnB1dCA9IGZpcnN0SW5wdXRzWzBdOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJ
bnB1dC5uYW1lLCBlbnRyeS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuZW50
cnlUeXBlLCAnZmlyc3QtaW5wdXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuc3Rh
cnRUaW1lLCBlbnRyeS5zdGFydFRpbWUpOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5k
dXJhdGlvbiwgZW50cnkuZHVyYXRpb24pOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5w
cm9jZXNzaW5nU3RhcnQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCk7CisgICAgYXNzZXJ0X2VxdWFs
cyhmaXJzdElucHV0LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdFbmQpOworICAgIGFz
c2VydF9lcXVhbHMoZmlyc3RJbnB1dC5jYW5jZWxhYmxlLCBlbnRyeS5jYW5jZWxhYmxlKTsKKyAg
fQorICBpZiAodGFyZ2V0SWQpCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS50YXJnZXQsIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKSk7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeUNsaWNr
RXZlbnQoZW50cnksIHRhcmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0xMDQpIHsK
KyAgdmVyaWZ5RXZlbnQoZW50cnksICdtb3VzZWRvd24nLCB0YXJnZXRJZCwgaXNGaXJzdCwgbWlu
RHVyYXRpb24pOworfQorCitmdW5jdGlvbiB3YWl0KCkgeworICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICBy
ZXNvbHZlKCk7CisgICAgfSwgMCk7CisgIH0pOworfQorCitmdW5jdGlvbiBjbGlja0FuZEJsb2Nr
TWFpbihpZCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewor
ICAgIGNsaWNrT25FbGVtZW50QW5kRGVsYXkoaWQsIDEyMCwgcmVzb2x2ZSk7CisgIH0pOworfQor
CisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0
aW9uVGhyZXNob2xkIG9mIHxkdXJ8LiBUaGlzIHRlc3Qgd2lsbAorICAvLyBhdHRlbXB0IHRvIGNo
ZWNrIHRoYXQgdGhlIGR1cmF0aW9uIGlzIGFwcHJvcHJpYXRlbHkgY2hlY2tlZCBieToKKyAgLy8g
KiBBc3NlcnRpbmcgdGhhdCBlbnRyaWVzIHJlY2VpdmVkIGhhdmUgYSBkdXJhdGlvbiB3aGljaCBp
cyB0aGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgOAorICAvLyAgIHRoYXQgaXMgZ3JlYXRlciB0aGFu
IG9yIGVxdWFsIHRvIHxkdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVudHJpZXMg
dGhhdCBhcmUgZmFzdCwgb2YgZHVyYXRpb24gfHNsb3dEdXJ8LgorICAvLyAqIElzc3VpbmcgfG51
bUVudHJpZXN8IGVudHJpZXMgdGhhdCBhcmUgc2xvdywgb2YgZHVyYXRpb24gfGZhc3REdXJ8Lgor
ICAvLyAqIEFzc2VydGluZyB0aGF0IGF0IGxlYXN0IHxudW1FbnRyaWVzfCBlbnRyaWVzIGFyZSBy
ZWNlaXZlZCAoYXQgbGVhc3QgdGhlIHNsb3cgb25lcykuCisgIC8vIFBhcmFtZXRlcnM6CisgIC8v
IHx0fCAgICAgICAgICAtIHRoZSB0ZXN0IGhhcm5lc3MuCisgIC8vIHxkdXJ8ICAgICAgICAtIHRo
ZSBkdXJhdGlvblRocmVzaG9sZCBmb3IgdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisgIC8vIHxp
ZHwgICAgICAgICAtIHRoZSBJRCBvZiB0aGUgZWxlbWVudCB0byBiZSBjbGlja2VkLgorICAvLyB8
bnVtRW50cmllc3wgLSB0aGUgbnVtYmVyIG9mIHNsb3cgYW5kIG51bWJlciBvZiBmYXN0IGVudHJp
ZXMuCisgIC8vIHxzbG93RHVyfCAgICAtIHRoZSBtaW4gZHVyYXRpb24gb2YgYSBzbG93IGVudHJ5
LgorICAvLyB8ZmFzdER1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9uIG9mIGEgZmFzdCBlbnRyeS4K
K2FzeW5jIGZ1bmN0aW9uIHRlc3REdXJhdGlvbih0LCBpZCwgbnVtRW50cmllcywgZHVyLCBmYXN0
RHVyLCBzbG93RHVyKSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGNvbnN0IG9i
c2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIGxldCBt
aW5EdXJhdGlvbiA9IE1hdGguY2VpbChkdXIgLyA4KSAqIDg7CisgICAgLy8gRXhwb3NlZCBldmVu
dHMgbXVzdCBhbHdheXMgaGF2ZSBhIG1pbmltdW0gZHVyYXRpb24gb2YgMTYuCisgICAgbWluRHVy
YXRpb24gPSBNYXRoLm1heChtaW5EdXJhdGlvbiwgMTYpOworICAgIGxldCBudW1FbnRyaWVzUmVj
ZWl2ZWQgPSAwOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAg
Y29uc3QgbW91c2VEb3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7Cisg
ICAgICBtb3VzZURvd25zLmZvckVhY2goZSA9PiB7CisgICAgICAgIHQuc3RlcCgoKSA9PiB7Cisg
ICAgICAgICAgdmVyaWZ5Q2xpY2tFdmVudChlLCBpZCwgZmFsc2UgLyogaXNGaXJzdCAqLywgbWlu
RHVyYXRpb24pOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgICAgbnVtRW50cmllc1JlY2Vp
dmVkICs9IG1vdXNlRG93bnMubGVuZ3RoOworICAgICAgLy8gTm90ZSB0aGF0IHdlIG1heSByZWNl
aXZlIG1vcmUgZW50cmllcyBpZiB0aGUgJ2Zhc3QnIGNsaWNrIGV2ZW50cyB0dXJuIG91dCBzbG93
ZXIKKyAgICAgIC8vIHRoYW4gZXhwZWN0ZWQuCisgICAgICBpZiAobnVtRW50cmllc1JlY2VpdmVk
ID49IG51bUVudHJpZXMpCisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9KS5vYnNlcnZlKHt0eXBl
OiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9sZDogZHVyfSk7CisgIH0pOworICBjb25zdCBjbGlj
a3NQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgZm9yIChsZXQg
aW5kZXggPSAwOyBpbmRleCA8IG51bUVudHJpZXM7IGluZGV4KyspIHsKKyAgICAgIC8vIEFkZCBz
b21lIGZhc3QgY2xpY2sgZXZlbnRzLgorICAgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxh
eShpZCwgc2xvd0R1cik7CisgICAgICAvLyBBZGQgc29tZSBzbG93IGNsaWNrIGV2ZW50cy4KKyAg
ICAgIGlmIChmYXN0RHVyID4gMCkgeworICAgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERl
bGF5KGlkLCBmYXN0RHVyKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFdlIGNhbiBqdXN0
IGRpcmVjdGx5IGNhbGwgdGVzdF9kcml2ZXIgd2hlbiB8ZmFzdER1cnwgaXMgMC4KKyAgICAgICAg
YXdhaXQgdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTsKKyAg
ICAgIH0KKyAgICB9CisgICAgcmVzb2x2ZSgpOworICB9KTsKKyAgcmV0dXJuIFByb21pc2UuYWxs
KFtvYnNlcnZlclByb21pc2UsIGNsaWNrc1Byb21pc2VdKTsKK30KKworLy8gQXBwbHkgZXZlbnRz
IHRoYXQgdHJpZ2dlciBhbiBldmVudCBvZiB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwgdG8gYmUgZGlz
cGF0Y2hlZCB0byB0aGUKKy8vIHx0YXJnZXR8LiBTb21lIG9mIHRoZXNlIGFzc3VtZSB0aGF0IHRo
ZSB0YXJnZXQgaXMgbm90IG9uIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlCisvLyBzY3JlZW4s
IHdoaWNoIG1lYW5zIHRoYXQgKDAsIDApIG9mIHRoZSB2aWV3cG9ydCBpcyBvdXRzaWRlIG9mIHRo
ZSB8dGFyZ2V0fC4KK2Z1bmN0aW9uIGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KSB7Cisg
IGNvbnN0IGFjdGlvbnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpOworICBpZiAoZXZlbnRU
eXBlID09PSAnYXV4Y2xpY2snKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3Jp
Z2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bih7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5
cGUuTUlERExFfSkKKyAgICAucG9pbnRlclVwKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5N
SURETEV9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdjbGljaycgfHwgZXZlbnRUeXBl
ID09PSAnbW91c2Vkb3duJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZXVwJworICAgICAgfHwgZXZl
bnRUeXBlID09PSAncG9pbnRlcmRvd24nIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJ1cCcKKyAg
ICAgIHx8IGV2ZW50VHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IGV2ZW50VHlwZSA9PT0gJ3RvdWNo
ZW5kJykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkK
KyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBlbHNlIGlmIChldmVu
dFR5cGUgPT09ICdjb250ZXh0bWVudScpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAs
IHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKHtidXR0b246IGFjdGlvbnMuQnV0
dG9uVHlwZS5SSUdIVH0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5
cGUuUklHSFR9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdkYmxjbGljaycpIHsKKyAg
ICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50
ZXJEb3duKCkKKyAgICAucG9pbnRlclVwKCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2lu
dGVyVXAoKQorICAgIC8vIFJlc2V0IGJ5IGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIHRhcmdldC4K
KyAgICAucG9pbnRlck1vdmUoMCwgMCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVy
VXAoKTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdtb3VzZWVudGVyJyB8fCBldmVudFR5
cGUgPT09ICdtb3VzZW92ZXInCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyZW50ZXIn
IHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJvdmVyJykgeworICAgIC8vIE1vdmUgb3V0c2lkZSBv
ZiB0aGUgdGFyZ2V0IGFuZCB0aGVuIGJhY2sgaW5zaWRlLgorICAgIGFjdGlvbnMucG9pbnRlck1v
dmUoMCwgMCkKKyAgICAucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSk7CisgIH0g
ZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnbW91c2VsZWF2ZScgfHwgZXZlbnRUeXBlID09PSAnbW91
c2VvdXQnCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVybGVhdmUnIHx8IGV2ZW50VHlw
ZSA9PT0gJ3BvaW50ZXJvdXQnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3Jp
Z2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyTW92ZSgwLCAwKTsKKyAgfSBlbHNlIHsKKyAgICBh
c3NlcnRfdW5yZWFjaGVkKCdUaGUgZXZlbnQgdHlwZSAnICsgZXZlbnRUeXBlICsgJyBpcyBub3Qg
c3VwcG9ydGVkLicpOworICB9CisgIHJldHVybiBhY3Rpb25zLnNlbmQoKTsKK30KKworZnVuY3Rp
b24gcmVxdWlyZXNMaXN0ZW5lcihldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91c2VlbnRlcics
CisgICAgICAgICAgJ21vdXNlbGVhdmUnLAorICAgICAgICAgICdwb2ludGVyZG93bicsCisgICAg
ICAgICAgJ3BvaW50ZXJlbnRlcicsCisgICAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisgICAgICAg
ICAgJ3BvaW50ZXJvdXQnLAorICAgICAgICAgICdwb2ludGVyb3ZlcicsCisgICAgICAgICAgJ3Bv
aW50ZXJ1cCcKKyAgICAgICAgXS5pbmNsdWRlcyhldmVudFR5cGUpOworfQorCitmdW5jdGlvbiBu
b3RDYW5jZWxhYmxlKGV2ZW50VHlwZSkgeworICByZXR1cm4gWydtb3VzZWVudGVyJywgJ21vdXNl
bGVhdmUnLCAncG9pbnRlcmVudGVyJywgJ3BvaW50ZXJsZWF2ZSddLmluY2x1ZGVzKGV2ZW50VHlw
ZSk7Cit9CisKKy8vIFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBlfCdzIHBlcmZvcm1hbmNlLmV2
ZW50Q291bnRzIHZhbHVlLiBTaW5jZSB0aGlzIGlzIHBvcHVsYXRlZCBvbmx5IHdoZW4KKy8vIHRo
ZSBldmVudCBpcyBwcm9jZXNzZWQsIHdlIGNoZWNrIGV2ZXJ5IDEwIG1zIHVudGlsIHdlJ3ZlIGZv
dW5kIHRoZSB8ZXhwZWN0ZWRDb3VudHwuCitmdW5jdGlvbiB0ZXN0Q291bnRzKHQsIHJlc29sdmUs
IGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCkgeworICBjb25zdCBjb3VudHMg
PSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKTsKKyAgaWYgKGNvdW50cyA8
IGV4cGVjdGVkQ291bnQpIHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB0ZXN0
Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCk7
CisgICAgfSwgMTApOworICAgIHJldHVybjsKKyAgfQorICBpZiAobG9vc2VDb3VudCkgeworICAg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2
ZW50VHlwZSksIGV4cGVjdGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSBhdCBsZWFzdCAk
e2V4cGVjdGVkQ291bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNgKQorICB9IGVsc2UgeworICAgIGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSksIGV4cGVj
dGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSAke2V4cGVjdGVkQ291bnR9ICR7ZXZlbnRU
eXBlfSBldmVudHNgKTsKKyAgfQorICByZXNvbHZlKCk7Cit9CisKKy8vIFRlc3RzIHRoZSBnaXZl
biB8ZXZlbnRUeXBlfCBieSBjcmVhdGluZyBldmVudHMgd2hvc2UgdGFyZ2V0IGFyZSB0aGUgZWxl
bWVudCB3aXRoIGlkCisvLyAndGFyZ2V0Jy4gVGhlIHRlc3QgYXNzdW1lcyB0aGF0IHN1Y2ggZWxl
bWVudCBhbHJlYWR5IGV4aXN0cy4gfGxvb3NlQ291bnR8IGlzIHNldCBmb3IKKy8vIGV2ZW50VHlw
ZXMgZm9yIHdoaWNoIGV2ZW50cyB3b3VsZCBvY2N1ciBmb3Igb3RoZXIgaW50ZXJhY3Rpb25zIG90
aGVyIHRoYW4gdGhlIG9uZXMgYmVpbmcKKy8vIHNwZWNpZmllZCBmb3IgdGhlIHRhcmdldCwgc28g
dGhlIGNvdW50cyBjb3VsZCBiZSBsYXJnZXIuCithc3luYyBmdW5jdGlvbiB0ZXN0RXZlbnRUeXBl
KHQsIGV2ZW50VHlwZSwgbG9vc2VDb3VudD1mYWxzZSkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuRXZlbnRDb3VudHMsICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7CisgIGNv
bnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgaWYgKHJl
cXVpcmVzTGlzdGVuZXIoZXZlbnRUeXBlKSkgeworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVy
KGV2ZW50VHlwZSwgKCkgPT57fSk7CisgIH0KKyAgY29uc3QgaW5pdGlhbENvdW50ID0gcGVyZm9y
bWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSk7CisgIGlmICghbG9vc2VDb3VudCkgewor
ICAgIGFzc2VydF9lcXVhbHMoaW5pdGlhbENvdW50LCAwLCAnTm8gZXZlbnRzIHlldC4nKTsKKyAg
fQorICAvLyBUcmlnZ2VyIHR3byAnZmFzdCcgZXZlbnRzIG9mIHRoZSB0eXBlLgorICBhd2FpdCBh
cHBseUFjdGlvbihldmVudFR5cGUsIHRhcmdldCk7CisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50
VHlwZSwgdGFyZ2V0KTsKKyAgYXdhaXQgbmV3IFByb21pc2UodC5zdGVwX2Z1bmMocmVzb2x2ZSA9
PiB7CisgICAgdGVzdENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGlu
aXRpYWxDb3VudCArIDIpOworICB9KSk7CisgIC8vIFRoZSBkdXJhdGlvblRocmVzaG9sZCB1c2Vk
IGJ5IHRoZSBvYnNlcnZlci4gQSBzbG93IGV2ZW50cyBuZWVkcyB0byBiZSBzbG93ZXIgdGhhbiB0
aGF0LgorICBjb25zdCBkdXJhdGlvblRocmVzaG9sZCA9IDE2OworICAvLyBOb3cgYWRkIGFuIGV2
ZW50IGhhbmRsZXIgdG8gY2F1c2UgYSBzbG93IGV2ZW50LgorICB0YXJnZXQuYWRkRXZlbnRMaXN0
ZW5lcihldmVudFR5cGUsICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShkdXJhdGlvblRocmVz
aG9sZCArIDQpOworICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2Uo
YXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1
bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgIGxldCBldmVudFR5cGVFbnRyaWVzID0gZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoZXZlbnRUeXBlKTsKKyAgICAgIGlmIChldmVudFR5cGVFbnRyaWVz
Lmxlbmd0aCA9PT0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgICBsZXQgZW50cnkgPSBudWxs
OworICAgICAgaWYgKCFsb29zZUNvdW50KSB7CisgICAgICAgIGVudHJ5ID0gZXZlbnRUeXBlRW50
cmllc1swXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudFR5cGVFbnRyaWVzLmxlbmd0aCwg
MSk7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGUgb3RoZXIgZXZlbnRzIGNvdWxkIGFs
c28gYmUgY29uc2lkZXJlZCBzbG93LiBGaW5kIHRoZSBvbmUgd2l0aCB0aGUgY29ycmVjdAorICAg
ICAgICAvLyB0YXJnZXQuCisgICAgICAgIGV2ZW50VHlwZUVudHJpZXMuZm9yRWFjaChlID0+IHsK
KyAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJn
ZXQnKSkKKyAgICAgICAgICAgIGVudHJ5ID0gZTsKKyAgICAgICAgfSk7CisgICAgICAgIGlmICgh
ZW50cnkpCisgICAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgdmVyaWZ5RXZlbnQoZW50
cnksCisgICAgICAgICAgICAgICAgICBldmVudFR5cGUsCisgICAgICAgICAgICAgICAgICAndGFy
Z2V0JywKKyAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGlzRmlyc3QgKi8sCisgICAgICAgICAg
ICAgICAgICBkdXJhdGlvblRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgIG5vdENhbmNlbGFi
bGUoZXZlbnRUeXBlKSk7CisgICAgICAvLyBTaG91bGRuJ3QgbmVlZCBhc3luYyB0ZXN0aW5nIGhl
cmUgc2luY2Ugd2UgYWxyZWFkeSBnb3QgdGhlIG9ic2VydmVyIGVudHJ5LCBidXQgbWlnaHQgYXMK
KyAgICAgIC8vIHdlbGwgcmV1c2UgdGhlIG1ldGhvZC4KKyAgICAgIHRlc3RDb3VudHModCwgcmVz
b2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAzKTsKKyAgICB9KSku
b2JzZXJ2ZSh7dHlwZTogJ2V2ZW50JywgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cmF0aW9uVGhyZXNo
b2xkfSk7CisgIH0pOworICAvLyBDYXVzZSBhIHNsb3cgZXZlbnQuCisgIGxldCBhY3Rpb25Qcm9t
aXNlID0gYXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICByZXR1cm4gUHJvbWlzZS5h
bGwoW2FjdGlvblByb21pc2UsIG9ic2VydmVyUHJvbWlzZV0pOworfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVz
b3VyY2VzL3Nsb3ctaW1hZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMmY5MTY1NWNmMzlmNThiNzk0MGYyYmVkYjRjNThiOGQ2OTlmMDFiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkKQEAgLTAsMCArMSw3IEBACitpbXBvcnQgdGlt
ZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgIyBTbGVlcCBmb3IgNTAwbXMg
dG8gZGVsYXkgb25sb2FkLgorICAgIHRpbWUuc2xlZXAoMC41KQorICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOwor
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBiImRhdGE6aW1hZ2UvZ2lmO2Jh
c2U2NCxSMGxHT0RsaEFRQUJBSkFBQU1qSXlBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcyUzRCIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMGYwMDBhZjM5ZGExZDZjNmVlYTNjZmEyYTI0YmYxYmUy
N2NmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAs
MCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJv
bSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5
IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdp
dGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVu
IHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWlt
cG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVy
dHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcworL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93
LWltYWdlLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRy
aWV2YWJpbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlN2ZiODk5MDViNTlmNzI4YzU5
NDk3ZWVjOWRmNGE3NTNlNzI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQ
QVNTIEV2ZW50IFRpbWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRyaWVzIGFyZSBub3Qg
cmV0cmlldmFibGUgYnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9y
ZXRyaWV2YWJpbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjQ3
NWZjNTI5NzRmZTJhZmRlMzU1MzMyNjUzYzgwMmM3YzVmMTZmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmV0cmlldmFiaWxpdHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG1ha2Ugc3Vy
ZSAnZXZlbnQnIGVudHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzKiBBUElzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25n
Ij4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291
cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAg
ZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKCkgeworICAgIGNvbnN0IGVudHJpZXNCeU5hbWUgPSBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nLCAnZXZlbnQnKTsKKyAgICBj
b25zdCBlbnRyaWVzQnlUeXBlID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZXZlbnQn
KTsKKyAgICBjb25zdCBhbGxFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpOworICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc0J5TmFtZS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50
cnkgc2hvdWxkIG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlOYW1lJyk7CisgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzQnlUeXBlLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRy
eSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJpZXNCeVR5cGUnKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGFsbEVudHJpZXMuZmlsdGVyKGUgPT4gZS5lbnRyeVR5cGUgPT09ICdldmVu
dCcpLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZh
YmxlIGJ5IGdldEVudHJpZXMnKTsKKyAgfQorCisgIC8qIFRpbWVsaW5lOgorICAgICBCZWdpbiBC
dXN5IExvb3AKKyAgICAgQ2xpY2sgMSBhcnJpdmVzCisgICAgIEVuZCBCdXN5IExvb3AKKyAgICAg
KERpc3BhdGNoIGFuZCBQcm9jZXNzIENsaWNrIDEgLSBidWZmZXJlZCkKKyAgICAgT25sb2FkIEV2
ZW50IEZpcmVzCisgICAgIFZhbGlkYXRlIGVudHJpZXMKKyAgKi8KKyAgYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgaWYgKGVudHJ5
TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKS5sZW5ndGggPiAwKSB7CisgICAgICAg
IHZhbGlkYXRlRW50cmllcygpOworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKyAgICB9KSku
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4o
J2J1dHRvbicpOworICB9LCAiRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGltaW5nIGVu
dHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKi4iKTsK
KworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQzOWNkZjNiZjYxYmVkZmM3OWVhYjAzMzNlMWI3OGY3NDU5NWI4NWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dl
bmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3Qt
aW5wdXQgYWZ0ZXIgb25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI3YjE3Y2QxODE2NWY5NzVmYmJkOThlN2RlMDdkYWQ3MTI1MWMxZmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5F
dmVudCBUaW1pbmc6IGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBiZSBidWZmZXJlZCBldmVuIHdp
dGhvdXQgb2JzZXJ2ZXI8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdj
bGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorCis8c2NyaXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRf
aW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBp
cyBub3Qgc3VwcG9ydGVkLicpOworICAgIGZ1bmN0aW9uIHRlc3RFbnRyaWVzKCkgeworICAgICAg
Ly8gRmlyc3QgY2FsbGJhY2sgaXMgbm90IGVuc3VyZWQgdG8gaGF2ZSB0aGUgZW50cnkuCisgICAg
ICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGgg
PT09IDApIHsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQodGVzdEVudHJpZXMsIDEwKTsKKyAgICAg
ICAgcmV0dXJuOworICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpLmxlbmd0aCwgMSwKKyAgICAgICAgIlRoZXJlIHNo
b3VsZCBiZSBhIGZpcnN0LWlucHV0IGVudHJ5IGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZSIp
OworICAgICAgY29uc3QgZW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJz
dC1pbnB1dCcpWzBdOworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCAnbW91c2Vkb3du
Jyk7CisgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7
CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAxMDQsCisg
ICAgICAgICJUaGUgZmlyc3QgaW5wdXQgd2FzIGEgbG9uZyBvbmUuIik7CisgICAgICB0LmRvbmUo
KTsKKyAgICB9CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhl
bih0LnN0ZXBfZnVuYyh0ZXN0RW50cmllcykpOworICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVj
ayBmaXJzdC1pbnB1dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xpY2suIgorICAp
OworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJmODU4MDZmN2Y0MjFjZGYxZjkzMGYwNGIyZmIwZjkyZjZkYTkyMmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcgYW5kICdm
aXJzdC1pbnB1dCcuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNi
M2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10
eXBlcy53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQt
dHlwZXMud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
Y2M0MzQ5NWMwOTZmZDBjZDU2OGZhNTk4MzA1NWMwMzkwZjk0ZDQwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpAQCAtMCwwICsxLDEyIEBACit0ZXN0KCgpID0+
IHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdF
dmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgYXNzZXJ0X2ltcGxlbWVudHModHlw
ZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyAhPT0gInVuZGVmaW5l
ZCIsCisgICAgICAnc3VwcG9ydGVkRW50cnlUeXBlcyBpcyBub3Qgc3VwcG9ydGVkJyk7CisgIGNv
bnN0IHR5cGVzID0gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzOworICBh
c3NlcnRfdHJ1ZSh0eXBlcy5pbmNsdWRlcygiZmlyc3QtaW5wdXQiKSwKKyAgICAiVGhlcmUgc2hv
dWxkIGJlICdmaXJzdC1pbnB1dCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzIik7CisgIGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJldmVudCIpLAorICAgICJU
aGVyZSBzaG91bGQgYmUgJ2V2ZW50JyBpbiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVu
dHJ5VHlwZXMiKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih0eXBlcy5pbmRleE9mKCJmaXJzdC1p
bnB1dCIpLCB0eXBlcy5pbmRleE9mKCdldmVudCcpLAorICAgICJUaGUgJ2ZpcnN0LWlucHV0JyBl
bnRyeSBzaG91bGQgYXBwZWFyIGFmdGVyIHRoZSAnZXZlbnQnIGVudHJ5Iik7Cit9LCAic3VwcG9y
dGVkRW50cnlUeXBlcyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25z
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjY2OTE1MzI2YmUwODZiMzUwNDZhMjQzODliNWYx
ZmQ2MzRmYjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVu
dCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNWY0NDQ4YzJhMTAzYTg1MTE1NDRmYmU3YmJmZDA3NjA3NzM3YTkwYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2
ZW50IFRpbWluZyBvbmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVudC4KKzwv
dGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24gaWQ9
J2J1dHRvbicgb25tb3VzZWRvd249J21haW5UaHJlYWRCdXN5KDYwKScKKyAgb25mb2N1cz0nbWFp
blRocmVhZEJ1c3koNjApJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IHRydXN0
ZWRDbGlja1N0YXJ0OworICBmdW5jdGlvbiB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oaWQpIHsK
KyAgICB0cnVzdGVkQ2xpY2tTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIHJldHVybiBj
bGlja0FuZEJsb2NrTWFpbihpZCk7CisgIH0KKworICBmdW5jdGlvbiB1bnRydXN0ZWRDbGlja0Fu
ZEJsb2NrTWFpbihpZCkgeworICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGlkKTsKKyAgICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgYXMgZGlz
cGF0Y2hFdmVudCgpIGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5l
dyBNb3VzZUV2ZW50KCdtb3VzZWRvd24nKSk7CisgIH0KKworICBmdW5jdGlvbiB0cnVzdGVkRm9j
dXNBbmRCbG9ja01haW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCk7CisgICAgdHJ1c3RlZEZvY3VzU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsK
KyAgICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgIGFzIGZvY3VzKCkgaXMg
YSBzeW5jIGNhbGwuCisgICAgdGFyZ2V0LmZvY3VzKCk7CisgIH0KKworICBwcm9taXNlX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9i
c2VydmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0
ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrVGlt
ZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlM
aXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25vcmUgY2Fz
ZXMgaW4gd2hpY2ggdGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91c2VEb3du
cy5sZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxz
ZShvYnNlcnZlZE1vdXNlRG93biwgJ0dvdCBtb3JlIHRoYW4gb25lIGNhbGxiYWNrIHdpdGggbW91
c2Vkb3duLicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLAor
ICAgICAgICAgICAgIlNob3VsZCBvbmx5IG9ic2VydmUgb25lIG1vdXNlZG93biBlbnRyeS4gSW5z
dGVhZCwgZ290IHRoZXNlOiAiICsKKyAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1vdXNlRG93
bnMpICsgIi4iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zWzBdLm5hbWUsICdt
b3VzZWRvd24nLAorICAgICAgICAgICAgIlRoZSBvYnNlcnZlZCBlbnRyeSBzaG91bGQgYmUgYSBt
b3VzZWRvd24iKTsKKyAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbihtb3VzZURvd25zWzBdLnN0YXJ0
VGltZSwgb2JzZXJ2ZXJDYWxsYmFja1RpbWUsCisgICAgICAgICAgICAiVGhlIHN0YXJ0VGltZSBz
aG91bGQgYmUgYmVmb3JlIG9ic2VydmVyQ2FsbGJhY2tUaW1lIik7CisgICAgICAgIGFzc2VydF9n
cmVhdGVyX3RoYW4obW91c2VEb3duc1swXS5zdGFydFRpbWUsIHRydXN0ZWRDbGlja1N0YXJ0LAor
ICAgICAgICAgICAgIlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGFmdGVyIHRydXN0ZWRDbGlja1N0
YXJ0Iik7CisgICAgICAgIG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgfSkpLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2V2ZW50J10gfSk7CisgICAg
fSk7CisgICAgLy8gVW50cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgY2FyZXMg
YWJvdXQuCisgICAgdW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIC8v
IFRydXN0ZWQgZXZlbnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBkb2Vzbid0IGNhcmVzIGFib3V0
LgorICAgIHRydXN0ZWRGb2N1c0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgICAgLy8gVHJ1c3Rl
ZCBldmVudCBvZiBhIHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIGNvbnN0IGNs
aWNrUHJvbWlzZSA9IHRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0
KTsKKyAgICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNl
XSk7CisgIH0sICJFdmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0
ZWQgZXZlbnQuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90b0pTT04tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOTdjNmViMTg4ZDRm
YWRlMjdjMDY5NWZjN2UwMTExMDYyNjFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0ZB
SUwgVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLiBhc3NlcnRfZXF1YWxz
OiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMg
dG9KU09OIHZhbHVlIGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJi
dXR0b24iPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIyZGU0NzY3YzQyYTVkM2ZlOGE4NGNkZWY3YzUzNGFmYmNkNDRlMWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy90b0pTT04uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRN
TD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiB0b0pTT048L3Rp
dGxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8YnV0
dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlw
dD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdp
bmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0
ZWQuJyk7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAg
ICAgIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZW50cnlMaXN0KSB7CisgICAgICAgIGNvbnN0
IGVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyh0eXBlb2YoZW50cnkudG9KU09OKSwgJ2Z1bmN0aW9uJyk7CisgICAgICAgIGNvbnN0IGpzb24g
PSBlbnRyeS50b0pTT04oKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoanNvbiksICdv
YmplY3QnKTsKKyAgICAgICAgY29uc3Qga2V5cyA9IFsKKyAgICAgICAgICAvLyBQZXJmb3JtYW5j
ZUVudHJ5CisgICAgICAgICAgJ25hbWUnLAorICAgICAgICAgICdlbnRyeVR5cGUnLAorICAgICAg
ICAgICdzdGFydFRpbWUnLAorICAgICAgICAgICdkdXJhdGlvbicsCisgICAgICAgICAgLy8gUGVy
Zm9ybWFuY2VFdmVudFRpbWluZworICAgICAgICAgICdwcm9jZXNzaW5nU3RhcnQnLAorICAgICAg
ICAgICdwcm9jZXNzaW5nRW5kJywKKyAgICAgICAgICAnY2FuY2VsYWJsZScsCisgICAgICAgICAg
J3RhcmdldCcsCisgICAgICAgIF07CisgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsK
KyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGpzb25ba2V5XSwgZW50cnlba2V5XSwKKyAgICAgICAg
ICAgICdQZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBp
dHMgdG9KU09OIHZhbHVlJyk7CisgICAgICAgIH0KKyAgICAgIH0pCisgICAgKTsKKyAgICBvYnNl
cnZlci5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1
dHRvbicpOworICB9LCAnVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLicp
OworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMjg4NjdmZGYyNzUwYmRkNzU1YmRhZGIzNmJjZDYwZDE0
YjQ5MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUzIEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRp
b24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2NsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Ri
bGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Zp
cnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVy
YXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
aW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNlbGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNldXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93
bi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJv
dXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRp
Yy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29u
ZGl0aW9ucy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3Rz
LW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0YmU2
MWU2NzA5YzNmODEzN2QyNWE1MzkyMjZjODg5MTRkMzg4OWYyLi43N2FhMWQ0MDc5NzE5MGRiYWVj
YWFjNzk1ZDk2NWE0MWU1ZDUzMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRp
b25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xMzU4LDYg
KzEzNTgsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0
ZWQtbWVkaWEvZHJtLXRlbXBvcmFyeS1saWNlbnNlLXR5cGUuaHR0cHMuaHRtbCI6IFsKICAgICAg
ICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwK
KyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCI6IFsKKyAgICAgICAg
InNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwK
KyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5n
Y29uZGl0aW9ucy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL2RlZGljYXRlZC13b3JrZXIvZXZl
bnRzb3VyY2UtY29uc3RydWN0b3Itbm9uLXNhbWUtb3JpZ2luLmh0bSI6IFsKICAgICAgICAgInNs
b3ciCiAgICAgXSwKQEAgLTMwNzcsNCArMzA5Miw0IEBACiAgICAgImltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3aWNlLmh0
bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405450</attachid>
            <date>2020-07-29 05:52:00 -0700</date>
            <delta_ts>2020-07-29 07:29:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200729145157.patch</filename>
            <type>text/plain</type>
            <size>174604</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUyNzAxMjlmNmVlZjUw
NTgwZDgzZDRmNDQ5ODg5NWEzNjU5NTNmNy4uZjExMzE3YmJhNDViYTBhNzAyZGRlYjQ2MTdhZGEy
YWQ3ZDQ3ZTgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wNy0yOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDctMjggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyNjQ5ODYpIFVucmV2aWV3ZWQgY3Jhc2ggZml4CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDBmMjljOWU4NjMzZjkyYTk4Njg5ZTQ3NjA1MTMyZTRjZTk3
Y2I2YzYuLjA5MGQ4NjAzZTU1Y2I3ZDhjODRlNmEzZGUxY2U1YmY3ZjIxYWJlYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC05NzMsNiArOTczLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAg
ICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAogICAgIHBhZ2Uv
RXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAgcGFnZS9HbG9i
YWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5MCw2ICs5OTEsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IDNkMmY4YTMxNjcyYTMzNzliNjNiMGM3MjNhYzJhYzUyYWY2NmNmMmMuLjEzNGMzYmQyYTUy
NmIzZDYwNmU3NGExMDJkZmRjZjBiYjljZDE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQyLDYgKzk0Miw3IEBAICQoUFJPSkVD
VF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5cHRvLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdl
L0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9HbG9i
YWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApA
QCAtOTYwLDYgKzk2MSw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdv
cmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pF
Q1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlNmViMDcyYmE3NWUyYzE1MjczYzE4MzdlMWM3ZDA4
NGExNzdmOTE3Li5mODg5YWFmYmM2NjdkZTcxNjU0ODA4NjYxODRmY2RkNDc4NjNlY2QzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAt
NTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcApA
QCAtMTMwNCw2ICsxMzA2LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFz
dXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjliYWI4OTFhZjRlODkw
YzgyOTg0YjE0MDhhYmViZjM0NjkxYzdlNS4uN2NlZjFhYmI5NjkzNWE4Y2VmOWM4YmU0YWY1MWZh
ZDVhNDFkN2FiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NjEsNiArOTYx
LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudENvdW50cy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsUGVy
Zm9ybWFuY2UuaWRsIFwKQEAgLTk3OSw2ICs5ODAsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL05TSW1hZ2VTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9OU0ltYWdlU1BJLmgKaW5kZXggODZiYjRiNWY3ZWViODg4Y2FhOGI1NTE3YTIxOWQ1ZjliNzU0
MDRiZS4uZmRlN2YxMzhiZmZmNzY5OTJhYTJmZTc2ZmIwOTQ0MGVmZGMzZjJmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TSW1hZ2VTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oCkBAIC01NCw2ICs1NCwxMyBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogZXh0ZXJuIGNvbnN0IE5TSW1hZ2VIaW50S2V5IE5T
SW1hZ2VIaW50U3ltYm9sRm9udDsKIGV4dGVybiBjb25zdCBOU0ltYWdlSGludEtleSBOU0ltYWdl
SGludFN5bWJvbFNjYWxlOwogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBOU0ltYWdlU3lt
Ym9sU2NhbGUpIHsKKyAgICBOU0ltYWdlU3ltYm9sU2NhbGVEZWZhdWx0ID0gLTEsCisgICAgTlNJ
bWFnZVN5bWJvbFNjYWxlU21hbGwgPSAxLAorICAgIE5TSW1hZ2VTeW1ib2xTY2FsZU1lZGl1bSA9
IDIsCisgICAgTlNJbWFnZVN5bWJvbFNjYWxlTGFyZ2UgPSAzLAorfTsKKwogTlNfQVNTVU1FX05P
Tk5VTExfRU5ECiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA3NTIyODM4N2M1NGY1ZWI2MGNk
YjYwYWFiMmM1MTkwYmIxYmI1NTQwLi5jYWMyZTFiNzI1ZmE3YTljYWJiYjY2MjRlMzk3Zjc3M2Iw
ZWQzOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEwIEBAIHBhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRpb25zLmNwcAogcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVyZW5jZS5jcHAKK3BhZ2Uv
RXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdl
L0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYg
KzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlh
bGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dp
bmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFu
Y2VNb25pdG9yLmNwcApAQCAtMjgzMyw2ICsyODM2LDcgQEAgSlNFbnRlclBpY3R1cmVJblBpY3R1
cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAKIEpTRXZl
bnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3BwCiBKU0V2ZW50TW9kaWZp
ZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNjUsNiArMzE2OSw3IEBAIEpTUGF5
bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVyZm9ybWFu
Y2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
Y3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcAogSlNQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWMyYmEwODZmOTY0NTdiNGJlYzI4ZDI3MTIy
N2ExYTc1NmZmOWYzZC4uZDE1Yjg1YzIwZmJjYzRlMDYwNjA1MGQ0ODkzOTM3ZjU3ZDBiOGFmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMzQ0MCw2ICszNDQwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3RDAwRkRGOTU5IC8qIEpT
RE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlLmggKi87IH07CiAJ
CUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODA1MEQ3NTdFN0Qw
MEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJQUExMkRGNDkxNzQzREY4
MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1RDE3NDI5QkNDMDA2MjAw
QzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsgfTsKKwkJQUExMkU2RDAy
NEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvcklt
YWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUEyQTVBQ0UxNkE0
ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4NUQ1MDA5NzVBMjUgLyog
U3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAxNkE0ODYwNDAwOTc1QTI1
IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1QTI1IC8qIFNwZWVjaFN5
bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ1NSw4ICszNDU2LDEwIEBACiAJCUFBN0ZF
RUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFOUYxNkE0RTZG
MzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CiAJCUFBN0ZF
RUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdGRUVBMTE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9OwogCQlBQTdGRUVBRDE2QTRF
NzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1Nw
ZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1MDBCRUY5NTUgLyogRXZl
bnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oICovOyB9OwogCQlBQUE3
MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQTcyOEYx
MTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICov
OyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzA4Q0Yx
MTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9OworCQlBQUVC
OEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJC
QTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMg
LyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZENjM4MzAw
M0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5o
ICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFDOTFEMTBB
RTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ4Niw2ICsxMjQ4OSw4IEBACiAJCUFBMTFD
MDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWF0aE1M
TWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTExQzA0RDIz
MTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUEx
MkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVB
QjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3Bl
ZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50
aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MTYsNiArMTI1MjEs
OSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2lj
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NwZWVjaFN5bnRo
ZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE3RkVFQTExNkE0
RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50
aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVz
aXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODQyNENCMzYyRjAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50Q291bnRzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1
IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291bnRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJpbGl0eU9iamVjdElPUy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlP
YmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQTcyOEYxMTZEMUQ4
QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMjE2RDFEOEJDMDBEM0JC
QzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTMwLDYgKzEyNTM4LDkgQEAK
IAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFF
MjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRTM3NTVEMTc0MjlCQ0Mw
MDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUyNEM5NzRFOTAwMTUyMzU1
IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVCOEFENzI0Qzk3NEU5MDAx
NTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ4
MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU29ja2V0RnJhbWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMg
LyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNl
cnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0
SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEyMTQsMTEg
KzIxMjI1LDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1IC8qIEVkaXRhYmxlSW1h
Z2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEwMDQ1OThCNSAvKiBFZGl0
YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8q
IEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAvKiBFdmVu
dENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291
bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmlk
bCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAq
LywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggKi8sCiAJ
CQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlF
MEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3
MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRD
OUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2
RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0
OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0
OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRE
RiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzMDMsNiArMjEzMTksOSBAQAogCQkJCUNC
MzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4
NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2
QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlB
QUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8s
CisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
aCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNl
TG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1h
bmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3Jt
YW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NzQsNiArMzA3OTMsNyBAQAogCQkJCTJF
Q0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2
ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc5Miw2ICszMDgxMiw3IEBACiAJCQkJ
ODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVu
dFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBMTJFNkQwMjRDOUQ2NzQw
MEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3
OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMjcyNCw2ICszMjc0NSw3IEBACiAJCQkJRTNGQTM4NjQxRDcxODEyRDAwQUE1
OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1
MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZC
RTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICov
LAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3MDcwNTQgLyogUGVyZm9y
bWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFMzFFRDdDMTgzMDBGQjc3
QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M3
MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRy
eUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50
cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0NThiYTcx
NDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdjNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9t
LmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUVudHJ5Lmgi
CiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpT
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
R2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFAKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihlbnRyeSkp
CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRl
eCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFiLi5mMjkzNTg2ZDY4NDNl
OGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiArMTg2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2JhbFNjb3BlKSBcCiAgICAg
bWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50cnlMaXN0
KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNkNzQy
ZTcxOWQ4NTBjNzJlNzk5MWZmNTc0ZjJmMzk4NDNiODNhMWQuLjNmNzRkZjUxZjY0NjI0NTg2MTY2
MzIyMzZkNjI1NDUzMDM1ZWJmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzE5OCw2
ICszMTk4LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVk
ZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKIH0KIAor
Ly8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1kaXNwYXRjaC1wZW5k
aW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRyaWVzSWZOZWVkZWQoKQor
eworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNoUGVuZGluZ0V2ZW50VGlt
aW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3cml0ZShEb2N1bWVudCog
cmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4dCkKIHsKICAgICBpZiAo
bV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmNWY2ODNh
MjA5MTNlODJiZGQ4MDA0NGI4YTJkY2U2ZTc5NTQ1MDRkLi42ZTc1NTVmMmU1YmNmYzEwOTllMDRk
Njg5OGE5NzZjM2ZkYTJmODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTU3NCw2ICsxNTc0
LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQo
KSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CiAg
ICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7CiAKKyAgICB2b2lkIGVu
cXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAgRWRpdG9yJiBlZGl0b3Io
KSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYgZWRpdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgeyBy
ZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAK
aW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3NGU3MS4uZjdlMDZkZTkx
MTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZlbnRQYXRoLmgi
CisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTEsNyArMTUyLDEy
IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5vZGUmIG5vZGUsIEV2ZW50
JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9wcGVkKCkgJiYgIWV2ZW50
UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQYXRoKGV2ZW50UGF0aCk7
CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZlbnRUaW1pbmc7CisgICAg
ICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAgICAgICAgICBldmVudFRp
bWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwg
ZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQsIGV2ZW50UGF0aCk7Cisg
ICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50VGltaW5nLT5ldmVudFdh
c0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgIH0K
IAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291
bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzlmMTIyY2FjYzkyYWExNTczZDUwZDBkODIxNjM3M2QzYWNl
N2QxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5j
cHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgorCisjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitFdmVudENvdW50czo6RXZlbnRDb3VudHMoKQoreworICAgIHN0YXRpYyBjb25z
dCBhdXRvIGV2ZW50VHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEF0b21TdHJpbmc+
IHsKKyAgICAgICAgLyogTW91c2VFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNsaWNr
RXZlbnQsIGV2ZW50TmFtZXMoKS5jb250ZXh0bWVudUV2ZW50LCBldmVudE5hbWVzKCkuZGJsY2xp
Y2tFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50LAorICAgICAgICBldmVudE5hbWVz
KCkubW91c2VlbnRlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2VsZWF2ZUV2ZW50LCBldmVudE5h
bWVzKCkubW91c2VvdXRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50
LCBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50LAorICAgICAgICAvKiBQb2ludGVyRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyb3ZlckV2ZW50LCBldmVudE5hbWVzKCkucG9p
bnRlcmVudGVyRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyZG93bkV2ZW50LCBl
dmVudE5hbWVzKCkucG9pbnRlcnVwRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVy
Y2FuY2VsRXZlbnQsIGV2ZW50TmFtZXMoKS5wb2ludGVyb3V0RXZlbnQsCisgICAgICAgIGV2ZW50
TmFtZXMoKS5wb2ludGVybGVhdmVFdmVudCwgZXZlbnROYW1lcygpLmdvdHBvaW50ZXJjYXB0dXJl
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5sb3N0cG9pbnRlcmNhcHR1cmVFdmVudCwKKyAg
ICAgICAgLyogVG91Y2hFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLnRvdWNoc3RhcnRF
dmVudCwgZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS50
b3VjaGNhbmNlbEV2ZW50LAorICAgICAgICAvKiBLZXlib2FyZEV2ZW50cyAqLworICAgICAgICBl
dmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmtleXVwRXZlbnQsCisgICAgICAgIC8qIElucHV0RXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5iZWZvcmVpbnB1dEV2ZW50LCBldmVudE5hbWVzKCkuaW5w
dXRFdmVudCwKKyAgICAgICAgLyogQ29tcG9zaXRpb25FdmVudHMgKi8KKyAgICAgICAgZXZlbnRO
YW1lcygpLmNvbXBvc2l0aW9uc3RhcnRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBv
c2l0aW9udXBkYXRlRXZlbnQsIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbmVuZEV2ZW50LAorICAg
ICAgICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdz
dGFydEV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2VuZEV2ZW50LAorICAgICAgICBldmVudE5hbWVz
KCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCwKKyAgICAgICAg
ZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcm9wRXZlbnQsCisgICAg
fSk7CisgICAgZm9yIChjb25zdCBhdXRvJiB0eXBlIDogZXZlbnRUeXBlcy5nZXQoKSkKKyAgICAg
ICAgbV9tYXAuYWRkKHR5cGUsIDB1KTsKK30KKwordm9pZCBFdmVudENvdW50czo6aW5pdGlhbGl6
ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYgbWFwKQoreworICAgIGZvciAoYXV0byYga2V5VmFsdWUg
OiBtX21hcCkKKyAgICAgICAgbWFwLnNldDxJRExET01TdHJpbmcsIElETFVuc2lnbmVkTG9uZ0xv
bmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOworfQorCit2b2lkIEV2ZW50Q291bnRz
OjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiBrZXksIHVuc2lnbmVkIHZhbHVlKQoreworICAgIG1f
bWFwLnNldChXVEZNb3ZlKGtleSksIHZhbHVlKTsKK30KKwordm9pZCBFdmVudENvdW50czo6YWRk
KGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRvIGl0ID0gbV9tYXAuZmluZCh0eXBlKTsK
KyAgICBpdC0+dmFsdWUgPSBpdC0+dmFsdWUgKyAxOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGZmYTgyOWJhZDAz
YTQ1MzhjZmVlNjRmNjQ1ODc5ZDIzMTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRDb3VudHMuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIERPTVN0cmluZzsKKworY2xhc3MgRXZlbnRDb3Vu
dHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudENvdW50cz4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8RXZlbnRDb3VudHM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RXZlbnRDb3VudHMpOyB9CisKKyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0
ZXImKTsKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmluZyYmLCB1bnNpZ25lZCk7CisKKyAg
ICBjb25zdCBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+JiBtYXAoKSBjb25zdCB7IHJldHVybiBt
X21hcDsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgU3RyaW5nJiB0eXBlKTsKKworcHJpdmF0ZToK
KyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9tYXA7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyNzk2NGRkNWE1NTY1ZmFkMWQ2YjQ3ZTYxN2QyMmQwZTRiZGNhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0
cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10
aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAgIHJlYWRvbmx5IG1hcGxpa2U8
RE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRp
bWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzNWQ2ZjBhMjc5MTNlMWRhOGU3NTZlOGNlMmFhMmVkNzE1
ZjhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcu
Y3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMu
TC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2Uu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRUaW1pbmcoZG91
YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1l
KHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sK
K30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25zdCBFdmVudCYg
ZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9mIGNlcnRhaW4g
a2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRzIHRoYXQgYXJl
IGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRoZSB1c2VyIGFn
ZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIgY2VydGFpbiBj
b25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVudENvdW50cyBj
YW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBvbiB0aG9zZS4K
KyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQorICAgICAgICAm
JiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQoKQorICAgICAg
ICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2ZW50KCkKKyAg
ICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRFdmVudCgpCisg
ICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAgJiYgZXZlbnQu
dHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50
eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQu
dHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50
eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgp
ICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxFdmVudFRp
bWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3Qg
RXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhldmVu
dCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBlcmZvcm1hbmNl
KCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmlzRXZlbnRU
aW1pbmdCdWZmZXJGdWxsKCkpIHsKKyAgICAgICAgLy8gZXZlbnQgdGltZSBzdGFtcCBjYW4gYmUg
YWhlYWQgb2Ygbm93LCBwcm9iYWJseSBiZWNhdXNlIGlzIGlzIHdhbGx0aW1lIGJhc2VkIGFuZCBh
cHByb3hpbWF0ZS4KKyAgICAgICAgYXV0byB0aW1lU3RhbXAgPSBzdGQ6Om1pbihNb25vdG9uaWNU
aW1lOjpub3coKSwgZXZlbnQudGltZVN0YW1wKCkpOworICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCkucmVsYXRpdmVUaW1lRnJvbVRpbWVP
cmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKHRpbWVTdGFtcCksIHdpbmRvdy5wZXJmb3JtYW5jZSgp
Lm5vdygpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgRXZlbnRUaW1p
bmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3QgRXZl
bnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXplRXZlbnRUaW1p
bmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQsIGV2ZW50LmNh
bmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5YjY3ZGZiNzc0
MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xhc3MgRE9NV2lu
ZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4g
Y3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBFdmVudFRpbWlu
Zyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKworICAgIHZvaWQg
ZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKK3By
aXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdT
dGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDBlMmE3N2I4ZGMzNTVlNjNlMzQ5NWEyYjE4OTJjNzU3NWFhODQ4ZWYuLjhkMTE3YWUyYTk2YjRm
M2VlZDhjMTZkYjg0NGY5YmNjZmM5MzE5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTUyOSw2
ICsxNTI5LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgICAg
IGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAgICB9KTsKIAor
ICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRv
Y3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAgIH0pOworCiAg
ICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9j
dW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5NTM2M2U1MWMw
YzU1NzYuLmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudC5o
IgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRp
b24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9ybWFuY2VUaW1p
bmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5nZXQoKTsKIH0K
IAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7CisgICAgaWYgKCFt
X2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0
ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkgY29uc3QKIHsK
ICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwogCisgICAgaWYg
KG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdElucHV0
VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5IEBAIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzQnlUeXBl
KGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKICAgICAgICAg
ZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBpZiAobV9maXJz
dElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwg
ImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJbnB1dFRpbWlu
Zyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVz
LmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcxLDYgKzE4Nyw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAg
ICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkgJiYgbmFt
ZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0SW5wdXRU
aW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBl
LmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1h
cmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0
TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpyZXBv
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxs
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXplKCkgPj0gMTUw
OworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdCdWZmZXJGdWxs
KCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7Cit9CisKK3Zv
aWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9vbCBjYW5jZWxh
YmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5nU3RhcnQsIG5v
dygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFwcGVuZChXVEZN
b3ZlKGVudHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVuZGluZ0V2ZW50
VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygpOworICAgIHdo
aWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJzdCgpOworICAg
ICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZl
bnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQoZW50cnktPm5h
bWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQoKHJlbmRlcmlu
Z1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAgICAgIGVudHJ5
LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9maXJzdElucHV0
VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xpY2siIHx8IGVu
dHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1vdXNlZG93biIp
IHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAgICAgICAgICAg
cXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJhdGlvbkluTXMg
Pj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAgICAgbV9ldmVu
dFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30KKwogdm9pZCBQ
ZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRp
bWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTM0Niw3
ICs0MDYsNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkm
IGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7CiAgICAgZm9y
IChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChvYnNlcnZlci0+
dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAgaWYgKG9ic2Vy
dmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNlcnZlci0+Y2Fu
T2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5
KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNm
ZWNmNGNiNjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4ZGRjM2IzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRpbWluZzsKIGNs
YXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsKIGNs
YXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1YmxpYzoKICAg
ICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJmb3JtYW5jZVRp
bWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMoKTsKKwogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBjb25zdDsKICAg
ICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0
IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgogCiAgICAgdm9p
ZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJzdElucHV0RGV0
ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQorCisgICAgYm9v
bCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRkRXZlbnRUaW1p
bmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBmaW5hbGl6ZUV2
ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJs
ZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKyAgICB2
b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9i
c2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1h
bmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBl
cmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZhdGU6CiAKICAg
ICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKICAg
ICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7CisgICAgbXV0YWJs
ZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1hbmNlLWludGVy
ZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQgbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGltZXIgbV9y
ZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0xMjksNiArMTQ2
LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJz
dENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2Vy
VGltaW5nOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1fZmlyc3RJbnB1
dFRpbWluZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQyODM5ZTA1Zjhi
Li42OGViNGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRvdWJsZSBET01I
aWdoUmVzVGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQg
Y2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtFbmFibGVkQXRS
dW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3Ry
aW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBE
T01TdHJpbmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9p
ZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7CisKKyAgICAv
LyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVuc2lvbnMKKyAg
ICBbRXhwb3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudENv
dW50cyBldmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9ybWFuY2VFbnRy
eT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJmMjczNzg5Li4z
YWRmNzNhNzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBlcmZvcm1hbmNl
RW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25hbDxQZXJmb3Jt
YW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhj
b25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09ICJldmVudCIp
CisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisKKyAgICBpZiAo
ZW50cnlUeXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBl
PihUeXBlOjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24i
KQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlvbik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkwYjIxY2JhNjE0
ZDc4Y2U4OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4YjliYzIzZWRiMmRm
MjcxMWY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQ2LDEz
ICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
cnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1fZHVyYXRpb24g
PSBkdXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAgTmF2aWdhdGlv
biAgPSAxIDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAgICAgICBNZWFz
dXJlICAgICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCi0gICAgICAg
IFBhaW50ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0LAorICAg
ICAgICBFdmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAgPSAxIDw8IDYK
ICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02NCw2ICs2
Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gVHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElucHV0KCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAgIHN0YXRpYyBi
b29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7CkBAIC03Niw3
ICs4MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5nIG1fbmFtZTsK
ICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91YmxlIG1fZHVyYXRp
b247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKKwor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmco
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSYgZW50
cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUg
cHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAg
IDogUGVyZm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAsIG1fcHJvY2Vz
c2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNz
aW5nRW5kKQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBtX2VudHJ5VHlw
ZShlbnRyeVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1JlZjxQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0
VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGF1dG8g
ZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZW50cnku
bmFtZSgpLCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRyeS5zdGFydFRp
bWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdFbmQoKSwgZW50
cnkuY2FuY2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGltaW5nLT5zZXRE
dXJhdGlvbihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1pbmc7Cit9CisK
K3N0YXRpYyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUg
fHwgIW5vZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVudCgpLmlzRnVs
bHlBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKK05vZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQpOworICAgIHJl
dHVybiBjYW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisKK0FTQ0lJTGl0
ZXJhbCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlucHV0Il9zIDog
ImV2ZW50Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4Y2IxYzVjMzJl
Njg1ZDRjY2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
IGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNz
aW5nRW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKHR5cGUsIFR5
cGU6OkV2ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2luZ0VuZCwgY2Fu
Y2VsYWJsZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVu
dFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVsdDsKKworICAg
IGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdTdGFy
dDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNz
aW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxh
YmxlOyB9CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVHlwZSYg
ZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3Vi
bGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopOworCitwcml2
YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50cnlUeXBlOyB9
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisgICAgZG91Ymxl
IG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9v
bCBtX2NhbmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVudFRhcmdldCog
bV90YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykKKyAgICBzdGF0
aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpIHsg
cmV0dXJuIGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsgfQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2VmNzRkNGQ0ZGVl
MTkxODM4ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5n
LyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hS
ZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVy
Zm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE5vZGU/IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9
OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKaW5k
ZXggN2FjYzY4NmI4Nzg4YjU2MThmMDdjNjJlODkyMTg1OGM0NDYxODExOS4uNjEyMjk3Y2I3ZTc1
NDcwYjgyMWU3MmMyZGMxZTllZGY3YzllNmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC0xMjUsNiArMTI1LDggQEAgVmVjdG9yPFN0cmluZz4g
UGVyZm9ybWFuY2VPYnNlcnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25D
b250ZXh0JgogICAgIFZlY3RvcjxTdHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJ
WE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdh
dGlvbiBUaW1pbmcgTGV2ZWwgMgogICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKKyAgICAgICAg
ImV2ZW50Il9zLAorICAgICAgICAiZmlyc3QtaW5wdXQiX3MsCiAgICAgICAgICJtYXJrIl9zLAog
ICAgICAgICAibWVhc3VyZSJfcwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VPYnNlcnZlci5oCmluZGV4IDA5N2U1YzMwNWMyMjUzYmY4NTNmMDliYTU1YjEzODVjN2QzM2M2
ZGEuLjI0YjJmZjY1YTUxYTFlYjkwZDgxOGRiMTAxMTIwNTE2OWE2MTFlYjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5oCkBAIC00Myw2ICs0Myw3IEBAIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgSW5pdCB7CiAgICAgICAgIE9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBl
bnRyeVR5cGVzOwogICAgICAgICBPcHRpb25hbDxTdHJpbmc+IHR5cGU7CisgICAgICAgIE9wdGlv
bmFsPERPTUhpZ2hSZXNUaW1lU3RhbXA+IGR1cmF0aW9uVGhyZXNob2xkOwogICAgIH07CiAKICAg
ICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0LCBSZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiYmIGNhbGxi
YWNrKQpAQCAtNjUsNiArNjYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlZ2lzdGVyZWQoKSBj
b25zdCB7IHJldHVybiBtX3JlZ2lzdGVyZWQ7IH0KICAgICBQZXJmb3JtYW5jZU9ic2VydmVyQ2Fs
bGJhY2smIGNhbGxiYWNrKCkgeyByZXR1cm4gbV9jYWxsYmFjay5nZXQoKTsgfQogCisgICAgYm9v
bCBjYW5PYnNlcnZlKGNvbnN0IFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSBjb25zdCB7IHJldHVy
biBlbnRyeS50eXBlKCkgIT0gUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6RXZlbnQgfHwgZW50cnku
ZHVyYXRpb24oKSA+PSBtX2R1cmF0aW9uVGhyZXNob2xkOyB9CisKIHByaXZhdGU6CiAgICAgUGVy
Zm9ybWFuY2VPYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNl
T2JzZXJ2ZXJDYWxsYmFjaz4mJik7CiAKQEAgLTczLDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBS
ZWY8UGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIE9wdGlvblNl
dDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBtX3R5cGVGaWx0ZXI7CiAgICAgYm9vbCBtX3JlZ2lz
dGVyZWQgeyBmYWxzZSB9OworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbV9kdXJhdGlvblRocmVz
aG9sZCB7IDEwNCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMTE5NjM1OWIxMTI5MTcyOTg5
MTVmNmZjNThlY2Y1ODM4OTUyZjhiYi4uODIwOTFjNTQwZDg0MDBhOTU2NzgwNGU1Y2IyZWYzYzRm
NmEzMzc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRs
CkBAIC0yNSw2ICsyNSw4IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5j
ZS10aW1lbGluZS8KIAordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwogWwog
ICAgIEN1c3RvbUlzUmVhY2hhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VU
aW1lbGluZSwKQEAgLTQyLDQgKzQ0LDUgQEAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZl
ckluaXQgewogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKICAgICBET01TdHJp
bmcgdHlwZTsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIGR1cmF0aW9uVGhyZXNob2xkOwogfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjZjM2NGY3NTZmMmM0YTQ4OWZiMzgyZWNmOGRjYTJiNDliZTQ2MzBjLi4xOGMwMzUw
YjRjMWFmNDVhN2QzNzMzMWQ0YWNjYjNhZDc5YzJiMDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMjAtMDctMjkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgRXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIwLTA3LTI4ICBSeWFuIEhhZGRh
ZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNjQ5MzAp
OiBbIGlPUyBkZWJ1ZyB3azIgXSB3ZWJydGMvdmlkZW8uaHRtbCBpcyBhIGNvbnN0YW50IGZhaWx1
cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDE3MjEzY2U0ZWQ0YjM1YmU3ZWM1
ZWUyNjU5ZjY1Njg2MTViMjI2YTcuLmIwYmViNDY5NjMyOTllMTRlYzE1ZTBjZjdiZDY0ZGViZjdi
MDJjNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNiBAQAor
MjAyMC0wNy0yOSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBFdmVudFRpbWluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE0Njc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNs
aWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1
cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9kYmxjbGljay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2
ZW50LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXpl
cm8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJl
dGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRv
bS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRo
cmVzaG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2Vkb3duLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2VlbnRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
bGVhdmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNldXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1v
YnNlcnZlLWZpcnN0SW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJlbnRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcm91dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJ1cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFt
ZS1jaGlsZGZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzeW5jIGNsaWNrT25FbGVtZW50QW5kRGVsYXkpOgorICAgICAgICAobWFpblRo
cmVhZEJ1c3kpOgorICAgICAgICAodmVyaWZ5RXZlbnQpOgorICAgICAgICAodmVyaWZ5Q2xpY2tF
dmVudCk6CisgICAgICAgICh3YWl0KToKKyAgICAgICAgKGFzeW5jIGNvbnN0KToKKyAgICAgICAg
KGFwcGx5QWN0aW9uKToKKyAgICAgICAgKHJlcXVpcmVzTGlzdGVuZXIpOgorICAgICAgICAobm90
Q2FuY2VsYWJsZSk6CisgICAgICAgICh0ZXN0Q291bnRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5OiBBZGRlZC4KKyAg
ICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jl
dHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndp
bmRvdy5qczogQWRkZWQuCisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlv
bnMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy90b0pTT04tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAyMC0wNy0y
OCAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3Jp
ZF0gRml4ICdhbGlnbi1jb250ZW50JyBpbiBncmlkIGNvbnRhaW5lcnMgd2l0aCBzbWFsbCBjb250
ZW50IGFyZWEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMv
aW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggMTU2ZDgwMGZiMDRiZWEzMTg5ZDY0
NDRkYzY1ZDYwZDk0YjM5NGE1Mi4uNTNlMDBjZTg0MzI5NGJlNGVhMzJjYjU1ZWRhN2EzN2NmZTVk
NzMxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE4MCw2ICsxODAsOCBAQAogICAgICJ3
ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhIjogImltcG9ydCIsIAogICAgICJ3ZWIt
cGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL0dvb2dsZSI6ICJza2lwIiwgCiAgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9lbnRyaWVzLWFwaSI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmciOiAiaW1wb3J0IiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnRzb3VyY2UiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9leHQteGh0bWwt
cHViaWQiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZmVhdHVyZS1wb2xpY3ki
OiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
YTI3ZmI2MWMzMTBkOTFiNjI5ZmYwZDdiMTljZDAxY2U0NjllNjQ1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvTUVUQS55bWwKQEAgLTAsMCArMSwzIEBACitzcGVjOiBodHRwczovL2dpdGh1Yi5jb20vV0lD
Ry9ldmVudC10aW1pbmcKK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gbnBtMQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZlOTU2NmExOWVjZDJjMDY4MTE3OWRlMDdlM2JjZjExMjg1ZTIzNjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQor
CitGQUlMIEV2ZW50IFRpbWluZyBhdXhjbGljay4gYXNzZXJ0X2VxdWFsczogTm8gZXZlbnRzIHll
dC4gZXhwZWN0ZWQgKG51bWJlcikgMCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9hdXhjbGljay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODgz
MjhlMmFhMzY3MTVlODE2NWM2ZWIyNzdiZTQ5ZjdkMTg5NjU1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YXV4Y2xpY2suaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBhdXhjbGljay48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJn
ZXQnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ2F1eGNsaWNrJyk7CisgIH0pCis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTFiMWZhYjYwNjY2YTk2OWJkMmE0ODMzYTY4MTFlODg1YWVkNTM1NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2Vy
dmVyIGJ1ZmZlcmluZyBpbmRlcGVuZGVudCBvZiBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5k
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YmU3NjYzYzExNGQxMDU1ODY2
YzU5ZjA3NWZmNTM1MmFjZmNkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVy
YXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIGFuZCBkdXJhdGlvblRocmVzaG9sZDwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdt
eURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDMwIGFuZCBidWZm
ZXJlZCBmbGFnLgorICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZTEgPT4geworICAg
IC8vIEFkZCBhIHNsb3cgY2xpY2sgZXZlbnQgYW5kIG1ha2Ugc3VyZSBpdCdzIGRpc3BhdGNoZWQg
dG8gb2JzZXJ2ZXJzLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUyID0+IHsK
KyAgICAgIC8vIE9ic2VydmVyIHRvIGF3YWl0IHVudGlsIGV2ZW50IGVudHJ5IGlzIGRpc3BhdGNo
ZWQuCisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoKSA9PiB7CisgICAgICAgIHJlc29s
dmUyKCk7CisgICAgICB9KS5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9s
ZDogMTZ9KTsKKyAgICAgIGF3YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXkoJ215RGl2JywgMzAp
OworICAgIH0pOworICAgIGNvbnN0IGFmdGVyRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygp
OworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGxpc3QgPT4geworICAg
ICAgY29uc3QgbW91c2VEb3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7
CisgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKyAg
ICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEsICdTaG91bGQgb25seSBvYnNl
cnZlIDEgY2xpY2shJyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKG1vdXNlRG93bnNbMF0u
cHJvY2Vzc2luZ1N0YXJ0LCBhZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICdUaGUgZW50cnkgc2hv
dWxkIG5vdCBiZSB0aGUgZmlyc3QgY2xpY2shIScpOworICAgICAgdmVyaWZ5Q2xpY2tFdmVudCht
b3VzZURvd25zWzBdLCAnbXlEaXYnLCBmYWxzZSAvKiBpc0ZpcnN0ICovLCAxNiAvKiBtaW5EdXJh
dGlvbiovKTsKKyAgICAgIHJlc29sdmUxKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVu
dCcsIGR1cmF0aW9uVGhyZXNob2xkOiAxNiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICAvLyBUaGlz
IHNob3VsZCBiZSB0aGUgb25seSBjbGljayBvYnNlcnZlZCBzaW5jZSB0aGUgb3RoZXIgb25lIHdv
dWxkIG5vdCBiZSBidWZmZXJlZC4KKyAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdt
eURpdicsIDMwKTsKKyAgfSk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBidWZmZXJpbmcgaW5k
ZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNzYwNGMyOGUxMmYzOTgwNzBmYTJlZmQ4NzkxM2M1NjM1OTRm
MjBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworSGFybmVzcyBFcnJvciAoVElN
RU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRo
IGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBUaW1pbmcgZW50cmllcyBUZXN0IHRp
bWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFn
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2VlMTUyYmU5Mzg4ZmE4NTkzYzNjMmE4NTk4MWE3Y2IwZWQ3NDky
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciBzZWVzIGVudHJpZXMgd2l0aCBidWZm
ZXJlZCBmbGFnPC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2sn
IGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorICBsZXQgZmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgbGV0IGV2ZW50U2VlbiA9
IGZhbHNlOworICBhc3luY190ZXN0KHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQu
Jyk7CisgICAgY29uc3QgdmFsaWRhdGVFbnRyeSA9IHQuc3RlcF9mdW5jKGVudHJ5ID0+IHsKKyAg
ICAgIGlmIChlbnRyeS5lbnRyeVR5cGUgPT09ICdmaXJzdC1pbnB1dCcpCisgICAgICAgIGZpcnN0
SW5wdXRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UgaWYgKGVudHJ5LmVudHJ5VHlwZSA9PT0gJ2V2
ZW50JykKKyAgICAgICAgZXZlbnRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UKKyAgICAgICAgYXNz
ZXJ0X3VucmVhY2hlZCgnU2hvdWxkIG9ubHkgb2JzZXJ2ZSBFdmVudCBUaW1pbmcgZW50cmllcyEn
KTsKKyAgICB9KTsKKyAgICAvLyBGaXJzdCBvYnNlcnZlciBjcmVhdGVzIHNlY29uZCBpbiBjYWxs
YmFjayB0byBlbnN1cmUgdGhlIGVudHJ5IGhhcyBiZWVuIGRpc3BhdGNoZWQgYnkgdGhlIHRpbWUK
KyAgICAvLyB0aGUgc2Vjb25kIG9ic2VydmVyIGJlZ2lucyBvYnNlcnZpbmcuCisgICAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QsIG9icykgPT4geworICAgICAgbGlzdC5nZXRFbnRyaWVz
KCkuZm9yRWFjaCh2YWxpZGF0ZUVudHJ5KTsKKyAgICAgIGlmICghZmlyc3RJbnB1dFNlZW4gfHwg
IWV2ZW50U2VlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgICBvYnMuZGlzY29ubmVjdCgpOwor
ICAgICAgZmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgICAgIGV2ZW50U2VlbiA9IGZhbHNlOwor
ICAgICAgLy8gU2Vjb25kIG9ic2VydmVyIHJlcXVpcmVzICdidWZmZXJlZDogdHJ1ZScgdG8gc2Vl
IGVudHJpZXMuCisgICAgICBjb25zdCBidWZmZXJlZE9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygp
LmZvckVhY2godmFsaWRhdGVFbnRyeSk7CisgICAgICAgICAgaWYgKGZpcnN0SW5wdXRTZWVuICYm
IGV2ZW50U2VlbikKKyAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7CisgICAgICBidWZm
ZXJlZE9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJldmVudCIsIGJ1ZmZlcmVkOiB0cnVlfSk7Cisg
ICAgICBidWZmZXJlZE9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICdmaXJzdC1pbnB1dCcsIGJ1ZmZl
cmVkOiB0cnVlfSk7CisgICAgfSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCcsICdmaXJz
dC1pbnB1dCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9LCAiUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBU
aW1pbmcgZW50cmllcyIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9jbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRhYjliZGFhY2M2
MzFhNzNmZGFiODkwNmExZTk4NWQ1ZWI2NTg1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBjbGljay4gVGVz
dCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Ns
aWNrLXRpbWluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJmOTcxZDJlN2QzMTFkMDVkMGVh
Mjg1MTU4YjQ0NTg3OGNlMTQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFT
UyBFdmVudCBUaW1pbmc6IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4gCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Ns
aWNrLXRpbWluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ5NDNmOTU5
MGE5ZjJkZjgzZWU4NDE1MDM4NzhmMWU0NTUxMDdhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNr
LXRpbWluZy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBjb21wYXJlIHRpbWlu
ZyBvZiB0d28gbG9uZyBjbGlja3MKKzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVy
YXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgLyogVGltZWxpbmU6CisgICAgIE9ic2VydmVyIHN0YXJ0
cworICAgICBMb25nIGNsaWNrIDEKKyAgICAgTG9uZyBjbGljayAyCisgICAgIE9uY2UgdHdvIGNs
aWNrcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYnkgb2JzZXJ2ZXIsIGNvbXBhcmUgdGhlIHRpbWVzdGFt
cHMuCisgICovCisgIGxldCB0aW1lQmVmb3JlRmlyc3RDbGljazsKKyAgbGV0IHRpbWVBZnRlckZp
cnN0Q2xpY2s7CisgIGxldCB0aW1lQWZ0ZXJTZWNvbmRDbGljazsKKyAgbGV0IG9ic2VydmVkRW50
cmllcyA9IFtdOworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVt
ZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qg
c3VwcG9ydGVkLicpOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVu
dHJ5TGlzdCA9PiB7CisgICAgICBvYnNlcnZlZEVudHJpZXMgPSBvYnNlcnZlZEVudHJpZXMuY29u
Y2F0KGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICBlbnRyeSA9PiBlbnRy
eS5uYW1lID09PSAnbW91c2Vkb3duJykpOworICAgICAgaWYgKG9ic2VydmVkRW50cmllcy5sZW5n
dGggPCAyKQorICAgICAgICByZXR1cm47CisKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVC
ZWZvcmVGaXJzdENsaWNrLCB1bmRlZmluZWQpOworICAgICAgYXNzZXJ0X25vdF9lcXVhbHModGlt
ZUFmdGVyRmlyc3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRp
bWVBZnRlclNlY29uZENsaWNrLCB1bmRlZmluZWQpOworICAgICAgLy8gRmlyc3QgY2xpY2suCisg
ICAgICB2ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50cmllc1swXSwgJ2J1dHRvbicpOworICAg
ICAgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1swXS5wcm9jZXNzaW5n
U3RhcnQsCisgICAgICAgICAgdGltZUJlZm9yZUZpcnN0Q2xpY2ssCisgICAgICAgICAgdGltZUFm
dGVyRmlyc3RDbGljaywKKyAgICAgICAgICAiRmlyc3QgY2xpY2sncyBwcm9jZXNzaW5nU3RhcnQi
KTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVyRmlyc3RDbGljaywgb2JzZXJ2
ZWRFbnRyaWVzWzBdLnN0YXJ0VGltZSwKKyAgICAgICAgICAidGltZUFmdGVyRmlyc3RDbGljayBz
aG91bGQgYmUgbGF0ZXIgdGhhbiBmaXJzdCBjbGljaydzIHN0YXJ0IHRpbWUuIik7CisKKyAgICAg
IC8vIFNlY29uZCBjbGljay4KKyAgICAgIHZlcmlmeUNsaWNrRXZlbnQob2JzZXJ2ZWRFbnRyaWVz
WzFdLCAnYnV0dG9uJyk7CisgICAgICBhc3NlcnRfYmV0d2Vlbl9leGNsdXNpdmUob2JzZXJ2ZWRF
bnRyaWVzWzFdLnByb2Nlc3NpbmdTdGFydCwKKyAgICAgICAgICB0aW1lQWZ0ZXJGaXJzdENsaWNr
LAorICAgICAgICAgIHRpbWVBZnRlclNlY29uZENsaWNrLAorICAgICAgICAgICJTZWNvbmQgY2xp
Y2sncyBwcm9jZXNzaW5nU3RhcnQiKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFm
dGVyU2Vjb25kQ2xpY2ssIG9ic2VydmVkRW50cmllc1sxXS5zdGFydFRpbWUsCisgICAgICAgICAg
InRpbWVBZnRlclNlY29uZENsaWNrIHNob3VsZCBiZSBsYXRlciB0aGFuIHNlY29uZCBjbGljaydz
IHN0YXJ0IHRpbWUuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlwZTog
J2V2ZW50J30pOworICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7
CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4oICgpID0+IHsKKyAgICAgIHRp
bWVBZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIGNsaWNrQW5kQmxv
Y2tNYWluKCdidXR0b24nKS50aGVuKCgpID0+IHsKKyAgICAgICAgdGltZUFmdGVyU2Vjb25kQ2xp
Y2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIH0pCisgICAgfSk7CisgIH0sICJFdmVudCBU
aW1pbmc6IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNlZWNhYmRmMTg3
OGM4ZjBmNzc3NWIwYjBkNTg3Y2E5MDkwOWZlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0
bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY2xpY2suPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwv
ZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0
ZXN0RXZlbnRUeXBlKHQsICdjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjBkZWM3YmVmZjYzNDA4MDlmMDcwZWNiYzFiMmIzODc3MGUxMzJlMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK01lbnUKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJ
TUVPVVQgRXZlbnQgVGltaW5nIGNvbnRleHRtZW51LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWEw
NWEzYjE2MzllMzlkYzY2ZmJkZTgzZjE2MTBhZmZlZjQ3NTllCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y29udGV4dG1lbnUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBjb250ZXh0bWVu
dS48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlk
PSd0YXJnZXQnIGNvbnRleHRtZW51PSJteW1lbnUiPk1lbnUKKzxtZW51IHR5cGU9ImNvbnRleHQi
IGlkPSJteW1lbnUiPgorICA8bWVudWl0ZW0gbGFiZWw9ImxhYmVsIj48L21lbnVpdGVtPgorPC9t
ZW51PgorPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ2NvbnRleHRtZW51Jyk7CisgIH0pCis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZy
YW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzJmZGNlZWNkOTk0NzY5MjQzZmYxYmFkMTA3
OGY3ZjdjZDlmM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50ICAKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nOiBl
bnRyaWVzIHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS4gVGVzdCB0
aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGZiZDI4OTdhZDRiYjViZmQ0ZWRlYjJjZGMxN2FmYzQzOGUzNzk2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw5NSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKworPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9dXRmLTggLz4K
KyAgPHRpdGxlPkV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2YWJsZSBieSBp
dHMgb3duIGZyYW1lLjwvdGl0bGU+CisgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgorPC9oZWFkPgorCis8Ym9keT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAn
Y2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPGlmcmFtZSBpZD0naWZyYW1lJyBzcmM9cmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxk
ZnJhbWUuaHRtbD48L2lmcmFtZT4KKzxzY3JpcHQ+CisgIGxldCBjbGlja1RpbWVNaW47CisgIGxl
dCBjbGlja0RvbmU7CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKGVudHJpZXMpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiT25seSAxIGVudHJ5IHNob3VsZCBi
ZSByZWNlaXZlZCIpOworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICB2ZXJpZnlD
bGlja0V2ZW50KGVudHJ5LCAnYnV0dG9uJywgdHJ1ZSk7CisKKyAgICBhc3NlcnRfbGVzc190aGFu
KGVudHJ5LnByb2Nlc3NpbmdTdGFydCwgY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3Mg
cHJvY2Vzc2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIGNsaWNrRG9uZS4iKTsKKyAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKGVudHJ5LnN0YXJ0VGltZSwgY2xpY2tUaW1lTWluLAorICAgICAgICAi
VGhlIGVudHJ5J3Mgc3RhcnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiBjbGlja1RpbWVNaW4u
Iik7CisgIH0KKworICBmdW5jdGlvbiB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJh
bWVEYXRhKSB7CisgICAgaWYgKGNoaWxkRnJhbWVEYXRhID09PSAiZmFpbGVkIikgeworICAgICAg
YXNzZXJ0X3VucmVhY2hlZCgiRGlkIG5vdCByZWNlaXZlIGV4YWN0bHkgb25lIGVudHJ5IGZyb20g
Y2hpbGQgYXMgZXhwZWN0ZWQiKTsKKyAgICB9CisgICAgLy8gfGNoaWxkRnJhbWVEYXRhfCBoYXMg
cHJvcGVydGllcyB3aXRoIHRoZSBzYW1lIG5hbWVzIGFzIGl0cworICAgIC8vIFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcgY291bnRlcnBhcnQuCisgICAgdmVyaWZ5Q2xpY2tFdmVudChjaGlsZEZyYW1l
RGF0YSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhjaGlsZEZyYW1lRGF0YS50YXJnZXQsICdp
ZnJhbWVfZGl2Jyk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGNoaWxkRnJhbWVEYXRhLnByb2Nl
c3NpbmdTdGFydCwgY2hpbGRGcmFtZURhdGEuY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5
J3MgcHJvY2Vzc2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIHRoYW4gdGhlIGNoaWxkIGZyYW1l
J3MgY2xpY2tEb25lLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oY2hpbGRGcmFtZURhdGEu
c3RhcnRUaW1lLCBjaGlsZEZyYW1lRGF0YS5jbGlja1RpbWVNaW4sCisgICAgICAgICJUaGUgZW50
cnkncyBzdGFydCB0aW1lIHNob3VsZCBiZSBsYXRlciB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIFwK
KyAgICAgICAgY2xpY2tUaW1lTWluLiIpOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LCAiRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKyAgICBjbGlja1RpbWVNaW4gPSBw
ZXJmb3JtYW5jZS5ub3coKTsKKyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAg
ICBjb25zdCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJpZXMgPT4geworICAgICAg
ICBjb25zdCBtb3VzZURvd25zID0gZW50cmllcy5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24n
KTsKKyAgICAgICAgLy8gSWdub3JlIHRoZSBjYWxsYmFjayBpZiB0aGVyZSB3ZXJlIG5vIG1vdXNl
ZG93biBlbnRyaWVzLgorICAgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwK
KyAgICAgICAgICAgICJPYnNlcnZlciBvZiBtYWluIGZyYW1lcyBzaG91bGQgb25seSBjYXB0dXJl
IG1haW4tZnJhbWUgZXZlbnQtdGltaW5nIGVudHJpZXMiKTsKKyAgICAgICAgdmFsaWRhdGVFbnRy
aWVzKG1vdXNlRG93bnMpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAg
ICAgIHJlc29sdmUoKTsKKyAgICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAg
fSk7CisgICAgYXdhaXQgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIGNsaWNrRG9u
ZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKyAgICBj
b25zdCBjaGlsZEZyYW1lRW50cmllc1Byb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwgKGV2ZW50KSA9PiB7Cisg
ICAgICAgIHJlc29sdmUoZXZlbnQuZGF0YSk7CisgICAgICB9LCBmYWxzZSk7CisgICAgfSk7CisK
KyAgICBsZXQgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpOworICAg
IGNvbnN0IGlmcmFtZVggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykub2Zmc2V0
TGVmdDsKKyAgICBjb25zdCBpZnJhbWVZID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFt
ZScpLm9mZnNldFRvcDsKKyAgICAvLyBUYXAgb24gdGhlIGlmcmFtZSwgd2l0aCBhbiBvZmZzZXQg
b2YgMTAgdG8gdGFyZ2V0IHRoZSBkaXYgaW5zaWRlIGl0LgorICAgIGNvbnN0IGFjdGlvbnMgPSBu
ZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpCisgICAgICAgIC5wb2ludGVyTW92ZShpZnJhbWVYICsg
MTAsIGlmcmFtZVkgKyAxMCkKKyAgICAgICAgLnBvaW50ZXJEb3duKCkKKyAgICAgICAgLnBvaW50
ZXJVcCgpCisgICAgYWN0aW9ucy5zZW5kKCk7CisgICAgY29uc3QgY2hpbGRGcmFtZURhdGEgPSBh
d2FpdCBjaGlsZEZyYW1lRW50cmllc1Byb21pc2U7CisgICAgdC5zdGVwKCgpID0+IHsKKyAgICAg
IHZhbGlkYXRlQ2hpbGRGcmFtZUVudHJpZXMoY2hpbGRGcmFtZURhdGEpOworICAgIH0pOworICB9
LCAiRXZlbnQgVGltaW5nOiBlbnRyaWVzIHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRz
IG93biBmcmFtZS4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9kYmxjbGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2MwZTQzOTg1NjUyNzY3N2Q5ZTZkZmYyNzQ2ODk3Y2UzNmI0MjgwMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2RibGNsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFy
Z2V0IQorQ2xpY2sgbWUKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIGRibGNsaWNrLiBUZXN0IHRpbWVkIG91dAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kYmxjbGljay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNmY2Zk
MzBkZTA1MWFlNzIyN2U4NDNmMjdlMmIyN2UwMTdjOTUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJs
Y2xpY2suaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBkYmxjbGljay48L3RpdGxl
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFy
Z2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAg
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdk
YmxjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25u
ZWN0LXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzQ4Y2QwMjk1NmQxMThlMTdmNjg2NDYyMGI2Yzg1Yzk1MjU5NDA5MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBFdmVudCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwg
ZW50cnkudGFyZ2V0IHJldHVybnMgbnVsbC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFy
Z2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkNjc3MGQzMTg4
ZGNiNWIyMzgwNmQxYWIwM2Q3N2U3NmU0ZTEzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25u
ZWN0LXRhcmdldC5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48
L3NjcmlwdD4KKworPGJ1dHRvbiBpZD0ndGhlX2J1dHRvbic+Q2xpY2tNZTwvYnV0dG9uPgorCis8
c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdp
bmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0
ZWQuJyk7CisgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVw
X2Z1bmNfZG9uZSgoZW50cnlMaXN0KSA9PiB7CisgICAgY29uc3QgZW50cmllcyA9IGVudHJ5TGlz
dC5nZXRFbnRyaWVzKCkuZmlsdGVyKGUgPT4gZS5uYW1lID09PSAnbW91c2Vkb3duJyk7CisgICAg
aWYgKGVudHJpZXMubGVuZ3RoID09PSAwKQorICAgICAgcmV0dXJuOworICAgIC8vIFRoZXJlIG11
c3Qgb25seSBiZSBvbmUgY2xpY2sgZW50cnkuCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSk7CisgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICAgIC8vIFRoaXMgY2hl
Y2tzIHRoYXQgZW50cnkudGFyZ2V0IHJldHVybnMgdGhlIGNvcnJlY3QgYnV0dG9uIE5vZGUuCisg
ICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwgJ3RoZV9idXR0b24nLCB0cnVlKTsKKyAgICBjb25z
dCBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGhlX2J1dHRvbicpOworICAgIGJ1
dHRvbi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGJ1dHRvbik7CisgICAgLy8gQWZ0ZXIgcmVtb3Zp
bmcgdGhlIGJ1dHRvbiwgZW50cnkudGFyZ2V0IHNob3VsZCBub3cgcmV0dXJuIG51bGwuCisgICAg
YXNzZXJ0X2VxdWFscyhlbnRyeS50YXJnZXQsIG51bGwpOworICB9KSk7CisgIG9ic2VydmVyLm9i
c2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICBjbGlja0FuZEJsb2NrTWFpbigndGhl
X2J1dHRvbicpOworfSwgIkV2ZW50IFRpbWluZzogd2hlbiB0YXJnZXQgaXMgZGlzY29ubmVjdGVk
LCBlbnRyeS50YXJnZXQgcmV0dXJucyBudWxsLiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291
bnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2RkMTExY2RiNmNmMGZhZDU3MThiMjNmZDFm
OTkzNTI4Yzk2ZjNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0NsaWNrIG1lCitDbGljayBtZQorCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmc6IGV2
ZW50Q291bnRzLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3Vu
dHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNjU2M2I5NTgx
OGFjNTZhZGJjMDZjOTM3NDc5ODcwMGVkNDEyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1j
bGljay1jb3VudHMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3Vu
dHMuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9
J2Rpdic+Q2xpY2sgbWU8L2Rpdj4KKzxidXR0b24gaWQ9J2J1dHRvbic+Q2xpY2sgbWU8L2J1dHRv
bj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdCggdCA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVu
dHMod2luZG93LkV2ZW50Q291bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0IHN1cHBvcnRlZCIpOwor
ICAgIGZ1bmN0aW9uIHRlc3RDbGlja3MoZXhwZWN0ZWRDb3VudCwgcmVzb2x2ZSkgeworICAgICAg
Y29uc3QgY2xpY2tDb3VudCA9IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgnY2xpY2snKTsK
KyAgICAgIGlmIChjbGlja0NvdW50IDwgZXhwZWN0ZWRDb3VudCkgeworICAgICAgICB0LnN0ZXBf
dGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQs
IHJlc29sdmUpOworICAgICAgICB9LCA1KTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAg
ICAgYXNzZXJ0X2VxdWFscyhjbGlja0NvdW50LCBleHBlY3RlZENvdW50LCdJbmNvcnJlY3QgY2xp
Y2sgY291bnQuJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRz
LmdldCgnbW91c2Vkb3duJyksIGV4cGVjdGVkQ291bnQsICdJbmNvcnJlY3QgbW91c2Vkb3duIGNv
dW50Jyk7CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldCgn
bW91c2V1cCcpLCBleHBlY3RlZENvdW50LCAnSW5jb3JyZWN0IG1vdXNldXAgY291bnQuJyk7Cisg
ICAgICByZXNvbHZlKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIHByb21pc2VDbGlja3MoZXhwZWN0
ZWRDb3VudCkgeworICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAg
ICB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUpCisgICAgICB9KTsKKyAgICB9CisK
KyAgICByZXR1cm4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Rp
dicpKS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDEpOworICAgIH0p
LnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdidXR0b24nKSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1
cm4gcHJvbWlzZUNsaWNrcygyKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiB0
ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2JykpOworICAgIH0p
LnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHByb21pc2VDbGlja3MoMyk7CisgICAgfSk7Cisg
IH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OWM5ZGMyNDE5NGM1YzA0NTMzN2QwMDc3YjJhZGU4MGQwOTY5MzIxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZXZlbnQtY291bnRzLXplcm8tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitGQUlM
IEV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuIGFzc2VydF9lcXVhbHM6IFRoZXJlIGlzIGEgbm9u
emVybyB2YWx1ZSBmb3IgYXV4Y2xpY2sgZXhwZWN0ZWQgKG51bWJlcikgMCBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
ZXZlbnQtY291bnRzLXplcm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM5MGRkNjkxMzhmMzUxOTc3NzQy
MzlkZmMxMmY1NTRjOTI4NGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8u
aHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMuPC90aXRsZT4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHRlc3QoKCkg
PT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2ZW50IENv
dW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgICBjb25zdCBldmVudFR5cGVzID0gWworICAgICAg
ICAnYXV4Y2xpY2snLAorICAgICAgICAnY2xpY2snLAorICAgICAgICAnY29udGV4dG1lbnUnLAor
ICAgICAgICAnZGJsY2xpY2snLAorICAgICAgICAnbW91c2Vkb3duJywKKyAgICAgICAgJ21vdXNl
ZW50ZXInLAorICAgICAgICAnbW91c2VsZWF2ZScsCisgICAgICAgICdtb3VzZW91dCcsCisgICAg
ICAgICdtb3VzZW92ZXInLAorICAgICAgICAnbW91c2V1cCcsCisgICAgICAgICdwb2ludGVyb3Zl
cicsCisgICAgICAgICdwb2ludGVyZW50ZXInLAorICAgICAgICAncG9pbnRlcmRvd24nLAorICAg
ICAgICAncG9pbnRlcnVwJywKKyAgICAgICAgJ3BvaW50ZXJjYW5jZWwnLAorICAgICAgICAncG9p
bnRlcm91dCcsCisgICAgICAgICdwb2ludGVybGVhdmUnLAorICAgICAgICAnZ290cG9pbnRlcmNh
cHR1cmUnLAorICAgICAgICAnbG9zdHBvaW50ZXJjYXB0dXJlJywKKyAgICAgICAgJ3RvdWNoc3Rh
cnQnLAorICAgICAgICAndG91Y2hlbmQnLAorICAgICAgICAndG91Y2hjYW5jZWwnLAorICAgICAg
ICAna2V5ZG93bicsCisgICAgICAgICdrZXlwcmVzcycsCisgICAgICAgICdrZXl1cCcsCisgICAg
ICAgICdiZWZvcmVpbnB1dCcsCisgICAgICAgICdpbnB1dCcsCisgICAgICAgICdjb21wb3NpdGlv
bnN0YXJ0JywKKyAgICAgICAgJ2NvbXBvc2l0aW9udXBkYXRlJywKKyAgICAgICAgJ2NvbXBvc2l0
aW9uZW5kJywKKyAgICAgICAgJ2RyYWdzdGFydCcsCisgICAgICAgICdkcmFnZW5kJywKKyAgICAg
ICAgJ2RyYWdlbnRlcicsCisgICAgICAgIC8vICdkcmFnZXhpdCc/IFVuY2xlYXIgaWYgaXQgd2ls
bCBiZSByZW1vdmVkIGZyb20gSFRNTCBzcGVjIG9yIG5vdC4KKyAgICAgICAgJ2RyYWdsZWF2ZScs
CisgICAgICAgICdkcmFnb3ZlcicsCisgICAgICAgICdkcm9wJworICAgIF07CisgICAgZXZlbnRU
eXBlcy5mb3JFYWNoKHR5cGUgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5l
dmVudENvdW50cy5nZXQodHlwZSksIDAsICdUaGVyZSBpcyBhIG5vbnplcm8gdmFsdWUgZm9yICcg
KyB0eXBlKTsKKyAgICB9KQorICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3Vu
dHMuc2l6ZSwgZXZlbnRUeXBlcy5sZW5ndGgsCisgICAgICAgICdUaGUgc2l6ZSBvZiBwZXJmb3Jt
YW5jZS5ldmVudENvdW50cyBpcyBpbmNvcnJlY3QuJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFy
Z2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWJkMWFlZDJhYmIzNmI3NDY0MThlNWY0OGNi
YzA1ODgyN2Y4OTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGFyZ2V0IHJlcG9ydHMg
dGhlIGxhc3QgRXZlbnQgVGFyZ2V0LCBpLmUuIG5vdGhpbmcgZnJvbSBzaGFkb3cgRE9NLiAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjljMTE0ZjM1NmI1MWI4NjliOTU1MDgzMDgxNWNiNmU2OGIzYzdhNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVy
LXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWlu
Zy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8Y3VzdG9tLWJ1dHRvbiBpZD0nY3VzdG9tX2J1
dHRvbic+PC9jdXN0b20tYnV0dG9uPgorCis8c2NyaXB0PgorYXN5bmNfdGVzdChmdW5jdGlvbih0
KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAn
RXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGxldCBpbm5lckJ1dHRvbkNsaWNr
ZWQgPSBmYWxzZTsKKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tYnV0dG9uJywgY2xh
c3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CisgICAg
ICB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgICB0aGlzLnNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gYDxidXR0b24gaWQ9J2lubmVyX2J1dHRvbl9pZCc+Q2xpY2sgbWU8L2J1
dHRvbj5gOworICAgICAgdGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdpbm5lcl9idXR0
b25faWQnKS5vbmNsaWNrID0gKCkgPT4geworICAgICAgICBpbm5lckJ1dHRvbkNsaWNrZWQgPSB0
cnVlOworICAgICAgfTsKKyAgICB9CisgIH0pOworICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsKKyAgICBjb25zdCBl
bnRyaWVzID0gZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgIGlm
IChlbnRyaWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKworICAgIC8vIFRoZXJlIG11
c3Qgb25seSBiZSBvbmUgbW91c2Vkb3duIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworICAgIHZlcmlmeUNsaWNrRXZlbnQoZW50cmllc1swXSwgJ2N1c3RvbV9i
dXR0b24nLCB0cnVlKTsKKyAgICBhc3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQpOworICAg
IHQuZG9uZSgpCisgIH0pKTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVu
dCddfSk7CisgIGNsaWNrQW5kQmxvY2tNYWluKCdjdXN0b21fYnV0dG9uJyk7Cit9LCAiRXZlbnQg
VGltaW5nOiB0YXJnZXQgcmVwb3J0cyB0aGUgbGFzdCBFdmVudCBUYXJnZXQsIGkuZS4gbm90aGlu
ZyBmcm9tIHNoYWRvdyBET00uIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Zp
cnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRv
bS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1MmFhN2YyNjU2Zjg4ODdkNTdjNDc4N2E2MjNk
NmQyYmQ5ODM1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGVzdCBmaXJz
dCBpbnB1dCBvbiBzaGFkb3cgRE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93
LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZWI2
NTk3NTUyZmI5ZWM0OGEwYTczM2E0ZDY3ZjIyYjQyN2Y3NjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9m
aXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcz48L3NjcmlwdD4KKworPGJvZHk+Cis8ZGl2IGlkPSdjb250YWluZXInPgorICA8Y3VzdG9t
LWJ1dHRvbiBpZD0nY3VzdG9tX2J1dHRvbic+PC9jdXN0b20tYnV0dG9uPgorPC9kaXY+Cis8c2Ny
aXB0PgorcHJvbWlzZV90ZXN0KHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVy
Zm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOwor
ICBsZXQgaW5uZXJCdXR0b25DbGlja2VkID0gZmFsc2U7CisgIGN1c3RvbUVsZW1lbnRzLmRlZmlu
ZSgnY3VzdG9tLWJ1dHRvbicsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgeworICAgIGNvbm5l
Y3RlZENhbGxiYWNrKCkgeworICAgICAgdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30p
OworICAgICAgdGhpcy5zaGFkb3dSb290LmlubmVySFRNTCA9IGA8YnV0dG9uIGlkPSdpbm5lcl9i
dXR0b25faWQnPkNsaWNrIG1lPC9idXR0b24+YDsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5nZXRF
bGVtZW50QnlJZCgnaW5uZXJfYnV0dG9uX2lkJykub25tb3VzZWRvd24gPSAoKSA9PiB7CisgICAg
ICAgIGlubmVyQnV0dG9uQ2xpY2tlZCA9IHRydWU7CisgICAgICB9OworICAgIH0KKyAgfSk7Cisg
IGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5l
dyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAv
LyBUaGVyZSBtdXN0IG9ubHkgYmUgb25lIGZpcnN0LWlucHV0IGVudHJ5LgorICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCwgMSk7CisgICAgICAvLyBlbnRy
eS50YXJnZXQgbXVzdCBiZSB0aGUgc2hhZG93IGhvc3QgZHVlIHRvIHJldGFyZ2V0dGluZy4KKyAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cnlMaXN0LmdldEVudHJpZXMoKVswXS50YXJnZXQsCisgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1c3RvbV9idXR0b24nKSk7CisgICAgICBh
c3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQsICdEaWQgbm90IHJlYWNoIHRoZSBzaGFkb3cg
RE9NIGV2ZW50IGxpc3RlbmVyIScpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0pKS5vYnNlcnZl
KHtlbnRyeVR5cGVzOiBbJ2ZpcnN0LWlucHV0J119KTsKKyAgfSk7CisgIGNvbnN0IGNsaWNrUHJv
bWlzZSA9IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b21f
YnV0dG9uJykpOworICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQ
cm9taXNlXSk7Cit9LCAiRXZlbnQgVGltaW5nOiB0ZXN0IGZpcnN0IGlucHV0IG9uIHNoYWRvdyBE
T00uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5l
c3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45ZmRhMTEyMTdmYjAwMGYwYjQzYzIwNTk5NDM4MGQ0ZGMwYThmZWQ4Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKKwor
UEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3Jp
Z2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9y
bWFuY2VPYnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFs
IGludGVyZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNT
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQ
QVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3Bl
cnR5IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBwcm9jZXNzaW5nU3RhcnQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgcHJvY2Vzc2luZ0VuZCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjYW5jZWxhYmxlIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nIGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVu
dFRpbWluZyBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0b0pTT04oKSAKK1BBU1MgRXZlbnRDb3VudHMg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
K1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIEV2ZW50Q291
bnRzIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQ
QVNTIEV2ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1Mg
RXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBQZXJm
b3JtYW5jZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBldmVudENvdW50cyAKK1BBU1MgUGVyZm9ybWFu
Y2UgaW50ZXJmYWNlOiBwZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImV2ZW50Q291
bnRzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnku
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55
Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktp
dCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9p
ZGxoYXJuZXNzLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWU5ODU0OGZiNmYyMjA5YjhjNGI1MzQ2ODMw
YzBkNzIzZTY4MTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanMKQEAgLTAs
MCArMSwxOCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlw
dD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMv
aWRsaGFybmVzcy5qcworCisvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8K
KworJ3VzZSBzdHJpY3QnOworCitpZGxfdGVzdCgKKyAgWydldmVudC10aW1pbmcnXSwKKyAgWydw
ZXJmb3JtYW5jZS10aW1lbGluZScsICdoci10aW1lJywgJ2RvbSddLAorICBpZGxfYXJyYXkgPT4g
eworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBQZXJmb3JtYW5jZTogWydwZXJm
b3JtYW5jZSddLAorICAgICAgLy8gUGVyZm9ybWFuY2VFdmVudFRpbWluZzogWyBUT0RPIF0KKyAg
ICB9KTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQx
N2VmZGEyMWE1ODAzMmQxMjY0Yzc1ODBkMTBkYjgyYjFjNzNiMjQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKKwor
UEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBkZWZpbmVkIAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1cmUgc2V0IAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogb3Jp
Z2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9y
bWFuY2VPYnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQYXJ0aWFs
IGludGVyZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNT
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFu
Y2UgaW50ZXJmYWNlOiBtZW1iZXIgZXZlbnRDb3VudHMgCitQQVNTIFBlcmZvcm1hbmNlIGludGVy
ZmFjZTogcGVyZm9ybWFuY2UgbXVzdCBub3QgaGF2ZSBwcm9wZXJ0eSAiZXZlbnRDb3VudHMiIAor
UEFTUyBOb2RlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBvYmplY3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRs
aGFybmVzcy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2
YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndv
cmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRo
cmVzaG9sZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMzMjAzN2I4YjM3MzkxNmE0YTE5NDM0N2Q0ODdkMDAwN2U2N2ZkYjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIG9i
c2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRo
cmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NjVkNDJkMzM0NTc0MmY1MzY0YjA4NWIyYzEzNzE1
NjY1MmUyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNl
dD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRo
IGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgMTI1PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11
dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwvZGl2PgorPHNjcmlw
dD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3REdXJhdGlvbih0LCAn
bXlEaXYnLCBudW1FbnRyaWVzPTIsIGR1cj0xMjUsIGZhc3REdXI9NzAsIHNsb3dEdXI9MTQwKTsK
K30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRz
IGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21l
ZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRo
cmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyMDM3YjhiMzczOTE2YTRhMTk0MzQ3
ZDQ4N2QwMDA3ZTY3ZmRiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJl
c2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJm
b3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9u
VGhyZXNob2xkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgyN2YyMjExYjEy
NTUwZmVlOGQwZjVkMTI1OGRmYmUyOWM4MzBkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1k
dXJhdGlvbi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgNTA8L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2Vz
L2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNs
aWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICByZXR1
cm4gdGVzdER1cmF0aW9uKHQsICdteURpdicsIG51bUVudHJpZXM9MywgZHVyPTUwLCBmYXN0RHVy
PTIwLCBzbG93RHVyPTcwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50
cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWlu
LWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5NGFhMmVhNWEy
MmNjMjQ1MDkwNDYyZDc1MDMxMTMyNzM3MzI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJh
dGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKwor
UEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hvbGQgb2YgMCBzZWVz
IGV2ZW50cyBvZiBkdXJhdGlvbiA+PSAxNiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRo
cmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0
M2IzOGEyNzgzMzM3N2U0ZWJiYmUzMDcyOTBhZGRkNDM5ZWI1MDgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1p
bmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIGxlc3MgdGhh
biAxNjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2
IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgIHJldHVybiB0ZXN0RHVyYXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz01LCBk
dXI9MCwgZmFzdER1cj0wLCBzbG93RHVyPTIwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIHdp
dGggZHVyYXRpb25UaHJlc2hvbGQgb2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlvbiA+PSAxNiIp
OworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGU1NmM2YTA0YzJlYTJhZjU1
NjQzOWU1MjFmY2RkZDFjMTYxZWRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZWRvd24uIFRl
c3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzVhMDdmYWViMWJjYWFhZGIwY2E2MDZmODk0ODAwNGI0NWExMTVhZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBuYW1lPSJ0
aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2Vkb3duLjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3Rh
cmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2Vkb3duJyk7CisgIH0pCis8L3Nj
cmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2VlbnRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk3MWI1MzJmOGRlODVkMDE4YjlhOWU5
MTgzOWI3NDRmYzE3N2JmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIG1v
dXNlZW50ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDRkNTc0Mzc0MmM3M2VjNzY5NjEzZTQxY2U0
NWJmMTkwYTQ3M2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sCkBAIC0wLDAg
KzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+
Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVy
LWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIt
dmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYg
aWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZW50ZXInKTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTRiZWU5MmZmYjdiNGNiOWQ4
ZTVjZmViNTg3MTcwMzVmYzZjYzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1p
bmcgbW91c2VsZWF2ZS4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2VsZWF2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMmNmNzNlMmE2MTZjNTYxMjIzMmE3
ZTFmOTg3NTcwZWVkOWUyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VsZWF2ZS48L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2Pgor
PGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VsZWF2ZScpOwor
ICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTNhNjk5M2I1YTA1ODllOWVj
MWYzMzk0ZTJiMjMzYjliOTlkMzk0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWlu
ZyBtb3VzZW91dC4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQzMjE5MzRiMGI3ODQyODBhNWVkNTIwYjcwZDBi
YzBiYjVjMTgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0
aXRsZT5FdmVudCBUaW1pbmcgbW91c2VvdXQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlv
bnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9y
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0
aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3Rh
cmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3V0JywgdHJ1ZSAvKiBsb29zZUNv
dW50ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBiZTA1
YTNhOGVjNWMyY2NkMjA5NGRlYWUzOTNmYzY1OTM0Y2I4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlb3Zlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1Rh
cmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9V
VCBFdmVudCBUaW1pbmcgbW91c2VvdmVyLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZW92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MWVlMmQ3ZWNkN2Zi
OTM4ZDJkNGZlMjRhZDZjYTAwNTY1MDdiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZW92ZXIuPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8
L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3Zl
cicsIHRydWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNldXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTAxNWE4ZGM4MjZjZTNjOTEzNWFiNWQxYjdlMTBiYzYxNWJmMTJhZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNldXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGFyZ2V0
CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2
ZW50IFRpbWluZyBtb3VzZXVwLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVw
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZXVwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYmVmOGZkYjJmMDI1MzZjZTY4NzQ5
MWI5NTExYWFkOTRmYjAzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbApAQCAtMCww
ICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAv
PgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZXVwLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1h
Y3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5
cGUodCwgJ21vdXNldXAnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
b25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0
SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MWZkNTdjNDRmZTI3ODM0NTBhYTNmOTBm
ZWEyNzEwNDkwZjBkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQK
KworUEFTUyBFdmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNl
T2JzZXJ2ZXIgb2JzZXJ2aW5nIG9ubHkgZmlyc3QtaW5wdXQuIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5
LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NGE2MDM2ZjkxYWRiODljN2I2NTI4ZTQwODUwOTM3ZDcwNTIwYjc3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApAQCAtMCwwICsxLDUx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZzogb25seSBvYnNlcnZlIHRoZSBmaXJzdCBpbnB1dDwvdGl0bGU+Cis8
YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMv
ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIC8qIFRl
c3Q6CisgICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIGZpcnN0LWlucHV0IGlzIHJlZ2lzdGVy
ZWQKKyAgICAgQ2xpY2sgMQorICAgICBDbGljayAyCisgICAgIFdhaXQKKyAgICAgRXhwZWN0ZWQg
cmVzdWx0OgorICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIHNob3VsZCBvYnNlcnZlIG9uZSBhbmQg
b25seSBvbmUgZW50cnkuCisgICovCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFz
c2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGlt
aW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IGhhc09ic2VydmVkRmlyc3RJbnB1dCA9
IGZhbHNlOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxp
c3QpID0+IHsKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKGhhc09ic2VydmVkRmlyc3RJbnB1dCk7Cisg
ICAgICAgIGhhc09ic2VydmVkRmlyc3RJbnB1dCA9IHRydWU7CisgICAgICAgIGNvbnN0IG9ic2Vy
dmVkRW50cmllcyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICAgICAg
ZW50cnkgPT4gZW50cnkubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKG9ic2VydmVkRW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9i
c2VydmVkRW50cmllc1swXS5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKG9ic2VydmVkRW50cmllc1swXS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgfSkp
Lm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2ZpcnN0LWlucHV0J10gfSk7CisgICAgb25fZXZlbnQo
d2luZG93LCAnbG9hZCcsICgpID0+IHsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24n
KS50aGVuKCgpID0+IHsKKyAgICAgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4o
d2FpdCkudGhlbiggKCkgPT4geworICAgICAgICAgIC8vIEFmdGVyIHNvbWUgd2FpdCwgdGhlIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIGJvdGggY2xpY2tzLgorICAg
ICAgICAgIC8vIE9uZSBhbmQgb25seSBvbmUgZmlyc3QtaW5wdXQgZW50cnkgc2hvdWxkIGhhdmUg
YmVlbiBkaXNwYXRjaGVkLCBzbworICAgICAgICAgIC8vIHxoYXNPYnNlcnZlZEZpcnN0SW5wdXR8
IHNob3VsZCBiZSB0cnVlLgorICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCAoKSA9PiB7CisgICAg
ICAgICAgICBhc3NlcnRfdHJ1ZShoYXNPYnNlcnZlZEZpcnN0SW5wdXQpOworICAgICAgICAgICAg
dC5kb25lKCk7CisgICAgICAgICAgfSwgMTApOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAg
IH0pOworICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQZXJm
b3JtYW5jZU9ic2VydmVyIG9ic2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiIKKyAgKTsKKzwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmRvd24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlY2RmMjJiZjk1M2U4MDQwOGRlNzJh
MzhmNGYyODQ0NGZjNzA1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw2IEBACitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCks
IG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLiBUZXN0
IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZWI2YWU4OThjY2QwMDZkYTE2MzNhN2Y4MTJkYmNmYzBmY2JlOWYx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1ldGEgbmFt
ZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJk
b3duLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYg
aWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJkb3duJyk7CisgIH0p
Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyZW50ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlMzQ5Mzg3N2JkMTEw
ODZhNDUwZTYyN2I3MGUzOWNhZmU0MWZmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50
ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQK
KworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZl
bnQgVGltaW5nIHBvaW50ZXJlbnRlci4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmVudGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWUxYzUxZDUx
Y2RlNGQyMzE0ZTMxMDY5MzMyOGZkMjZkYmQ4YmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cmVudGVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmVudGVyLjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lk
ZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4K
KyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQs
ICdwb2ludGVyZW50ZXInKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cG9pbnRlcmxlYXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTYyNTIwYWQ1OTI2MGRlYmQ0OTcwODI2ZTZhZGI1NjE2YmMxNDA2MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitP
dXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2Fn
ZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcmxlYXZlLiBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgxZThmMTVlYzBkMTZhNTMxODJmMDZlN2Y5NTUzMjI4Y2MwYWI3ZWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZyBwb2ludGVybGVhdmUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+
VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJsZWF2ZScpOworICB9KQorPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJv
dXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2ZTMwZGE1MzAxOTI0MjA5YmQzMmQxMTE0NGI5
MzAwOGU3Y2JjMDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3Ig
KFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVy
b3V0LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA4ZjU3Njk5Y2M0OGQ4MjM1MGZhYmJlM2JlMjU4OWMy
YmIyYzFmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZyBwb2ludGVyb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rp
b25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRv
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11
dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0
YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyb3V0JywgdHJ1ZSAvKiBsb29z
ZUNvdW50ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cm92ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhkNWUxNmI1NmQ3MDQ1NDc1MjNjMjU3YmUyODIxYjg3MGI4OWExOWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRh
cmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcm92ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBlMTcxMjIzOWMwOTU4MzhhNTY1Y2VlODg3NGNjM2I1MjIxOTQ4ZDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyb3Zlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50
ZXJvdmVyLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxk
aXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2Pgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZl
bnRUeXBlKHQsICdwb2ludGVyb3ZlcicsIHRydWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8
L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVydXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWIwOGMxODg2YzE1Mzc2NTE0YmU0
ODIxM2RjYmI4OTAzN2I3ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVydXAuIFRlc3QgdGlt
ZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDMyNGE1YmViN2FiMzJjM2Y3YmFlZTY5OWFmMzk3MDkwMWY3YWU1MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5n
IHBvaW50ZXJ1cC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+
Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVydXAnKTsK
KyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNr
LW5vdC1vYnNlcnZlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2Vy
dmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YmY0OGNmOTIwYTY5OWFhM2JjNjY4ODcxOGI1
ZjA1NDZkZDBhNjRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1v
YnNlcnZlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitDbGljayBtZQorTm8sIGNsaWNr
IG1lIQorCitQQVNTIEV2ZW50IFRpbWluZzogZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNr
IGFyZSBub3Qgb2JzZXJ2ZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qt
b2JzZXJ2ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MDYwZDJkMDBkYzFjMDIxMDg1NDMxN2JjZTViYmM1YmMyNWZmZjU3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sCkBAIC0wLDAg
KzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+
Cis8ZGl2IGlkPSdkaXYnIG9uY2xpY2s9J2RlbGF5KCknPkNsaWNrIG1lPC9kaXY+Cis8ZGl2IGlk
PSdkaXYyJz5ObywgY2xpY2sgbWUhPC9kaXY+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGxldCBkZWxheUNhbGxlZCA9IGZhbHNlOworICBsZXQg
YmVmb3JlQ2xpY2s7CisgIGZ1bmN0aW9uIGRlbGF5KCkgeworICAgIGNvbnN0IGVuZCA9IHBlcmZv
cm1hbmNlLm5vdygpICsgMTUwOworICAgIHdoaWxlKHBlcmZvcm1hbmNlLm5vdygpIDwgZW5kKSB7
fQorICAgIGRlbGF5Q2FsbGVkID0gdHJ1ZTsKKyAgfQorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91
c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IG1vdXNlRG93bnMg
PSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICAgIC8vIEln
bm9yZSBjYXNlcyBpbiB3aGljaCB0aGVyZSBpcyBubyBtb3VzZWRvd24uCisgICAgICAgIGlmICht
b3VzZURvd25zLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXNz
ZXJ0X2ZhbHNlKG9ic2VydmVkTW91c2VEb3duLCAnVGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBtb3Vz
ZWRvd24gZW50cnkuJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgs
IDEpOworICAgICAgICBjb25zdCBlbnRyeSA9IG1vdXNlRG93bnNbMF07CisgICAgICAgIC8vIFRo
aXMgZW5zdXJlcyB0aGF0IHRoZSBlbnRyeSBpcyBleHBvc2luZyB0aW1pbmcgZnJvbSB0aGUgc2Vj
b25kIGNsaWNrLCBpLmUuCisgICAgICAgIC8vIHRoZSBvbmUgZnJvbSB0aGUgY2xpY2tBbmRCbG9j
a01haW4oKSBjYWxsLgorICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnBy
b2Nlc3NpbmdTdGFydCwgYmVmb3JlQ2xpY2spOworICAgICAgICB2ZXJpZnlDbGlja0V2ZW50KGVu
dHJ5LCAnZGl2MicsIHRydWUpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7Cisg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0pKTsKKyAgICAgIG9ic2VydmVyLm9ic2VydmUoe2Vu
dHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICAgIH0pOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkaXYnKS5jbGljaygpOworICAgIC8vIFRha2UgdGhlIHRpbWVzdGFtcCBhZnRlciB0aGUg
cHJvZ3JhbW1hdGljIGNsaWNrIGJ1dCBiZWZvcmUgdGhlIG5leHQgY2xpY2suCisgICAgYmVmb3Jl
Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAvLyBBZnRlciB0aGUgcHJvZ3JhbW1hdGlj
IGNsaWNrLCB1c2UgYW5vdGhlciBpbnB1dCB0byBrbm93IHdoZW4gZW50cmllcyBoYXZlIGJlZW4K
KyAgICAvLyBkaXNwYXRjaGVkIHRvIHRoZSBQZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrLgor
ICAgIGNvbnN0IGNsaWNrUHJvbWlzZSA9IGNsaWNrQW5kQmxvY2tNYWluKCdkaXYyJyk7CisgICAg
cmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclByb21pc2UsIGNsaWNrUHJvbWlzZV0pOworICB9
LCAiRXZlbnQgVGltaW5nOiBldmVudHMgZnJvbSBwcm9ncmFtbWF0aWMgY2xpY2sgYXJlIG5vdCBv
YnNlcnZlZCIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jv
c3NpZnJhbWUtY2hpbGRmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJh
bWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41ODI5NGFlMDJjMjNiYWYxMzc2Yjc3YmE5ZjY0MmZmN2I0ZTU5
YzY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUu
aHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1R5cGUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8
c2NyaXB0IHNyYz1ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgc3R5
bGU9IndpZHRoOiAzMDBweDsgaGVpZ2h0OiAzMDBweCIgaWQ9J2lmcmFtZV9kaXYnIG9ubW91c2Vk
b3duPSJtYWluVGhyZWFkQnVzeSgxMjApIj4KKzxzY3JpcHQ+CisoYXN5bmMgKCkgPT4geworICBj
b25zdCBjbGlja1RpbWVNaW4gPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQ
cm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRyeUxpc3Qu
Z2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICBpZiAobW91c2VEb3ducy5sZW5n
dGggPT09IDApCisgICAgICAgIHJldHVybjsKKyAgICAgIHJlc29sdmUobW91c2VEb3ducyk7Cisg
ICAgfSkub2JzZXJ2ZSh7IHR5cGU6J2V2ZW50JyB9KTsKKyAgfSk7CisgIGNvbnN0IGVudHJpZXMg
PSBhd2FpdCBvYnNlcnZlclByb21pc2U7CisgIGNvbnN0IGNsaWNrRG9uZSA9IHBlcmZvcm1hbmNl
Lm5vdygpOworICBpZiAoZW50cmllcy5sZW5ndGggIT09IDEpIHsKKyAgICB0b3AucG9zdE1lc3Nh
Z2UoImZhaWxlZCIsICIqIik7CisgICAgcmV0dXJuOworICB9CisgIGNvbnN0IGVudHJ5ID0gZW50
cmllc1swXTsKKyAgdG9wLnBvc3RNZXNzYWdlKHsKKyAgICAvLyBFbnRyeSB2YWx1ZXMgKHxlbnRy
eXwgaXRzZWxmIGlzIG5vdCBjbG9uYWJsZSkKKyAgICAibmFtZSI6IGVudHJ5Lm5hbWUsCisgICAg
ImNhbmNlbGFibGUiOiBlbnRyeS5jYW5jZWxhYmxlLAorICAgICJlbnRyeVR5cGUiOiBlbnRyeS5l
bnRyeVR5cGUsCisgICAgInN0YXJ0VGltZSI6IGVudHJ5LnN0YXJ0VGltZSwKKyAgICAicHJvY2Vz
c2luZ1N0YXJ0IjogZW50cnkucHJvY2Vzc2luZ1N0YXJ0LAorICAgICJwcm9jZXNzaW5nRW5kIjog
ZW50cnkucHJvY2Vzc2luZ0VuZCwKKyAgICAiZHVyYXRpb24iOiBlbnRyeS5kdXJhdGlvbiwKKyAg
ICAvLyBPdGhlciB2YWx1ZXMKKyAgICAiY2xpY2tUaW1lTWluIjogY2xpY2tUaW1lTWluLAorICAg
ICJjbGlja0RvbmUiIDogY2xpY2tEb25lLAorICAgICJ0YXJnZXQiOiBlbnRyeS50YXJnZXQuaWQs
CisgIH0sICcqJyk7Cit9KSAoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0OWNmZTNjMTlkMWIzYzY1ZGEx
NTMwYmQzMzkxOTBiMDU2NmY0MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanMKQEAgLTAsMCArMSwyNjUgQEAKKy8vIENsaWNrcyBvbiB0aGUg
ZWxlbWVudCB3aXRoIHRoZSBnaXZlbiBJRC4gSXQgYWRkcyBhbiBldmVudCBoYW5kbGVyIHRvIHRo
ZSBlbGVtZW50IHdoaWNoCisvLyBlbnN1cmVzIHRoYXQgdGhlIGV2ZW50cyBoYXZlIGEgZHVyYXRp
b24gb2YgYXQgbGVhc3QgfGRlbGF5fC4gQ2FsbHMgfGNhbGxiYWNrfCBkdXJpbmcKKy8vIGV2ZW50
IGhhbmRsZXIgaWYgfGNhbGxiYWNrfCBpcyBwcm92aWRlZC4KK2FzeW5jIGZ1bmN0aW9uIGNsaWNr
T25FbGVtZW50QW5kRGVsYXkoaWQsIGRlbGF5LCBjYWxsYmFjaykgeworICBjb25zdCBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICBjb25zdCBjbGlja0hhbmRsZXIgPSAo
KSA9PiB7CisgICAgbWFpblRocmVhZEJ1c3koZGVsYXkpOworICAgIGlmIChjYWxsYmFjaykKKyAg
ICAgIGNhbGxiYWNrKCk7CisgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRv
d24iLCBjbGlja0hhbmRsZXIpOworICB9OworICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1v
dXNlZG93biIsIGNsaWNrSGFuZGxlcik7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW1l
bnQpOworfQorCitmdW5jdGlvbiBtYWluVGhyZWFkQnVzeShkdXJhdGlvbikgeworICBjb25zdCBu
b3cgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpIDwgbm93
ICsgZHVyYXRpb24pOworfQorCisvLyBUaGlzIG1ldGhvZCBzaG91bGQgcmVjZWl2ZSBhbiBlbnRy
eSBvZiB0eXBlICdldmVudCcuIHxpc0ZpcnN0fCBpcyB0cnVlIG9ubHkgd2hlbiB3ZSB3YW50Cisv
LyB0byBjaGVjayB0aGF0IHRoZSBldmVudCBhbHNvIGhhcHBlbnMgdG8gY29ycmVzcG9uZCB0byB0
aGUgZmlyc3QgZXZlbnQuIEluIHRoaXMgY2FzZSwgdGhlCisvLyB0aW1pbmdzIG9mIHRoZSAnZmly
c3QtaW5wdXQnIGVudHJ5IHNob3VsZCBiZSBlcXVhbCB0byB0aG9zZSBvZiB0aGlzIGVudHJ5LiB8
bWluRHVyYXRpb258CisvLyBpcyB1c2VkIHRvIGNvbXBhcmVkIGFnYWluc3QgZW50cnkuZHVyYXRp
b24uCitmdW5jdGlvbiB2ZXJpZnlFdmVudChlbnRyeSwgZXZlbnRUeXBlLCB0YXJnZXRJZCwgaXNG
aXJzdD1mYWxzZSwgbWluRHVyYXRpb249MTA0LCBub3RDYW5jZWxhYmxlPWZhbHNlKSB7CisgIGFz
c2VydF9lcXVhbHMoZW50cnkuY2FuY2VsYWJsZSwgIW5vdENhbmNlbGFibGUsICdjYW5jZWxhYmxl
IHByb3BlcnR5Jyk7CisgIGFzc2VydF9lcXVhbHMoZW50cnkubmFtZSwgZXZlbnRUeXBlKTsKKyAg
YXNzZXJ0X2VxdWFscyhlbnRyeS5lbnRyeVR5cGUsICdldmVudCcpOworICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCBtaW5EdXJhdGlvbiwKKyAgICAgICJUaGUgZW50
cnkncyBkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICIgKyBtaW5E
dXJhdGlvbiArICIgbXMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJv
Y2Vzc2luZ1N0YXJ0LCBlbnRyeS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vz
c2luZ1N0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnRUaW1lLiIp
OworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdFbmQsIGVudHJ5
LnByb2Nlc3NpbmdTdGFydCwKKyAgICAgICJUaGUgZW50cnkncyBwcm9jZXNzaW5nRW5kIG11c3Qg
YmUgYXQgbGVhc3QgYXMgbGFyZ2UgYXMgcHJvY2Vzc2luZ1N0YXJ0LiIpOworICAvLyB8ZHVyYXRp
b258IGlzIGEgbnVtYmVyIHJvdW5kZWQgdG8gdGhlIG5lYXJlc3QgOCBtcywgc28gYWRkIDQgdG8g
Z2V0IGEgbG93ZXIgYm91bmQKKyAgLy8gb24gdGhlIGFjdHVhbCBkdXJhdGlvbi4KKyAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlvbiArIDQsIGVudHJ5LnByb2Nlc3NpbmdF
bmQgLSBlbnRyeS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgZHVyYXRpb24gbXVzdCBi
ZSBhdCBsZWFzdCBhcyBsYXJnZSBhcyBwcm9jZXNzaW5nRW5kIC0gc3RhcnRUaW1lLiIpOworICBp
ZiAoaXNGaXJzdCkgeworICAgIGxldCBmaXJzdElucHV0cyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoJ2ZpcnN0LWlucHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0cy5s
ZW5ndGgsIDEsICdUaGVyZSBzaG91bGQgYmUgYSBzaW5nbGUgZmlyc3QtaW5wdXQgZW50cnknKTsK
KyAgICBsZXQgZmlyc3RJbnB1dCA9IGZpcnN0SW5wdXRzWzBdOworICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RJbnB1dC5uYW1lLCBlbnRyeS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5w
dXQuZW50cnlUeXBlLCAnZmlyc3QtaW5wdXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5w
dXQuc3RhcnRUaW1lLCBlbnRyeS5zdGFydFRpbWUpOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJ
bnB1dC5kdXJhdGlvbiwgZW50cnkuZHVyYXRpb24pOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJ
bnB1dC5wcm9jZXNzaW5nU3RhcnQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCk7CisgICAgYXNzZXJ0
X2VxdWFscyhmaXJzdElucHV0LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdFbmQpOwor
ICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5jYW5jZWxhYmxlLCBlbnRyeS5jYW5jZWxhYmxl
KTsKKyAgfQorICBpZiAodGFyZ2V0SWQpCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS50YXJnZXQs
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKSk7Cit9CisKK2Z1bmN0aW9uIHZlcmlm
eUNsaWNrRXZlbnQoZW50cnksIHRhcmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0x
MDQpIHsKKyAgdmVyaWZ5RXZlbnQoZW50cnksICdtb3VzZWRvd24nLCB0YXJnZXRJZCwgaXNGaXJz
dCwgbWluRHVyYXRpb24pOworfQorCitmdW5jdGlvbiB3YWl0KCkgeworICByZXR1cm4gbmV3IFBy
b21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7Cisg
ICAgICByZXNvbHZlKCk7CisgICAgfSwgMCk7CisgIH0pOworfQorCitmdW5jdGlvbiBjbGlja0Fu
ZEJsb2NrTWFpbihpZCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4geworICAgIGNsaWNrT25FbGVtZW50QW5kRGVsYXkoaWQsIDEyMCwgcmVzb2x2ZSk7CisgIH0p
OworfQorCisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBh
IGR1cmF0aW9uVGhyZXNob2xkIG9mIHxkdXJ8LiBUaGlzIHRlc3Qgd2lsbAorICAvLyBhdHRlbXB0
IHRvIGNoZWNrIHRoYXQgdGhlIGR1cmF0aW9uIGlzIGFwcHJvcHJpYXRlbHkgY2hlY2tlZCBieToK
KyAgLy8gKiBBc3NlcnRpbmcgdGhhdCBlbnRyaWVzIHJlY2VpdmVkIGhhdmUgYSBkdXJhdGlvbiB3
aGljaCBpcyB0aGUgc21hbGxlc3QgbXVsdGlwbGUgb2YgOAorICAvLyAgIHRoYXQgaXMgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIHxkdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVu
dHJpZXMgdGhhdCBhcmUgZmFzdCwgb2YgZHVyYXRpb24gfHNsb3dEdXJ8LgorICAvLyAqIElzc3Vp
bmcgfG51bUVudHJpZXN8IGVudHJpZXMgdGhhdCBhcmUgc2xvdywgb2YgZHVyYXRpb24gfGZhc3RE
dXJ8LgorICAvLyAqIEFzc2VydGluZyB0aGF0IGF0IGxlYXN0IHxudW1FbnRyaWVzfCBlbnRyaWVz
IGFyZSByZWNlaXZlZCAoYXQgbGVhc3QgdGhlIHNsb3cgb25lcykuCisgIC8vIFBhcmFtZXRlcnM6
CisgIC8vIHx0fCAgICAgICAgICAtIHRoZSB0ZXN0IGhhcm5lc3MuCisgIC8vIHxkdXJ8ICAgICAg
ICAtIHRoZSBkdXJhdGlvblRocmVzaG9sZCBmb3IgdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisg
IC8vIHxpZHwgICAgICAgICAtIHRoZSBJRCBvZiB0aGUgZWxlbWVudCB0byBiZSBjbGlja2VkLgor
ICAvLyB8bnVtRW50cmllc3wgLSB0aGUgbnVtYmVyIG9mIHNsb3cgYW5kIG51bWJlciBvZiBmYXN0
IGVudHJpZXMuCisgIC8vIHxzbG93RHVyfCAgICAtIHRoZSBtaW4gZHVyYXRpb24gb2YgYSBzbG93
IGVudHJ5LgorICAvLyB8ZmFzdER1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9uIG9mIGEgZmFzdCBl
bnRyeS4KK2FzeW5jIGZ1bmN0aW9uIHRlc3REdXJhdGlvbih0LCBpZCwgbnVtRW50cmllcywgZHVy
LCBmYXN0RHVyLCBzbG93RHVyKSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGNv
bnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAg
IGxldCBtaW5EdXJhdGlvbiA9IE1hdGguY2VpbChkdXIgLyA4KSAqIDg7CisgICAgLy8gRXhwb3Nl
ZCBldmVudHMgbXVzdCBhbHdheXMgaGF2ZSBhIG1pbmltdW0gZHVyYXRpb24gb2YgMTYuCisgICAg
bWluRHVyYXRpb24gPSBNYXRoLm1heChtaW5EdXJhdGlvbiwgMTYpOworICAgIGxldCBudW1FbnRy
aWVzUmVjZWl2ZWQgPSAwOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewor
ICAgICAgY29uc3QgbW91c2VEb3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3du
Jyk7CisgICAgICBtb3VzZURvd25zLmZvckVhY2goZSA9PiB7CisgICAgICAgIHQuc3RlcCgoKSA9
PiB7CisgICAgICAgICAgdmVyaWZ5Q2xpY2tFdmVudChlLCBpZCwgZmFsc2UgLyogaXNGaXJzdCAq
LywgbWluRHVyYXRpb24pOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgICAgbnVtRW50cmll
c1JlY2VpdmVkICs9IG1vdXNlRG93bnMubGVuZ3RoOworICAgICAgLy8gTm90ZSB0aGF0IHdlIG1h
eSByZWNlaXZlIG1vcmUgZW50cmllcyBpZiB0aGUgJ2Zhc3QnIGNsaWNrIGV2ZW50cyB0dXJuIG91
dCBzbG93ZXIKKyAgICAgIC8vIHRoYW4gZXhwZWN0ZWQuCisgICAgICBpZiAobnVtRW50cmllc1Jl
Y2VpdmVkID49IG51bUVudHJpZXMpCisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9KS5vYnNlcnZl
KHt0eXBlOiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9sZDogZHVyfSk7CisgIH0pOworICBjb25z
dCBjbGlja3NQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgZm9y
IChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG51bUVudHJpZXM7IGluZGV4KyspIHsKKyAgICAgIC8v
IEFkZCBzb21lIGZhc3QgY2xpY2sgZXZlbnRzLgorICAgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRB
bmREZWxheShpZCwgc2xvd0R1cik7CisgICAgICAvLyBBZGQgc29tZSBzbG93IGNsaWNrIGV2ZW50
cy4KKyAgICAgIGlmIChmYXN0RHVyID4gMCkgeworICAgICAgICBhd2FpdCBjbGlja09uRWxlbWVu
dEFuZERlbGF5KGlkLCBmYXN0RHVyKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFdlIGNh
biBqdXN0IGRpcmVjdGx5IGNhbGwgdGVzdF9kcml2ZXIgd2hlbiB8ZmFzdER1cnwgaXMgMC4KKyAg
ICAgICAgYXdhaXQgdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQp
KTsKKyAgICAgIH0KKyAgICB9CisgICAgcmVzb2x2ZSgpOworICB9KTsKKyAgcmV0dXJuIFByb21p
c2UuYWxsKFtvYnNlcnZlclByb21pc2UsIGNsaWNrc1Byb21pc2VdKTsKK30KKworLy8gQXBwbHkg
ZXZlbnRzIHRoYXQgdHJpZ2dlciBhbiBldmVudCBvZiB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwgdG8g
YmUgZGlzcGF0Y2hlZCB0byB0aGUKKy8vIHx0YXJnZXR8LiBTb21lIG9mIHRoZXNlIGFzc3VtZSB0
aGF0IHRoZSB0YXJnZXQgaXMgbm90IG9uIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlCisvLyBz
Y3JlZW4sIHdoaWNoIG1lYW5zIHRoYXQgKDAsIDApIG9mIHRoZSB2aWV3cG9ydCBpcyBvdXRzaWRl
IG9mIHRoZSB8dGFyZ2V0fC4KK2Z1bmN0aW9uIGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0
KSB7CisgIGNvbnN0IGFjdGlvbnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpOworICBpZiAo
ZXZlbnRUeXBlID09PSAnYXV4Y2xpY2snKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAw
LCB7b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bih7YnV0dG9uOiBhY3Rpb25zLkJ1
dHRvblR5cGUuTUlERExFfSkKKyAgICAucG9pbnRlclVwKHtidXR0b246IGFjdGlvbnMuQnV0dG9u
VHlwZS5NSURETEV9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdjbGljaycgfHwgZXZl
bnRUeXBlID09PSAnbW91c2Vkb3duJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZXVwJworICAgICAg
fHwgZXZlbnRUeXBlID09PSAncG9pbnRlcmRvd24nIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJ1
cCcKKyAgICAgIHx8IGV2ZW50VHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IGV2ZW50VHlwZSA9PT0g
J3RvdWNoZW5kJykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFy
Z2V0fSkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBlbHNlIGlm
IChldmVudFR5cGUgPT09ICdjb250ZXh0bWVudScpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3Zl
KDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKHtidXR0b246IGFjdGlv
bnMuQnV0dG9uVHlwZS5SSUdIVH0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rpb25zLkJ1
dHRvblR5cGUuUklHSFR9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdkYmxjbGljaycp
IHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAg
LnBvaW50ZXJEb3duKCkKKyAgICAucG9pbnRlclVwKCkKKyAgICAucG9pbnRlckRvd24oKQorICAg
IC5wb2ludGVyVXAoKQorICAgIC8vIFJlc2V0IGJ5IGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIHRh
cmdldC4KKyAgICAucG9pbnRlck1vdmUoMCwgMCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5w
b2ludGVyVXAoKTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdtb3VzZWVudGVyJyB8fCBl
dmVudFR5cGUgPT09ICdtb3VzZW92ZXInCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVy
ZW50ZXInIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJvdmVyJykgeworICAgIC8vIE1vdmUgb3V0
c2lkZSBvZiB0aGUgdGFyZ2V0IGFuZCB0aGVuIGJhY2sgaW5zaWRlLgorICAgIGFjdGlvbnMucG9p
bnRlck1vdmUoMCwgMCkKKyAgICAucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSk7
CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnbW91c2VsZWF2ZScgfHwgZXZlbnRUeXBlID09
PSAnbW91c2VvdXQnCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVybGVhdmUnIHx8IGV2
ZW50VHlwZSA9PT0gJ3BvaW50ZXJvdXQnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAw
LCB7b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyTW92ZSgwLCAwKTsKKyAgfSBlbHNlIHsK
KyAgICBhc3NlcnRfdW5yZWFjaGVkKCdUaGUgZXZlbnQgdHlwZSAnICsgZXZlbnRUeXBlICsgJyBp
cyBub3Qgc3VwcG9ydGVkLicpOworICB9CisgIHJldHVybiBhY3Rpb25zLnNlbmQoKTsKK30KKwor
ZnVuY3Rpb24gcmVxdWlyZXNMaXN0ZW5lcihldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91c2Vl
bnRlcicsCisgICAgICAgICAgJ21vdXNlbGVhdmUnLAorICAgICAgICAgICdwb2ludGVyZG93bics
CisgICAgICAgICAgJ3BvaW50ZXJlbnRlcicsCisgICAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisg
ICAgICAgICAgJ3BvaW50ZXJvdXQnLAorICAgICAgICAgICdwb2ludGVyb3ZlcicsCisgICAgICAg
ICAgJ3BvaW50ZXJ1cCcKKyAgICAgICAgXS5pbmNsdWRlcyhldmVudFR5cGUpOworfQorCitmdW5j
dGlvbiBub3RDYW5jZWxhYmxlKGV2ZW50VHlwZSkgeworICByZXR1cm4gWydtb3VzZWVudGVyJywg
J21vdXNlbGVhdmUnLCAncG9pbnRlcmVudGVyJywgJ3BvaW50ZXJsZWF2ZSddLmluY2x1ZGVzKGV2
ZW50VHlwZSk7Cit9CisKKy8vIFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBlfCdzIHBlcmZvcm1h
bmNlLmV2ZW50Q291bnRzIHZhbHVlLiBTaW5jZSB0aGlzIGlzIHBvcHVsYXRlZCBvbmx5IHdoZW4K
Ky8vIHRoZSBldmVudCBpcyBwcm9jZXNzZWQsIHdlIGNoZWNrIGV2ZXJ5IDEwIG1zIHVudGlsIHdl
J3ZlIGZvdW5kIHRoZSB8ZXhwZWN0ZWRDb3VudHwuCitmdW5jdGlvbiB0ZXN0Q291bnRzKHQsIHJl
c29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCkgeworICBjb25zdCBj
b3VudHMgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKTsKKyAgaWYgKGNv
dW50cyA8IGV4cGVjdGVkQ291bnQpIHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAg
ICB0ZXN0Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRD
b3VudCk7CisgICAgfSwgMTApOworICAgIHJldHVybjsKKyAgfQorICBpZiAobG9vc2VDb3VudCkg
eworICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMu
Z2V0KGV2ZW50VHlwZSksIGV4cGVjdGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSBhdCBs
ZWFzdCAke2V4cGVjdGVkQ291bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNgKQorICB9IGVsc2Ugewor
ICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSks
IGV4cGVjdGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSAke2V4cGVjdGVkQ291bnR9ICR7
ZXZlbnRUeXBlfSBldmVudHNgKTsKKyAgfQorICByZXNvbHZlKCk7Cit9CisKKy8vIFRlc3RzIHRo
ZSBnaXZlbiB8ZXZlbnRUeXBlfCBieSBjcmVhdGluZyBldmVudHMgd2hvc2UgdGFyZ2V0IGFyZSB0
aGUgZWxlbWVudCB3aXRoIGlkCisvLyAndGFyZ2V0Jy4gVGhlIHRlc3QgYXNzdW1lcyB0aGF0IHN1
Y2ggZWxlbWVudCBhbHJlYWR5IGV4aXN0cy4gfGxvb3NlQ291bnR8IGlzIHNldCBmb3IKKy8vIGV2
ZW50VHlwZXMgZm9yIHdoaWNoIGV2ZW50cyB3b3VsZCBvY2N1ciBmb3Igb3RoZXIgaW50ZXJhY3Rp
b25zIG90aGVyIHRoYW4gdGhlIG9uZXMgYmVpbmcKKy8vIHNwZWNpZmllZCBmb3IgdGhlIHRhcmdl
dCwgc28gdGhlIGNvdW50cyBjb3VsZCBiZSBsYXJnZXIuCithc3luYyBmdW5jdGlvbiB0ZXN0RXZl
bnRUeXBlKHQsIGV2ZW50VHlwZSwgbG9vc2VDb3VudD1mYWxzZSkgeworICBhc3NlcnRfaW1wbGVt
ZW50cyh3aW5kb3cuRXZlbnRDb3VudHMsICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7
CisgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAg
aWYgKHJlcXVpcmVzTGlzdGVuZXIoZXZlbnRUeXBlKSkgeworICAgIHRhcmdldC5hZGRFdmVudExp
c3RlbmVyKGV2ZW50VHlwZSwgKCkgPT57fSk7CisgIH0KKyAgY29uc3QgaW5pdGlhbENvdW50ID0g
cGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSk7CisgIGlmICghbG9vc2VDb3Vu
dCkgeworICAgIGFzc2VydF9lcXVhbHMoaW5pdGlhbENvdW50LCAwLCAnTm8gZXZlbnRzIHlldC4n
KTsKKyAgfQorICAvLyBUcmlnZ2VyIHR3byAnZmFzdCcgZXZlbnRzIG9mIHRoZSB0eXBlLgorICBh
d2FpdCBhcHBseUFjdGlvbihldmVudFR5cGUsIHRhcmdldCk7CisgIGF3YWl0IGFwcGx5QWN0aW9u
KGV2ZW50VHlwZSwgdGFyZ2V0KTsKKyAgYXdhaXQgbmV3IFByb21pc2UodC5zdGVwX2Z1bmMocmVz
b2x2ZSA9PiB7CisgICAgdGVzdENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5
cGUsIGluaXRpYWxDb3VudCArIDIpOworICB9KSk7CisgIC8vIFRoZSBkdXJhdGlvblRocmVzaG9s
ZCB1c2VkIGJ5IHRoZSBvYnNlcnZlci4gQSBzbG93IGV2ZW50cyBuZWVkcyB0byBiZSBzbG93ZXIg
dGhhbiB0aGF0LgorICBjb25zdCBkdXJhdGlvblRocmVzaG9sZCA9IDE2OworICAvLyBOb3cgYWRk
IGFuIGV2ZW50IGhhbmRsZXIgdG8gY2F1c2UgYSBzbG93IGV2ZW50LgorICB0YXJnZXQuYWRkRXZl
bnRMaXN0ZW5lcihldmVudFR5cGUsICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShkdXJhdGlv
blRocmVzaG9sZCArIDQpOworICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFBy
b21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5z
dGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgIGxldCBldmVudFR5cGVFbnRyaWVzID0gZW50
cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoZXZlbnRUeXBlKTsKKyAgICAgIGlmIChldmVudFR5cGVF
bnRyaWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgICBsZXQgZW50cnkg
PSBudWxsOworICAgICAgaWYgKCFsb29zZUNvdW50KSB7CisgICAgICAgIGVudHJ5ID0gZXZlbnRU
eXBlRW50cmllc1swXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudFR5cGVFbnRyaWVzLmxl
bmd0aCwgMSk7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGUgb3RoZXIgZXZlbnRzIGNv
dWxkIGFsc28gYmUgY29uc2lkZXJlZCBzbG93LiBGaW5kIHRoZSBvbmUgd2l0aCB0aGUgY29ycmVj
dAorICAgICAgICAvLyB0YXJnZXQuCisgICAgICAgIGV2ZW50VHlwZUVudHJpZXMuZm9yRWFjaChl
ID0+IHsKKyAgICAgICAgICBpZiAoZS50YXJnZXQgPT09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0YXJnZXQnKSkKKyAgICAgICAgICAgIGVudHJ5ID0gZTsKKyAgICAgICAgfSk7CisgICAgICAg
IGlmICghZW50cnkpCisgICAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgdmVyaWZ5RXZl
bnQoZW50cnksCisgICAgICAgICAgICAgICAgICBldmVudFR5cGUsCisgICAgICAgICAgICAgICAg
ICAndGFyZ2V0JywKKyAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGlzRmlyc3QgKi8sCisgICAg
ICAgICAgICAgICAgICBkdXJhdGlvblRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgIG5vdENh
bmNlbGFibGUoZXZlbnRUeXBlKSk7CisgICAgICAvLyBTaG91bGRuJ3QgbmVlZCBhc3luYyB0ZXN0
aW5nIGhlcmUgc2luY2Ugd2UgYWxyZWFkeSBnb3QgdGhlIG9ic2VydmVyIGVudHJ5LCBidXQgbWln
aHQgYXMKKyAgICAgIC8vIHdlbGwgcmV1c2UgdGhlIG1ldGhvZC4KKyAgICAgIHRlc3RDb3VudHMo
dCwgcmVzb2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAzKTsKKyAg
ICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50JywgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cmF0aW9u
VGhyZXNob2xkfSk7CisgIH0pOworICAvLyBDYXVzZSBhIHNsb3cgZXZlbnQuCisgIGxldCBhY3Rp
b25Qcm9taXNlID0gYXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICByZXR1cm4gUHJv
bWlzZS5hbGwoW2FjdGlvblByb21pc2UsIG9ic2VydmVyUHJvbWlzZV0pOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jMmY5MTY1NWNmMzlmNThiNzk0MGYyYmVkYjRjNThiOGQ2OTlmMDFiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkKQEAgLTAsMCArMSw3IEBACitpbXBv
cnQgdGltZQorCitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgIyBTbGVlcCBmb3Ig
NTAwbXMgdG8gZGVsYXkgb25sb2FkLgorICAgIHRpbWUuc2xlZXAoMC41KQorICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0
ZSIpOworICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBiImRhdGE6aW1hZ2Uv
Z2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSkFBQU1qSXlBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFE
cyUzRCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMGYwMDBhZjM5ZGExZDZjNmVlYTNjZmEyYTI0
YmYxYmUyN2NmNGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cK
QEAgLTAsMCArMSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0
ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRp
cmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUg
V1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAor
CitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQor
UHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJh
bWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcworL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNl
cy9zbG93LWltYWdlLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlN2ZiODk5MDViNTlm
NzI4YzU5NDk3ZWVjOWRmNGE3NTNlNzI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmls
aXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVu
dAorCitQQVNTIEV2ZW50IFRpbWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRyaWVzIGFy
ZSBub3QgcmV0cmlldmFibGUgYnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9yZXRyaWV2YWJpbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYjQ3NWZjNTI5NzRmZTJhZmRlMzU1MzMyNjUzYzgwMmM3YzVmMTZmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG1h
a2Ugc3VyZSAnZXZlbnQnIGVudHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzKiBBUElzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50
PSJsb25nIj4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9i
dXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3Jj
PXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlw
dD4KKyAgZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKCkgeworICAgIGNvbnN0IGVudHJpZXNCeU5h
bWUgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nLCAnZXZlbnQnKTsK
KyAgICBjb25zdCBlbnRyaWVzQnlUeXBlID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgn
ZXZlbnQnKTsKKyAgICBjb25zdCBhbGxFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygp
OworICAgIGFzc2VydF9lcXVhbHMoZW50cmllc0J5TmFtZS5sZW5ndGgsIDAsICdFdmVudCBUaW1p
bmcgZW50cnkgc2hvdWxkIG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlOYW1lJyk7
CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzQnlUeXBlLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWlu
ZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJpZXNCeVR5cGUnKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGFsbEVudHJpZXMuZmlsdGVyKGUgPT4gZS5lbnRyeVR5cGUgPT09
ICdldmVudCcpLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJl
dHJpZXZhYmxlIGJ5IGdldEVudHJpZXMnKTsKKyAgfQorCisgIC8qIFRpbWVsaW5lOgorICAgICBC
ZWdpbiBCdXN5IExvb3AKKyAgICAgQ2xpY2sgMSBhcnJpdmVzCisgICAgIEVuZCBCdXN5IExvb3AK
KyAgICAgKERpc3BhdGNoIGFuZCBQcm9jZXNzIENsaWNrIDEgLSBidWZmZXJlZCkKKyAgICAgT25s
b2FkIEV2ZW50IEZpcmVzCisgICAgIFZhbGlkYXRlIGVudHJpZXMKKyAgKi8KKyAgYXN5bmNfdGVz
dChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgaWYg
KGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKS5sZW5ndGggPiAwKSB7Cisg
ICAgICAgIHZhbGlkYXRlRW50cmllcygpOworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKyAg
ICB9KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgICAgY2xpY2tBbmRCbG9j
a01haW4oJ2J1dHRvbicpOworICB9LCAiRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGlt
aW5nIGVudHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
Ki4iKTsKKworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElu
cHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQzOWNkZjNiZjYxYmVkZmM3OWVhYjAzMzNlMWI3OGY3NDU5NWI4NWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sg
Zmlyc3QtaW5wdXQgYWZ0ZXIgb25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3YjE3Y2QxODE2NWY5NzVmYmJkOThlN2RlMDdkYWQ3MTI1MWMxZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSwz
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0
aXRsZT5FdmVudCBUaW1pbmc6IGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBiZSBidWZmZXJlZCBl
dmVuIHdpdGhvdXQgb2JzZXJ2ZXI8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0
ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3Nj
cmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorCis8c2NyaXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBh
c3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRp
bWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGZ1bmN0aW9uIHRlc3RFbnRyaWVzKCkgewor
ICAgICAgLy8gRmlyc3QgY2FsbGJhY2sgaXMgbm90IGVuc3VyZWQgdG8gaGF2ZSB0aGUgZW50cnku
CisgICAgICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5s
ZW5ndGggPT09IDApIHsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQodGVzdEVudHJpZXMsIDEwKTsK
KyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpLmxlbmd0aCwgMSwKKyAgICAgICAgIlRo
ZXJlIHNob3VsZCBiZSBhIGZpcnN0LWlucHV0IGVudHJ5IGluIHRoZSBwZXJmb3JtYW5jZSB0aW1l
bGluZSIpOworICAgICAgY29uc3QgZW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdmaXJzdC1pbnB1dCcpWzBdOworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCAnbW91
c2Vkb3duJyk7CisgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2ZpcnN0LWlu
cHV0Jyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAx
MDQsCisgICAgICAgICJUaGUgZmlyc3QgaW5wdXQgd2FzIGEgbG9uZyBvbmUuIik7CisgICAgICB0
LmRvbmUoKTsKKyAgICB9CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2Fp
dCkudGhlbih0LnN0ZXBfZnVuYyh0ZXN0RW50cmllcykpOworICB9LAorICAiRXZlbnQgVGltaW5n
OiBjaGVjayBmaXJzdC1pbnB1dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xpY2su
IgorICApOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMu
d2luZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJmODU4MDZmN2Y0MjFjZGYxZjkzMGYwNGIyZmIwZjkyZjZkYTkyMmMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcg
YW5kICdmaXJzdC1pbnB1dCcuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUy
OGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBv
cnRlZC10eXBlcy53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyBy
ZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0
ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBw
b3J0ZWQtdHlwZXMud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xY2M0MzQ5NWMwOTZmZDBjZDU2OGZhNTk4MzA1NWMwMzkwZjk0ZDQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpAQCAtMCwwICsxLDEyIEBACit0ZXN0
KCgpID0+IHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgYXNzZXJ0X2ltcGxlbWVu
dHModHlwZW9mIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyAhPT0gInVu
ZGVmaW5lZCIsCisgICAgICAnc3VwcG9ydGVkRW50cnlUeXBlcyBpcyBub3Qgc3VwcG9ydGVkJyk7
CisgIGNvbnN0IHR5cGVzID0gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVz
OworICBhc3NlcnRfdHJ1ZSh0eXBlcy5pbmNsdWRlcygiZmlyc3QtaW5wdXQiKSwKKyAgICAiVGhl
cmUgc2hvdWxkIGJlICdmaXJzdC1pbnB1dCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0
ZWRFbnRyeVR5cGVzIik7CisgIGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJldmVudCIpLAor
ICAgICJUaGVyZSBzaG91bGQgYmUgJ2V2ZW50JyBpbiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBv
cnRlZEVudHJ5VHlwZXMiKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih0eXBlcy5pbmRleE9mKCJm
aXJzdC1pbnB1dCIpLCB0eXBlcy5pbmRleE9mKCdldmVudCcpLAorICAgICJUaGUgJ2ZpcnN0LWlu
cHV0JyBlbnRyeSBzaG91bGQgYXBwZWFyIGFmdGVyIHRoZSAnZXZlbnQnIGVudHJ5Iik7Cit9LCAi
c3VwcG9ydGVkRW50cnlUeXBlcyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25k
aXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjY2OTE1MzI2YmUwODZiMzUwNDZhMjQz
ODliNWYxZmQ2MzRmYjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFT
UyBFdmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWY0NDQ4YzJhMTAzYTg1MTE1NDRmYmU3YmJmZDA3NjA3NzM3YTkw
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbApAQCAtMCwwICsxLDY5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRp
dGxlPkV2ZW50IFRpbWluZyBvbmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVu
dC4KKzwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0
b24gaWQ9J2J1dHRvbicgb25tb3VzZWRvd249J21haW5UaHJlYWRCdXN5KDYwKScKKyAgb25mb2N1
cz0nbWFpblRocmVhZEJ1c3koNjApJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3Vy
Y2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0
IHRydXN0ZWRDbGlja1N0YXJ0OworICBmdW5jdGlvbiB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4o
aWQpIHsKKyAgICB0cnVzdGVkQ2xpY2tTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIHJl
dHVybiBjbGlja0FuZEJsb2NrTWFpbihpZCk7CisgIH0KKworICBmdW5jdGlvbiB1bnRydXN0ZWRD
bGlja0FuZEJsb2NrTWFpbihpZCkgeworICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGlkKTsKKyAgICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywg
YXMgZGlzcGF0Y2hFdmVudCgpIGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5kaXNwYXRjaEV2
ZW50KG5ldyBNb3VzZUV2ZW50KCdtb3VzZWRvd24nKSk7CisgIH0KKworICBmdW5jdGlvbiB0cnVz
dGVkRm9jdXNBbmRCbG9ja01haW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChpZCk7CisgICAgdHJ1c3RlZEZvY3VzU3RhcnQgPSBwZXJmb3JtYW5jZS5u
b3coKTsKKyAgICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgIGFzIGZvY3Vz
KCkgaXMgYSBzeW5jIGNhbGwuCisgICAgdGFyZ2V0LmZvY3VzKCk7CisgIH0KKworICBwcm9taXNl
X3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAg
bGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNl
ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxi
YWNrVGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgICAgICBjb25zdCBtb3VzZURvd25zID0g
ZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25v
cmUgY2FzZXMgaW4gd2hpY2ggdGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91
c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2Vy
dF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwgJ0dvdCBtb3JlIHRoYW4gb25lIGNhbGxiYWNrIHdp
dGggbW91c2Vkb3duLicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3Ro
LCAxLAorICAgICAgICAgICAgIlNob3VsZCBvbmx5IG9ic2VydmUgb25lIG1vdXNlZG93biBlbnRy
eS4gSW5zdGVhZCwgZ290IHRoZXNlOiAiICsKKyAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1v
dXNlRG93bnMpICsgIi4iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zWzBdLm5h
bWUsICdtb3VzZWRvd24nLAorICAgICAgICAgICAgIlRoZSBvYnNlcnZlZCBlbnRyeSBzaG91bGQg
YmUgYSBtb3VzZWRvd24iKTsKKyAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbihtb3VzZURvd25zWzBd
LnN0YXJ0VGltZSwgb2JzZXJ2ZXJDYWxsYmFja1RpbWUsCisgICAgICAgICAgICAiVGhlIHN0YXJ0
VGltZSBzaG91bGQgYmUgYmVmb3JlIG9ic2VydmVyQ2FsbGJhY2tUaW1lIik7CisgICAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4obW91c2VEb3duc1swXS5zdGFydFRpbWUsIHRydXN0ZWRDbGlja1N0
YXJ0LAorICAgICAgICAgICAgIlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGFmdGVyIHRydXN0ZWRD
bGlja1N0YXJ0Iik7CisgICAgICAgIG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgfSkpLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2V2ZW50J10gfSk7
CisgICAgfSk7CisgICAgLy8gVW50cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcg
Y2FyZXMgYWJvdXQuCisgICAgdW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOwor
ICAgIC8vIFRydXN0ZWQgZXZlbnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBkb2Vzbid0IGNhcmVz
IGFib3V0LgorICAgIHRydXN0ZWRGb2N1c0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgICAgLy8g
VHJ1c3RlZCBldmVudCBvZiBhIHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIGNv
bnN0IGNsaWNrUHJvbWlzZSA9IHRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhl
bih3YWl0KTsKKyAgICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQ
cm9taXNlXSk7CisgIH0sICJFdmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9m
IHRydXN0ZWQgZXZlbnQuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNP
Ti1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOTdjNmVi
MTg4ZDRmYWRlMjdjMDY5NWZjN2UwMTExMDYyNjFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pT
T04tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50
CisKK0ZBSUwgVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLiBhc3NlcnRf
ZXF1YWxzOiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRj
aCBpdHMgdG9KU09OIHZhbHVlIGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8YnV0dG9u
IGlkPSJidXR0b24iPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmIyZGU0NzY3YzQyYTVkM2ZlOGE4NGNkZWY3YzUzNGFmYmNkNDRlMWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiB0b0pT
T048L3RpdGxlPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+
Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgor
PHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9pbXBsZW1l
bnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBz
dXBwb3J0ZWQuJyk7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cigKKyAgICAgIHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZW50cnlMaXN0KSB7CisgICAgICAg
IGNvbnN0IGVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyh0eXBlb2YoZW50cnkudG9KU09OKSwgJ2Z1bmN0aW9uJyk7CisgICAgICAgIGNvbnN0
IGpzb24gPSBlbnRyeS50b0pTT04oKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoanNv
biksICdvYmplY3QnKTsKKyAgICAgICAgY29uc3Qga2V5cyA9IFsKKyAgICAgICAgICAvLyBQZXJm
b3JtYW5jZUVudHJ5CisgICAgICAgICAgJ25hbWUnLAorICAgICAgICAgICdlbnRyeVR5cGUnLAor
ICAgICAgICAgICdzdGFydFRpbWUnLAorICAgICAgICAgICdkdXJhdGlvbicsCisgICAgICAgICAg
Ly8gUGVyZm9ybWFuY2VFdmVudFRpbWluZworICAgICAgICAgICdwcm9jZXNzaW5nU3RhcnQnLAor
ICAgICAgICAgICdwcm9jZXNzaW5nRW5kJywKKyAgICAgICAgICAnY2FuY2VsYWJsZScsCisgICAg
ICAgICAgJ3RhcmdldCcsCisgICAgICAgIF07CisgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtl
eXMpIHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGpzb25ba2V5XSwgZW50cnlba2V5XSwKKyAg
ICAgICAgICAgICdQZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBt
YXRjaCBpdHMgdG9KU09OIHZhbHVlJyk7CisgICAgICAgIH0KKyAgICAgIH0pCisgICAgKTsKKyAg
ICBvYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgY2xpY2tBbmRCbG9ja01h
aW4oJ2J1dHRvbicpOworICB9LCAnVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLicpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiMjg4NjdmZGYyNzUwYmRkNzU1YmRhZGIzNmJj
ZDYwZDE0YjQ5MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsx
LDUzIEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRo
ZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4g
V2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHVi
OgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVu
IHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0
CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2
YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor
TGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQt
ZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1p
bmcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2RibGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2st
Y291bnRzLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFy
Z2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
ZW50ZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlbGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNldXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJvdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dy
YW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9y
ZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGlt
aW5nY29uZGl0aW9ucy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRl
eCA0YmU2MWU2NzA5YzNmODEzN2QyNWE1MzkyMjZjODg5MTRkMzg4OWYyLi43N2FhMWQ0MDc5NzE5
MGRiYWVjYWFjNzk1ZDk2NWE0MWU1ZDUzMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0
cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0x
MzU4LDYgKzEzNTgsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
bmNyeXB0ZWQtbWVkaWEvZHJtLXRlbXBvcmFyeS1saWNlbnNlLXR5cGUuaHR0cHMuaHRtbCI6IFsK
ICAgICAgICAgInNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y2xpY2suaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCI6IFsKKyAg
ICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisg
ICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
dGltaW5nY29uZGl0aW9ucy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL2RlZGljYXRlZC13b3Jr
ZXIvZXZlbnRzb3VyY2UtY29uc3RydWN0b3Itbm9uLXNhbWUtb3JpZ2luLmh0bSI6IFsKICAgICAg
ICAgInNsb3ciCiAgICAgXSwKQEAgLTMwNzcsNCArMzA5Miw0IEBACiAgICAgImltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3
aWNlLmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAgIF0KLX0KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405457</attachid>
            <date>2020-07-29 07:29:32 -0700</date>
            <delta_ts>2020-08-03 07:04:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200729162928.patch</filename>
            <type>text/plain</type>
            <size>175223</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUyNzAxMjlmNmVlZjUw
NTgwZDgzZDRmNDQ5ODg5NWEzNjU5NTNmNy4uZjExMzE3YmJhNDViYTBhNzAyZGRlYjQ2MTdhZGEy
YWQ3ZDQ3ZTgwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wNy0yOSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDctMjggIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAg
ICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyNjQ5ODYpIFVucmV2aWV3ZWQgY3Jhc2ggZml4CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDBmMjljOWU4NjMzZjkyYTk4Njg5ZTQ3NjA1MTMyZTRjZTk3
Y2I2YzYuLjA5MGQ4NjAzZTU1Y2I3ZDhjODRlNmEzZGUxY2U1YmY3ZjIxYWJlYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC05NzMsNiArOTczLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwKICAg
ICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAogICAgIHBhZ2Uv
RXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAgcGFnZS9HbG9i
YWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5MCw2ICs5OTEsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlkbAogICAgIHBh
Z2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IDNkMmY4YTMxNjcyYTMzNzliNjNiMGM3MjNhYzJhYzUyYWY2NmNmMmMuLjEzNGMzYmQyYTUy
NmIzZDYwNmU3NGExMDJkZmRjZjBiYjljZDE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQyLDYgKzk0Miw3IEBAICQoUFJPSkVD
VF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5cHRvLmlkbAog
JChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdl
L0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9HbG9i
YWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1hbmNlLmlkbApA
QCAtOTYwLDYgKzk2MSw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2VydmljZVdv
cmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAkKFBST0pF
Q1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBlNmViMDcyYmE3NWUyYzE1MjczYzE4MzdlMWM3ZDA4
NGExNzdmOTE3Li5mODg5YWFmYmM2NjdkZTcxNjU0ODA4NjYxODRmY2RkNDc4NjNlY2QzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAt
NTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcApA
QCAtMTMwNCw2ICsxMzA2LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VF
dmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJrLmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNZWFz
dXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjliYWI4OTFhZjRlODkw
YzgyOTg0YjE0MDhhYmViZjM0NjkxYzdlNS4uN2NlZjFhYmI5NjkzNWE4Y2VmOWM4YmU0YWY1MWZh
ZDVhNDFkN2FiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05NjEsNiArOTYx
LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9DcnlwdG8uaWRs
IFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudENvdW50cy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvR2xvYmFsUGVy
Zm9ybWFuY2UuaWRsIFwKQEAgLTk3OSw2ICs5ODAsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAg
ICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9w
YWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlRW50
cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwg
XAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvbWFjL05TSW1hZ2VTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9OU0ltYWdlU1BJLmgKaW5kZXggODZiYjRiNWY3ZWViODg4Y2FhOGI1NTE3YTIxOWQ1ZjliNzU0
MDRiZS4uZmRlN2YxMzhiZmZmNzY5OTJhYTJmZTc2ZmIwOTQ0MGVmZGMzZjJmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TSW1hZ2VTUEkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oCkBAIC01NCw2ICs1NCwxMyBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogZXh0ZXJuIGNvbnN0IE5TSW1hZ2VIaW50S2V5IE5T
SW1hZ2VIaW50U3ltYm9sRm9udDsKIGV4dGVybiBjb25zdCBOU0ltYWdlSGludEtleSBOU0ltYWdl
SGludFN5bWJvbFNjYWxlOwogCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBOU0ltYWdlU3lt
Ym9sU2NhbGUpIHsKKyAgICBOU0ltYWdlU3ltYm9sU2NhbGVEZWZhdWx0ID0gLTEsCisgICAgTlNJ
bWFnZVN5bWJvbFNjYWxlU21hbGwgPSAxLAorICAgIE5TSW1hZ2VTeW1ib2xTY2FsZU1lZGl1bSA9
IDIsCisgICAgTlNJbWFnZVN5bWJvbFNjYWxlTGFyZ2UgPSAzLAorfTsKKwogTlNfQVNTVU1FX05P
Tk5VTExfRU5ECiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA3NTIyODM4N2M1NGY1ZWI2MGNk
YjYwYWFiMmM1MTkwYmIxYmI1NTQwLi5jYWMyZTFiNzI1ZmE3YTljYWJiYjY2MjRlMzk3Zjc3M2Iw
ZWQzOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEwIEBAIHBhZ2UvRGlhZ25v
c3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRpb25zLmNwcAogcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVyZW5jZS5jcHAKK3BhZ2Uv
RXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRyb2xsZXIuY3BwCiBwYWdl
L0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuY3BwCkBAIC0xNjE0LDYg
KzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAKIHBhZ2UvUGFnZVNlcmlh
bGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNw
cAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9QZXJmb3JtYW5jZUxvZ2dp
bmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAKIHBhZ2UvUGVyZm9ybWFu
Y2VNb25pdG9yLmNwcApAQCAtMjgzMyw2ICsyODM2LDcgQEAgSlNFbnRlclBpY3R1cmVJblBpY3R1
cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAKIEpTRXZl
bnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3BwCiBKU0V2ZW50TW9kaWZp
ZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNjUsNiArMzE2OSw3IEBAIEpTUGF5
bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5jcHAKIEpTUGVyZm9ybWFu
Y2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
Y3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VNZWFzdXJlLmNwcAogSlNQ
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNWMyYmEwODZmOTY0NTdiNGJlYzI4ZDI3MTIy
N2ExYTc1NmZmOWYzZC4uZDE1Yjg1YzIwZmJjYzRlMDYwNjA1MGQ0ODkzOTM3ZjU3ZDBiOGFmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMzQ0MCw2ICszNDQwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3RDAwRkRGOTU5IC8qIEpT
RE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlLmggKi87IH07CiAJ
CUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODA1MEQ3NTdFN0Qw
MEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJQUExMkRGNDkxNzQzREY4
MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1RDE3NDI5QkNDMDA2MjAw
QzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsgfTsKKwkJQUExMkU2RDAy
NEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvcklt
YWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUEyQTVBQ0UxNkE0
ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4NUQ1MDA5NzVBMjUgLyog
U3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAxNkE0ODYwNDAwOTc1QTI1
IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1QTI1IC8qIFNwZWVjaFN5
bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ1NSw4ICszNDU2LDEwIEBACiAJCUFBN0ZF
RUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE3RkVFOUYxNkE0RTZG
MzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmggKi87IH07CiAJCUFBN0ZF
RUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdGRUVBMTE2QTRFNkYzMDA0
QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9OwogCQlBQTdGRUVBRDE2QTRF
NzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIwMDRDMEMzMyAvKiBKU1Nw
ZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1MDBCRUY5NTUgLyogRXZl
bnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oICovOyB9OwogCQlBQUE3
MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQTcyOEYx
MTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICov
OyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNzaWJpbGl0eVNWR1Jvb3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzA4Q0Yx
MTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oICovOyB9OworCQlBQUVC
OEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFFQjhBRDcyNEM5NzRFOTAw
MTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUIyM0EzMjgwOUJC
QTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5QkJBN0QwMDA2N0NDNTMg
LyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIyNDdBNkQwQUZENjM4MzAw
M0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5o
ICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGluZUNsYW1wVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFCMzFDOTFEMTBB
RTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjQ4Niw2ICsxMjQ4OSw4IEBACiAJCUFBMTFD
MDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWF0aE1M
TWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTExQzA0RDIz
MTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUEx
MkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUEyQTVB
QjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3Bl
ZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1NwZWVjaFN5bnRoZXNpcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50
aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MTYsNiArMTI1MjEs
OSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2lj
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NwZWVjaFN5bnRo
ZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE3RkVFQTExNkE0
RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50
aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVz
aXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODQyNENCMzYyRjAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50Q291bnRzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1
IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291bnRzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJpbGl0eU9iamVjdElPUy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlP
YmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQTcyOEYxMTZEMUQ4
QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMjE2RDFEOEJDMDBEM0JC
QzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTMwLDYgKzEyNTM4LDkgQEAK
IAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJN
b2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFF
MjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6
ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRTM3NTVEMTc0MjlCQ0Mw
MDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUyNEM5NzRFOTAwMTUyMzU1
IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVCOEFENzI0Qzk3NEU5MDAx
NTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBRUI4QUQ4
MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2ViU29ja2V0RnJhbWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU29ja2V0RnJhbWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMg
LyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNl
cnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCZWZvcmVUZXh0
SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjEyMTQsMTEg
KzIxMjI1LDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1IC8qIEVkaXRhYmxlSW1h
Z2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEwMDQ1OThCNSAvKiBFZGl0
YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4Qjk0NDAwNjhGMEM0IC8q
IEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYwMEJFRjk1NSAvKiBFdmVu
dENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291
bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmlk
bCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmNwcCAq
LywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRIYW5kbGVyLmggKi8sCiAJ
CQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNlLmNwcCAqLywKIAkJCQlF
MEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAqLywKIAkJCQlFMEZFRjM3
MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAorCQkJCUFBMTJFNkNGMjRD
OUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJQUExMkU2Q0QyNEM5RDY2
RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNCRTMwQjJGMkIxQzAwNTA0
OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNCRTQwQjJGMkIxQzAwNTA0
OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4NzgzMEI0REIzMjIwMDBDMzRE
RiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzMDMsNiArMjEzMTksOSBAQAogCQkJCUNC
MzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5LmNwcCAqLywKIAkJCQk4
NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRyeS5oICovLAogCQkJCTg2
QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5LmlkbCAqLywKKwkJCQlB
QUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgKi8s
CisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
aCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0IC8qIFBlcmZvcm1hbmNl
TG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3MDU0IC8qIFBlcmZvcm1h
bmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlFQUJENCAvKiBQZXJmb3Jt
YW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA3NzQsNiArMzA3OTMsNyBAQAogCQkJCTJF
Q0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENvdW50cy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFCRDREIC8qIEV2ZW50SGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhFQjAwRjAwQTM3IC8qIEV2
ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDc5Miw2ICszMDgxMiw3IEBACiAJCQkJ
ODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29uY3JldGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVudFRhcmdldEhlYWRl
cnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0MwMDNFMURBNiAvKiBFdmVu
dFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBMTJFNkQwMjRDOUQ2NzQw
MEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyRUM0MUExRDA3
OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMjcyNCw2ICszMjc0NSw3IEBACiAJCQkJRTNGQTM4NjQxRDcxODEyRDAwQUE1
OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCThBODQ0RDA1
MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZC
RTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnkuaCBpbiBIZWFkZXJzICov
LAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3MDcwNTQgLyogUGVyZm9y
bWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZFMzFFRDdDMTgzMDBGQjc3
QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M3
MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmggaW4gSGVhZGVycyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRy
eUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1BlcmZvcm1hbmNlRW50
cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2Y2ZhYjA2YjI0NThiYTcx
NDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdjNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9t
LmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZUVudHJ5Lmgi
CiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIkpT
UGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVBhaW50VGltaW5n
LmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgiCisjaW5jbHVkZSAi
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWFyay5oIgog
I2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlUGFp
bnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpT
R2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFAKICAg
ICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQogICAgICAgICByZXR1cm4g
Y3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9iYWxPYmplY3QsIFdURk1v
dmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPihlbnRyeSkp
CisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlzPFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGVudHJ5KSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRl
eCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFiLi5mMjkzNTg2ZDY4NDNl
OGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiArMTg2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2JhbFNjb3BlKSBcCiAgICAg
bWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlRW50cnlMaXN0
KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3VyZSkgXAogICAgIG1hY3Jv
KFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDNkNzQy
ZTcxOWQ4NTBjNzJlNzk5MWZmNTc0ZjJmMzk4NDNiODNhMWQuLjNmNzRkZjUxZjY0NjI0NTg2MTY2
MzIyMzZkNjI1NDUzMDM1ZWJmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMzE5OCw2
ICszMTk4LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVk
ZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gdHJ1ZTsKIH0KIAor
Ly8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1kaXNwYXRjaC1wZW5k
aW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRyaWVzSWZOZWVkZWQoKQor
eworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNoUGVuZGluZ0V2ZW50VGlt
aW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3cml0ZShEb2N1bWVudCog
cmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4dCkKIHsKICAgICBpZiAo
bV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmNWY2ODNh
MjA5MTNlODJiZGQ4MDA0NGI4YTJkY2U2ZTc5NTQ1MDRkLi42ZTc1NTVmMmU1YmNmYzEwOTllMDRk
Njg5OGE5NzZjM2ZkYTJmODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTU3NCw2ICsxNTc0
LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0eUN1c3RvbUNvbnRlbnQo
KSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0b21Db250ZW50OyB9CiAg
ICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7CiAKKyAgICB2b2lkIGVu
cXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAgRWRpdG9yJiBlZGl0b3Io
KSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYgZWRpdG9yKCkgY29uc3Qg
eyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgeyBy
ZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAK
aW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3NGU3MS4uZjdlMDZkZTkx
MTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJDb21wb3NpdGlvbkV2
ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiRXZlbnRQYXRoLmgi
CisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBAIC0xNTEsNyArMTUyLDEy
IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5vZGUmIG5vZGUsIEV2ZW50
JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9wcGVkKCkgJiYgIWV2ZW50
UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQYXRoKGV2ZW50UGF0aCk7
CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZlbnRUaW1pbmc7CisgICAg
ICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAgICAgICAgICBldmVudFRp
bWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwg
ZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQsIGV2ZW50UGF0aCk7Cisg
ICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50VGltaW5nLT5ldmVudFdh
c0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgIH0K
IAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291
bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MzlmMTIyY2FjYzkyYWExNTczZDUwZDBkODIxNjM3M2QzYWNl
N2QxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5j
cHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJFdmVudENvdW50cy5oIgorCisjaW5jbHVkZSAi
RXZlbnROYW1lcy5oIgorI2luY2x1ZGUgIkpTRE9NTWFwTGlrZS5oIgorI2luY2x1ZGUgPHd0Zi9O
ZXZlckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitFdmVudENvdW50czo6RXZlbnRDb3VudHMoKQoreworICAgIHN0YXRpYyBjb25z
dCBhdXRvIGV2ZW50VHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoVmVjdG9yPEF0b21TdHJpbmc+
IHsKKyAgICAgICAgLyogTW91c2VFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmNsaWNr
RXZlbnQsIGV2ZW50TmFtZXMoKS5jb250ZXh0bWVudUV2ZW50LCBldmVudE5hbWVzKCkuZGJsY2xp
Y2tFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlZG93bkV2ZW50LAorICAgICAgICBldmVudE5hbWVz
KCkubW91c2VlbnRlckV2ZW50LCBldmVudE5hbWVzKCkubW91c2VsZWF2ZUV2ZW50LCBldmVudE5h
bWVzKCkubW91c2VvdXRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLm1vdXNlb3ZlckV2ZW50
LCBldmVudE5hbWVzKCkubW91c2V1cEV2ZW50LAorICAgICAgICAvKiBQb2ludGVyRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyb3ZlckV2ZW50LCBldmVudE5hbWVzKCkucG9p
bnRlcmVudGVyRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVyZG93bkV2ZW50LCBl
dmVudE5hbWVzKCkucG9pbnRlcnVwRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5wb2ludGVy
Y2FuY2VsRXZlbnQsIGV2ZW50TmFtZXMoKS5wb2ludGVyb3V0RXZlbnQsCisgICAgICAgIGV2ZW50
TmFtZXMoKS5wb2ludGVybGVhdmVFdmVudCwgZXZlbnROYW1lcygpLmdvdHBvaW50ZXJjYXB0dXJl
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5sb3N0cG9pbnRlcmNhcHR1cmVFdmVudCwKKyAg
ICAgICAgLyogVG91Y2hFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLnRvdWNoc3RhcnRF
dmVudCwgZXZlbnROYW1lcygpLnRvdWNoZW5kRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS50
b3VjaGNhbmNlbEV2ZW50LAorICAgICAgICAvKiBLZXlib2FyZEV2ZW50cyAqLworICAgICAgICBl
dmVudE5hbWVzKCkua2V5ZG93bkV2ZW50LCBldmVudE5hbWVzKCkua2V5cHJlc3NFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmtleXVwRXZlbnQsCisgICAgICAgIC8qIElucHV0RXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5iZWZvcmVpbnB1dEV2ZW50LCBldmVudE5hbWVzKCkuaW5w
dXRFdmVudCwKKyAgICAgICAgLyogQ29tcG9zaXRpb25FdmVudHMgKi8KKyAgICAgICAgZXZlbnRO
YW1lcygpLmNvbXBvc2l0aW9uc3RhcnRFdmVudCwKKyAgICAgICAgZXZlbnROYW1lcygpLmNvbXBv
c2l0aW9udXBkYXRlRXZlbnQsIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbmVuZEV2ZW50LAorICAg
ICAgICAvKiBEcmFnICYgRHJvcCBFdmVudHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmRyYWdz
dGFydEV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2VuZEV2ZW50LAorICAgICAgICBldmVudE5hbWVz
KCkuZHJhZ2VudGVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCwKKyAgICAgICAg
ZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQsIGV2ZW50TmFtZXMoKS5kcm9wRXZlbnQsCisgICAg
fSk7CisgICAgZm9yIChjb25zdCBhdXRvJiB0eXBlIDogZXZlbnRUeXBlcy5nZXQoKSkKKyAgICAg
ICAgbV9tYXAuYWRkKHR5cGUsIDB1KTsKK30KKwordm9pZCBFdmVudENvdW50czo6aW5pdGlhbGl6
ZU1hcExpa2UoRE9NTWFwQWRhcHRlciYgbWFwKQoreworICAgIGZvciAoYXV0byYga2V5VmFsdWUg
OiBtX21hcCkKKyAgICAgICAgbWFwLnNldDxJRExET01TdHJpbmcsIElETFVuc2lnbmVkTG9uZ0xv
bmc+KGtleVZhbHVlLmtleSwga2V5VmFsdWUudmFsdWUpOworfQorCit2b2lkIEV2ZW50Q291bnRz
OjpzZXRGcm9tTWFwTGlrZShTdHJpbmcmJiBrZXksIHVuc2lnbmVkIHZhbHVlKQoreworICAgIG1f
bWFwLnNldChXVEZNb3ZlKGtleSksIHZhbHVlKTsKK30KKwordm9pZCBFdmVudENvdW50czo6YWRk
KGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICBhdXRvIGl0ID0gbV9tYXAuZmluZCh0eXBlKTsK
KyAgICBpdC0+dmFsdWUgPSBpdC0+dmFsdWUgKyAxOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQ1NGZmYTgyOWJhZDAz
YTQ1MzhjZmVlNjRmNjQ1ODc5ZDIzMTI5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRDb3VudHMuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgRE9NTWFwQWRhcHRlcjsKK2NsYXNzIERPTVN0cmluZzsKKworY2xhc3MgRXZlbnRDb3Vu
dHMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudENvdW50cz4geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8RXZlbnRDb3VudHM+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
RXZlbnRDb3VudHMpOyB9CisKKyAgICB2b2lkIGluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0
ZXImKTsKKyAgICB2b2lkIHNldEZyb21NYXBMaWtlKFN0cmluZyYmLCB1bnNpZ25lZCk7CisKKyAg
ICBjb25zdCBIYXNoTWFwPFN0cmluZywgdW5zaWduZWQ+JiBtYXAoKSBjb25zdCB7IHJldHVybiBt
X21hcDsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgU3RyaW5nJiB0eXBlKTsKKworcHJpdmF0ZToK
KyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4gbV9tYXA7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyNzk2NGRkNWE1NTY1ZmFkMWQ2YjQ3ZTYxN2QyMmQwZTRiZGNhODcK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbApA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gaHR0
cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3JtYW5jZS1ldmVudC10
aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAgIHJlYWRvbmx5IG1hcGxpa2U8
RE9NU3RyaW5nLCB1bnNpZ25lZCBsb25nIGxvbmc+OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFRp
bWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzNWQ2ZjBhMjc5MTNlMWRhOGU3NTZlOGNlMmFhMmVkNzE1
ZjhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcu
Y3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMu
TC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKworI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2Uu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRUaW1pbmcoZG91
YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1fc3RhcnRUaW1l
KHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKK3sK
K30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25zdCBFdmVudCYg
ZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9mIGNlcnRhaW4g
a2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRzIHRoYXQgYXJl
IGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRoZSB1c2VyIGFn
ZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIgY2VydGFpbiBj
b25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVudENvdW50cyBj
YW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBvbiB0aG9zZS4K
KyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQorICAgICAgICAm
JiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQoKQorICAgICAg
ICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2ZW50KCkKKyAg
ICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRFdmVudCgpCisg
ICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAgJiYgZXZlbnQu
dHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50
eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAgJiYgZXZlbnQu
dHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAmJiBldmVudC50
eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZlbnQudHlwZSgp
ICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxFdmVudFRp
bWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3Qg
RXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhldmVu
dCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBlcmZvcm1hbmNl
KCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgpLmlzRXZlbnRU
aW1pbmdCdWZmZXJGdWxsKCkpIHsKKyAgICAgICAgLy8gZXZlbnQgdGltZSBzdGFtcCBjYW4gYmUg
YWhlYWQgb2Ygbm93LCBwcm9iYWJseSBiZWNhdXNlIGlzIGlzIHdhbGx0aW1lIGJhc2VkIGFuZCBh
cHByb3hpbWF0ZS4KKyAgICAgICAgYXV0byB0aW1lU3RhbXAgPSBzdGQ6Om1pbihNb25vdG9uaWNU
aW1lOjpub3coKSwgZXZlbnQudGltZVN0YW1wKCkpOworICAgICAgICByZXR1cm4gbWFrZVVuaXF1
ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCkucmVsYXRpdmVUaW1lRnJvbVRpbWVP
cmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKHRpbWVTdGFtcCksIHdpbmRvdy5wZXJmb3JtYW5jZSgp
Lm5vdygpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgRXZlbnRUaW1p
bmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywgY29uc3QgRXZl
bnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXplRXZlbnRUaW1p
bmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQsIGV2ZW50LmNh
bmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5YjY3ZGZiNzc0
MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisg
KiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xhc3MgRE9NV2lu
ZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4g
Y3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBFdmVudFRpbWlu
Zyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKworICAgIHZvaWQg
ZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKK3By
aXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdT
dGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4
IDBlMmE3N2I4ZGMzNTVlNjNlMzQ5NWEyYjE4OTJjNzU3NWFhODQ4ZWYuLjhkMTE3YWUyYTk2YjRm
M2VlZDhjMTZkYjg0NGY5YmNjZmM5MzE5MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMTUyOSw2
ICsxNTI5LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygpCiAgICAgICAg
IGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAgICB9KTsKIAor
ICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRv
Y3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAgIH0pOworCiAg
ICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9j
dW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5NTM2M2U1MWMw
YzU1NzYuLmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFdmVudC5o
IgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUg
IlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU5hdmlnYXRp
b24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiUGVyZm9y
bWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9ybWFuY2VUaW1p
bmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5nZXQoKTsKIH0K
IAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7CisgICAgaWYgKCFt
X2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0
ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkgY29uc3QKIHsK
ICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwogCisgICAgaWYg
KG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdElucHV0
VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VUaW1pbmdCdWZm
ZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5IEBAIFZlY3Rv
cjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzQnlUeXBl
KGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFpbnQgJiYgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkKICAgICAgICAg
ZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBpZiAobV9maXJz
dElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwg
ImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJbnB1dFRpbWlu
Zyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAgICBlbnRyaWVz
LmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcxLDYgKzE4Nyw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50ZnVsLXBhaW50
IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAg
ICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkgfHwgZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQiKSkgJiYgbmFt
ZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0SW5wdXRU
aW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAoZW50cnlUeXBl
LmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1h
cmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0
TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpyZXBv
cnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJzdENvbnRlbnRm
dWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxs
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXplKCkgPj0gMTUw
OworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdCdWZmZXJGdWxs
KCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7Cit9CisKK3Zv
aWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9vbCBjYW5jZWxh
YmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5nU3RhcnQsIG5v
dygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFwcGVuZChXVEZN
b3ZlKGVudHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVuZGluZ0V2ZW50
VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygpOworICAgIHdo
aWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0cjxQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJzdCgpOworICAg
ICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZl
bnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQoZW50cnktPm5h
bWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQoKHJlbmRlcmlu
Z1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAgICAgIGVudHJ5
LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9maXJzdElucHV0
VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xpY2siIHx8IGVu
dHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1vdXNlZG93biIp
IHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAgICAgICAgICAg
cXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJhdGlvbkluTXMg
Pj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAgICAgbV9ldmVu
dFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30KKwogdm9pZCBQ
ZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiByZXNvdXJjZVRp
bWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKQEAgLTM0Niw3
ICs0MDYsNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkm
IGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7CiAgICAgZm9y
IChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChvYnNlcnZlci0+
dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAgaWYgKG9ic2Vy
dmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNlcnZlci0+Y2Fu
T2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5
KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNm
ZWNmNGNiNjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4ZGRjM2IzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRpbWluZzsKIGNs
YXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOwogY2xh
c3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNlcnZlcjsKIGNs
YXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1YmxpYzoKICAg
ICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJmb3JtYW5jZVRp
bWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMoKTsKKwogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBjb25zdDsKICAg
ICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0
IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNl
RW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgogCiAgICAgdm9p
ZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJzdElucHV0RGV0
ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQorCisgICAgYm9v
bCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRkRXZlbnRUaW1p
bmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBmaW5hbGl6ZUV2
ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJs
ZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKyAgICB2
b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJlbW92ZUFsbE9i
c2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1h
bmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBl
cmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZhdGU6CiAKICAg
ICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdhdGlvbjsKICAg
ICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7CisgICAgbXV0YWJs
ZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBodHRwczovL3cz
Yy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1hbmNlLWludGVy
ZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFu
Y2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQgbV9yZXNvdXJj
ZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVmUHRyPFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAgVGltZXIgbV9y
ZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0xMjksNiArMTQ2
LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWluZz4gbV9maXJz
dENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWluZz4gbV91c2Vy
VGltaW5nOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1fZmlyc3RJbnB1
dFRpbWluZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4g
bV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0PFJlZlB0cjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQyODM5ZTA1Zjhi
Li42OGViNGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRvdWJsZSBET01I
aWdoUmVzVGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQg
Y2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtFbmFibGVkQXRS
dW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1cmUoRE9NU3Ry
aW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBvcHRpb25hbCBE
T01TdHJpbmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9p
ZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7CisKKyAgICAv
LyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVuc2lvbnMKKyAg
ICBbRXhwb3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudENv
dW50cyBldmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9ybWFuY2VFbnRy
eT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVu
dHJ5LmNwcAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJmMjczNzg5Li4z
YWRmNzNhNzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBlcmZvcm1hbmNl
RW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25hbDxQZXJmb3Jt
YW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0cmluZyhj
b25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09ICJldmVudCIp
CisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisKKyAgICBpZiAo
ZW50cnlUeXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBl
PihUeXBlOjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5hdmlnYXRpb24i
KQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlvbik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkwYjIxY2JhNjE0
ZDc4Y2U4OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4YjliYzIzZWRiMmRm
MjcxMWY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKQEAgLTQ2LDEz
ICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Rh
cnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9kdXJhdGlv
bjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1fZHVyYXRpb24g
PSBkdXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAgTmF2aWdhdGlv
biAgPSAxIDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAgICAgICBNZWFz
dXJlICAgICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMsCi0gICAgICAg
IFBhaW50ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0LAorICAg
ICAgICBFdmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAgPSAxIDw8IDYK
ICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBAIC02NCw2ICs2
Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gVHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElucHV0KCkgY29u
c3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAgIHN0YXRpYyBi
b29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRy
eT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7CkBAIC03Niw3
ICs4MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5nIG1fbmFtZTsK
ICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91YmxlIG1fZHVyYXRp
b247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKKwor
I2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmco
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZSYgZW50
cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUg
cHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAg
IDogUGVyZm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAsIG1fcHJvY2Vz
c2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0VuZChwcm9jZXNz
aW5nRW5kKQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBtX2VudHJ5VHlw
ZShlbnRyeVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1JlZjxQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0
VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQoreworICAgIGF1dG8g
ZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZW50cnku
bmFtZSgpLCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRyeS5zdGFydFRp
bWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdFbmQoKSwgZW50
cnkuY2FuY2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGltaW5nLT5zZXRE
dXJhdGlvbihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1pbmc7Cit9CisK
K3N0YXRpYyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUg
fHwgIW5vZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVudCgpLmlzRnVs
bHlBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKK05vZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQpOworICAgIHJl
dHVybiBjYW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisKK0FTQ0lJTGl0
ZXJhbCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlucHV0Il9zIDog
ImV2ZW50Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4Y2IxYzVjMzJl
Njg1ZDRjY2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJQ
ZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
IGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNz
aW5nRW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKHR5cGUsIFR5
cGU6OkV2ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2luZ0VuZCwgY2Fu
Y2VsYWJsZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVu
dFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVsdDsKKworICAg
IGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdTdGFy
dDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNz
aW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxh
YmxlOyB9CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVkOgorICAgIFBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgVHlwZSYg
ZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3Vi
bGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopOworCitwcml2
YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50cnlUeXBlOyB9
CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisgICAgZG91Ymxl
IG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7CisgICAgYm9v
bCBtX2NhbmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVudFRhcmdldCog
bV90YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykKKyAgICBzdGF0
aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpIHsg
cmV0dXJuIGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsgfQorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2VmNzRkNGQ0ZGVl
MTkxODM4ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5n
LyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hS
ZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRlcmZhY2UgUGVy
Zm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IE5vZGU/IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0dHJpYnV0ZSB9
OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2Vy
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKaW5k
ZXggN2FjYzY4NmI4Nzg4YjU2MThmMDdjNjJlODkyMTg1OGM0NDYxODExOS4uNjFhMmNmZDk3OTRi
OWVmYjEzNzg3YzI0MjQzNTBkYjhhNjZmMzZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC03Myw5ICs3MywxMSBAQCBFeGNlcHRpb25Pcjx2b2lk
PiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBpbml0KQogICAgIH0gZWxzZSB7
CiAgICAgICAgIGlmICghaW5pdC50eXBlKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IFR5cGVFcnJvciwgIm5vIHR5cGUgb3IgZW50cnlUeXBlcyB3ZXJlIHByb3ZpZGVkIl9zIH07Ci0g
ICAgICAgIGlmIChhdXRvIHR5cGUgPSBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlwZVN0
cmluZygqaW5pdC50eXBlKSkKKyAgICAgICAgaWYgKGF1dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50
cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKCppbml0LnR5cGUpKSB7CiAgICAgICAgICAgICBmaWx0
ZXIuYWRkKCp0eXBlKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgKCp0eXBlID09IFBl
cmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50ICYmIGluaXQuZHVyYXRpb25UaHJlc2hvbGQpCisg
ICAgICAgICAgICAgICAgbV9kdXJhdGlvblRocmVzaG9sZCA9IHN0ZDo6bWF4KDE2LjAsICppbml0
LmR1cmF0aW9uVGhyZXNob2xkKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICByZXR1cm4g
eyB9OwogICAgIH0KIApAQCAtMTI1LDYgKzEyNyw4IEBAIFZlY3RvcjxTdHJpbmc+IFBlcmZvcm1h
bmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYK
ICAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBGSVhNRTogPGh0
dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmlnYXRpb24gVGlt
aW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCisgICAgICAgICJldmVudCJf
cywKKyAgICAgICAgImZpcnN0LWlucHV0Il9zLAogICAgICAgICAibWFyayJfcywKICAgICAgICAg
Im1lYXN1cmUiX3MKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2
ZXIuaAppbmRleCAwOTdlNWMzMDVjMjI1M2JmODUzZjA5YmE1NWIxMzg1YzdkMzNjNmRhLi4yNGIy
ZmY2NWE1MWExZWI5MGQ4MThkYjEwMTEyMDUxNjlhNjExZWI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAg
c3RydWN0IEluaXQgewogICAgICAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gZW50cnlUeXBl
czsKICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiB0eXBlOworICAgICAgICBPcHRpb25hbDxET01I
aWdoUmVzVGltZVN0YW1wPiBkdXJhdGlvblRocmVzaG9sZDsKICAgICB9OwogCiAgICAgc3RhdGlj
IFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
Y29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKQEAg
LTY1LDYgKzY2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNSZWdpc3RlcmVkKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWdpc3RlcmVkOyB9CiAgICAgUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrJiBj
YWxsYmFjaygpIHsgcmV0dXJuIG1fY2FsbGJhY2suZ2V0KCk7IH0KIAorICAgIGJvb2wgY2FuT2Jz
ZXJ2ZShjb25zdCBQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgY29uc3QgeyByZXR1cm4gZW50cnku
dHlwZSgpICE9IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50IHx8IGVudHJ5LmR1cmF0aW9u
KCkgPj0gbV9kdXJhdGlvblRocmVzaG9sZDsgfQorCiBwcml2YXRlOgogICAgIFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVy
Q2FsbGJhY2s+JiYpOwogCkBAIC03Myw2ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFBlcmZv
cm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4gbV9jYWxsYmFjazsKICAgICBPcHRpb25TZXQ8UGVyZm9y
bWFuY2VFbnRyeTo6VHlwZT4gbV90eXBlRmlsdGVyOwogICAgIGJvb2wgbV9yZWdpc3RlcmVkIHsg
ZmFsc2UgfTsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIG1fZHVyYXRpb25UaHJlc2hvbGQgeyAx
MDQgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDExOTYzNTliMTEyOTE3Mjk4OTE1ZjZmYzU4
ZWNmNTgzODk1MmY4YmIuLjgyMDkxYzU0MGQ4NDAwYTk1Njc4MDRlNWNiMmVmM2M0ZjZhMzM3NGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtMjUs
NiArMjUsOCBAQAogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFuY2UtdGltZWxp
bmUvCiAKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKIFsKICAgICBDdXN0
b21Jc1JlYWNoYWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUs
CkBAIC00Miw0ICs0NCw1IEBACiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsK
ICAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CiAgICAgRE9NU3RyaW5nIHR5cGU7
CisgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBkdXJhdGlvblRocmVzaG9sZDsKIH07CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
Y2YzNjRmNzU2ZjJjNGE0ODlmYjM4MmVjZjhkY2EyYjQ5YmU0NjMwYy4uMThjMDM1MGI0YzFhZjQ1
YTdkMzczMzFkNGFjY2IzYWQ3OWMyYjAyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3
LTI5ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2
ZW50VGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTQ2NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAyMC0wNy0yOCAgUnlhbiBIYWRkYWQgIDxyeWFu
aGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjY0OTMwKTogWyBpT1Mg
ZGVidWcgd2syIF0gd2VicnRjL3ZpZGVvLmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxNzIxM2NlNGVkNGIzNWJlN2VjNWVlMjY1OWY2
NTY4NjE1YjIyNmE3Li5iMGJlYjQ2OTYzMjk5ZTE0ZWMxNWUwY2Y3YmQ2NGRlYmY3YjAyYzRlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDYgQEAKKzIwMjAtMDct
MjkgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRXZl
bnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZl
cmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10
aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Ns
aWNrLXRpbWluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29u
dGV4dG1lbnUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJs
Y2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGlj
ay1jb3VudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1jb3VudHMtemVyby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Zp
cnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJu
ZXNzLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qczogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53
b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9s
ZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlZW50ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2VvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZXVwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1m
aXJzdElucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVyZW50ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJ1cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3By
b2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJhbWUtY2hpbGRm
cmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qczogQWRkZWQuCisgICAgICAg
IChhc3luYyBjbGlja09uRWxlbWVudEFuZERlbGF5KToKKyAgICAgICAgKG1haW5UaHJlYWRCdXN5
KToKKyAgICAgICAgKHZlcmlmeUV2ZW50KToKKyAgICAgICAgKHZlcmlmeUNsaWNrRXZlbnQpOgor
ICAgICAgICAod2FpdCk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChhcHBseUFj
dGlvbik6CisgICAgICAgIChyZXF1aXJlc0xpc3RlbmVyKToKKyAgICAgICAgKG5vdENhbmNlbGFi
bGUpOgorICAgICAgICAodGVzdENvdW50cyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weTogQWRkZWQuCisgICAgICAgICht
YWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1m
aXJzdElucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRv
dy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuanM6
IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09O
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy90b0pTT04uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDctMjggIE9yaW9s
IEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIEZpeCAn
YWxpZ24tY29udGVudCcgaW4gZ3JpZCBjb250YWluZXJzIHdpdGggc21hbGwgY29udGVudCBhcmVh
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IDE1NmQ4MDBmYjA0YmVhMzE4OWQ2NDQ0ZGM2NWQ2
MGQ5NGIzOTRhNTIuLjUzZTAwY2U4NDMyOTRiZTRlYTMyY2I1NWVkYTdhMzdjZmU1ZDczMWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1w
b3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0xODAsNiArMTgwLDggQEAKICAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9Hb29nbGUiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZW50cmllcy1hcGkiOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNl
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXh0LXhodG1sLXB1YmlkIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2ZlYXR1cmUtcG9saWN5IjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEyN2ZiNjFj
MzEwZDkxYjYyOWZmMGQ3YjE5Y2QwMWNlNDY5ZTY0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEu
eW1sCkBAIC0wLDAgKzEsMyBAQAorc3BlYzogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvZXZlbnQt
dGltaW5nCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIG5wbTEKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNs
aWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTk1
NjZhMTllY2QyYzA2ODExNzlkZTA3ZTNiY2YxMTI4NWUyMzY2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YXV4Y2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworRkFJTCBF
dmVudCBUaW1pbmcgYXV4Y2xpY2suIGFzc2VydF9lcXVhbHM6IE5vIGV2ZW50cyB5ZXQuIGV4cGVj
dGVkIChudW1iZXIpIDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvYXV4Y2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg4MzI4ZTJhYTM2
NzE1ZTgxNjVjNmViMjc3YmU0OWY3ZDE4OTY1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNr
Lmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgYXV4Y2xpY2suPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGlj
ayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJl
dHVybiB0ZXN0RXZlbnRUeXBlKHQsICdhdXhjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjExYjFmYWI2MDY2NmE5NjliZDJhNDgzM2E2ODExZTg4NWFlZDUzNTQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBidWZm
ZXJpbmcgaW5kZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1
ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmJlNzY2M2MxMTRkMTA1NTg2NmM1OWYwNzVm
ZjUzNTJhY2ZjZGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRo
cmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9i
c2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBhbmQgZHVyYXRpb25UaHJlc2hvbGQ8L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2Vz
L2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNs
aWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBhc3Nl
cnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWlu
ZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAvLyBBZGQgYSBQZXJmb3JtYW5jZU9ic2VydmVyIGFu
ZCBvYnNlcnZlIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiAzMCBhbmQgYnVmZmVyZWQgZmxh
Zy4KKyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUxID0+IHsKKyAgICAvLyBBZGQg
YSBzbG93IGNsaWNrIGV2ZW50IGFuZCBtYWtlIHN1cmUgaXQncyBkaXNwYXRjaGVkIHRvIG9ic2Vy
dmVycy4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlMiA9PiB7CisgICAgICAv
LyBPYnNlcnZlciB0byBhd2FpdCB1bnRpbCBldmVudCBlbnRyeSBpcyBkaXNwYXRjaGVkLgorICAg
ICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKCkgPT4geworICAgICAgICByZXNvbHZlMigpOwor
ICAgICAgfSkub2JzZXJ2ZSh7dHlwZTogImV2ZW50IiwgZHVyYXRpb25UaHJlc2hvbGQ6IDE2fSk7
CisgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdteURpdicsIDMwKTsKKyAgICB9
KTsKKyAgICBjb25zdCBhZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0ID0+IHsKKyAgICAgIGNvbnN0
IG1vdXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAg
aWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICByZXR1cm47CisgICAgICBhc3Nl
cnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLCAnU2hvdWxkIG9ubHkgb2JzZXJ2ZSAxIGNs
aWNrIScpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtb3VzZURvd25zWzBdLnByb2Nlc3Np
bmdTdGFydCwgYWZ0ZXJGaXJzdENsaWNrLAorICAgICAgICAnVGhlIGVudHJ5IHNob3VsZCBub3Qg
YmUgdGhlIGZpcnN0IGNsaWNrISEnKTsKKyAgICAgIHZlcmlmeUNsaWNrRXZlbnQobW91c2VEb3du
c1swXSwgJ215RGl2JywgZmFsc2UgLyogaXNGaXJzdCAqLywgMTYgLyogbWluRHVyYXRpb24qLyk7
CisgICAgICByZXNvbHZlMSgpOworICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnLCBkdXJh
dGlvblRocmVzaG9sZDogMTYsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAgLy8gVGhpcyBzaG91bGQg
YmUgdGhlIG9ubHkgY2xpY2sgb2JzZXJ2ZWQgc2luY2UgdGhlIG90aGVyIG9uZSB3b3VsZCBub3Qg
YmUgYnVmZmVyZWQuCisgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxheSgnbXlEaXYnLCAz
MCk7CisgIH0pOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgYnVmZmVyaW5nIGluZGVwZW5kZW50
IG9mIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTc2MDRjMjhlMTJmMzk4MDcwZmEyZWZkODc5MTNjNTYzNTk0ZjIwYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBA
QAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJl
ZCBmbGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVudHJpZXMgVGVzdCB0aW1lZCBvdXQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdlZTE1MmJlOTM4OGZhODU5M2MzYzJhODU5ODFhN2NiMGVkNzQ5MmEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBU
aW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2VlcyBlbnRyaWVzIHdpdGggYnVmZmVyZWQgZmxh
ZzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwv
YnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4K
KyAgbGV0IGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgIGxldCBldmVudFNlZW4gPSBmYWxzZTsK
KyAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9y
bWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAg
IGNvbnN0IHZhbGlkYXRlRW50cnkgPSB0LnN0ZXBfZnVuYyhlbnRyeSA9PiB7CisgICAgICBpZiAo
ZW50cnkuZW50cnlUeXBlID09PSAnZmlyc3QtaW5wdXQnKQorICAgICAgICBmaXJzdElucHV0U2Vl
biA9IHRydWU7CisgICAgICBlbHNlIGlmIChlbnRyeS5lbnRyeVR5cGUgPT09ICdldmVudCcpCisg
ICAgICAgIGV2ZW50U2VlbiA9IHRydWU7CisgICAgICBlbHNlCisgICAgICAgIGFzc2VydF91bnJl
YWNoZWQoJ1Nob3VsZCBvbmx5IG9ic2VydmUgRXZlbnQgVGltaW5nIGVudHJpZXMhJyk7CisgICAg
fSk7CisgICAgLy8gRmlyc3Qgb2JzZXJ2ZXIgY3JlYXRlcyBzZWNvbmQgaW4gY2FsbGJhY2sgdG8g
ZW5zdXJlIHRoZSBlbnRyeSBoYXMgYmVlbiBkaXNwYXRjaGVkIGJ5IHRoZSB0aW1lCisgICAgLy8g
dGhlIHNlY29uZCBvYnNlcnZlciBiZWdpbnMgb2JzZXJ2aW5nLgorICAgIG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKChsaXN0LCBvYnMpID0+IHsKKyAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVh
Y2godmFsaWRhdGVFbnRyeSk7CisgICAgICBpZiAoIWZpcnN0SW5wdXRTZWVuIHx8ICFldmVudFNl
ZW4pCisgICAgICAgIHJldHVybjsKKworICAgICAgb2JzLmRpc2Nvbm5lY3QoKTsKKyAgICAgIGZp
cnN0SW5wdXRTZWVuID0gZmFsc2U7CisgICAgICBldmVudFNlZW4gPSBmYWxzZTsKKyAgICAgIC8v
IFNlY29uZCBvYnNlcnZlciByZXF1aXJlcyAnYnVmZmVyZWQ6IHRydWUnIHRvIHNlZSBlbnRyaWVz
LgorICAgICAgY29uc3QgYnVmZmVyZWRPYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVy
KGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgZW50cnlMaXN0LmdldEVudHJpZXMoKS5mb3JFYWNo
KHZhbGlkYXRlRW50cnkpOworICAgICAgICAgIGlmIChmaXJzdElucHV0U2VlbiAmJiBldmVudFNl
ZW4pCisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pOworICAgICAgYnVmZmVyZWRPYnNl
cnZlci5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBidWZmZXJlZDogdHJ1ZX0pOworICAgICAgYnVm
ZmVyZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAnZmlyc3QtaW5wdXQnLCBidWZmZXJlZDogdHJ1
ZX0pOworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnLCAnZmlyc3QtaW5wdXQn
XX0pOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgfSwgIlBlcmZvcm1hbmNl
T2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVu
dHJpZXMiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YWI5YmRhYWNjNjMxYTczZmRh
Yjg5MDZhMWU5ODVkNWViNjU4NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACitDbGljayBtZQorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgY2xpY2suIFRlc3QgdGltZWQg
b3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1p
bmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjk3MWQyZTdkMzExZDA1ZDBlYTI4NTE1OGI0
NDU4NzhjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK1BBU1MgRXZlbnQg
VGltaW5nOiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1p
bmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0OTQzZjk1OTBhOWYyZGY4
M2VlODQxNTAzODc4ZjFlNDU1MTA3YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcu
aHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hh
cnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogY29tcGFyZSB0aW1pbmcgb2YgdHdv
IGxvbmcgY2xpY2tzCis8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdj
bGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQ+CisgIC8qIFRpbWVsaW5lOgorICAgICBPYnNlcnZlciBzdGFydHMKKyAgICAg
TG9uZyBjbGljayAxCisgICAgIExvbmcgY2xpY2sgMgorICAgICBPbmNlIHR3byBjbGlja3MgaGF2
ZSBiZWVuIHJlY2VpdmVkIGJ5IG9ic2VydmVyLCBjb21wYXJlIHRoZSB0aW1lc3RhbXBzLgorICAq
LworICBsZXQgdGltZUJlZm9yZUZpcnN0Q2xpY2s7CisgIGxldCB0aW1lQWZ0ZXJGaXJzdENsaWNr
OworICBsZXQgdGltZUFmdGVyU2Vjb25kQ2xpY2s7CisgIGxldCBvYnNlcnZlZEVudHJpZXMgPSBb
XTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRl
ZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3Qg
PT4geworICAgICAgb2JzZXJ2ZWRFbnRyaWVzID0gb2JzZXJ2ZWRFbnRyaWVzLmNvbmNhdChlbnRy
eUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcigKKyAgICAgICAgZW50cnkgPT4gZW50cnkubmFtZSA9
PT0gJ21vdXNlZG93bicpKTsKKyAgICAgIGlmIChvYnNlcnZlZEVudHJpZXMubGVuZ3RoIDwgMikK
KyAgICAgICAgcmV0dXJuOworCisgICAgICBhc3NlcnRfbm90X2VxdWFscyh0aW1lQmVmb3JlRmly
c3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVBZnRlckZp
cnN0Q2xpY2ssIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRfbm90X2VxdWFscyh0aW1lQWZ0ZXJT
ZWNvbmRDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIC8vIEZpcnN0IGNsaWNrLgorICAgICAgdmVy
aWZ5Q2xpY2tFdmVudChvYnNlcnZlZEVudHJpZXNbMF0sICdidXR0b24nKTsKKyAgICAgIGFzc2Vy
dF9iZXR3ZWVuX2V4Y2x1c2l2ZShvYnNlcnZlZEVudHJpZXNbMF0ucHJvY2Vzc2luZ1N0YXJ0LAor
ICAgICAgICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrLAorICAgICAgICAgIHRpbWVBZnRlckZpcnN0
Q2xpY2ssCisgICAgICAgICAgIkZpcnN0IGNsaWNrJ3MgcHJvY2Vzc2luZ1N0YXJ0Iik7CisgICAg
ICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlckZpcnN0Q2xpY2ssIG9ic2VydmVkRW50cmll
c1swXS5zdGFydFRpbWUsCisgICAgICAgICAgInRpbWVBZnRlckZpcnN0Q2xpY2sgc2hvdWxkIGJl
IGxhdGVyIHRoYW4gZmlyc3QgY2xpY2sncyBzdGFydCB0aW1lLiIpOworCisgICAgICAvLyBTZWNv
bmQgY2xpY2suCisgICAgICB2ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50cmllc1sxXSwgJ2J1
dHRvbicpOworICAgICAgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1sx
XS5wcm9jZXNzaW5nU3RhcnQsCisgICAgICAgICAgdGltZUFmdGVyRmlyc3RDbGljaywKKyAgICAg
ICAgICB0aW1lQWZ0ZXJTZWNvbmRDbGljaywKKyAgICAgICAgICAiU2Vjb25kIGNsaWNrJ3MgcHJv
Y2Vzc2luZ1N0YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlclNlY29u
ZENsaWNrLCBvYnNlcnZlZEVudHJpZXNbMV0uc3RhcnRUaW1lLAorICAgICAgICAgICJ0aW1lQWZ0
ZXJTZWNvbmRDbGljayBzaG91bGQgYmUgbGF0ZXIgdGhhbiBzZWNvbmQgY2xpY2sncyBzdGFydCB0
aW1lLiIpOworICAgICAgdC5kb25lKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVudCd9
KTsKKyAgICB0aW1lQmVmb3JlRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGNs
aWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKCAoKSA9PiB7CisgICAgICB0aW1lQWZ0ZXJG
aXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICBjbGlja0FuZEJsb2NrTWFpbign
YnV0dG9uJykudGhlbigoKSA9PiB7CisgICAgICAgIHRpbWVBZnRlclNlY29uZENsaWNrID0gcGVy
Zm9ybWFuY2Uubm93KCk7CisgICAgICB9KQorICAgIH0pOworICB9LCAiRXZlbnQgVGltaW5nOiBj
b21wYXJlIGNsaWNrIHRpbWluZ3MuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9jbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZWVjYWJkZjE4NzhjOGYwZjc3
NzViMGIwZDU4N2NhOTA5MDlmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sCkBAIC0w
LDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIGNsaWNrLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1h
Y3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50
VHlwZSh0LCAnY2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y29udGV4dG1lbnUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjYwZGVjN2JlZmY2MzQwODA5ZjA3MGVjYmMxYjJiMzg3NzBlMTMyZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitNZW51
CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2
ZW50IFRpbWluZyBjb250ZXh0bWVudS4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29u
dGV4dG1lbnUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFhMDVhM2IxNjM5
ZTM5ZGM2NmZiZGU4M2YxNjEwYWZmZWY0NzU5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRt
ZW51Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY29udGV4dG1lbnUuPC90aXRs
ZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3Vy
Y2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0
JyBjb250ZXh0bWVudT0ibXltZW51Ij5NZW51Cis8bWVudSB0eXBlPSJjb250ZXh0IiBpZD0ibXlt
ZW51Ij4KKyAgPG1lbnVpdGVtIGxhYmVsPSJsYWJlbCI+PC9tZW51aXRlbT4KKzwvbWVudT4KKzwv
ZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0
ZXN0RXZlbnRUeXBlKHQsICdjb250ZXh0bWVudScpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMyZmRjZWVjZDk5NDc2OTI0M2ZmMWJhZDEwNzhmN2Y3Y2Q5
ZjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDYgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudCAgCisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZzogZW50cmllcyBz
aG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJhbWUuIFRlc3QgdGltZWQgb3V0
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRmYmQyODk3YWQ0YmI1YmZkNGVkZWIyY2RjMTdhZmM0MzhlMzc5NjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisKKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PXV0Zi04IC8+CisgIDx0aXRs
ZT5FdmVudCBUaW1pbmc6IGVudHJpZXMgc2hvdWxkIGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBm
cmFtZS48L3RpdGxlPgorICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzwv
aGVhZD4KKworPGJvZHk+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBl
dmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3Jp
cHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxp
ZnJhbWUgaWQ9J2lmcmFtZScgc3JjPXJlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0
bWw+PC9pZnJhbWU+Cis8c2NyaXB0PgorICBsZXQgY2xpY2tUaW1lTWluOworICBsZXQgY2xpY2tE
b25lOworCisgIGZ1bmN0aW9uIHZhbGlkYXRlRW50cmllcyhlbnRyaWVzKSB7CisgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIk9ubHkgMSBlbnRyeSBzaG91bGQgYmUgcmVjZWl2
ZWQiKTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisgICAgdmVyaWZ5Q2xpY2tFdmVu
dChlbnRyeSwgJ2J1dHRvbicsIHRydWUpOworCisgICAgYXNzZXJ0X2xlc3NfdGhhbihlbnRyeS5w
cm9jZXNzaW5nU3RhcnQsIGNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRyeSdzIHByb2Nlc3Np
bmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSBjbGlja0RvbmUuIik7CisgICAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbihlbnRyeS5zdGFydFRpbWUsIGNsaWNrVGltZU1pbiwKKyAgICAgICAgIlRoZSBlbnRy
eSdzIHN0YXJ0IHRpbWUgc2hvdWxkIGJlIGxhdGVyIHRoYW4gY2xpY2tUaW1lTWluLiIpOworICB9
CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEZyYW1lRW50cmllcyhjaGlsZEZyYW1lRGF0YSkg
eworICAgIGlmIChjaGlsZEZyYW1lRGF0YSA9PT0gImZhaWxlZCIpIHsKKyAgICAgIGFzc2VydF91
bnJlYWNoZWQoIkRpZCBub3QgcmVjZWl2ZSBleGFjdGx5IG9uZSBlbnRyeSBmcm9tIGNoaWxkIGFz
IGV4cGVjdGVkIik7CisgICAgfQorICAgIC8vIHxjaGlsZEZyYW1lRGF0YXwgaGFzIHByb3BlcnRp
ZXMgd2l0aCB0aGUgc2FtZSBuYW1lcyBhcyBpdHMKKyAgICAvLyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nIGNvdW50ZXJwYXJ0LgorICAgIHZlcmlmeUNsaWNrRXZlbnQoY2hpbGRGcmFtZURhdGEsIG51
bGwpOworICAgIGFzc2VydF9lcXVhbHMoY2hpbGRGcmFtZURhdGEudGFyZ2V0LCAnaWZyYW1lX2Rp
dicpOworCisgICAgYXNzZXJ0X2xlc3NfdGhhbihjaGlsZEZyYW1lRGF0YS5wcm9jZXNzaW5nU3Rh
cnQsIGNoaWxkRnJhbWVEYXRhLmNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRyeSdzIHByb2Nl
c3Npbmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIGNsaWNr
RG9uZS4iKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGNoaWxkRnJhbWVEYXRhLnN0YXJ0VGlt
ZSwgY2hpbGRGcmFtZURhdGEuY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVudHJ5J3Mgc3Rh
cnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiB0aGUgY2hpbGQgZnJhbWUncyBcCisgICAgICAg
IGNsaWNrVGltZU1pbi4iKTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgIkV2ZW50
IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkIik7CisgICAgY2xpY2tUaW1lTWluID0gcGVyZm9ybWFu
Y2Uubm93KCk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qg
b2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyaWVzID0+IHsKKyAgICAgICAgY29uc3Qg
bW91c2VEb3ducyA9IGVudHJpZXMuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAg
ICAgIC8vIElnbm9yZSB0aGUgY2FsbGJhY2sgaWYgdGhlcmUgd2VyZSBubyBtb3VzZWRvd24gZW50
cmllcy4KKyAgICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24sCisgICAgICAg
ICAgICAiT2JzZXJ2ZXIgb2YgbWFpbiBmcmFtZXMgc2hvdWxkIG9ubHkgY2FwdHVyZSBtYWluLWZy
YW1lIGV2ZW50LXRpbWluZyBlbnRyaWVzIik7CisgICAgICAgIHZhbGlkYXRlRW50cmllcyhtb3Vz
ZURvd25zKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0cnVlOworICAgICAgICByZXNv
bHZlKCk7CisgICAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAgIH0pOworICAg
IGF3YWl0IGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgICBjbGlja0RvbmUgPSBwZXJm
b3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCBvYnNlcnZlclByb21pc2U7CisgICAgY29uc3QgY2hp
bGRGcmFtZUVudHJpZXNQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgICAgICBy
ZXNvbHZlKGV2ZW50LmRhdGEpOworICAgICAgfSwgZmFsc2UpOworICAgIH0pOworCisgICAgbGV0
IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKKyAgICBjb25zdCBp
ZnJhbWVYID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLm9mZnNldExlZnQ7Cisg
ICAgY29uc3QgaWZyYW1lWSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5vZmZz
ZXRUb3A7CisgICAgLy8gVGFwIG9uIHRoZSBpZnJhbWUsIHdpdGggYW4gb2Zmc2V0IG9mIDEwIHRv
IHRhcmdldCB0aGUgZGl2IGluc2lkZSBpdC4KKyAgICBjb25zdCBhY3Rpb25zID0gbmV3IHRlc3Rf
ZHJpdmVyLkFjdGlvbnMoKQorICAgICAgICAucG9pbnRlck1vdmUoaWZyYW1lWCArIDEwLCBpZnJh
bWVZICsgMTApCisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAgICAgIC5wb2ludGVyVXAoKQor
ICAgIGFjdGlvbnMuc2VuZCgpOworICAgIGNvbnN0IGNoaWxkRnJhbWVEYXRhID0gYXdhaXQgY2hp
bGRGcmFtZUVudHJpZXNQcm9taXNlOworICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICB2YWxpZGF0
ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRhKTsKKyAgICB9KTsKKyAgfSwgIkV2ZW50
IFRpbWluZzogZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJh
bWUuIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjMGU0
Mzk4NTY1Mjc2NzdkOWU2ZGZmMjc0Njg5N2NlMzZiNDI4MDIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9k
YmxjbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK0Ns
aWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1F
T1VUIEV2ZW50IFRpbWluZyBkYmxjbGljay4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
ZGJsY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzZmNmZDMwZGUwNTFh
ZTcyMjdlODQzZjI3ZTJiMjdlMDE3Yzk1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0
bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgZGJsY2xpY2suPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rp
dj4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2Vf
dGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnZGJsY2xpY2sn
KTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJn
ZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmM0OGNkMDI5NTZkMTE4ZTE3ZjY4NjQ2MjBiNmM4NWM5NTI1OTQwOTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisK
K1BBU1MgRXZlbnQgVGltaW5nOiB3aGVuIHRhcmdldCBpcyBkaXNjb25uZWN0ZWQsIGVudHJ5LnRh
cmdldCByZXR1cm5zIG51bGwuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDY3NzBkMzE4OGRjYjViMjM4
MDZkMWFiMDNkNzdlNzZlNGUxMzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJn
ZXQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8
c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+
CisKKzxidXR0b24gaWQ9J3RoZV9idXR0b24nPkNsaWNrTWU8L2J1dHRvbj4KKworPHNjcmlwdD4K
K2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVy
Zm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOwor
ICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jX2Rv
bmUoKGVudHJ5TGlzdCkgPT4geworICAgIGNvbnN0IGVudHJpZXMgPSBlbnRyeUxpc3QuZ2V0RW50
cmllcygpLmZpbHRlcihlID0+IGUubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgIGlmIChlbnRy
aWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKyAgICAvLyBUaGVyZSBtdXN0IG9ubHkg
YmUgb25lIGNsaWNrIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEp
OworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICAvLyBUaGlzIGNoZWNrcyB0aGF0
IGVudHJ5LnRhcmdldCByZXR1cm5zIHRoZSBjb3JyZWN0IGJ1dHRvbiBOb2RlLgorICAgIHZlcmlm
eUNsaWNrRXZlbnQoZW50cnksICd0aGVfYnV0dG9uJywgdHJ1ZSk7CisgICAgY29uc3QgYnV0dG9u
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZV9idXR0b24nKTsKKyAgICBidXR0b24ucGFy
ZW50Tm9kZS5yZW1vdmVDaGlsZChidXR0b24pOworICAgIC8vIEFmdGVyIHJlbW92aW5nIHRoZSBi
dXR0b24sIGVudHJ5LnRhcmdldCBzaG91bGQgbm93IHJldHVybiBudWxsLgorICAgIGFzc2VydF9l
cXVhbHMoZW50cnkudGFyZ2V0LCBudWxsKTsKKyAgfSkpOworICBvYnNlcnZlci5vYnNlcnZlKHtl
bnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAgY2xpY2tBbmRCbG9ja01haW4oJ3RoZV9idXR0b24n
KTsKK30sICJFdmVudCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwgZW50cnku
dGFyZ2V0IHJldHVybnMgbnVsbC4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
ZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNkZDExMWNkYjZjZjBmYWQ1NzE4YjIzZmQxZjk5MzUyOGM5
NmYzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitDbGljayBtZQorQ2xpY2sgbWUKKworSGFybmVzcyBFcnJvciAoVElN
RU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nOiBldmVudENvdW50
cy4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1jbGljay1jb3VudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzY1NjNiOTU4MThhYzU2YWRi
YzA2YzkzNzQ3OTg3MDBlZDQxMjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291
bnRzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLjwvdGl0
bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdkaXYnPkNs
aWNrIG1lPC9kaXY+Cis8YnV0dG9uIGlkPSdidXR0b24nPkNsaWNrIG1lPC9idXR0b24+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoIHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgICBmdW5j
dGlvbiB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUpIHsKKyAgICAgIGNvbnN0IGNs
aWNrQ291bnQgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ2NsaWNrJyk7CisgICAgICBp
ZiAoY2xpY2tDb3VudCA8IGV4cGVjdGVkQ291bnQpIHsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQo
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgdGVzdENsaWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZl
KTsKKyAgICAgICAgfSwgNSk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGFzc2Vy
dF9lcXVhbHMoY2xpY2tDb3VudCwgZXhwZWN0ZWRDb3VudCwnSW5jb3JyZWN0IGNsaWNrIGNvdW50
LicpOworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ21v
dXNlZG93bicpLCBleHBlY3RlZENvdW50LCAnSW5jb3JyZWN0IG1vdXNlZG93biBjb3VudCcpOwor
ICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ21vdXNldXAn
KSwgZXhwZWN0ZWRDb3VudCwgJ0luY29ycmVjdCBtb3VzZXVwIGNvdW50LicpOworICAgICAgcmVz
b2x2ZSgpOworICAgIH0KKyAgICBmdW5jdGlvbiBwcm9taXNlQ2xpY2tzKGV4cGVjdGVkQ291bnQp
IHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdGVzdENs
aWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZlKQorICAgICAgfSk7CisgICAgfQorCisgICAgcmV0
dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKSkudGhl
bigoKSA9PiB7CisgICAgICByZXR1cm4gcHJvbWlzZUNsaWNrcygxKTsKKyAgICB9KS50aGVuKCgp
ID0+IHsKKyAgICAgIHJldHVybiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnYnV0dG9uJykpOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHByb21p
c2VDbGlja3MoMik7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gdGVzdF9kcml2
ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpKTsKKyAgICB9KS50aGVuKCgp
ID0+IHsKKyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDMpOworICAgIH0pOworICB9KQorPC9z
Y3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzljOWRjMjQx
OTRjNWMwNDUzMzdkMDA3N2IyYWRlODBkMDk2OTMyMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50
LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBFdmVudCBU
aW1pbmc6IGV2ZW50Q291bnRzLiBhc3NlcnRfZXF1YWxzOiBUaGVyZSBpcyBhIG5vbnplcm8gdmFs
dWUgZm9yIGF1eGNsaWNrIGV4cGVjdGVkIChudW1iZXIpIDAgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNv
dW50cy16ZXJvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2VjOTBkZDY5MTM4ZjM1MTk3Nzc0MjM5ZGZjMTJm
NTU0YzkyODRiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKQEAg
LTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICB0ZXN0KCgpID0+IHsKKyAg
ICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuRXZlbnRDb3VudHMsICJFdmVudCBDb3VudHMgaXNu
J3Qgc3VwcG9ydGVkIik7CisgICAgY29uc3QgZXZlbnRUeXBlcyA9IFsKKyAgICAgICAgJ2F1eGNs
aWNrJywKKyAgICAgICAgJ2NsaWNrJywKKyAgICAgICAgJ2NvbnRleHRtZW51JywKKyAgICAgICAg
J2RibGNsaWNrJywKKyAgICAgICAgJ21vdXNlZG93bicsCisgICAgICAgICdtb3VzZWVudGVyJywK
KyAgICAgICAgJ21vdXNlbGVhdmUnLAorICAgICAgICAnbW91c2VvdXQnLAorICAgICAgICAnbW91
c2VvdmVyJywKKyAgICAgICAgJ21vdXNldXAnLAorICAgICAgICAncG9pbnRlcm92ZXInLAorICAg
ICAgICAncG9pbnRlcmVudGVyJywKKyAgICAgICAgJ3BvaW50ZXJkb3duJywKKyAgICAgICAgJ3Bv
aW50ZXJ1cCcsCisgICAgICAgICdwb2ludGVyY2FuY2VsJywKKyAgICAgICAgJ3BvaW50ZXJvdXQn
LAorICAgICAgICAncG9pbnRlcmxlYXZlJywKKyAgICAgICAgJ2dvdHBvaW50ZXJjYXB0dXJlJywK
KyAgICAgICAgJ2xvc3Rwb2ludGVyY2FwdHVyZScsCisgICAgICAgICd0b3VjaHN0YXJ0JywKKyAg
ICAgICAgJ3RvdWNoZW5kJywKKyAgICAgICAgJ3RvdWNoY2FuY2VsJywKKyAgICAgICAgJ2tleWRv
d24nLAorICAgICAgICAna2V5cHJlc3MnLAorICAgICAgICAna2V5dXAnLAorICAgICAgICAnYmVm
b3JlaW5wdXQnLAorICAgICAgICAnaW5wdXQnLAorICAgICAgICAnY29tcG9zaXRpb25zdGFydCcs
CisgICAgICAgICdjb21wb3NpdGlvbnVwZGF0ZScsCisgICAgICAgICdjb21wb3NpdGlvbmVuZCcs
CisgICAgICAgICdkcmFnc3RhcnQnLAorICAgICAgICAnZHJhZ2VuZCcsCisgICAgICAgICdkcmFn
ZW50ZXInLAorICAgICAgICAvLyAnZHJhZ2V4aXQnPyBVbmNsZWFyIGlmIGl0IHdpbGwgYmUgcmVt
b3ZlZCBmcm9tIEhUTUwgc3BlYyBvciBub3QuCisgICAgICAgICdkcmFnbGVhdmUnLAorICAgICAg
ICAnZHJhZ292ZXInLAorICAgICAgICAnZHJvcCcKKyAgICBdOworICAgIGV2ZW50VHlwZXMuZm9y
RWFjaCh0eXBlID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3Vu
dHMuZ2V0KHR5cGUpLCAwLCAnVGhlcmUgaXMgYSBub256ZXJvIHZhbHVlIGZvciAnICsgdHlwZSk7
CisgICAgfSkKKyAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLnNpemUs
IGV2ZW50VHlwZXMubGVuZ3RoLAorICAgICAgICAnVGhlIHNpemUgb2YgcGVyZm9ybWFuY2UuZXZl
bnRDb3VudHMgaXMgaW5jb3JyZWN0LicpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFiZDFhZWQyYWJiMzZiNzQ2NDE4ZTVmNDhjYmMwNTg4Mjdm
ODk5MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMgQEAKKworUEFTUyBFdmVudCBUaW1pbmc6IHRhcmdldCByZXBvcnRzIHRoZSBsYXN0
IEV2ZW50IFRhcmdldCwgaS5lLiBub3RoaW5nIGZyb20gc2hhZG93IERPTS4gCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI5YzExNGYzNTZiNTFiODY5Yjk1NTA4MzA4MTVjYjZlNjhiM2M3YTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9ldmVudC1yZXRhcmdldC5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3Iu
anM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11
dGlscy5qcz48L3NjcmlwdD4KKworPGN1c3RvbS1idXR0b24gaWQ9J2N1c3RvbV9idXR0b24nPjwv
Y3VzdG9tLWJ1dHRvbj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBh
c3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRp
bWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBsZXQgaW5uZXJCdXR0b25DbGlja2VkID0gZmFs
c2U7CisgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnY3VzdG9tLWJ1dHRvbicsIGNsYXNzIGV4dGVu
ZHMgSFRNTEVsZW1lbnQgeworICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeworICAgICAgdGhpcy5h
dHRhY2hTaGFkb3coe21vZGU6ICdvcGVuJ30pOworICAgICAgdGhpcy5zaGFkb3dSb290LmlubmVy
SFRNTCA9IGA8YnV0dG9uIGlkPSdpbm5lcl9idXR0b25faWQnPkNsaWNrIG1lPC9idXR0b24+YDsK
KyAgICAgIHRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5uZXJfYnV0dG9uX2lkJyku
b25jbGljayA9ICgpID0+IHsKKyAgICAgICAgaW5uZXJCdXR0b25DbGlja2VkID0gdHJ1ZTsKKyAg
ICAgIH07CisgICAgfQorICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VP
YnNlcnZlcih0LnN0ZXBfZnVuYygoZW50cnlMaXN0KSA9PiB7CisgICAgY29uc3QgZW50cmllcyA9
IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICBpZiAoZW50cmll
cy5sZW5ndGggPT09IDApCisgICAgICByZXR1cm47CisKKyAgICAvLyBUaGVyZSBtdXN0IG9ubHkg
YmUgb25lIG1vdXNlZG93biBlbnRyeS4KKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJpZXNbMF0sICdjdXN0b21fYnV0dG9uJywg
dHJ1ZSk7CisgICAgYXNzZXJ0X3RydWUoaW5uZXJCdXR0b25DbGlja2VkKTsKKyAgICB0LmRvbmUo
KQorICB9KSk7CisgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOwor
ICBjbGlja0FuZEJsb2NrTWFpbignY3VzdG9tX2J1dHRvbicpOworfSwgIkV2ZW50IFRpbWluZzog
dGFyZ2V0IHJlcG9ydHMgdGhlIGxhc3QgRXZlbnQgVGFyZ2V0LCBpLmUuIG5vdGhpbmcgZnJvbSBz
aGFkb3cgRE9NLiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1
dC1zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE2NTJhYTdmMjY1NmY4ODg3ZDU3YzQ3ODdhNjIzZDZkMmJkOTgz
NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBFdmVudCBUaW1pbmc6IHRlc3QgZmlyc3QgaW5wdXQg
b24gc2hhZG93IERPTS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmViNjU5NzU1MmZi
OWVjNDhhMGE3MzNhNGQ2N2YyMmI0MjdmNzYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5w
dXQtc2hhZG93LWRvbS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+CisKKzxib2R5PgorPGRpdiBpZD0nY29udGFpbmVyJz4KKyAgPGN1c3RvbS1idXR0b24g
aWQ9J2N1c3RvbV9idXR0b24nPjwvY3VzdG9tLWJ1dHRvbj4KKzwvZGl2PgorPHNjcmlwdD4KK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgbGV0IGlu
bmVyQnV0dG9uQ2xpY2tlZCA9IGZhbHNlOworICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3Rv
bS1idXR0b24nLCBjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBjb25uZWN0ZWRDYWxs
YmFjaygpIHsKKyAgICAgIHRoaXMuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAgICAg
IHRoaXMuc2hhZG93Um9vdC5pbm5lckhUTUwgPSBgPGJ1dHRvbiBpZD0naW5uZXJfYnV0dG9uX2lk
Jz5DbGljayBtZTwvYnV0dG9uPmA7CisgICAgICB0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5
SWQoJ2lubmVyX2J1dHRvbl9pZCcpLm9ubW91c2Vkb3duID0gKCkgPT4geworICAgICAgICBpbm5l
ckJ1dHRvbkNsaWNrZWQgPSB0cnVlOworICAgICAgfTsKKyAgICB9CisgIH0pOworICBjb25zdCBv
YnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBuZXcgUGVyZm9y
bWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgLy8gVGhlcmUg
bXVzdCBvbmx5IGJlIG9uZSBmaXJzdC1pbnB1dCBlbnRyeS4KKyAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cnlMaXN0LmdldEVudHJpZXMoKS5sZW5ndGgsIDEpOworICAgICAgLy8gZW50cnkudGFyZ2V0
IG11c3QgYmUgdGhlIHNoYWRvdyBob3N0IGR1ZSB0byByZXRhcmdldHRpbmcuCisgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF0udGFyZ2V0LAorICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdjdXN0b21fYnV0dG9uJykpOworICAgICAgYXNzZXJ0X3Ry
dWUoaW5uZXJCdXR0b25DbGlja2VkLCAnRGlkIG5vdCByZWFjaCB0aGUgc2hhZG93IERPTSBldmVu
dCBsaXN0ZW5lciEnKTsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9KSkub2JzZXJ2ZSh7ZW50cnlU
eXBlczogWydmaXJzdC1pbnB1dCddfSk7CisgIH0pOworICBjb25zdCBjbGlja1Byb21pc2UgPSB0
ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tX2J1dHRvbicp
KTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclByb21pc2UsIGNsaWNrUHJvbWlzZV0p
OworfSwgIkV2ZW50IFRpbWluZzogdGVzdCBmaXJzdCBpbnB1dCBvbiBzaGFkb3cgRE9NLiIpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZk
YTExMjE3ZmIwMDBmMGI0M2MyMDU5OTQzODBkNGRjMGE4ZmVkOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACisKK1BBU1MgaWRs
X3Rlc3Qgc2V0dXAgCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24gCitQQVNTIFBhcnRpYWwgaW50
ZXJmYWNlIFBlcmZvcm1hbmNlOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IHZhbGlkIGV4cG9zdXJlIHNldCAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFT
UyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6IG9yaWdpbmFsIGRp
Y3Rpb25hcnkgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJJbml0OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgUGFydGlhbCBpbnRlcmZh
Y2UgUGVyZm9ybWFuY2VbMl06IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BB
U1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVy
dHkgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJv
Y2Vzc2luZ1N0YXJ0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogYXR0
cmlidXRlIHByb2Nlc3NpbmdFbmQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJm
YWNlOiBhdHRyaWJ1dGUgY2FuY2VsYWJsZSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSB0YXJnZXQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcg
aW50ZXJmYWNlOiBvcGVyYXRpb24gdG9KU09OKCkgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIEV2
ZW50Q291bnRzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBFdmVudENvdW50cyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBFdmVu
dENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIEV2ZW50Q291
bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgUGVyZm9ybWFuY2Ug
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZXZlbnRDb3VudHMgCitQQVNTIFBlcmZvcm1hbmNlIGludGVy
ZmFjZTogcGVyZm9ybWFuY2UgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJldmVudENvdW50cyIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9p
ZGxoYXJuZXNzLmFueS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBh
NDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVz
cy5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVlOTg1NDhmYjZmMjIwOWI4YzRiNTM0NjgzMGMwZDcyM2U2
ODE3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCkBAIC0wLDAgKzEsMTgg
QEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291
cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5l
c3MuanMKKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvCisKKyd1c2Ug
c3RyaWN0JzsKKworaWRsX3Rlc3QoCisgIFsnZXZlbnQtdGltaW5nJ10sCisgIFsncGVyZm9ybWFu
Y2UtdGltZWxpbmUnLCAnaHItdGltZScsICdkb20nXSwKKyAgaWRsX2FycmF5ID0+IHsKKyAgICBp
ZGxfYXJyYXkuYWRkX29iamVjdHMoeworICAgICAgUGVyZm9ybWFuY2U6IFsncGVyZm9ybWFuY2Un
XSwKKyAgICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6IFsgVE9ETyBdCisgICAgfSk7Cisg
IH0KKyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
aWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTdlZmRhMjFh
NTgwMzJkMTI2NGM3NTgwZDEwZGI4MmIxYzczYjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACisKK1BBU1MgaWRs
X3Rlc3Qgc2V0dXAgCitQQVNTIGlkbF90ZXN0IHZhbGlkYXRpb24gCitQQVNTIFBhcnRpYWwgaW50
ZXJmYWNlIFBlcmZvcm1hbmNlOiBvcmlnaW5hbCBpbnRlcmZhY2UgZGVmaW5lZCAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IHZhbGlkIGV4cG9zdXJlIHNldCAKK1BBU1MgUGFy
dGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFT
UyBQYXJ0aWFsIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6IG9yaWdpbmFsIGRp
Y3Rpb25hcnkgZGVmaW5lZCAKK1BBU1MgUGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJJbml0OiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgUGFydGlhbCBpbnRlcmZh
Y2UgUGVyZm9ybWFuY2VbMl06IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFTUyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIFBlcmZvcm1hbmNlIGludGVy
ZmFjZTogbWVtYmVyIGV2ZW50Q291bnRzIAorUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHBl
cmZvcm1hbmNlIG11c3Qgbm90IGhhdmUgcHJvcGVydHkgImV2ZW50Q291bnRzIiAKK1BBU1MgTm9k
ZSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3Mu
YW55Lndvcmtlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUw
NjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMzIwMzdiOGIzNzM5MTZhNGExOTQzNDdkNDg3ZDAwMDdlNjdmZGI0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcyBl
dmVudHMgYWNjb3JkaW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41NjY1ZDQyZDMzNDU3NDJmNTM2NGIwODViMmMxMzcxNTY2NTJlMjEy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAs
MCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTgg
Lz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBhIGR1cmF0
aW9uVGhyZXNob2xkIG9mIDEyNTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+
PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9t
aXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIHJldHVybiB0ZXN0RHVyYXRpb24odCwgJ215RGl2Jywg
bnVtRW50cmllcz0yLCBkdXI9MTI1LCBmYXN0RHVyPTcwLCBzbG93RHVyPTE0MCk7Cit9LCAiUGVy
Zm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3JkaW5nIHRvIGl0cyBkdXJhdGlv
blRocmVzaG9sZCIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVy
YXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMjAzN2I4YjM3MzkxNmE0YTE5NDM0N2Q0ODdkMDAw
N2U2N2ZkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VP
YnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3JkaW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9s
ZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVt
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4MjdmMjIxMWIxMjU1MGZlZThk
MGY1ZDEyNThkZmJlMjljODMwZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDUwPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwv
ZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3RE
dXJhdGlvbih0LCAnbXlEaXYnLCBudW1FbnRyaWVzPTMsIGR1cj01MCwgZmFzdER1cj0yMCwgc2xv
d0R1cj03MCk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZlcyBldmVudHMgYWNjb3Jk
aW5nIHRvIGl0cyBkdXJhdGlvblRocmVzaG9sZCIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiOTRhYTJlYTVhMjJjYzI0NTA5
MDQ2MmQ3NTAzMTEzMjczNzMyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhy
ZXNob2xkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGR1cmF0aW9uVGhyZXNob2xkIG9mIDAgc2VlcyBldmVudHMg
b2YgZHVyYXRpb24gPj0gMTYgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDNiMzhhMjc4
MzMzNzdlNGViYmJlMzA3MjkwYWRkZDQzOWViNTA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1
cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJm
b3JtYW5jZU9ic2VydmVyIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBsZXNzIHRoYW4gMTY8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVz
b3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlE
aXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICByZXR1cm4gdGVzdER1cmF0aW9uKHQsICdteURpdicsIG51bUVudHJpZXM9NSwgZHVyPTAsIGZh
c3REdXI9MCwgc2xvd0R1cj0yMCk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGR1cmF0
aW9uVGhyZXNob2xkIG9mIDAgc2VlcyBldmVudHMgb2YgZHVyYXRpb24gPj0gMTYiKTsKKzwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
ZG93bi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhlNTZjNmEwNGMyZWEyYWY1NTY0MzllNTIx
ZmNkZGQxYzE2MWVkYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2IEBACitDbGljayBtZQorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91c2Vkb3duLiBUZXN0IHRpbWVk
IG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM1YTA3ZmFlYjFiY2FhYWRiMGNhNjA2Zjg5NDgwMDRiNDVhMTE1YWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlZG93bi48L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMv
ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPkNs
aWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZG93bicpOworICB9KQorPC9zY3JpcHQ+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NzFiNTMyZjhkZTg1ZDAxOGI5YTllOTE4MzliNzQ0
ZmMxNzdiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBtb3VzZWVudGVy
LiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVu
dGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODA0ZDU3NDM3NDJjNzNlYzc2OTYxM2U0MWNlNDViZjE5MGE0
NzNhOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZyBtb3VzZWVudGVyLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25z
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGls
cy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJn
ZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWVudGVyJyk7CisgIH0pCis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vs
ZWF2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWE0YmVlOTJmZmI3YjRjYjlkOGU1Y2ZlYjU4
NzE3MDM1ZmM2Y2M2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIG1vdXNl
bGVhdmUuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlbGVhdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDJjZjczZTJhNjE2YzU2MTIyMzJhN2UxZjk4NzU3
MGVlZDllMmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sCkBAIC0wLDAgKzEs
MTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8
dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlbGVhdmUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFj
dGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9
J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlbGVhdmUnKTsKKyAgfSkKKzwv
c2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2VvdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYTY5OTNiNWEwNTg5ZTllYzFmMzM5NGUy
YjIzM2I5Yjk5ZDM5NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9y
IChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgbW91c2Vv
dXQuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRkMzIxOTM0YjBiNzg0MjgwYTVlZDUyMGI3MGQwYmMwYmI1YzE4
MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZl
bnQgVGltaW5nIG1vdXNlb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48
L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRh
cmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJl
dHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZW91dCcsIHRydWUgLyogbG9vc2VDb3VudCAqLyk7
CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwYmUwNWEzYThlYzVj
MmNjZDIwOTRkZWFlMzkzZmM2NTkzNGNiODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQg
VGltaW5nIG1vdXNlb3Zlci4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZW92ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDFlZTJkN2VjZDdmYjkzOGQyZDRm
ZTI0YWQ2Y2EwMDU2NTA3YjBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VvdmVyLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8
ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZW92ZXInLCB0cnVl
IC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tb3VzZXVwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmEwMTVhOGRjODI2Y2UzYzkxMzVhYjVkMWI3ZTEwYmM2MTViZjEyYWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZXVwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1RhcmdldAorCitIYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1p
bmcgbW91c2V1cC4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2V1cC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1M2JlZjhmZGIyZjAyNTM2Y2U2ODc0OTFiOTUxMWFh
ZDk0ZmIwM2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWwKQEAgLTAsMCArMSwxNyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRs
ZT5FdmVudCBUaW1pbmcgbW91c2V1cC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMu
anM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAg
cHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdt
b3VzZXVwJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2Jz
ZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzFmZDU3YzQ0ZmUyNzgzNDUwYWEzZjkwZmVhMjcxMDQ5
MGYwZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK1BBU1Mg
RXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQZXJmb3JtYW5jZU9ic2VydmVy
IG9ic2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZl
LWZpcnN0SW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTRhNjAzNmY5MWFkYjg5YzdiNjUyOGU0MDg1MDkzN2Q3MDUyMGI3NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmc6IG9ubHkgb2JzZXJ2ZSB0aGUgZmlyc3QgaW5wdXQ8L3RpdGxlPgorPGJ1dHRvbiBp
ZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAvKiBUZXN0OgorICAg
ICBQZXJmb3JtYW5jZU9ic2VydmVyIGZvciBmaXJzdC1pbnB1dCBpcyByZWdpc3RlcmVkCisgICAg
IENsaWNrIDEKKyAgICAgQ2xpY2sgMgorICAgICBXYWl0CisgICAgIEV4cGVjdGVkIHJlc3VsdDoK
KyAgICAgUGVyZm9ybWFuY2VPYnNlcnZlciBzaG91bGQgb2JzZXJ2ZSBvbmUgYW5kIG9ubHkgb25l
IGVudHJ5LgorICAqLworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1w
bGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBu
b3Qgc3VwcG9ydGVkLicpOworICAgIGxldCBoYXNPYnNlcnZlZEZpcnN0SW5wdXQgPSBmYWxzZTsK
KyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYygoZW50cnlMaXN0KSA9PiB7
CisgICAgICAgIGFzc2VydF9mYWxzZShoYXNPYnNlcnZlZEZpcnN0SW5wdXQpOworICAgICAgICBo
YXNPYnNlcnZlZEZpcnN0SW5wdXQgPSB0cnVlOworICAgICAgICBjb25zdCBvYnNlcnZlZEVudHJp
ZXMgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcigKKyAgICAgICAgICAgIGVudHJ5ID0+
IGVudHJ5Lm5hbWUgPT09ICdtb3VzZWRvd24nKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvYnNl
cnZlZEVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvYnNlcnZlZEVu
dHJpZXNbMF0uZW50cnlUeXBlLCAnZmlyc3QtaW5wdXQnKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhvYnNlcnZlZEVudHJpZXNbMF0ubmFtZSwgJ21vdXNlZG93bicpOworICAgIH0pKS5vYnNlcnZl
KHsgZW50cnlUeXBlczogWydmaXJzdC1pbnB1dCddIH0pOworICAgIG9uX2V2ZW50KHdpbmRvdywg
J2xvYWQnLCAoKSA9PiB7CisgICAgICBjbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbigo
KSA9PiB7CisgICAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKHdhaXQpLnRo
ZW4oICgpID0+IHsKKyAgICAgICAgICAvLyBBZnRlciBzb21lIHdhaXQsIHRoZSBQZXJmb3JtYW5j
ZU9ic2VydmVyIHNob3VsZCBoYXZlIHByb2Nlc3NlZCBib3RoIGNsaWNrcy4KKyAgICAgICAgICAv
LyBPbmUgYW5kIG9ubHkgb25lIGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBoYXZlIGJlZW4gZGlz
cGF0Y2hlZCwgc28KKyAgICAgICAgICAvLyB8aGFzT2JzZXJ2ZWRGaXJzdElucHV0fCBzaG91bGQg
YmUgdHJ1ZS4KKyAgICAgICAgICB0LnN0ZXBfdGltZW91dCggKCkgPT4geworICAgICAgICAgICAg
YXNzZXJ0X3RydWUoaGFzT2JzZXJ2ZWRGaXJzdElucHV0KTsKKyAgICAgICAgICAgIHQuZG9uZSgp
OworICAgICAgICAgIH0sIDEwKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICB9KTsKKyAg
fSwKKyAgIkV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQgZm9yIGEgUGVyZm9ybWFuY2VP
YnNlcnZlciBvYnNlcnZpbmcgb25seSBmaXJzdC1pbnB1dC4iCisgICk7Cis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3du
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZWNkZjIyYmY5NTNlODA0MDhkZTcyYTM4ZjRmMjg0
NDRmYzcwNTdlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNiBAQAorVGFyZ2V0CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBwb2ludGVyZG93bi4gVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmViNmFlODk4Y2NkMDA2ZGExNjMzYTdmODEyZGJjZmMwZmNiZTlmMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVyZG93bi48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJn
ZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyZG93bicpOworICB9KQorPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmVudGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTM0OTM4NzdiZDExMDg2YTQ1MGU2
MjdiNzBlMzljYWZlNDFmZmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK0hhcm5l
c3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWlu
ZyBwb2ludGVyZW50ZXIuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFlMWM1MWQ1MWNkZTRkMjMx
NGUzMTA2OTMzMjhmZDI2ZGJkOGJlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJlbnRlci48L3RpdGxlPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMv
ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0
ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRl
cmVudGVyJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJs
ZWF2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjE2MjUyMGFkNTkyNjBkZWJkNDk3MDgyNmU2YWRiNTYxNmJjMTQwNjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0
YXJnZXQhCitUYXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIHBvaW50ZXJsZWF2ZS4gVGVzdCB0aW1lZCBvdXQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MWU4ZjE1ZWMwZDE2YTUzMTgyZjA2ZTdmOTU1MzIyOGNjMGFiN2VjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcg
cG9pbnRlcmxlYXZlLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwv
ZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0
ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVybGVhdmUnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NmUzMGRhNTMwMTkyNDIwOWJkMzJkMTExNDRiOTMwMDhlN2Ni
YzA4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw3IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcm91dC4gVGVz
dCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmIwOGY1NzY5OWNjNDhkODIzNTBmYWJiZTNiZTI1ODljMmJiMmMxZjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmcgcG9pbnRlcm91dC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+
PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5U
YXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBy
ZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcm91dCcsIHRydWUgLyogbG9vc2VDb3VudCAq
Lyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZDVlMTZi
NTZkNzA0NTQ3NTIzYzI1N2JlMjgyMWI4NzBiODlhMTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcm92ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorT3V0c2lkZSB0YXJnZXQhCitU
YXJnZXQKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVP
VVQgRXZlbnQgVGltaW5nIHBvaW50ZXJvdmVyLiBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVyb3Zlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTE3MTIy
MzljMDk1ODM4YTU2NWNlZTg4NzRjYzNiNTIyMTk0OGQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcm92ZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVyb3Zlci48
L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNp
ZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+
CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0
LCAncG9pbnRlcm92ZXInLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVw
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjliMDhjMTg4NmMxNTM3NjUxNGJlNDgyMTNkY2Ji
ODkwMzdiN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK1RhcmdldAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKKworVElNRU9VVCBFdmVudCBUaW1pbmcgcG9pbnRlcnVwLiBUZXN0IHRpbWVkIG91dAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQzMjRhNWJlYjdhYjMyYzNmN2JhZWU2OTlhZjM5NzA5MDFmN2FlNTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVydXAuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVy
dXAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcnVwJyk7CisgIH0pCis8
L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2Jz
ZXJ2ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJmNDhjZjkyMGE2OTlhYTNiYzY2ODg3MThiNWYwNTQ2ZGQw
YTY0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ2xpY2sgbWUKK05vLCBjbGljayBtZSEKKwor
UEFTUyBFdmVudCBUaW1pbmc6IGV2ZW50cyBmcm9tIHByb2dyYW1tYXRpYyBjbGljayBhcmUgbm90
IG9ic2VydmVkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDA2MGQyZDAwZGMxYzAyMTA4NTQzMTdiY2U1YmJjNWJjMjVmZmY1NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbApAQCAtMCwwICsxLDUxIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPGRpdiBp
ZD0nZGl2JyBvbmNsaWNrPSdkZWxheSgpJz5DbGljayBtZTwvZGl2PgorPGRpdiBpZD0nZGl2Mic+
Tm8sIGNsaWNrIG1lITwvZGl2PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0Pgor
Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorICBsZXQgZGVsYXlDYWxsZWQgPSBmYWxzZTsKKyAgbGV0IGJlZm9yZUNs
aWNrOworICBmdW5jdGlvbiBkZWxheSgpIHsKKyAgICBjb25zdCBlbmQgPSBwZXJmb3JtYW5jZS5u
b3coKSArIDE1MDsKKyAgICB3aGlsZShwZXJmb3JtYW5jZS5ub3coKSA8IGVuZCkge30KKyAgICBk
ZWxheUNhbGxlZCA9IHRydWU7CisgIH0KKyAgcHJvbWlzZV90ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50
IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGxldCBvYnNlcnZlZE1vdXNlRG93biA9
IGZhbHNlOworICAgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0
ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlM
aXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25vcmUgY2Fz
ZXMgaW4gd2hpY2ggdGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91c2VEb3du
cy5sZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxz
ZShvYnNlcnZlZE1vdXNlRG93biwgJ1RoZXJlIG11c3Qgb25seSBiZSBvbmUgbW91c2Vkb3duIGVu
dHJ5LicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxKTsKKyAg
ICAgICAgY29uc3QgZW50cnkgPSBtb3VzZURvd25zWzBdOworICAgICAgICAvLyBUaGlzIGVuc3Vy
ZXMgdGhhdCB0aGUgZW50cnkgaXMgZXhwb3NpbmcgdGltaW5nIGZyb20gdGhlIHNlY29uZCBjbGlj
aywgaS5lLgorICAgICAgICAvLyB0aGUgb25lIGZyb20gdGhlIGNsaWNrQW5kQmxvY2tNYWluKCkg
Y2FsbC4KKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5wcm9jZXNzaW5n
U3RhcnQsIGJlZm9yZUNsaWNrKTsKKyAgICAgICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwgJ2Rp
djInLCB0cnVlKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0cnVlOworICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICB9KSk7CisgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbJ2V2ZW50J119KTsKKyAgICB9KTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2
JykuY2xpY2soKTsKKyAgICAvLyBUYWtlIHRoZSB0aW1lc3RhbXAgYWZ0ZXIgdGhlIHByb2dyYW1t
YXRpYyBjbGljayBidXQgYmVmb3JlIHRoZSBuZXh0IGNsaWNrLgorICAgIGJlZm9yZUNsaWNrID0g
cGVyZm9ybWFuY2Uubm93KCk7CisgICAgLy8gQWZ0ZXIgdGhlIHByb2dyYW1tYXRpYyBjbGljaywg
dXNlIGFub3RoZXIgaW5wdXQgdG8ga25vdyB3aGVuIGVudHJpZXMgaGF2ZSBiZWVuCisgICAgLy8g
ZGlzcGF0Y2hlZCB0byB0aGUgUGVyZm9ybWFuY2VPYnNlcnZlciBjYWxsYmFjay4KKyAgICBjb25z
dCBjbGlja1Byb21pc2UgPSBjbGlja0FuZEJsb2NrTWFpbignZGl2MicpOworICAgIHJldHVybiBQ
cm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9taXNlLCBjbGlja1Byb21pc2VdKTsKKyAgfSwgIkV2ZW50
IFRpbWluZzogZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNrIGFyZSBub3Qgb2JzZXJ2ZWQi
KTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1l
LWNoaWxkZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTgyOTRhZTAyYzIzYmFmMTM3NmI3N2JhOWY2NDJmZjdiNGU1OWM2NgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWwKQEAg
LTAsMCArMSw0MSBAQAorPCFET0NUeXBlIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9ZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IHN0eWxlPSJ3aWR0
aDogMzAwcHg7IGhlaWdodDogMzAwcHgiIGlkPSdpZnJhbWVfZGl2JyBvbm1vdXNlZG93bj0ibWFp
blRocmVhZEJ1c3koMTIwKSI+Cis8c2NyaXB0PgorKGFzeW5jICgpID0+IHsKKyAgY29uc3QgY2xp
Y2tUaW1lTWluID0gcGVyZm9ybWFuY2Uubm93KCk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVu
dHJ5TGlzdCA9PiB7CisgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlMaXN0LmdldEVudHJp
ZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAw
KQorICAgICAgICByZXR1cm47CisgICAgICByZXNvbHZlKG1vdXNlRG93bnMpOworICAgIH0pLm9i
c2VydmUoeyB0eXBlOidldmVudCcgfSk7CisgIH0pOworICBjb25zdCBlbnRyaWVzID0gYXdhaXQg
b2JzZXJ2ZXJQcm9taXNlOworICBjb25zdCBjbGlja0RvbmUgPSBwZXJmb3JtYW5jZS5ub3coKTsK
KyAgaWYgKGVudHJpZXMubGVuZ3RoICE9PSAxKSB7CisgICAgdG9wLnBvc3RNZXNzYWdlKCJmYWls
ZWQiLCAiKiIpOworICAgIHJldHVybjsKKyAgfQorICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07
CisgIHRvcC5wb3N0TWVzc2FnZSh7CisgICAgLy8gRW50cnkgdmFsdWVzICh8ZW50cnl8IGl0c2Vs
ZiBpcyBub3QgY2xvbmFibGUpCisgICAgIm5hbWUiOiBlbnRyeS5uYW1lLAorICAgICJjYW5jZWxh
YmxlIjogZW50cnkuY2FuY2VsYWJsZSwKKyAgICAiZW50cnlUeXBlIjogZW50cnkuZW50cnlUeXBl
LAorICAgICJzdGFydFRpbWUiOiBlbnRyeS5zdGFydFRpbWUsCisgICAgInByb2Nlc3NpbmdTdGFy
dCI6IGVudHJ5LnByb2Nlc3NpbmdTdGFydCwKKyAgICAicHJvY2Vzc2luZ0VuZCI6IGVudHJ5LnBy
b2Nlc3NpbmdFbmQsCisgICAgImR1cmF0aW9uIjogZW50cnkuZHVyYXRpb24sCisgICAgLy8gT3Ro
ZXIgdmFsdWVzCisgICAgImNsaWNrVGltZU1pbiI6IGNsaWNrVGltZU1pbiwKKyAgICAiY2xpY2tE
b25lIiA6IGNsaWNrRG9uZSwKKyAgICAidGFyZ2V0IjogZW50cnkudGFyZ2V0LmlkLAorICB9LCAn
KicpOworfSkgKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NDljZmUzYzE5ZDFiM2M2NWRhMTUzMGJkMzM5
MTkwYjA1NjZmNDI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzCkBAIC0wLDAgKzEsMjY1IEBACisvLyBDbGlja3Mgb24gdGhlIGVsZW1lbnQg
d2l0aCB0aGUgZ2l2ZW4gSUQuIEl0IGFkZHMgYW4gZXZlbnQgaGFuZGxlciB0byB0aGUgZWxlbWVu
dCB3aGljaAorLy8gZW5zdXJlcyB0aGF0IHRoZSBldmVudHMgaGF2ZSBhIGR1cmF0aW9uIG9mIGF0
IGxlYXN0IHxkZWxheXwuIENhbGxzIHxjYWxsYmFja3wgZHVyaW5nCisvLyBldmVudCBoYW5kbGVy
IGlmIHxjYWxsYmFja3wgaXMgcHJvdmlkZWQuCithc3luYyBmdW5jdGlvbiBjbGlja09uRWxlbWVu
dEFuZERlbGF5KGlkLCBkZWxheSwgY2FsbGJhY2spIHsKKyAgY29uc3QgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgY29uc3QgY2xpY2tIYW5kbGVyID0gKCkgPT4gewor
ICAgIG1haW5UaHJlYWRCdXN5KGRlbGF5KTsKKyAgICBpZiAoY2FsbGJhY2spCisgICAgICBjYWxs
YmFjaygpOworICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgY2xp
Y2tIYW5kbGVyKTsKKyAgfTsKKyAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24i
LCBjbGlja0hhbmRsZXIpOworICBhd2FpdCB0ZXN0X2RyaXZlci5jbGljayhlbGVtZW50KTsKK30K
KworZnVuY3Rpb24gbWFpblRocmVhZEJ1c3koZHVyYXRpb24pIHsKKyAgY29uc3Qgbm93ID0gcGVy
Zm9ybWFuY2Uubm93KCk7CisgIHdoaWxlIChwZXJmb3JtYW5jZS5ub3coKSA8IG5vdyArIGR1cmF0
aW9uKTsKK30KKworLy8gVGhpcyBtZXRob2Qgc2hvdWxkIHJlY2VpdmUgYW4gZW50cnkgb2YgdHlw
ZSAnZXZlbnQnLiB8aXNGaXJzdHwgaXMgdHJ1ZSBvbmx5IHdoZW4gd2Ugd2FudAorLy8gdG8gY2hl
Y2sgdGhhdCB0aGUgZXZlbnQgYWxzbyBoYXBwZW5zIHRvIGNvcnJlc3BvbmQgdG8gdGhlIGZpcnN0
IGV2ZW50LiBJbiB0aGlzIGNhc2UsIHRoZQorLy8gdGltaW5ncyBvZiB0aGUgJ2ZpcnN0LWlucHV0
JyBlbnRyeSBzaG91bGQgYmUgZXF1YWwgdG8gdGhvc2Ugb2YgdGhpcyBlbnRyeS4gfG1pbkR1cmF0
aW9ufAorLy8gaXMgdXNlZCB0byBjb21wYXJlZCBhZ2FpbnN0IGVudHJ5LmR1cmF0aW9uLgorZnVu
Y3Rpb24gdmVyaWZ5RXZlbnQoZW50cnksIGV2ZW50VHlwZSwgdGFyZ2V0SWQsIGlzRmlyc3Q9ZmFs
c2UsIG1pbkR1cmF0aW9uPTEwNCwgbm90Q2FuY2VsYWJsZT1mYWxzZSkgeworICBhc3NlcnRfZXF1
YWxzKGVudHJ5LmNhbmNlbGFibGUsICFub3RDYW5jZWxhYmxlLCAnY2FuY2VsYWJsZSBwcm9wZXJ0
eScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5Lm5hbWUsIGV2ZW50VHlwZSk7CisgIGFzc2VydF9l
cXVhbHMoZW50cnkuZW50cnlUeXBlLCAnZXZlbnQnKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbChlbnRyeS5kdXJhdGlvbiwgbWluRHVyYXRpb24sCisgICAgICAiVGhlIGVudHJ5J3MgZHVy
YXRpb24gc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAiICsgbWluRHVyYXRpb24g
KyAiIG1zLiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdT
dGFydCwgZW50cnkuc3RhcnRUaW1lLAorICAgICAgIlRoZSBlbnRyeSdzIHByb2Nlc3NpbmdTdGFy
dCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHN0YXJ0VGltZS4iKTsKKyAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5wcm9jZXNzaW5nRW5kLCBlbnRyeS5wcm9jZXNz
aW5nU3RhcnQsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZ0VuZCBtdXN0IGJlIGF0IGxl
YXN0IGFzIGxhcmdlIGFzIHByb2Nlc3NpbmdTdGFydC4iKTsKKyAgLy8gfGR1cmF0aW9ufCBpcyBh
IG51bWJlciByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IDggbXMsIHNvIGFkZCA0IHRvIGdldCBhIGxv
d2VyIGJvdW5kCisgIC8vIG9uIHRoZSBhY3R1YWwgZHVyYXRpb24uCisgIGFzc2VydF9ncmVhdGVy
X3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24gKyA0LCBlbnRyeS5wcm9jZXNzaW5nRW5kIC0gZW50
cnkuc3RhcnRUaW1lLAorICAgICAgIlRoZSBlbnRyeSdzIGR1cmF0aW9uIG11c3QgYmUgYXQgbGVh
c3QgYXMgbGFyZ2UgYXMgcHJvY2Vzc2luZ0VuZCAtIHN0YXJ0VGltZS4iKTsKKyAgaWYgKGlzRmly
c3QpIHsKKyAgICBsZXQgZmlyc3RJbnB1dHMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdmaXJzdC1pbnB1dCcpOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dHMubGVuZ3RoLCAx
LCAnVGhlcmUgc2hvdWxkIGJlIGEgc2luZ2xlIGZpcnN0LWlucHV0IGVudHJ5Jyk7CisgICAgbGV0
IGZpcnN0SW5wdXQgPSBmaXJzdElucHV0c1swXTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5w
dXQubmFtZSwgZW50cnkubmFtZSk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0LmVudHJ5
VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0LnN0YXJ0
VGltZSwgZW50cnkuc3RhcnRUaW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuZHVy
YXRpb24sIGVudHJ5LmR1cmF0aW9uKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQucHJv
Y2Vzc2luZ1N0YXJ0LCBlbnRyeS5wcm9jZXNzaW5nU3RhcnQpOworICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RJbnB1dC5wcm9jZXNzaW5nRW5kLCBlbnRyeS5wcm9jZXNzaW5nRW5kKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGZpcnN0SW5wdXQuY2FuY2VsYWJsZSwgZW50cnkuY2FuY2VsYWJsZSk7CisgIH0K
KyAgaWYgKHRhcmdldElkKQorICAgIGFzc2VydF9lcXVhbHMoZW50cnkudGFyZ2V0LCBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCkpOworfQorCitmdW5jdGlvbiB2ZXJpZnlDbGlja0V2
ZW50KGVudHJ5LCB0YXJnZXRJZCwgaXNGaXJzdD1mYWxzZSwgbWluRHVyYXRpb249MTA0KSB7Cisg
IHZlcmlmeUV2ZW50KGVudHJ5LCAnbW91c2Vkb3duJywgdGFyZ2V0SWQsIGlzRmlyc3QsIG1pbkR1
cmF0aW9uKTsKK30KKworZnVuY3Rpb24gd2FpdCgpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChy
ZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBzdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgcmVz
b2x2ZSgpOworICAgIH0sIDApOworICB9KTsKK30KKworZnVuY3Rpb24gY2xpY2tBbmRCbG9ja01h
aW4oaWQpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAg
ICBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCAxMjAsIHJlc29sdmUpOworICB9KTsKK30KKwor
ICAvLyBBZGQgYSBQZXJmb3JtYW5jZU9ic2VydmVyIGFuZCBvYnNlcnZlIHdpdGggYSBkdXJhdGlv
blRocmVzaG9sZCBvZiB8ZHVyfC4gVGhpcyB0ZXN0IHdpbGwKKyAgLy8gYXR0ZW1wdCB0byBjaGVj
ayB0aGF0IHRoZSBkdXJhdGlvbiBpcyBhcHByb3ByaWF0ZWx5IGNoZWNrZWQgYnk6CisgIC8vICog
QXNzZXJ0aW5nIHRoYXQgZW50cmllcyByZWNlaXZlZCBoYXZlIGEgZHVyYXRpb24gd2hpY2ggaXMg
dGhlIHNtYWxsZXN0IG11bHRpcGxlIG9mIDgKKyAgLy8gICB0aGF0IGlzIGdyZWF0ZXIgdGhhbiBv
ciBlcXVhbCB0byB8ZHVyfC4KKyAgLy8gKiBJc3N1aW5nIHxudW1FbnRyaWVzfCBlbnRyaWVzIHRo
YXQgYXJlIGZhc3QsIG9mIGR1cmF0aW9uIHxzbG93RHVyfC4KKyAgLy8gKiBJc3N1aW5nIHxudW1F
bnRyaWVzfCBlbnRyaWVzIHRoYXQgYXJlIHNsb3csIG9mIGR1cmF0aW9uIHxmYXN0RHVyfC4KKyAg
Ly8gKiBBc3NlcnRpbmcgdGhhdCBhdCBsZWFzdCB8bnVtRW50cmllc3wgZW50cmllcyBhcmUgcmVj
ZWl2ZWQgKGF0IGxlYXN0IHRoZSBzbG93IG9uZXMpLgorICAvLyBQYXJhbWV0ZXJzOgorICAvLyB8
dHwgICAgICAgICAgLSB0aGUgdGVzdCBoYXJuZXNzLgorICAvLyB8ZHVyfCAgICAgICAgLSB0aGUg
ZHVyYXRpb25UaHJlc2hvbGQgZm9yIHRoZSBQZXJmb3JtYW5jZU9ic2VydmVyLgorICAvLyB8aWR8
ICAgICAgICAgLSB0aGUgSUQgb2YgdGhlIGVsZW1lbnQgdG8gYmUgY2xpY2tlZC4KKyAgLy8gfG51
bUVudHJpZXN8IC0gdGhlIG51bWJlciBvZiBzbG93IGFuZCBudW1iZXIgb2YgZmFzdCBlbnRyaWVz
LgorICAvLyB8c2xvd0R1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9uIG9mIGEgc2xvdyBlbnRyeS4K
KyAgLy8gfGZhc3REdXJ8ICAgIC0gdGhlIG1pbiBkdXJhdGlvbiBvZiBhIGZhc3QgZW50cnkuCith
c3luYyBmdW5jdGlvbiB0ZXN0RHVyYXRpb24odCwgaWQsIG51bUVudHJpZXMsIGR1ciwgZmFzdER1
ciwgc2xvd0R1cikgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVu
dFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBjb25zdCBvYnNl
cnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBsZXQgbWlu
RHVyYXRpb24gPSBNYXRoLmNlaWwoZHVyIC8gOCkgKiA4OworICAgIC8vIEV4cG9zZWQgZXZlbnRz
IG11c3QgYWx3YXlzIGhhdmUgYSBtaW5pbXVtIGR1cmF0aW9uIG9mIDE2LgorICAgIG1pbkR1cmF0
aW9uID0gTWF0aC5tYXgobWluRHVyYXRpb24sIDE2KTsKKyAgICBsZXQgbnVtRW50cmllc1JlY2Vp
dmVkID0gMDsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgIGNv
bnN0IG1vdXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAg
ICAgbW91c2VEb3ducy5mb3JFYWNoKGUgPT4geworICAgICAgICB0LnN0ZXAoKCkgPT4geworICAg
ICAgICAgIHZlcmlmeUNsaWNrRXZlbnQoZSwgaWQsIGZhbHNlIC8qIGlzRmlyc3QgKi8sIG1pbkR1
cmF0aW9uKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICAgIG51bUVudHJpZXNSZWNlaXZl
ZCArPSBtb3VzZURvd25zLmxlbmd0aDsKKyAgICAgIC8vIE5vdGUgdGhhdCB3ZSBtYXkgcmVjZWl2
ZSBtb3JlIGVudHJpZXMgaWYgdGhlICdmYXN0JyBjbGljayBldmVudHMgdHVybiBvdXQgc2xvd2Vy
CisgICAgICAvLyB0aGFuIGV4cGVjdGVkLgorICAgICAgaWYgKG51bUVudHJpZXNSZWNlaXZlZCA+
PSBudW1FbnRyaWVzKQorICAgICAgICByZXNvbHZlKCk7CisgICAgfSkub2JzZXJ2ZSh7dHlwZTog
ImV2ZW50IiwgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cn0pOworICB9KTsKKyAgY29uc3QgY2xpY2tz
UHJvbWlzZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIGZvciAobGV0IGlu
ZGV4ID0gMDsgaW5kZXggPCBudW1FbnRyaWVzOyBpbmRleCsrKSB7CisgICAgICAvLyBBZGQgc29t
ZSBmYXN0IGNsaWNrIGV2ZW50cy4KKyAgICAgIGF3YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXko
aWQsIHNsb3dEdXIpOworICAgICAgLy8gQWRkIHNvbWUgc2xvdyBjbGljayBldmVudHMuCisgICAg
ICBpZiAoZmFzdER1ciA+IDApIHsKKyAgICAgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxh
eShpZCwgZmFzdER1cik7CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBXZSBjYW4ganVzdCBk
aXJlY3RseSBjYWxsIHRlc3RfZHJpdmVyIHdoZW4gfGZhc3REdXJ8IGlzIDAuCisgICAgICAgIGF3
YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSk7CisgICAg
ICB9CisgICAgfQorICAgIHJlc29sdmUoKTsKKyAgfSk7CisgIHJldHVybiBQcm9taXNlLmFsbChb
b2JzZXJ2ZXJQcm9taXNlLCBjbGlja3NQcm9taXNlXSk7Cit9CisKKy8vIEFwcGx5IGV2ZW50cyB0
aGF0IHRyaWdnZXIgYW4gZXZlbnQgb2YgdGhlIGdpdmVuIHxldmVudFR5cGV8IHRvIGJlIGRpc3Bh
dGNoZWQgdG8gdGhlCisvLyB8dGFyZ2V0fC4gU29tZSBvZiB0aGVzZSBhc3N1bWUgdGhhdCB0aGUg
dGFyZ2V0IGlzIG5vdCBvbiB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZQorLy8gc2NyZWVuLCB3
aGljaCBtZWFucyB0aGF0ICgwLCAwKSBvZiB0aGUgdmlld3BvcnQgaXMgb3V0c2lkZSBvZiB0aGUg
fHRhcmdldHwuCitmdW5jdGlvbiBhcHBseUFjdGlvbihldmVudFR5cGUsIHRhcmdldCkgeworICBj
b25zdCBhY3Rpb25zID0gbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKTsKKyAgaWYgKGV2ZW50VHlw
ZSA9PT0gJ2F1eGNsaWNrJykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdp
bjogdGFyZ2V0fSkKKyAgICAucG9pbnRlckRvd24oe2J1dHRvbjogYWN0aW9ucy5CdXR0b25UeXBl
Lk1JRERMRX0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuTUlE
RExFfSk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnY2xpY2snIHx8IGV2ZW50VHlwZSA9
PT0gJ21vdXNlZG93bicgfHwgZXZlbnRUeXBlID09PSAnbW91c2V1cCcKKyAgICAgIHx8IGV2ZW50
VHlwZSA9PT0gJ3BvaW50ZXJkb3duJyB8fCBldmVudFR5cGUgPT09ICdwb2ludGVydXAnCisgICAg
ICB8fCBldmVudFR5cGUgPT09ICd0b3VjaHN0YXJ0JyB8fCBldmVudFR5cGUgPT09ICd0b3VjaGVu
ZCcpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisg
ICAgLnBvaW50ZXJEb3duKCkKKyAgICAucG9pbnRlclVwKCk7CisgIH0gZWxzZSBpZiAoZXZlbnRU
eXBlID09PSAnY29udGV4dG1lbnUnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7
b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bih7YnV0dG9uOiBhY3Rpb25zLkJ1dHRv
blR5cGUuUklHSFR9KQorICAgIC5wb2ludGVyVXAoe2J1dHRvbjogYWN0aW9ucy5CdXR0b25UeXBl
LlJJR0hUfSk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnZGJsY2xpY2snKSB7CisgICAg
YWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVy
RG93bigpCisgICAgLnBvaW50ZXJVcCgpCisgICAgLnBvaW50ZXJEb3duKCkKKyAgICAucG9pbnRl
clVwKCkKKyAgICAvLyBSZXNldCBieSBjbGlja2luZyBvdXRzaWRlIG9mIHRoZSB0YXJnZXQuCisg
ICAgLnBvaW50ZXJNb3ZlKDAsIDApCisgICAgLnBvaW50ZXJEb3duKCkKKyAgICAucG9pbnRlclVw
KCk7CisgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09PSAnbW91c2VlbnRlcicgfHwgZXZlbnRUeXBl
ID09PSAnbW91c2VvdmVyJworICAgICAgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcmVudGVyJyB8
fCBldmVudFR5cGUgPT09ICdwb2ludGVyb3ZlcicpIHsKKyAgICAvLyBNb3ZlIG91dHNpZGUgb2Yg
dGhlIHRhcmdldCBhbmQgdGhlbiBiYWNrIGluc2lkZS4KKyAgICBhY3Rpb25zLnBvaW50ZXJNb3Zl
KDAsIDApCisgICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pOworICB9IGVs
c2UgaWYgKGV2ZW50VHlwZSA9PT0gJ21vdXNlbGVhdmUnIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNl
b3V0JworICAgICAgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcmxlYXZlJyB8fCBldmVudFR5cGUg
PT09ICdwb2ludGVyb3V0JykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdp
bjogdGFyZ2V0fSkKKyAgICAucG9pbnRlck1vdmUoMCwgMCk7CisgIH0gZWxzZSB7CisgICAgYXNz
ZXJ0X3VucmVhY2hlZCgnVGhlIGV2ZW50IHR5cGUgJyArIGV2ZW50VHlwZSArICcgaXMgbm90IHN1
cHBvcnRlZC4nKTsKKyAgfQorICByZXR1cm4gYWN0aW9ucy5zZW5kKCk7Cit9CisKK2Z1bmN0aW9u
IHJlcXVpcmVzTGlzdGVuZXIoZXZlbnRUeXBlKSB7CisgIHJldHVybiBbJ21vdXNlZW50ZXInLAor
ICAgICAgICAgICdtb3VzZWxlYXZlJywKKyAgICAgICAgICAncG9pbnRlcmRvd24nLAorICAgICAg
ICAgICdwb2ludGVyZW50ZXInLAorICAgICAgICAgICdwb2ludGVybGVhdmUnLAorICAgICAgICAg
ICdwb2ludGVyb3V0JywKKyAgICAgICAgICAncG9pbnRlcm92ZXInLAorICAgICAgICAgICdwb2lu
dGVydXAnCisgICAgICAgIF0uaW5jbHVkZXMoZXZlbnRUeXBlKTsKK30KKworZnVuY3Rpb24gbm90
Q2FuY2VsYWJsZShldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91c2VlbnRlcicsICdtb3VzZWxl
YXZlJywgJ3BvaW50ZXJlbnRlcicsICdwb2ludGVybGVhdmUnXS5pbmNsdWRlcyhldmVudFR5cGUp
OworfQorCisvLyBUZXN0cyB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwncyBwZXJmb3JtYW5jZS5ldmVu
dENvdW50cyB2YWx1ZS4gU2luY2UgdGhpcyBpcyBwb3B1bGF0ZWQgb25seSB3aGVuCisvLyB0aGUg
ZXZlbnQgaXMgcHJvY2Vzc2VkLCB3ZSBjaGVjayBldmVyeSAxMCBtcyB1bnRpbCB3ZSd2ZSBmb3Vu
ZCB0aGUgfGV4cGVjdGVkQ291bnR8LgorZnVuY3Rpb24gdGVzdENvdW50cyh0LCByZXNvbHZlLCBs
b29zZUNvdW50LCBldmVudFR5cGUsIGV4cGVjdGVkQ291bnQpIHsKKyAgY29uc3QgY291bnRzID0g
cGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSk7CisgIGlmIChjb3VudHMgPCBl
eHBlY3RlZENvdW50KSB7CisgICAgdC5zdGVwX3RpbWVvdXQoKCkgPT4geworICAgICAgdGVzdENv
dW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGV4cGVjdGVkQ291bnQpOwor
ICAgIH0sIDEwKTsKKyAgICByZXR1cm47CisgIH0KKyAgaWYgKGxvb3NlQ291bnQpIHsKKyAgICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldChldmVu
dFR5cGUpLCBleHBlY3RlZENvdW50LAorICAgICAgICBgU2hvdWxkIGhhdmUgYXQgbGVhc3QgJHtl
eHBlY3RlZENvdW50fSAke2V2ZW50VHlwZX0gZXZlbnRzYCkKKyAgfSBlbHNlIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldChldmVudFR5cGUpLCBleHBlY3Rl
ZENvdW50LAorICAgICAgICBgU2hvdWxkIGhhdmUgJHtleHBlY3RlZENvdW50fSAke2V2ZW50VHlw
ZX0gZXZlbnRzYCk7CisgIH0KKyAgcmVzb2x2ZSgpOworfQorCisvLyBUZXN0cyB0aGUgZ2l2ZW4g
fGV2ZW50VHlwZXwgYnkgY3JlYXRpbmcgZXZlbnRzIHdob3NlIHRhcmdldCBhcmUgdGhlIGVsZW1l
bnQgd2l0aCBpZAorLy8gJ3RhcmdldCcuIFRoZSB0ZXN0IGFzc3VtZXMgdGhhdCBzdWNoIGVsZW1l
bnQgYWxyZWFkeSBleGlzdHMuIHxsb29zZUNvdW50fCBpcyBzZXQgZm9yCisvLyBldmVudFR5cGVz
IGZvciB3aGljaCBldmVudHMgd291bGQgb2NjdXIgZm9yIG90aGVyIGludGVyYWN0aW9ucyBvdGhl
ciB0aGFuIHRoZSBvbmVzIGJlaW5nCisvLyBzcGVjaWZpZWQgZm9yIHRoZSB0YXJnZXQsIHNvIHRo
ZSBjb3VudHMgY291bGQgYmUgbGFyZ2VyLgorYXN5bmMgZnVuY3Rpb24gdGVzdEV2ZW50VHlwZSh0
LCBldmVudFR5cGUsIGxvb3NlQ291bnQ9ZmFsc2UpIHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LkV2ZW50Q291bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0IHN1cHBvcnRlZCIpOworICBjb25z
dCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0Jyk7CisgIGlmIChyZXF1
aXJlc0xpc3RlbmVyKGV2ZW50VHlwZSkpIHsKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihl
dmVudFR5cGUsICgpID0+e30pOworICB9CisgIGNvbnN0IGluaXRpYWxDb3VudCA9IHBlcmZvcm1h
bmNlLmV2ZW50Q291bnRzLmdldChldmVudFR5cGUpOworICBpZiAoIWxvb3NlQ291bnQpIHsKKyAg
ICBhc3NlcnRfZXF1YWxzKGluaXRpYWxDb3VudCwgMCwgJ05vIGV2ZW50cyB5ZXQuJyk7CisgIH0K
KyAgLy8gVHJpZ2dlciB0d28gJ2Zhc3QnIGV2ZW50cyBvZiB0aGUgdHlwZS4KKyAgYXdhaXQgYXBw
bHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICBhd2FpdCBhcHBseUFjdGlvbihldmVudFR5
cGUsIHRhcmdldCk7CisgIGF3YWl0IG5ldyBQcm9taXNlKHQuc3RlcF9mdW5jKHJlc29sdmUgPT4g
eworICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBlLCBpbml0
aWFsQ291bnQgKyAyKTsKKyAgfSkpOworICAvLyBUaGUgZHVyYXRpb25UaHJlc2hvbGQgdXNlZCBi
eSB0aGUgb2JzZXJ2ZXIuIEEgc2xvdyBldmVudHMgbmVlZHMgdG8gYmUgc2xvd2VyIHRoYW4gdGhh
dC4KKyAgY29uc3QgZHVyYXRpb25UaHJlc2hvbGQgPSAxNjsKKyAgLy8gTm93IGFkZCBhbiBldmVu
dCBoYW5kbGVyIHRvIGNhdXNlIGEgc2xvdyBldmVudC4KKyAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVu
ZXIoZXZlbnRUeXBlLCAoKSA9PiB7CisgICAgbWFpblRocmVhZEJ1c3koZHVyYXRpb25UaHJlc2hv
bGQgKyA0KTsKKyAgfSk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKGFz
eW5jIHJlc29sdmUgPT4geworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5j
KGVudHJ5TGlzdCA9PiB7CisgICAgICBsZXQgZXZlbnRUeXBlRW50cmllcyA9IGVudHJ5TGlzdC5n
ZXRFbnRyaWVzQnlOYW1lKGV2ZW50VHlwZSk7CisgICAgICBpZiAoZXZlbnRUeXBlRW50cmllcy5s
ZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKworICAgICAgbGV0IGVudHJ5ID0gbnVsbDsK
KyAgICAgIGlmICghbG9vc2VDb3VudCkgeworICAgICAgICBlbnRyeSA9IGV2ZW50VHlwZUVudHJp
ZXNbMF07CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnRUeXBlRW50cmllcy5sZW5ndGgsIDEp
OworICAgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gVGhlIG90aGVyIGV2ZW50cyBjb3VsZCBhbHNv
IGJlIGNvbnNpZGVyZWQgc2xvdy4gRmluZCB0aGUgb25lIHdpdGggdGhlIGNvcnJlY3QKKyAgICAg
ICAgLy8gdGFyZ2V0LgorICAgICAgICBldmVudFR5cGVFbnRyaWVzLmZvckVhY2goZSA9PiB7Cisg
ICAgICAgICAgaWYgKGUudGFyZ2V0ID09PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGFyZ2V0
JykpCisgICAgICAgICAgICBlbnRyeSA9IGU7CisgICAgICAgIH0pOworICAgICAgICBpZiAoIWVu
dHJ5KQorICAgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIHZlcmlmeUV2ZW50KGVudHJ5
LAorICAgICAgICAgICAgICAgICAgZXZlbnRUeXBlLAorICAgICAgICAgICAgICAgICAgJ3Rhcmdl
dCcsCisgICAgICAgICAgICAgICAgICBmYWxzZSAvKiBpc0ZpcnN0ICovLAorICAgICAgICAgICAg
ICAgICAgZHVyYXRpb25UaHJlc2hvbGQsCisgICAgICAgICAgICAgICAgICBub3RDYW5jZWxhYmxl
KGV2ZW50VHlwZSkpOworICAgICAgLy8gU2hvdWxkbid0IG5lZWQgYXN5bmMgdGVzdGluZyBoZXJl
IHNpbmNlIHdlIGFscmVhZHkgZ290IHRoZSBvYnNlcnZlciBlbnRyeSwgYnV0IG1pZ2h0IGFzCisg
ICAgICAvLyB3ZWxsIHJldXNlIHRoZSBtZXRob2QuCisgICAgICB0ZXN0Q291bnRzKHQsIHJlc29s
dmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgaW5pdGlhbENvdW50ICsgMyk7CisgICAgfSkpLm9i
c2VydmUoe3R5cGU6ICdldmVudCcsIGR1cmF0aW9uVGhyZXNob2xkOiBkdXJhdGlvblRocmVzaG9s
ZH0pOworICB9KTsKKyAgLy8gQ2F1c2UgYSBzbG93IGV2ZW50LgorICBsZXQgYWN0aW9uUHJvbWlz
ZSA9IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KTsKKyAgcmV0dXJuIFByb21pc2UuYWxs
KFthY3Rpb25Qcm9taXNlLCBvYnNlcnZlclByb21pc2VdKTsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291
cmNlcy9zbG93LWltYWdlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzJmOTE2NTVjZjM5ZjU4Yjc5NDBmMmJlZGI0YzU4YjhkNjk5ZjAxYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5CkBAIC0wLDAgKzEsNyBAQAoraW1wb3J0IHRpbWUK
KworZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgICMgU2xlZXAgZm9yIDUwMG1zIHRv
IGRlbGF5IG9ubG9hZC4KKyAgICB0aW1lLnNsZWVwKDAuNSkKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNhY2hlLUNvbnRyb2wiLCBiIm5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUiKTsKKyAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgYiJkYXRhOmltYWdlL2dpZjtiYXNl
NjQsUjBsR09EbGhBUUFCQUpBQUFNakl5QUFBQUN3QUFBQUFBUUFCQUFBQ0FnUUJBRHMlM0QiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MDBmMDAwYWYzOWRhMWQ2YzZlZWEzY2ZhMmEyNGJmMWJlMjdj
ZjRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAg
KzEsMTkgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanMKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1p
bWFnZS5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmll
dmFiaWxpdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiZTdmYjg5OTA1YjU5ZjcyOGM1OTQ5
N2VlYzlkZjRhNzUzZTcyOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFT
UyBFdmVudCBUaW1pbmc6IG1ha2Ugc3VyZSBldmVudC10aW1pbmcgZW50cmllcyBhcmUgbm90IHJl
dHJpZXZhYmxlIGJ5IHBlcmZvcm1hbmNlLmdldEVudHJpZXMqLiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0
cmlldmFiaWxpdHkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI0NzVm
YzUyOTc0ZmUyYWZkZTM1NTMzMjY1M2M4MDJjN2M1ZjE2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jl
dHJpZXZhYmlsaXR5Lmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBtYWtlIHN1cmUg
J2V2ZW50JyBlbnRyaWVzIGFyZSBub3QgcmV0cmlldmFibGUgYnkgcGVyZm9ybWFuY2UuZ2V0RW50
cmllcyogQVBJcy48L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIGZ1
bmN0aW9uIHZhbGlkYXRlRW50cmllcygpIHsKKyAgICBjb25zdCBlbnRyaWVzQnlOYW1lID0gcGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJywgJ2V2ZW50Jyk7CisgICAgY29u
c3QgZW50cmllc0J5VHlwZSA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2V2ZW50Jyk7
CisgICAgY29uc3QgYWxsRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNCeU5hbWUubGVuZ3RoLCAwLCAnRXZlbnQgVGltaW5nIGVudHJ5
IHNob3VsZCBub3QgYmUgcmV0cmlldmFibGUgYnkgZ2V0RW50cmllc0J5TmFtZScpOworICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc0J5VHlwZS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkg
c2hvdWxkIG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlUeXBlJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhhbGxFbnRyaWVzLmZpbHRlcihlID0+IGUuZW50cnlUeXBlID09PSAnZXZlbnQn
KS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkgc2hvdWxkIG5vdCBiZSByZXRyaWV2YWJs
ZSBieSBnZXRFbnRyaWVzJyk7CisgIH0KKworICAvKiBUaW1lbGluZToKKyAgICAgQmVnaW4gQnVz
eSBMb29wCisgICAgIENsaWNrIDEgYXJyaXZlcworICAgICBFbmQgQnVzeSBMb29wCisgICAgIChE
aXNwYXRjaCBhbmQgUHJvY2VzcyBDbGljayAxIC0gYnVmZmVyZWQpCisgICAgIE9ubG9hZCBFdmVu
dCBGaXJlcworICAgICBWYWxpZGF0ZSBlbnRyaWVzCisgICovCisgIGFzeW5jX3Rlc3QoZnVuY3Rp
b24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGlt
aW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgIGlmIChlbnRyeUxp
c3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJykubGVuZ3RoID4gMCkgeworICAgICAgICB2
YWxpZGF0ZUVudHJpZXMoKTsKKyAgICAgICAgdC5kb25lKCk7CisgICAgICB9CisgICAgfSkpLm9i
c2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdi
dXR0b24nKTsKKyAgfSwgIkV2ZW50IFRpbWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRy
aWVzIGFyZSBub3QgcmV0cmlldmFibGUgYnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIik7CisK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MzljZGYzYmY2MWJlZGZjNzllYWIwMzMzZTFiNzhmNzQ1OTViODVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmV0cmlldmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5l
cmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlu
cHV0IGFmdGVyIG9ubG9hZCwgb2JzZXJ2ZXIsIGNsaWNrLCBjbGljay4gCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yN2IxN2NkMTgxNjVmOTc1ZmJiZDk4ZTdkZTA3ZGFkNzEyNTFjMWZhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZl
bnQgVGltaW5nOiBmaXJzdC1pbnB1dCBlbnRyeSBzaG91bGQgYmUgYnVmZmVyZWQgZXZlbiB3aXRo
b3V0IG9ic2VydmVyPC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xp
Y2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisK
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKworPHNjcmlwdD4KKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2lt
cGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMg
bm90IHN1cHBvcnRlZC4nKTsKKyAgICBmdW5jdGlvbiB0ZXN0RW50cmllcygpIHsKKyAgICAgIC8v
IEZpcnN0IGNhbGxiYWNrIGlzIG5vdCBlbnN1cmVkIHRvIGhhdmUgdGhlIGVudHJ5LgorICAgICAg
aWYgKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2ZpcnN0LWlucHV0JykubGVuZ3RoID09
PSAwKSB7CisgICAgICAgIHQuc3RlcF90aW1lb3V0KHRlc3RFbnRyaWVzLCAxMCk7CisgICAgICAg
IHJldHVybjsKKyAgICAgIH0KKyAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGgsIDEsCisgICAgICAgICJUaGVyZSBzaG91
bGQgYmUgYSBmaXJzdC1pbnB1dCBlbnRyeSBpbiB0aGUgcGVyZm9ybWFuY2UgdGltZWxpbmUiKTsK
KyAgICAgIGNvbnN0IGVudHJ5ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3Qt
aW5wdXQnKVswXTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkubmFtZSwgJ21vdXNlZG93bicp
OworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOwor
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlvbiwgMTA0LAorICAg
ICAgICAiVGhlIGZpcnN0IGlucHV0IHdhcyBhIGxvbmcgb25lLiIpOworICAgICAgdC5kb25lKCk7
CisgICAgfQorICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKHdhaXQpLnRoZW4o
dC5zdGVwX2Z1bmModGVzdEVudHJpZXMpKTsKKyAgfSwKKyAgIkV2ZW50IFRpbWluZzogY2hlY2sg
Zmlyc3QtaW5wdXQgYWZ0ZXIgb25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiIKKyAgKTsK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZjg1ODA2ZjdmNDIxY2RmMWY5MzBmMDRiMmZiMGY5MmY2ZGE5MjJjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1Mgc3VwcG9ydGVkRW50cnlUeXBlcyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmly
c3QtaW5wdXQnLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
c3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNh
NWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5
cGVzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNj
NDM0OTVjMDk2ZmQwY2Q1NjhmYTU5ODMwNTVjMDM5MGY5NGQ0MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3N1cHBvcnRlZC10eXBlcy53aW5kb3cuanMKQEAgLTAsMCArMSwxMiBAQAordGVzdCgoKSA9PiB7
CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGFzc2VydF9pbXBsZW1lbnRzKHR5cGVv
ZiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMgIT09ICJ1bmRlZmluZWQi
LAorICAgICAgJ3N1cHBvcnRlZEVudHJ5VHlwZXMgaXMgbm90IHN1cHBvcnRlZCcpOworICBjb25z
dCB0eXBlcyA9IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlczsKKyAgYXNz
ZXJ0X3RydWUodHlwZXMuaW5jbHVkZXMoImZpcnN0LWlucHV0IiksCisgICAgIlRoZXJlIHNob3Vs
ZCBiZSAnZmlyc3QtaW5wdXQnIGluIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlU
eXBlcyIpOworICBhc3NlcnRfdHJ1ZSh0eXBlcy5pbmNsdWRlcygiZXZlbnQiKSwKKyAgICAiVGhl
cmUgc2hvdWxkIGJlICdldmVudCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRy
eVR5cGVzIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW4odHlwZXMuaW5kZXhPZigiZmlyc3QtaW5w
dXQiKSwgdHlwZXMuaW5kZXhPZignZXZlbnQnKSwKKyAgICAiVGhlICdmaXJzdC1pbnB1dCcgZW50
cnkgc2hvdWxkIGFwcGVhciBhZnRlciB0aGUgJ2V2ZW50JyBlbnRyeSIpOworfSwgInN1cHBvcnRl
ZEVudHJ5VHlwZXMgY29udGFpbnMgJ2V2ZW50JyBhbmQgJ2ZpcnN0LWlucHV0Jy4iKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y2NjkxNTMyNmJlMDg2YjM1MDQ2YTI0Mzg5YjVmMWZk
NjM0ZmI1YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK1BBU1MgRXZlbnQg
VGltaW5nIG9ubHkgdGltZXMgY2VydGFpbiB0eXBlcyBvZiB0cnVzdGVkIGV2ZW50LiAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVmNDQ0OGMyYTEwM2E4NTExNTQ0ZmJlN2JiZmQwNzYwNzczN2E5MGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuCis8L3Rp
dGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8YnV0dG9uIGlkPSdi
dXR0b24nIG9ubW91c2Vkb3duPSdtYWluVGhyZWFkQnVzeSg2MCknCisgIG9uZm9jdXM9J21haW5U
aHJlYWRCdXN5KDYwKSc+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVu
dC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGxldCB0cnVzdGVk
Q2xpY2tTdGFydDsKKyAgZnVuY3Rpb24gdHJ1c3RlZENsaWNrQW5kQmxvY2tNYWluKGlkKSB7Cisg
ICAgdHJ1c3RlZENsaWNrU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICByZXR1cm4gY2xp
Y2tBbmRCbG9ja01haW4oaWQpOworICB9CisKKyAgZnVuY3Rpb24gdW50cnVzdGVkQ2xpY2tBbmRC
bG9ja01haW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZChpZCk7CisgICAgLy8gQmxvY2sgbWFpbnRocmVhZCBpbiB0aGUgY2FsbGJhY2ssIGFzIGRpc3Bh
dGNoRXZlbnQoKSBpcyBhIHN5bmMgY2FsbC4KKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcg
TW91c2VFdmVudCgnbW91c2Vkb3duJykpOworICB9CisKKyAgZnVuY3Rpb24gdHJ1c3RlZEZvY3Vz
QW5kQmxvY2tNYWluKGlkKSB7CisgICAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpOworICAgIHRydXN0ZWRGb2N1c1N0YXJ0ID0gcGVyZm9ybWFuY2Uubm93KCk7Cisg
ICAgLy8gQmxvY2sgbWFpbnRocmVhZCBpbiB0aGUgY2FsbGJhY2ssICBhcyBmb2N1cygpIGlzIGEg
c3luYyBjYWxsLgorICAgIHRhcmdldC5mb2N1cygpOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVu
dFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGxldCBvYnNl
cnZlZE1vdXNlRG93biA9IGZhbHNlOworICAgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVw
X2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZXJDYWxsYmFja1RpbWUg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgICAgY29uc3QgbW91c2VEb3ducyA9IGVudHJ5TGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICAgICAgLy8gSWdub3JlIGNhc2Vz
IGluIHdoaWNoIHRoZXJlIGlzIG5vIG1vdXNlZG93bi4KKyAgICAgICAgaWYgKG1vdXNlRG93bnMu
bGVuZ3RoID09PSAwKQorICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhc3NlcnRfZmFsc2Uo
b2JzZXJ2ZWRNb3VzZURvd24sICdHb3QgbW9yZSB0aGFuIG9uZSBjYWxsYmFjayB3aXRoIG1vdXNl
ZG93bi4nKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zLmxlbmd0aCwgMSwKKyAg
ICAgICAgICAgICJTaG91bGQgb25seSBvYnNlcnZlIG9uZSBtb3VzZWRvd24gZW50cnkuIEluc3Rl
YWQsIGdvdCB0aGVzZTogIiArCisgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShtb3VzZURvd25z
KSArICIuIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3duc1swXS5uYW1lLCAnbW91
c2Vkb3duJywKKyAgICAgICAgICAgICJUaGUgb2JzZXJ2ZWQgZW50cnkgc2hvdWxkIGJlIGEgbW91
c2Vkb3duIik7CisgICAgICAgIGFzc2VydF9sZXNzX3RoYW4obW91c2VEb3duc1swXS5zdGFydFRp
bWUsIG9ic2VydmVyQ2FsbGJhY2tUaW1lLAorICAgICAgICAgICAgIlRoZSBzdGFydFRpbWUgc2hv
dWxkIGJlIGJlZm9yZSBvYnNlcnZlckNhbGxiYWNrVGltZSIpOworICAgICAgICBhc3NlcnRfZ3Jl
YXRlcl90aGFuKG1vdXNlRG93bnNbMF0uc3RhcnRUaW1lLCB0cnVzdGVkQ2xpY2tTdGFydCwKKyAg
ICAgICAgICAgICJUaGUgc3RhcnRUaW1lIHNob3VsZCBiZSBhZnRlciB0cnVzdGVkQ2xpY2tTdGFy
dCIpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgIH0pKS5vYnNlcnZlKHsgZW50cnlUeXBlczogWydldmVudCddIH0pOworICAgIH0p
OworICAgIC8vIFVudHJ1c3RlZCBldmVudCBvZiBhIHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFi
b3V0LgorICAgIHVudHJ1c3RlZENsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgICAvLyBU
cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgZG9lc24ndCBjYXJlcyBhYm91dC4K
KyAgICB0cnVzdGVkRm9jdXNBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIC8vIFRydXN0ZWQg
ZXZlbnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBjYXJlcyBhYm91dC4KKyAgICBjb25zdCBjbGlj
a1Byb21pc2UgPSB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCk7
CisgICAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclByb21pc2UsIGNsaWNrUHJvbWlzZV0p
OworICB9LCAiRXZlbnQgVGltaW5nIG9ubHkgdGltZXMgY2VydGFpbiB0eXBlcyBvZiB0cnVzdGVk
IGV2ZW50LiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvdG9KU09OLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTk3YzZlYjE4OGQ0ZmFk
ZTI3YzA2OTVmYzdlMDExMTA2MjYxYWVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitGQUlM
IFRlc3QgdG9KU09OKCkgaW4gUGVyZm9ybWFuY2VFdmVudFRpbWluZy4gYXNzZXJ0X2VxdWFsczog
UGVyZm9ybWFuY2VFdmVudFRpbWluZyAke2tleX0gZW50cnkgZG9lcyBub3QgbWF0Y2ggaXRzIHRv
SlNPTiB2YWx1ZSBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGJ1dHRvbiBpZD0iYnV0
dG9uIj5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4gYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iMmRlNDc2N2M0MmE1ZDNmZThhODRjZGVmN2M1MzRhZmJjZDQ0ZTFhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvdG9KU09OLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkV2ZW50IFRpbWluZzogdG9KU09OPC90aXRs
ZT4KKzxib2R5PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGJ1dHRv
biBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQ+
CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24gKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5k
b3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVk
LicpOworICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoCisgICAg
ICB0LnN0ZXBfZnVuY19kb25lKGZ1bmN0aW9uKGVudHJ5TGlzdCkgeworICAgICAgICBjb25zdCBl
bnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAgIGFzc2VydF9lcXVhbHMo
dHlwZW9mKGVudHJ5LnRvSlNPTiksICdmdW5jdGlvbicpOworICAgICAgICBjb25zdCBqc29uID0g
ZW50cnkudG9KU09OKCk7CisgICAgICAgIGFzc2VydF9lcXVhbHModHlwZW9mKGpzb24pLCAnb2Jq
ZWN0Jyk7CisgICAgICAgIGNvbnN0IGtleXMgPSBbCisgICAgICAgICAgLy8gUGVyZm9ybWFuY2VF
bnRyeQorICAgICAgICAgICduYW1lJywKKyAgICAgICAgICAnZW50cnlUeXBlJywKKyAgICAgICAg
ICAnc3RhcnRUaW1lJywKKyAgICAgICAgICAnZHVyYXRpb24nLAorICAgICAgICAgIC8vIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcKKyAgICAgICAgICAncHJvY2Vzc2luZ1N0YXJ0JywKKyAgICAgICAg
ICAncHJvY2Vzc2luZ0VuZCcsCisgICAgICAgICAgJ2NhbmNlbGFibGUnLAorICAgICAgICAgICd0
YXJnZXQnLAorICAgICAgICBdOworICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhqc29uW2tleV0sIGVudHJ5W2tleV0sCisgICAgICAgICAg
ICAnUGVyZm9ybWFuY2VFdmVudFRpbWluZyAke2tleX0gZW50cnkgZG9lcyBub3QgbWF0Y2ggaXRz
IHRvSlNPTiB2YWx1ZScpOworICAgICAgICB9CisgICAgICB9KQorICAgICk7CisgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0
b24nKTsKKyAgfSwgJ1Rlc3QgdG9KU09OKCkgaW4gUGVyZm9ybWFuY2VFdmVudFRpbWluZy4nKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1w
b3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kYjI4ODY3ZmRmMjc1MGJkZDc1NWJkYWRiMzZiY2Q2MGQxNGI0
OTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSw1MyBAQAor
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2Yg
ZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvTUVUQS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9u
LXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jbGljay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxj
bGljay5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJz
dC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0
aW9uLXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWlu
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZWxlYXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZXVwLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24u
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJlbnRlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMt
Y2xpY2stbm90LW9ic2VydmVkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUt
Zmlyc3RJbnB1dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcworL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRp
dGlvbnMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90ZXN0cy1v
cHRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KaW5kZXggNGJlNjFl
NjcwOWMzZjgxMzdkMjVhNTM5MjI2Yzg4OTE0ZDM4ODlmMi4uNzdhYTFkNDA3OTcxOTBkYmFlY2Fh
Yzc5NWQ5NjVhNDFlNWQ1MzAxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9u
cy5qc29uCisrKyBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgpAQCAtMTM1OCw2ICsx
MzU4LDIxIEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVk
LW1lZGlhL2RybS10ZW1wb3JhcnktbGljZW5zZS10eXBlLmh0dHBzLmh0bWwiOiBbCiAgICAgICAg
ICJzbG93IgogICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisg
ICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0
bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWwiOiBbCisgICAgICAgICJz
bG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisg
ICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2Nv
bmRpdGlvbnMuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudHNvdXJjZS9kZWRpY2F0ZWQtd29ya2VyL2V2ZW50
c291cmNlLWNvbnN0cnVjdG9yLW5vbi1zYW1lLW9yaWdpbi5odG0iOiBbCiAgICAgICAgICJzbG93
IgogICAgIF0sCkBAIC0zMDc3LDQgKzMwOTIsNCBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3hoci94bWxodHRwcmVxdWVzdC10aW1lb3V0LXdvcmtlci10d2ljZS5odG1s
IjogWwogICAgICAgICAic2xvdyIKICAgICBdCi19ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405826</attachid>
            <date>2020-08-03 07:04:26 -0700</date>
            <delta_ts>2020-08-03 09:24:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200803160423.patch</filename>
            <type>text/plain</type>
            <size>173683</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQyZTI3NjlhNmQ2Nzlk
NDNjNDI5OTIxZTNiODJkNjAyMGQ3OTk3OC4uZDdjZDE1MDM2NzY1MjA4ZTBmNzU0MDQzM2U0ODcw
NzE2NGE0M2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wOC0wMyAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDgtMDIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBz
b21lIG1lbWJlciBmdW5jdGlvbnMgb2YgUmFuZ2UgYW5kIG1hbnkgY2FsbHMgdG8gY3JlYXRlTGl2
ZVJhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGIwM2ZmYWYwMGMxZGRmZDUxZDE4ZTg1ZDFj
ZDg2NDFhOWI5N2Q5ZDMuLjA3YWMyNTE1ODU0YjNhMmJkZGZjYTlhZDdmYzM5OTgzMjQzMTJlNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NzYsNiArOTc2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlv
bi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAog
ICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAg
cGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5Myw2ICs5OTQsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFn
ZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IGY3ZDJjZGNmZGE3NzI1NjU3MTlmYzZmOTc2ZWEzNzhjZWZhYTA0NWIuLmVi
ZTA3ZjMyYTBmYTZmMmM3MTg5MWU2ZDVmM2JiNDMxZDVmOGJmODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQ1LDYgKzk0NSw3IEBA
ICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5
cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMu
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikv
cGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1h
bmNlLmlkbApAQCAtOTYzLDYgKzk2NCw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9y
U2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRs
CiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAk
KFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1NjUxMWRmZWQwNmQzNTZjZTc1NGQ0
MWE3ZTNhNjA5YTExODI2NTg3Li45NDc5ZjBlOGVjYTZkZmVhNTE2ZGUyMjQ3ZmYyNDY0YmQ4OTcy
OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtNTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJ
bml0LmNwcApAQCAtMTMwOCw2ICsxMzEwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVu
dHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJr
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9y
bWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmUzNWY5
NjE4ZDY0NzFkYWE2MzBmYWU5MjY3YzE2OTc3MjFmNDZjYS4uNGZjMDliZmI0NzIyNTQ5YWNkYjVj
NTc2OWUyNDRlMzQ5ZGI1MjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05
NjQsNiArOTY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9D
cnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVu
dENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
R2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk4Miw2ICs5ODMsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlYWQz
NjFiOWVmNjgxYjhjOGE3MDA5ODFlZWVmMTk5Y2M0ODQ2MzMyLi41MGMwYjk4NTViZTBiNTFjZWM5
NGJiMWVlYmMxODg2NTk5NmMyMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEw
IEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRp
b25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVy
ZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIu
Y3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAK
IHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAK
IHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzNiw2ICsyODM5LDcgQEAgSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JF
dmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3Bw
CiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNzAsNiAr
MzE3NCw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5j
cHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VN
ZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDE4YmJhN2U2NGUw
ZjJhMTY2ZmFjMjJmMDc4MDYyNjAwNGRlMGNmNy4uM2E1Y2FlMmQ0ZTNmYTU4MGNmMzljYjc5ZTgy
YjIzOGM5MjRjZjU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzQ1MCw2ICszNDUwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3
RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVU
eXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBl
QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5
RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJ
QUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1
RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsg
fTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBE
NTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRD
IC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFn
ZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4
NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAx
NkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1
QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ2NSw4ICszNDY2
LDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgg
Ki87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1Zv
aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdG
RUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9Owog
CQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1
MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5o
ICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNz
aWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5o
ICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFF
QjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsK
IAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIy
NDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8q
IFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGlu
ZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjUyMiw2ICsxMjUy
NSw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0
aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2
QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01X
aW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTI1NTIsNiArMTI1NTcsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVl
Y2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMg
LyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0
ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYy
NENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJF
Rjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhG
MjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTY2
LDYgKzEyNTc0LDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFB
RTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUy
NEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVC
OEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2Vi
U29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8q
IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjEyNjksMTEgKzIxMjgwLDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1
IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEw
MDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4
Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYw
MEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8q
IEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZl
bnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRI
YW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNl
LmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAq
LywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAor
CQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJ
QUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNC
RTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNC
RTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4Nzgz
MEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzNTgsNiArMjEz
NzQsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5
LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRy
eS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5
LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0
IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3
MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlF
QUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA4MzYsNiArMzA4
NTUsNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2
ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhF
QjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDg1NCw2ICsz
MDg3NCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29u
Y3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBF
dmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFB
MTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9u
Q29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjc5NCw2ICszMjgxNSw3IEBACiAJCQkJRTNGQTM4
NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnku
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3
MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZF
MzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2
Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdj
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VF
bnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3Jt
YW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJm
b3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5o
IgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9i
YWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50
VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlz
PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaAppbmRleCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFi
Li5mMjkzNTg2ZDY4NDNlOGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiAr
MTg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2Jh
bFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAog
ICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDQ3YjQ3YjMyNGVkYjNhZWQ3NWY2MjMyYTM3MDNjZjlhNGI2YjQ0ZjAuLmEzYWIz
NzVjNmUzYzMzZWY2Y2JkNzZhNDgxMTA2Y2FmMzEyOWYxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzE5OSw2ICszMTk5LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRp
bWluZ0VudHJ5SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKIH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1kaXNwYXRjaC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRy
aWVzSWZOZWVkZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNo
UGVuZGluZ0V2ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3
cml0ZShEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4
dCkKIHsKICAgICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCA2YjBjNWQ5MzY2MmZmNTIxMjE4ZjhhZTJkN2Q3ZmRkOGJjZjAyZThkLi4yZWYyZTU1
NTUxM2M1ZDBiYTJiMTBmMmYxNzRjOGU3MzRkN2I1YTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtMTU3OCw2ICsxNTc4LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0
b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7
CiAKKyAgICB2b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAg
RWRpdG9yJiBlZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYg
ZWRpdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYg
c2VsZWN0aW9uKCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3
NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBA
IC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5v
ZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9w
cGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQ
YXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZl
bnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAg
ICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQo
KS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQs
IGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50
VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwg
ZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE1NGQ3YmMwMDA5YmZmNTYzMDFj
NDY5NTFjNzZhZmMzYjRlNzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRDb3VudHMu
aCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIK
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXZlbnRDb3VudHM6OkV2ZW50Q291bnRzKCkKK3sK
KyAgICBzdGF0aWMgY29uc3QgYXV0byBldmVudFR5cGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZl
Y3RvcjxBdG9tU3RyaW5nPiB7CisgICAgICAgIC8qIE1vdXNlRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCwgZXZl
bnROYW1lcygpLmRibGNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLm1vdXNlZW50ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlbGVh
dmVFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMo
KS5tb3VzZW92ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCwKKyAgICAgICAgLyog
UG9pbnRlckV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcm92ZXJFdmVudCwg
ZXZlbnROYW1lcygpLnBvaW50ZXJlbnRlckV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkucG9p
bnRlcmRvd25FdmVudCwgZXZlbnROYW1lcygpLnBvaW50ZXJ1cEV2ZW50LAorICAgICAgICBldmVu
dE5hbWVzKCkucG9pbnRlcmNhbmNlbEV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcm91dEV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcmxlYXZlRXZlbnQsIGV2ZW50TmFtZXMoKS5n
b3Rwb2ludGVyY2FwdHVyZUV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkubG9zdHBvaW50ZXJj
YXB0dXJlRXZlbnQsCisgICAgICAgIC8qIFRvdWNoRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFt
ZXMoKS50b3VjaHN0YXJ0RXZlbnQsIGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwKKyAgICAgICAgLyogS2V5Ym9hcmRFdmVu
dHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmtleWRvd25FdmVudCwgZXZlbnROYW1lcygpLmtl
eXByZXNzRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5rZXl1cEV2ZW50LAorICAgICAgICAv
KiBJbnB1dEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkuYmVmb3JlaW5wdXRFdmVudCwg
ZXZlbnROYW1lcygpLmlucHV0RXZlbnQsCisgICAgICAgIC8qIENvbXBvc2l0aW9uRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbnN0YXJ0RXZlbnQsCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jb21wb3NpdGlvbnVwZGF0ZUV2ZW50LCBldmVudE5hbWVzKCkuY29tcG9zaXRp
b25lbmRFdmVudCwKKyAgICAgICAgLyogRHJhZyAmIERyb3AgRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLmRyYWdlbmRFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmRyYWdlbnRlckV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2xlYXZl
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2ZW50LCBldmVudE5hbWVzKCku
ZHJvcEV2ZW50LAorICAgIH0pOworICAgIGZvciAoY29uc3QgYXV0byYgdHlwZSA6IGV2ZW50VHlw
ZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7Cit9CisKK3ZvaWQgRXZlbnRD
b3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3Ig
KGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5zZXQ8SURMRE9NU3RyaW5nLCBJ
RExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZhbHVlLnZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQg
RXZlbnRDb3VudHM6OmFkZChjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgYXV0byBpdCA9IG1f
bWFwLmZpbmQodHlwZSk7CisgICAgaXQtPnZhbHVlID0gaXQtPnZhbHVlICsgMTsKK30KKwordW5z
aWduZWQgRXZlbnRDb3VudHM6OmdldChjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fbWFwLmdldCh0eXBlKTsKK30KKwordW5zaWduZWQgRXZlbnRDb3VudHM6OnNpemUo
KSBjb25zdAoreworICAgIHJldHVybiBtX21hcC5zaXplKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjQ4ODFkMGYw
Yzk5YzhjMmFmM2RhNTQ0NTIyYWM1YTIzMmRjNzI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgRE9NU3RyaW5nOworCitjbGFzcyBFdmVu
dENvdW50cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50Q291bnRzPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxFdmVudENvdW50cz4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBFdmVudENvdW50cyk7IH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFw
QWRhcHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIHVuc2lnbmVkKTsK
KworICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4mIG1hcCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWFwOyB9CisKKyAgICB2b2lkIGFkZChjb25zdCBTdHJpbmcmIHR5cGUpOworICAgIHVu
c2lnbmVkIGdldChjb25zdCBTdHJpbmcmKSBjb25zdDsKKworICAgIHVuc2lnbmVkIHNpemUoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5n
LCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZGEzMjUxNmI3OTAyNjdjNWM4ODg1
ZDAzZTA0YzUyNjJmYjU1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1w
ZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBnZXQoRE9NU3RyaW5nIHR5cGUpOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzNWQ2ZjBhMjc5MTNlMWRhOGU3NTZlOGNl
MmFhMmVkNzE1ZjhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKwor
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRU
aW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1f
c3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdT
dGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25z
dCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9m
IGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRz
IHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRo
ZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIg
Y2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVu
dENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBv
biB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10
aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQor
ICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQo
KQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2
ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRF
dmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZl
bnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0
cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRv
dywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRp
bWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBl
cmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgp
LmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpIHsKKyAgICAgICAgLy8gZXZlbnQgdGltZSBzdGFt
cCBjYW4gYmUgYWhlYWQgb2Ygbm93LCBwcm9iYWJseSBiZWNhdXNlIGlzIGlzIHdhbGx0aW1lIGJh
c2VkIGFuZCBhcHByb3hpbWF0ZS4KKyAgICAgICAgYXV0byB0aW1lU3RhbXAgPSBzdGQ6Om1pbihN
b25vdG9uaWNUaW1lOjpub3coKSwgZXZlbnQudGltZVN0YW1wKCkpOworICAgICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCkucmVsYXRpdmVUaW1l
RnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKHRpbWVTdGFtcCksIHdpbmRvdy5wZXJm
b3JtYW5jZSgpLm5vdygpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
RXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXpl
RXZlbnRUaW1pbmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQs
IGV2ZW50LmNhbmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5
YjY3ZGZiNzc0MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xh
c3MgRE9NV2luZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVu
dFRpbWluZz4gY3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBF
dmVudFRpbWluZyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKwor
ICAgIHZvaWQgZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50
Jik7CisKK3ByaXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3By
b2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDIwODM1ODZjMjczYmU1YmU1NDg3NzJhMWY1NDZmZjk0YjNmNzNkMmEuLmM2MjYy
ZjU4MDAwMGNmZWIwNjNjZTA3MWRlNzNlNjFjZTczZjc5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMTUyOCw2ICsxNTI4LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygp
CiAgICAgICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAg
ICB9KTsKIAorICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Cisg
ICAgICAgIGRvY3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAg
IH0pOworCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAg
ICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5
NTM2M2U1MWMwYzU1NzYuLmNmYTkyMWNmNzRhZTA4OGY3MzZhOTE1MDE5Mzc5YjY5ZTVhNGIwNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9y
bWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5n
ZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7Cisg
ICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3Vu
dHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkg
Y29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwog
CisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdElucHV0VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VU
aW1pbmdCdWZmZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkK
ICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBp
ZiAobV9maXJzdElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJ
bnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAg
ICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcx
LDYgKzE4Nyw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNl
OjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50
ZnVsLXBhaW50IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRp
bWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0NyBAQCB2b2lkIFBlcmZvcm1h
bmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJz
dENvbnRlbnRmdWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXpl
KCkgPj0gMTUwOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7
Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9v
bCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5n
U3RhcnQsIG5vdygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFw
cGVuZChXVEZNb3ZlKGVudHJ5KSk7Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmRpc3BhdGNoUGVu
ZGluZ0V2ZW50VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1RpbWVzdGFtcCA9IG5vdygp
OworICAgIHdoaWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7CisgICAgICAgIFJlZlB0
cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRUaW1pbmdzLnRha2VGaXJz
dCgpOworICAgICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAgICAgICBtX2V2ZW50Q291
bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2ZW50Q291bnRzLT5hZGQo
ZW50cnktPm5hbWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5NcyA9IHN0ZDo6cm91bmQo
KHJlbmRlcmluZ1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkgLyA4KSAqIDg7CisgICAg
ICAgIGVudHJ5LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisgICAgICAgIGlmICghbV9m
aXJzdElucHV0VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnktPm5hbWUoKSA9PSAiY2xp
Y2siIHx8IGVudHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5LT5uYW1lKCkgPT0gIm1v
dXNlZG93biIpIHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRUaW1pbmcgPSBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCplbnRyeSk7CisgICAgICAg
ICAgICAgICAgcXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7CisgICAgICAgIGlmIChkdXJh
dGlvbkluTXMgPj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpKQorICAgICAgICAg
ICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRyeSkpOworICAgIH0KK30K
Kwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVzb3VyY2VUaW1pbmcmJiBy
ZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsK
QEAgLTM0Niw3ICs0MDYsNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1ZUVudHJ5KFBlcmZvcm1h
bmNlRW50cnkmIGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1bGVUYXNrID0gZmFsc2U7
CiAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7Ci0gICAgICAgIGlmIChv
YnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUoKSkpIHsKKyAgICAgICAg
aWYgKG9ic2VydmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnkudHlwZSgpKSAmJiBvYnNl
cnZlci0+Y2FuT2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9ic2VydmVyLT5xdWV1ZUVu
dHJ5KGVudHJ5KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFzayA9IHRydWU7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMxYzZkM2M0NWYwMzUyMDkw
NDhjYzU4OTNmZWNmNGNiNjhjOTgxLi5mMzY2YmJjNWYzNjg1ZTVjNjk0NTg3MDZiNDFhOGM0ZTg4
ZGRjM2IzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00Miw4ICs0MiwxMCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRzOwogY2xhc3MgTG9hZFRp
bWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3MgUGVyZm9ybWFuY2VPYnNl
cnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02NSw2ICs2Nyw4IEBAIHB1
YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRpb24oKTsKICAgICBQZXJm
b3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50cyogZXZlbnRDb3VudHMo
KTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXMoKSBj
b25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlU
eXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBl
cmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYsMTQgQEAgcHVibGljOgog
CiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwogCisgICAgYm9vbCBmaXJz
dElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJbnB1dFRpbWluZzsgfQor
CisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0OworICAgIHZvaWQgYWRk
RXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYpOworCisgICAgdm9pZCBm
aW5hbGl6ZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGRvdWJsZSBzdGFydFRp
bWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQq
KTsKKyAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7CisKICAgICB2b2lkIHJl
bW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJmb3JtYW5jZU9ic2VydmVy
KFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0ZXJQZXJmb3JtYW5jZU9i
c2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSArMTI0LDE2IEBAIHByaXZh
dGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IG1fbmF2aWdh
dGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWluZz4gbV90aW1pbmc7Cisg
ICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3VudHM7CiAKICAgICAvLyBo
dHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRlbnNpb25zLXBlcmZvcm1h
bmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAgIFZlY3RvcjxSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAgICAgdW5zaWduZWQg
bV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAgIERlcXVlPFJlZlB0cjxQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisKKyAgICBWZWN0b3I8UmVm
UHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+PiBtX2V2ZW50VGltaW5nQnVmZmVyOworCiAgICAg
VGltZXIgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGxUaW1lcjsKICAgICBWZWN0b3I8UmVmUHRy
PFBlcmZvcm1hbmNlRW50cnk+PiBtX2JhY2t1cFJlc291cmNlVGltaW5nQnVmZmVyOwogCkBAIC0x
MjksNiArMTQ2LDggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UGVyZm9ybWFuY2VQYWludFRpbWlu
Zz4gbV9maXJzdENvbnRlbnRmdWxQYWludDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VXNlclRpbWlu
Zz4gbV91c2VyVGltaW5nOwogCisgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IG1f
Zmlyc3RJbnB1dFRpbWluZzsKKwogICAgIEdlbmVyaWNUYXNrUXVldWU8U2NyaXB0RXhlY3V0aW9u
Q29udGV4dD4gbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1ZXVlOwogICAgIExpc3RIYXNoU2V0
PFJlZlB0cjxQZXJmb3JtYW5jZU9ic2VydmVyPj4gbV9vYnNlcnZlcnM7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmlkbAppbmRleCA3NDEzNjdmYjExYTgwOTk1NTQzZmI3NzQ1ZTVhNGQy
ODM5ZTA1ZjhiLi42OGViNGUzNThkZjM0M2Y1ZDgzNWVlYWVlMzVkMzJlNzBhODNiOThhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlkbApAQCAtNTksNiArNTksOSBAQCB0eXBlZGVmIGRv
dWJsZSBET01IaWdoUmVzVGltZVN0YW1wOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1p
bmddIHZvaWQgY2xlYXJNYXJrcyhvcHRpb25hbCBET01TdHJpbmcgbWFya05hbWUpOwogICAgIFtF
bmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmcsIE1heVRocm93RXhjZXB0aW9uXSB2b2lkIG1lYXN1
cmUoRE9NU3RyaW5nIG1lYXN1cmVOYW1lLCBvcHRpb25hbCBET01TdHJpbmcgc3RhcnRNYXJrLCBv
cHRpb25hbCBET01TdHJpbmcgZW5kTWFyayk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRp
bWluZ10gdm9pZCBjbGVhck1lYXN1cmVzKG9wdGlvbmFsIERPTVN0cmluZyBtZWFzdXJlTmFtZSk7
CisKKyAgICAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8jc2VjLWV4dGVu
c2lvbnMKKyAgICBbRXhwb3NlZD1XaW5kb3csIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0
ZSBFdmVudENvdW50cyBldmVudENvdW50czsKIH07CiAKIHR5cGVkZWYgc2VxdWVuY2U8UGVyZm9y
bWFuY2VFbnRyeT4gUGVyZm9ybWFuY2VFbnRyeUxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAppbmRleCA0MmMwNTFlODVlMjJjMTJmN2ZjYjMzNTRiZDk5MTE5OGJm
MjczNzg5Li4zYWRmNzNhNzk2MmI5NDFkNTdhM2MzZGE4MTRmMWY0NWJlY2VmYzVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKQEAgLTQ5LDYgKzQ5LDEyIEBAIFBl
cmZvcm1hbmNlRW50cnk6On5QZXJmb3JtYW5jZUVudHJ5KCkgPSBkZWZhdWx0OwogCiBPcHRpb25h
bDxQZXJmb3JtYW5jZUVudHJ5OjpUeXBlPiBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVudHJ5VHlw
ZVN0cmluZyhjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkKIHsKKyAgICBpZiAoZW50cnlUeXBlID09
ICJldmVudCIpCisgICAgICAgIHJldHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpFdmVudCk7CisK
KyAgICBpZiAoZW50cnlUeXBlID09ICJmaXJzdC1pbnB1dCIpCisgICAgICAgIHJldHVybiBPcHRp
b25hbDxUeXBlPihUeXBlOjpGaXJzdElucHV0KTsKKwogICAgIGlmIChlbnRyeVR5cGUgPT0gIm5h
dmlnYXRpb24iKQogICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6TmF2aWdhdGlv
bik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgKaW5kZXggYWZhY2ZiMDkw
YjIxY2JhNjE0ZDc4Y2U4OGFjNzUzZTI2NzNlMTI2NS4uYTRhZDIzMTRlMDg0MDQ3YzVlMTk4Yjli
YzIzZWRiMmRmMjcxMWY4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmgK
QEAgLTQ2LDEzICs0NiwxNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lOyB9CiAgICAgZG91YmxlIHN0YXJ0VGltZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RhcnRUaW1lOyB9CiAgICAgZG91YmxlIGR1cmF0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9kdXJhdGlvbjsgfQorICAgIHZvaWQgc2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKSB7IG1f
ZHVyYXRpb24gPSBkdXJhdGlvbjsgfQogCiAgICAgZW51bSBjbGFzcyBUeXBlIHsKICAgICAgICAg
TmF2aWdhdGlvbiAgPSAxIDw8IDAsCiAgICAgICAgIE1hcmsgICAgICAgID0gMSA8PCAxLAogICAg
ICAgICBNZWFzdXJlICAgICA9IDEgPDwgMiwKICAgICAgICAgUmVzb3VyY2UgICAgPSAxIDw8IDMs
Ci0gICAgICAgIFBhaW50ICAgICAgID0gMSA8PCA0CisgICAgICAgIFBhaW50ICAgICAgID0gMSA8
PCA0LAorICAgICAgICBFdmVudCAgICAgICA9IDEgPDwgNSwKKyAgICAgICAgRmlyc3RJbnB1dCAg
PSAxIDw8IDYKICAgICB9OwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7CkBA
IC02NCw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGlzTWFyaygpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBUeXBlOjpNYXJrOyB9CiAgICAgYm9vbCBpc01lYXN1cmUoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gVHlwZTo6TWVhc3VyZTsgfQogICAgIGJvb2wgaXNQYWludCgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpQYWludDsgfQorICAgIGJvb2wgaXNFdmVudCgpIGNv
bnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpFdmVudDsgfQorICAgIGJvb2wgaXNGaXJzdElu
cHV0KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6OkZpcnN0SW5wdXQ7IH0KIAogICAg
IHN0YXRpYyBib29sIHN0YXJ0VGltZUNvbXBhcmVMZXNzVGhhbihjb25zdCBSZWZQdHI8UGVyZm9y
bWFuY2VFbnRyeT4mIGEsIGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYikKICAgICB7
CkBAIC03Niw3ICs4MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgY29uc3QgU3RyaW5n
IG1fbmFtZTsKICAgICBjb25zdCBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgY29uc3QgZG91Ymxl
IG1fZHVyYXRpb247CisgICAgZG91YmxlIG1fZHVyYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNmYzNzM5OTcyMzMxNTkzOTY0YWI3ZjNlMmE2MjY0ZDY3OTUxZTJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiTm9kZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK1BlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OlBlcmZvcm1hbmNlRXZl
bnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgUGVyZm9ybWFuY2VFbnRyeTo6
VHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0
LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFy
Z2V0KQorICAgIDogUGVyZm9ybWFuY2VFbnRyeSh0eXBlLCBzdGFydFRpbWUsIDAuMCkKKyAgICAs
IG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdTdGFydCkKKyAgICAsIG1fcHJvY2Vzc2luZ0Vu
ZChwcm9jZXNzaW5nRW5kKQorICAgICwgbV9jYW5jZWxhYmxlKGNhbmNlbGFibGUpCisgICAgLCBt
X2VudHJ5VHlwZShlbnRyeVR5cGUpCisgICAgLCBtX3RhcmdldCh0YXJnZXQpCit7Cit9CisKK1Jl
ZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVG
aXJzdElucHV0VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmIGVudHJ5KQorewor
ICAgIGF1dG8gZXZlbnRUaW1pbmcgPSBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcoZW50cnkubmFtZSgpLCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpGaXJzdElucHV0LCBlbnRy
eS5zdGFydFRpbWUoKSwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KCksIGVudHJ5LnByb2Nlc3NpbmdF
bmQoKSwgZW50cnkuY2FuY2VsYWJsZSgpLCBlbnRyeS50YXJnZXQoKSkpOworICAgIGV2ZW50VGlt
aW5nLT5zZXREdXJhdGlvbihlbnRyeS5kdXJhdGlvbigpKTsKKyAgICByZXR1cm4gZXZlbnRUaW1p
bmc7Cit9CisKK3N0YXRpYyBib29sIGNhbkV4cG9zZU5vZGUoTm9kZSogbm9kZSkKK3sKKyAgICBp
ZiAoIW5vZGUgfHwgIW5vZGUtPmlzQ29ubmVjdGVkKCkgfHwgbm9kZS0+Y29udGFpbmluZ1NoYWRv
d1Jvb3QoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFub2RlLT5kb2N1bWVu
dCgpLmlzRnVsbHlBY3RpdmUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK05vZGUqIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OnRhcmdldCgpIGNvbnN0
Cit7CisgICAgaWYgKCFtX3RhcmdldCB8fCAhbV90YXJnZXQtPmlzTm9kZSgpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8Tm9kZT4obV90YXJnZXQp
OworICAgIHJldHVybiBjYW5FeHBvc2VOb2RlKG5vZGUpID8gbm9kZSA6IG51bGxwdHI7Cit9CisK
K0FTQ0lJTGl0ZXJhbCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjplbnRyeVR5cGUoKSBjb25zdAor
eworICAgIHJldHVybiBtX2VudHJ5VHlwZSA9PSBUeXBlOjpGaXJzdElucHV0ID8gImZpcnN0LWlu
cHV0Il9zIDogImV2ZW50Il9zOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmM2U4
Y2IxYzVjMzJlNjg1ZDRjY2JjZjliODQ2OTk4ZjA4ZDkwMjMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDc0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlICJQZXJmb3JtYW5jZUVudHJ5LmgiCisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBOb2RlOworCitjbGFzcyBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nIGZpbmFsIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgeworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJs
ZSBwcm9jZXNzaW5nRW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
KHR5cGUsIFR5cGU6OkV2ZW50LCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgcHJvY2Vzc2lu
Z0VuZCwgY2FuY2VsYWJsZSwgdGFyZ2V0KSk7CisgICAgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9y
bWFuY2VFdmVudFRpbWluZz4gY3JlYXRlRmlyc3RJbnB1dFRpbWluZyhjb25zdCBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nJik7CisKKyAgICB+UGVyZm9ybWFuY2VFdmVudFRpbWluZygpID0gZGVmYXVs
dDsKKworICAgIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nl
c3NpbmdTdGFydDsgfQorICAgIGRvdWJsZSBwcm9jZXNzaW5nRW5kKCkgY29uc3QgeyByZXR1cm4g
bV9wcm9jZXNzaW5nRW5kOyB9CisgICAgYm9vbCBjYW5jZWxhYmxlKCkgY29uc3QgeyByZXR1cm4g
bV9jYW5jZWxhYmxlOyB9CisKKyAgICBOb2RlKiB0YXJnZXQoKSBjb25zdDsKKworcHJvdGVjdGVk
OgorICAgIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgVHlwZSYgZW50cnlUeXBlLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0
YXJ0LCBkb3VibGUgcHJvY2Vzc2luZ0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCop
OworCitwcml2YXRlOgorICAgIFR5cGUgdHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZW50
cnlUeXBlOyB9CisgICAgQVNDSUlMaXRlcmFsIGVudHJ5VHlwZSgpIGNvbnN0IGZpbmFsOworCisg
ICAgZG91YmxlIG1fcHJvY2Vzc2luZ1N0YXJ0OworICAgIGRvdWJsZSBtX3Byb2Nlc3NpbmdFbmQ7
CisgICAgYm9vbCBtX2NhbmNlbGFibGU7CisgICAgVHlwZSBtX2VudHJ5VHlwZTsKKyAgICBFdmVu
dFRhcmdldCogbV90YXJnZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZykK
KyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeSYg
ZW50cnkpIHsgcmV0dXJuIGVudHJ5LmlzRXZlbnQoKSB8fCBlbnRyeS5pc0ZpcnN0SW5wdXQoKTsg
fQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ZDdmY2ZjNDI5YjBjM2Vm
NzRkNGQ0ZGVlMTkxODM4ZjczMTg3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZl
bnQtdGltaW5nLyNzZWMtcGVyZm9ybWFuY2UtZXZlbnQtdGltaW5nCisKK3R5cGVkZWYgZG91Ymxl
IERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKK1sKKyAgICBFeHBvc2VkPShXaW5kb3cpLAorXSBpbnRl
cmZhY2UgUGVyZm9ybWFuY2VFdmVudFRpbWluZyA6IFBlcmZvcm1hbmNlRW50cnkgeworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBET01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdTdGFydDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nRW5kOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGNhbmNlbGFibGU7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIE5vZGU/IHRhcmdldDsKKworICAgIHNlcmlhbGl6ZXIgPSB7IGluaGVyaXQsIGF0
dHJpYnV0ZSB9OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU9ic2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAKaW5kZXggN2FjYzY4NmI4Nzg4YjU2MThmMDdjNjJlODkyMTg1OGM0NDYxODExOS4uNjFh
MmNmZDk3OTRiOWVmYjEzNzg3YzI0MjQzNTBkYjhhNjZmMzZkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCkBAIC03Myw5ICs3MywxMSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBQZXJmb3JtYW5jZU9ic2VydmVyOjpvYnNlcnZlKEluaXQmJiBpbml0KQogICAg
IH0gZWxzZSB7CiAgICAgICAgIGlmICghaW5pdC50eXBlKQogICAgICAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IFR5cGVFcnJvciwgIm5vIHR5cGUgb3IgZW50cnlUeXBlcyB3ZXJlIHByb3ZpZGVk
Il9zIH07Ci0gICAgICAgIGlmIChhdXRvIHR5cGUgPSBQZXJmb3JtYW5jZUVudHJ5OjpwYXJzZUVu
dHJ5VHlwZVN0cmluZygqaW5pdC50eXBlKSkKKyAgICAgICAgaWYgKGF1dG8gdHlwZSA9IFBlcmZv
cm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKCppbml0LnR5cGUpKSB7CiAgICAgICAg
ICAgICBmaWx0ZXIuYWRkKCp0eXBlKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgKCp0
eXBlID09IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50ICYmIGluaXQuZHVyYXRpb25UaHJl
c2hvbGQpCisgICAgICAgICAgICAgICAgbV9kdXJhdGlvblRocmVzaG9sZCA9IHN0ZDo6bWF4KDE2
LjAsICppbml0LmR1cmF0aW9uVGhyZXNob2xkKTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICByZXR1cm4geyB9OwogICAgIH0KIApAQCAtMTI1LDYgKzEyNyw4IEBAIFZlY3RvcjxTdHJpbmc+
IFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OnN1cHBvcnRlZEVudHJ5VHlwZXMoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYKICAgICBWZWN0b3I8U3RyaW5nPiBlbnRyeVR5cGVzID0gewogICAgICAgICAvLyBG
SVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE4NDM2Mz4gQWRkIHN1cHBvcnQgZm9yIE5hdmln
YXRpb24gVGltaW5nIExldmVsIDIKICAgICAgICAgLy8gIm5hdmlnYXRpb24iX3MsCisgICAgICAg
ICJldmVudCJfcywKKyAgICAgICAgImZpcnN0LWlucHV0Il9zLAogICAgICAgICAibWFyayJfcywK
ICAgICAgICAgIm1lYXN1cmUiX3MKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaAppbmRleCAwOTdlNWMzMDVjMjI1M2JmODUzZjA5YmE1NWIxMzg1YzdkMzNj
NmRhLi4yNGIyZmY2NWE1MWExZWI5MGQ4MThkYjEwMTEyMDUxNjlhNjExZWI5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJs
aWM6CiAgICAgc3RydWN0IEluaXQgewogICAgICAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4g
ZW50cnlUeXBlczsKICAgICAgICAgT3B0aW9uYWw8U3RyaW5nPiB0eXBlOworICAgICAgICBPcHRp
b25hbDxET01IaWdoUmVzVGltZVN0YW1wPiBkdXJhdGlvblRocmVzaG9sZDsKICAgICB9OwogCiAg
ICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxs
YmFjaykKQEAgLTY1LDYgKzY2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNSZWdpc3RlcmVkKCkg
Y29uc3QgeyByZXR1cm4gbV9yZWdpc3RlcmVkOyB9CiAgICAgUGVyZm9ybWFuY2VPYnNlcnZlckNh
bGxiYWNrJiBjYWxsYmFjaygpIHsgcmV0dXJuIG1fY2FsbGJhY2suZ2V0KCk7IH0KIAorICAgIGJv
b2wgY2FuT2JzZXJ2ZShjb25zdCBQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgY29uc3QgeyByZXR1
cm4gZW50cnkudHlwZSgpICE9IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50IHx8IGVudHJ5
LmR1cmF0aW9uKCkgPj0gbV9kdXJhdGlvblRocmVzaG9sZDsgfQorCiBwcml2YXRlOgogICAgIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxQZXJmb3JtYW5j
ZU9ic2VydmVyQ2FsbGJhY2s+JiYpOwogCkBAIC03Myw2ICs3Niw3IEBAIHByaXZhdGU6CiAgICAg
UmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4gbV9jYWxsYmFjazsKICAgICBPcHRpb25T
ZXQ8UGVyZm9ybWFuY2VFbnRyeTo6VHlwZT4gbV90eXBlRmlsdGVyOwogICAgIGJvb2wgbV9yZWdp
c3RlcmVkIHsgZmFsc2UgfTsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIG1fZHVyYXRpb25UaHJl
c2hvbGQgeyAxMDQgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDExOTYzNTliMTEyOTE3Mjk4
OTE1ZjZmYzU4ZWNmNTgzODk1MmY4YmIuLjgyMDkxYzU0MGQ4NDAwYTk1Njc4MDRlNWNiMmVmM2M0
ZjZhMzM3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlk
bApAQCAtMjUsNiArMjUsOCBAQAogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFu
Y2UtdGltZWxpbmUvCiAKK3R5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKIFsK
ICAgICBDdXN0b21Jc1JlYWNoYWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNl
VGltZWxpbmUsCkBAIC00Miw0ICs0NCw1IEBACiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2
ZXJJbml0IHsKICAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CiAgICAgRE9NU3Ry
aW5nIHR5cGU7CisgICAgRE9NSGlnaFJlc1RpbWVTdGFtcCBkdXJhdGlvblRocmVzaG9sZDsKIH07
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYWY5ZTEyNTFhYzRkMzgwMGQ4OGUxY2M2NThlZGE1NDc0ODA5NGVkMC4uNWYwZDc3
MjUyOGY0M2JkYzcyZTM0ZWY2OTZjMjY0MTY4NDM4ZWY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDIwLTA4LTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IEV2ZW50VGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTQ2NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHRlc3RzLW9wdGlvbnMuanNvbjoKKwogMjAyMC0wOC0wMiAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgV3JpdGUgYSBzY3JpcHQgdG8gZmluZCBk
dXBsaWNhdGUgZmlsZXMgYW5kIGRlbGV0ZSBzb21lIGR1cGxpY2F0ZSB0ZXN0cyBpbiBMYXlvdXRU
ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYTllZTI2ZDk0OTUzYmYzMDIx
YTQ1MDBiOTI4YTFkZjczNzE0YzllNS4uMGQ4Y2Q3OTFjMzZlN2ZiMzkxNTIwMzRhZmNiZGQ2ZmJk
NzJiMWU2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA2IEBA
CisyMDIwLTA4LTAzICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1w
bGVtZW50IEV2ZW50VGltaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTQ2NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4
Y2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQt
ZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNr
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jbGljay10aW1pbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2NvbnRleHRtZW51Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2st
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2RibGNsaWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
ZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMt
emVyby1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQt
cmV0YXJnZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ct
ZG9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFy
bmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlv
bi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlv
bi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZWRvd24uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZWVudGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2VsZWF2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2V1cC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5
LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJl
bnRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyb3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cG9pbnRlcnVwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVk
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZy
YW1lLWNoaWxkZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM6IEFkZGVk
LgorICAgICAgICAoYXN5bmMgY2xpY2tPbkVsZW1lbnRBbmREZWxheSk6CisgICAgICAgIChtYWlu
VGhyZWFkQnVzeSk6CisgICAgICAgICh2ZXJpZnlFdmVudCk6CisgICAgICAgICh2ZXJpZnlDbGlj
a0V2ZW50KToKKyAgICAgICAgKHdhaXQpOgorICAgICAgICAoYXN5bmMgY29uc3QpOgorICAgICAg
ICAoYXBwbHlBY3Rpb24pOgorICAgICAgICAocmVxdWlyZXNMaXN0ZW5lcik6CisgICAgICAgIChu
b3RDYW5jZWxhYmxlKToKKyAgICAgICAgKHRlc3RDb3VudHMpOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHk6IEFkZGVkLgor
ICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmV0cmlldmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10
eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMu
d2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0
aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3RvSlNPTi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIwLTA3
LTMxICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIE9mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpp
bmRleCAxNTZkODAwZmIwNGJlYTMxODlkNjQ0NGRjNjVkNjBkOTRiMzk0YTUyLi41M2UwMGNlODQz
Mjk0YmU0ZWEzMmNiNTVlZGE3YTM3Y2ZlNWQ3MzFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpA
QCAtMTgwLDYgKzE4MCw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVk
aWEiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEv
R29vZ2xlIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VudHJpZXMtYXBpIjog
InNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZyI6ICJpbXBvcnQi
LCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudHNvdXJjZSI6ICJpbXBvcnQiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL2V4dC14aHRtbC1wdWJpZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9mZWF0dXJlLXBvbGljeSI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnlt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMjdmYjYxYzMxMGQ5MWI2MjlmZjBkN2IxOWNkMDFj
ZTQ2OWU2NDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbApAQCAtMCwwICsxLDMgQEAKK3Nw
ZWM6IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2V2ZW50LXRpbWluZworc3VnZ2VzdGVkX3Jldmll
d2VyczoKKyAgLSBucG0xCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhj
bGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2EyYjI4YmI4NmMzNGVmNWJlMjM1N2E5NGQx
OTYwYWFlNjlhNWNmYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDYgQEAKK0NsaWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZyBhdXhjbGljay4gVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjg4MzI4ZTJhYTM2NzE1ZTgxNjVjNmViMjc3YmU0OWY3ZDE4OTY1NQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2F1eGNsaWNrLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgYXV4Y2xp
Y2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdhdXhjbGljaycpOworICB9KQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhy
ZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjExYjFmYWI2MDY2NmE5NjliZDJhNDgzM2E2ODExZTg4NWFl
ZDUzNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFu
Y2VPYnNlcnZlciBidWZmZXJpbmcgaW5kZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQgCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZl
cmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmJlNzY2M2MxMTRk
MTA1NTg2NmM1OWYwNzVmZjUzNTJhY2ZjZGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQt
YW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5n
OiBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYnVmZmVyZWQgZmxhZyBhbmQgZHVyYXRpb25UaHJl
c2hvbGQ8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRp
diBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAvLyBBZGQgYSBQZXJmb3Jt
YW5jZU9ic2VydmVyIGFuZCBvYnNlcnZlIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiAzMCBh
bmQgYnVmZmVyZWQgZmxhZy4KKyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUxID0+
IHsKKyAgICAvLyBBZGQgYSBzbG93IGNsaWNrIGV2ZW50IGFuZCBtYWtlIHN1cmUgaXQncyBkaXNw
YXRjaGVkIHRvIG9ic2VydmVycy4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZl
MiA9PiB7CisgICAgICAvLyBPYnNlcnZlciB0byBhd2FpdCB1bnRpbCBldmVudCBlbnRyeSBpcyBk
aXNwYXRjaGVkLgorICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKCkgPT4geworICAgICAg
ICByZXNvbHZlMigpOworICAgICAgfSkub2JzZXJ2ZSh7dHlwZTogImV2ZW50IiwgZHVyYXRpb25U
aHJlc2hvbGQ6IDE2fSk7CisgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdteURp
dicsIDMwKTsKKyAgICB9KTsKKyAgICBjb25zdCBhZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5j
ZS5ub3coKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0ID0+
IHsKKyAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNl
ZG93bicpOworICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICByZXR1
cm47CisgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLCAnU2hvdWxkIG9u
bHkgb2JzZXJ2ZSAxIGNsaWNrIScpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtb3VzZURv
d25zWzBdLnByb2Nlc3NpbmdTdGFydCwgYWZ0ZXJGaXJzdENsaWNrLAorICAgICAgICAnVGhlIGVu
dHJ5IHNob3VsZCBub3QgYmUgdGhlIGZpcnN0IGNsaWNrISEnKTsKKyAgICAgIHZlcmlmeUNsaWNr
RXZlbnQobW91c2VEb3duc1swXSwgJ215RGl2JywgZmFsc2UgLyogaXNGaXJzdCAqLywgMTYgLyog
bWluRHVyYXRpb24qLyk7CisgICAgICByZXNvbHZlMSgpOworICAgIH0pKS5vYnNlcnZlKHt0eXBl
OiAnZXZlbnQnLCBkdXJhdGlvblRocmVzaG9sZDogMTYsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAg
Ly8gVGhpcyBzaG91bGQgYmUgdGhlIG9ubHkgY2xpY2sgb2JzZXJ2ZWQgc2luY2UgdGhlIG90aGVy
IG9uZSB3b3VsZCBub3QgYmUgYnVmZmVyZWQuCisgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmRE
ZWxheSgnbXlEaXYnLCAzMCk7CisgIH0pOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgYnVmZmVy
aW5nIGluZGVwZW5kZW50IG9mIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxh
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTc2MDRjMjhlMTJmMzk4MDcwZmEyZWZkODc5MTNj
NTYzNTk0ZjIwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0hhcm5lc3MgRXJy
b3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2
ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVudHJpZXMg
VGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVy
ZWQtZmxhZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZTE1MmJlOTM4OGZhODU5M2MzYzJhODU5ODFhN2Ni
MGVkNzQ5MmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4K
Kzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2VlcyBlbnRyaWVzIHdp
dGggYnVmZmVyZWQgZmxhZzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEg
J2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKyAgbGV0IGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgIGxldCBldmVu
dFNlZW4gPSBmYWxzZTsKKyAgYXN5bmNfdGVzdCh0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50
cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3Vw
cG9ydGVkLicpOworICAgIGNvbnN0IHZhbGlkYXRlRW50cnkgPSB0LnN0ZXBfZnVuYyhlbnRyeSA9
PiB7CisgICAgICBpZiAoZW50cnkuZW50cnlUeXBlID09PSAnZmlyc3QtaW5wdXQnKQorICAgICAg
ICBmaXJzdElucHV0U2VlbiA9IHRydWU7CisgICAgICBlbHNlIGlmIChlbnRyeS5lbnRyeVR5cGUg
PT09ICdldmVudCcpCisgICAgICAgIGV2ZW50U2VlbiA9IHRydWU7CisgICAgICBlbHNlCisgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoJ1Nob3VsZCBvbmx5IG9ic2VydmUgRXZlbnQgVGltaW5nIGVu
dHJpZXMhJyk7CisgICAgfSk7CisgICAgLy8gRmlyc3Qgb2JzZXJ2ZXIgY3JlYXRlcyBzZWNvbmQg
aW4gY2FsbGJhY2sgdG8gZW5zdXJlIHRoZSBlbnRyeSBoYXMgYmVlbiBkaXNwYXRjaGVkIGJ5IHRo
ZSB0aW1lCisgICAgLy8gdGhlIHNlY29uZCBvYnNlcnZlciBiZWdpbnMgb2JzZXJ2aW5nLgorICAg
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChsaXN0LCBvYnMpID0+IHsKKyAgICAgIGxpc3QuZ2V0
RW50cmllcygpLmZvckVhY2godmFsaWRhdGVFbnRyeSk7CisgICAgICBpZiAoIWZpcnN0SW5wdXRT
ZWVuIHx8ICFldmVudFNlZW4pCisgICAgICAgIHJldHVybjsKKworICAgICAgb2JzLmRpc2Nvbm5l
Y3QoKTsKKyAgICAgIGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgICAgICBldmVudFNlZW4gPSBm
YWxzZTsKKyAgICAgIC8vIFNlY29uZCBvYnNlcnZlciByZXF1aXJlcyAnYnVmZmVyZWQ6IHRydWUn
IHRvIHNlZSBlbnRyaWVzLgorICAgICAgY29uc3QgYnVmZmVyZWRPYnNlcnZlciA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGVudHJ5TGlzdCA9PiB7CisgICAgICAgICAgZW50cnlMaXN0LmdldEVu
dHJpZXMoKS5mb3JFYWNoKHZhbGlkYXRlRW50cnkpOworICAgICAgICAgIGlmIChmaXJzdElucHV0
U2VlbiAmJiBldmVudFNlZW4pCisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pOworICAg
ICAgYnVmZmVyZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBidWZmZXJlZDogdHJ1
ZX0pOworICAgICAgYnVmZmVyZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAnZmlyc3QtaW5wdXQn
LCBidWZmZXJlZDogdHJ1ZX0pOworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQn
LCAnZmlyc3QtaW5wdXQnXX0pOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAg
fSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMg
RXZlbnQgVGltaW5nIGVudHJpZXMiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MDJh
M2ViMDY1NTdhZGY2YzVkZDkyM2U0MTBiNjg1YjIyODZiODkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9j
bGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQQVNTIEV2ZW50
IFRpbWluZyBjbGljay4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jbGljay10aW1pbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjk3MWQyZTdkMzExZDA1
ZDBlYTI4NTE1OGI0NDU4NzhjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisK
K1BBU1MgRXZlbnQgVGltaW5nOiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jbGljay10aW1pbmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0OTQz
Zjk1OTBhOWYyZGY4M2VlODQxNTAzODc4ZjFlNDU1MTA3YWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9j
bGljay10aW1pbmcuaHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogY29tcGFyZSB0
aW1pbmcgb2YgdHdvIGxvbmcgY2xpY2tzCis8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5H
ZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVy
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGls
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIC8qIFRpbWVsaW5lOgorICAgICBPYnNlcnZlciBz
dGFydHMKKyAgICAgTG9uZyBjbGljayAxCisgICAgIExvbmcgY2xpY2sgMgorICAgICBPbmNlIHR3
byBjbGlja3MgaGF2ZSBiZWVuIHJlY2VpdmVkIGJ5IG9ic2VydmVyLCBjb21wYXJlIHRoZSB0aW1l
c3RhbXBzLgorICAqLworICBsZXQgdGltZUJlZm9yZUZpcnN0Q2xpY2s7CisgIGxldCB0aW1lQWZ0
ZXJGaXJzdENsaWNrOworICBsZXQgdGltZUFmdGVyU2Vjb25kQ2xpY2s7CisgIGxldCBvYnNlcnZl
ZEVudHJpZXMgPSBbXTsKKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2lt
cGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMg
bm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVu
YyhlbnRyeUxpc3QgPT4geworICAgICAgb2JzZXJ2ZWRFbnRyaWVzID0gb2JzZXJ2ZWRFbnRyaWVz
LmNvbmNhdChlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRlcigKKyAgICAgICAgZW50cnkgPT4g
ZW50cnkubmFtZSA9PT0gJ21vdXNlZG93bicpKTsKKyAgICAgIGlmIChvYnNlcnZlZEVudHJpZXMu
bGVuZ3RoIDwgMikKKyAgICAgICAgcmV0dXJuOworCisgICAgICBhc3NlcnRfbm90X2VxdWFscyh0
aW1lQmVmb3JlRmlyc3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxz
KHRpbWVBZnRlckZpcnN0Q2xpY2ssIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRfbm90X2VxdWFs
cyh0aW1lQWZ0ZXJTZWNvbmRDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIC8vIEZpcnN0IGNsaWNr
LgorICAgICAgdmVyaWZ5Q2xpY2tFdmVudChvYnNlcnZlZEVudHJpZXNbMF0sICdidXR0b24nKTsK
KyAgICAgIGFzc2VydF9iZXR3ZWVuX2V4Y2x1c2l2ZShvYnNlcnZlZEVudHJpZXNbMF0ucHJvY2Vz
c2luZ1N0YXJ0LAorICAgICAgICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrLAorICAgICAgICAgIHRp
bWVBZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICAgIkZpcnN0IGNsaWNrJ3MgcHJvY2Vzc2luZ1N0
YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlckZpcnN0Q2xpY2ssIG9i
c2VydmVkRW50cmllc1swXS5zdGFydFRpbWUsCisgICAgICAgICAgInRpbWVBZnRlckZpcnN0Q2xp
Y2sgc2hvdWxkIGJlIGxhdGVyIHRoYW4gZmlyc3QgY2xpY2sncyBzdGFydCB0aW1lLiIpOworCisg
ICAgICAvLyBTZWNvbmQgY2xpY2suCisgICAgICB2ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50
cmllc1sxXSwgJ2J1dHRvbicpOworICAgICAgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2Vy
dmVkRW50cmllc1sxXS5wcm9jZXNzaW5nU3RhcnQsCisgICAgICAgICAgdGltZUFmdGVyRmlyc3RD
bGljaywKKyAgICAgICAgICB0aW1lQWZ0ZXJTZWNvbmRDbGljaywKKyAgICAgICAgICAiU2Vjb25k
IGNsaWNrJ3MgcHJvY2Vzc2luZ1N0YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRp
bWVBZnRlclNlY29uZENsaWNrLCBvYnNlcnZlZEVudHJpZXNbMV0uc3RhcnRUaW1lLAorICAgICAg
ICAgICJ0aW1lQWZ0ZXJTZWNvbmRDbGljayBzaG91bGQgYmUgbGF0ZXIgdGhhbiBzZWNvbmQgY2xp
Y2sncyBzdGFydCB0aW1lLiIpOworICAgICAgdC5kb25lKCk7CisgICAgfSkpLm9ic2VydmUoe3R5
cGU6ICdldmVudCd9KTsKKyAgICB0aW1lQmVmb3JlRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5v
dygpOworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKCAoKSA9PiB7CisgICAg
ICB0aW1lQWZ0ZXJGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICBjbGlja0Fu
ZEJsb2NrTWFpbignYnV0dG9uJykudGhlbigoKSA9PiB7CisgICAgICAgIHRpbWVBZnRlclNlY29u
ZENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICB9KQorICAgIH0pOworICB9LCAiRXZl
bnQgVGltaW5nOiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZWVjYWJk
ZjE4NzhjOGYwZjc3NzViMGIwZDU4N2NhOTA5MDlmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGlj
ay5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIGNsaWNrLjwvdGl0bGU+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVu
dC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sg
bWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1
cm4gdGVzdEV2ZW50VHlwZSh0LCAnY2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE5NjhjZGJkNWZjMmU3OTVlYjFhZDY2MzE4YmEwNWI0YjkyYzYw
NTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitNZW51CisKK1BBU1MgRXZlbnQgVGltaW5nIGNvbnRleHRtZW51LiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY29udGV4dG1lbnUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFh
MDVhM2IxNjM5ZTM5ZGM2NmZiZGU4M2YxNjEwYWZmZWY0NzU5ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NvbnRleHRtZW51Lmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY29udGV4dG1l
bnUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBp
ZD0ndGFyZ2V0JyBjb250ZXh0bWVudT0ibXltZW51Ij5NZW51Cis8bWVudSB0eXBlPSJjb250ZXh0
IiBpZD0ibXltZW51Ij4KKyAgPG1lbnVpdGVtIGxhYmVsPSJsYWJlbCI+PC9tZW51aXRlbT4KKzwv
bWVudT4KKzwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAg
IHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdjb250ZXh0bWVudScpOworICB9KQorPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lm
cmFtZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMyZmRjZWVjZDk5NDc2OTI0M2ZmMWJhZDEw
NzhmN2Y3Y2Q5ZjNjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDYgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudCAgCisKK0hhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZzog
ZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJhbWUuIFRlc3Qg
dGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRmYmQyODk3YWQ0YmI1YmZkNGVkZWIyY2RjMTdhZmM0MzhlMzc5NjIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PXV0Zi04IC8+
CisgIDx0aXRsZT5FdmVudCBUaW1pbmc6IGVudHJpZXMgc2hvdWxkIGJlIG9ic2VydmFibGUgYnkg
aXRzIG93biBmcmFtZS48L3RpdGxlPgorICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJs
b25nIj4KKzwvaGVhZD4KKworPGJvZHk+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEg
J2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+
CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Nj
cmlwdD4KKzxpZnJhbWUgaWQ9J2lmcmFtZScgc3JjPXJlc291cmNlcy9jcm9zc2lmcmFtZS1jaGls
ZGZyYW1lLmh0bWw+PC9pZnJhbWU+Cis8c2NyaXB0PgorICBsZXQgY2xpY2tUaW1lTWluOworICBs
ZXQgY2xpY2tEb25lOworCisgIGZ1bmN0aW9uIHZhbGlkYXRlRW50cmllcyhlbnRyaWVzKSB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIk9ubHkgMSBlbnRyeSBzaG91bGQg
YmUgcmVjZWl2ZWQiKTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisgICAgdmVyaWZ5
Q2xpY2tFdmVudChlbnRyeSwgJ2J1dHRvbicsIHRydWUpOworCisgICAgYXNzZXJ0X2xlc3NfdGhh
bihlbnRyeS5wcm9jZXNzaW5nU3RhcnQsIGNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRyeSdz
IHByb2Nlc3Npbmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSBjbGlja0RvbmUuIik7CisgICAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5zdGFydFRpbWUsIGNsaWNrVGltZU1pbiwKKyAgICAgICAg
IlRoZSBlbnRyeSdzIHN0YXJ0IHRpbWUgc2hvdWxkIGJlIGxhdGVyIHRoYW4gY2xpY2tUaW1lTWlu
LiIpOworICB9CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEZyYW1lRW50cmllcyhjaGlsZEZy
YW1lRGF0YSkgeworICAgIGlmIChjaGlsZEZyYW1lRGF0YSA9PT0gImZhaWxlZCIpIHsKKyAgICAg
IGFzc2VydF91bnJlYWNoZWQoIkRpZCBub3QgcmVjZWl2ZSBleGFjdGx5IG9uZSBlbnRyeSBmcm9t
IGNoaWxkIGFzIGV4cGVjdGVkIik7CisgICAgfQorICAgIC8vIHxjaGlsZEZyYW1lRGF0YXwgaGFz
IHByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBuYW1lcyBhcyBpdHMKKyAgICAvLyBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nIGNvdW50ZXJwYXJ0LgorICAgIHZlcmlmeUNsaWNrRXZlbnQoY2hpbGRGcmFt
ZURhdGEsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoY2hpbGRGcmFtZURhdGEudGFyZ2V0LCAn
aWZyYW1lX2RpdicpOworCisgICAgYXNzZXJ0X2xlc3NfdGhhbihjaGlsZEZyYW1lRGF0YS5wcm9j
ZXNzaW5nU3RhcnQsIGNoaWxkRnJhbWVEYXRhLmNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRy
eSdzIHByb2Nlc3Npbmcgc3RhcnQgc2hvdWxkIGJlIGJlZm9yZSB0aGFuIHRoZSBjaGlsZCBmcmFt
ZSdzIGNsaWNrRG9uZS4iKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGNoaWxkRnJhbWVEYXRh
LnN0YXJ0VGltZSwgY2hpbGRGcmFtZURhdGEuY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVu
dHJ5J3Mgc3RhcnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiB0aGUgY2hpbGQgZnJhbWUncyBc
CisgICAgICAgIGNsaWNrVGltZU1pbi4iKTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZywgIkV2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkIik7CisgICAgY2xpY2tUaW1lTWluID0g
cGVyZm9ybWFuY2Uubm93KCk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7Cisg
ICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyaWVzID0+IHsKKyAgICAg
ICAgY29uc3QgbW91c2VEb3ducyA9IGVudHJpZXMuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3du
Jyk7CisgICAgICAgIC8vIElnbm9yZSB0aGUgY2FsbGJhY2sgaWYgdGhlcmUgd2VyZSBubyBtb3Vz
ZWRvd24gZW50cmllcy4KKyAgICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24s
CisgICAgICAgICAgICAiT2JzZXJ2ZXIgb2YgbWFpbiBmcmFtZXMgc2hvdWxkIG9ubHkgY2FwdHVy
ZSBtYWluLWZyYW1lIGV2ZW50LXRpbWluZyBlbnRyaWVzIik7CisgICAgICAgIHZhbGlkYXRlRW50
cmllcyhtb3VzZURvd25zKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0cnVlOworICAg
ICAgICByZXNvbHZlKCk7CisgICAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAg
IH0pOworICAgIGF3YWl0IGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgICBjbGlja0Rv
bmUgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBhd2FpdCBvYnNlcnZlclByb21pc2U7CisgICAg
Y29uc3QgY2hpbGRGcmFtZUVudHJpZXNQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4gewor
ICAgICAgICByZXNvbHZlKGV2ZW50LmRhdGEpOworICAgICAgfSwgZmFsc2UpOworICAgIH0pOwor
CisgICAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKKyAg
ICBjb25zdCBpZnJhbWVYID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLm9mZnNl
dExlZnQ7CisgICAgY29uc3QgaWZyYW1lWSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJh
bWUnKS5vZmZzZXRUb3A7CisgICAgLy8gVGFwIG9uIHRoZSBpZnJhbWUsIHdpdGggYW4gb2Zmc2V0
IG9mIDEwIHRvIHRhcmdldCB0aGUgZGl2IGluc2lkZSBpdC4KKyAgICBjb25zdCBhY3Rpb25zID0g
bmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKQorICAgICAgICAucG9pbnRlck1vdmUoaWZyYW1lWCAr
IDEwLCBpZnJhbWVZICsgMTApCisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAgICAgIC5wb2lu
dGVyVXAoKQorICAgIGFjdGlvbnMuc2VuZCgpOworICAgIGNvbnN0IGNoaWxkRnJhbWVEYXRhID0g
YXdhaXQgY2hpbGRGcmFtZUVudHJpZXNQcm9taXNlOworICAgIHQuc3RlcCgoKSA9PiB7CisgICAg
ICB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRhKTsKKyAgICB9KTsKKyAg
fSwgIkV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0
cyBvd24gZnJhbWUuIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjdmMmY4NzVlNTI1NzUzMDJlZTgxMzljN2Q2YjhjNDg4MDQzNDQ5YWUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kYmxjbGljay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRh
cmdldCEKK0NsaWNrIG1lCisKK1BBU1MgRXZlbnQgVGltaW5nIGRibGNsaWNrLiAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZGJsY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzZmNmZDMw
ZGUwNTFhZTcyMjdlODQzZjI3ZTJiMjdlMDE3Yzk1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNs
aWNrLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRh
IGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgZGJsY2xpY2suPC90aXRsZT4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2Vz
L2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdl
dCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnZGJs
Y2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVj
dC10YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM0OGNkMDI5NTZkMTE4ZTE3ZjY4NjQ2MjBiNmM4NWM5NTI1OTQwOTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwz
IEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB3aGVuIHRhcmdldCBpcyBkaXNjb25uZWN0ZWQsIGVu
dHJ5LnRhcmdldCByZXR1cm5zIG51bGwuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdl
dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDY3NzBkMzE4OGRj
YjViMjM4MDZkMWFiMDNkNzdlNzZlNGUxMzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVj
dC10YXJnZXQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9z
Y3JpcHQ+CisKKzxidXR0b24gaWQ9J3RoZV9idXR0b24nPkNsaWNrTWU8L2J1dHRvbj4KKworPHNj
cmlwdD4KK2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5k
b3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVk
LicpOworICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9m
dW5jX2RvbmUoKGVudHJ5TGlzdCkgPT4geworICAgIGNvbnN0IGVudHJpZXMgPSBlbnRyeUxpc3Qu
Z2V0RW50cmllcygpLmZpbHRlcihlID0+IGUubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgIGlm
IChlbnRyaWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKyAgICAvLyBUaGVyZSBtdXN0
IG9ubHkgYmUgb25lIGNsaWNrIGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEpOworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICAvLyBUaGlzIGNoZWNr
cyB0aGF0IGVudHJ5LnRhcmdldCByZXR1cm5zIHRoZSBjb3JyZWN0IGJ1dHRvbiBOb2RlLgorICAg
IHZlcmlmeUNsaWNrRXZlbnQoZW50cnksICd0aGVfYnV0dG9uJywgdHJ1ZSk7CisgICAgY29uc3Qg
YnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RoZV9idXR0b24nKTsKKyAgICBidXR0
b24ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChidXR0b24pOworICAgIC8vIEFmdGVyIHJlbW92aW5n
IHRoZSBidXR0b24sIGVudHJ5LnRhcmdldCBzaG91bGQgbm93IHJldHVybiBudWxsLgorICAgIGFz
c2VydF9lcXVhbHMoZW50cnkudGFyZ2V0LCBudWxsKTsKKyAgfSkpOworICBvYnNlcnZlci5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAgY2xpY2tBbmRCbG9ja01haW4oJ3RoZV9i
dXR0b24nKTsKK30sICJFdmVudCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwg
ZW50cnkudGFyZ2V0IHJldHVybnMgbnVsbC4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWMzNTBmZWJlNTM1ZWMyODM2MjY5ZTVjNjFmODdm
MDNjYTkxNzYxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitDbGljayBtZQorQ2xpY2sgbWUKKworUEFTUyBFdmVudCBU
aW1pbmc6IGV2ZW50Q291bnRzLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzY1NjNiOTU4MThhYzU2
YWRiYzA2YzkzNzQ3OTg3MDBlZDQxMjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2st
Y291bnRzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLjwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdkaXYn
PkNsaWNrIG1lPC9kaXY+Cis8YnV0dG9uIGlkPSdidXR0b24nPkNsaWNrIG1lPC9idXR0b24+Cis8
c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoIHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdp
bmRvdy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgICBm
dW5jdGlvbiB0ZXN0Q2xpY2tzKGV4cGVjdGVkQ291bnQsIHJlc29sdmUpIHsKKyAgICAgIGNvbnN0
IGNsaWNrQ291bnQgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ2NsaWNrJyk7CisgICAg
ICBpZiAoY2xpY2tDb3VudCA8IGV4cGVjdGVkQ291bnQpIHsKKyAgICAgICAgdC5zdGVwX3RpbWVv
dXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgdGVzdENsaWNrcyhleHBlY3RlZENvdW50LCByZXNv
bHZlKTsKKyAgICAgICAgfSwgNSk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGFz
c2VydF9lcXVhbHMoY2xpY2tDb3VudCwgZXhwZWN0ZWRDb3VudCwnSW5jb3JyZWN0IGNsaWNrIGNv
dW50LicpOworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQo
J21vdXNlZG93bicpLCBleHBlY3RlZENvdW50LCAnSW5jb3JyZWN0IG1vdXNlZG93biBjb3VudCcp
OworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ21vdXNl
dXAnKSwgZXhwZWN0ZWRDb3VudCwgJ0luY29ycmVjdCBtb3VzZXVwIGNvdW50LicpOworICAgICAg
cmVzb2x2ZSgpOworICAgIH0KKyAgICBmdW5jdGlvbiBwcm9taXNlQ2xpY2tzKGV4cGVjdGVkQ291
bnQpIHsKKyAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdGVz
dENsaWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZlKQorICAgICAgfSk7CisgICAgfQorCisgICAg
cmV0dXJuIHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKSku
dGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gcHJvbWlzZUNsaWNrcygxKTsKKyAgICB9KS50aGVu
KCgpID0+IHsKKyAgICAgIHJldHVybiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnYnV0dG9uJykpOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHBy
b21pc2VDbGlja3MoMik7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gdGVzdF9k
cml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpKTsKKyAgICB9KS50aGVu
KCgpID0+IHsKKyAgICAgIHJldHVybiBwcm9taXNlQ2xpY2tzKDMpOworICAgIH0pOworICB9KQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjODEy
ODg0NmJmZmZiMmFhMjRkYTdkMzVhYjhkNWRlNzI3YmFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2
ZW50LWNvdW50cy16ZXJvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBFdmVu
dCBUaW1pbmc6IGV2ZW50Q291bnRzLiBhc3NlcnRfZXF1YWxzOiBUaGUgc2l6ZSBvZiBwZXJmb3Jt
YW5jZS5ldmVudENvdW50cyBpcyBpbmNvcnJlY3QuIGV4cGVjdGVkIChudW1iZXIpIDM2IGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJv
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYzkwZGQ2OTEzOGYz
NTE5Nzc3NDIzOWRmYzEyZjU1NGM5Mjg0YjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3Vu
dHMtemVyby5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBldmVudENvdW50cy48
L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAg
dGVzdCgoKSA9PiB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LkV2ZW50Q291bnRzLCAi
RXZlbnQgQ291bnRzIGlzbid0IHN1cHBvcnRlZCIpOworICAgIGNvbnN0IGV2ZW50VHlwZXMgPSBb
CisgICAgICAgICdhdXhjbGljaycsCisgICAgICAgICdjbGljaycsCisgICAgICAgICdjb250ZXh0
bWVudScsCisgICAgICAgICdkYmxjbGljaycsCisgICAgICAgICdtb3VzZWRvd24nLAorICAgICAg
ICAnbW91c2VlbnRlcicsCisgICAgICAgICdtb3VzZWxlYXZlJywKKyAgICAgICAgJ21vdXNlb3V0
JywKKyAgICAgICAgJ21vdXNlb3ZlcicsCisgICAgICAgICdtb3VzZXVwJywKKyAgICAgICAgJ3Bv
aW50ZXJvdmVyJywKKyAgICAgICAgJ3BvaW50ZXJlbnRlcicsCisgICAgICAgICdwb2ludGVyZG93
bicsCisgICAgICAgICdwb2ludGVydXAnLAorICAgICAgICAncG9pbnRlcmNhbmNlbCcsCisgICAg
ICAgICdwb2ludGVyb3V0JywKKyAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisgICAgICAgICdnb3Rw
b2ludGVyY2FwdHVyZScsCisgICAgICAgICdsb3N0cG9pbnRlcmNhcHR1cmUnLAorICAgICAgICAn
dG91Y2hzdGFydCcsCisgICAgICAgICd0b3VjaGVuZCcsCisgICAgICAgICd0b3VjaGNhbmNlbCcs
CisgICAgICAgICdrZXlkb3duJywKKyAgICAgICAgJ2tleXByZXNzJywKKyAgICAgICAgJ2tleXVw
JywKKyAgICAgICAgJ2JlZm9yZWlucHV0JywKKyAgICAgICAgJ2lucHV0JywKKyAgICAgICAgJ2Nv
bXBvc2l0aW9uc3RhcnQnLAorICAgICAgICAnY29tcG9zaXRpb251cGRhdGUnLAorICAgICAgICAn
Y29tcG9zaXRpb25lbmQnLAorICAgICAgICAnZHJhZ3N0YXJ0JywKKyAgICAgICAgJ2RyYWdlbmQn
LAorICAgICAgICAnZHJhZ2VudGVyJywKKyAgICAgICAgLy8gJ2RyYWdleGl0Jz8gVW5jbGVhciBp
ZiBpdCB3aWxsIGJlIHJlbW92ZWQgZnJvbSBIVE1MIHNwZWMgb3Igbm90LgorICAgICAgICAnZHJh
Z2xlYXZlJywKKyAgICAgICAgJ2RyYWdvdmVyJywKKyAgICAgICAgJ2Ryb3AnCisgICAgXTsKKyAg
ICBldmVudFR5cGVzLmZvckVhY2godHlwZSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZv
cm1hbmNlLmV2ZW50Q291bnRzLmdldCh0eXBlKSwgMCwgJ1RoZXJlIGlzIGEgbm9uemVybyB2YWx1
ZSBmb3IgJyArIHR5cGUpOworICAgIH0pCisgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5l
dmVudENvdW50cy5zaXplLCBldmVudFR5cGVzLmxlbmd0aCwKKyAgICAgICAgJ1RoZSBzaXplIG9m
IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzIGlzIGluY29ycmVjdC4nKTsKKyAgfSkKKzwvc2NyaXB0
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZl
bnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYmQxYWVkMmFiYjM2Yjc0NjQx
OGU1ZjQ4Y2JjMDU4ODI3Zjg5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB0YXJnZXQg
cmVwb3J0cyB0aGUgbGFzdCBFdmVudCBUYXJnZXQsIGkuZS4gbm90aGluZyBmcm9tIHNoYWRvdyBE
T00uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yOWMxMTRmMzU2YjUxYjg2OWI5NTUwODMwODE1Y2I2ZTY4YjNjN2E1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbApAQCAtMCwwICsxLDQxIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZl
bnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxjdXN0b20tYnV0dG9uIGlkPSdj
dXN0b21fYnV0dG9uJz48L2N1c3RvbS1idXR0b24+CisKKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1
bmN0aW9uKHQpIHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgbGV0IGlubmVyQnV0
dG9uQ2xpY2tlZCA9IGZhbHNlOworICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1idXR0
b24nLCBjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBjb25uZWN0ZWRDYWxsYmFjaygp
IHsKKyAgICAgIHRoaXMuYXR0YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAgICAgIHRoaXMu
c2hhZG93Um9vdC5pbm5lckhUTUwgPSBgPGJ1dHRvbiBpZD0naW5uZXJfYnV0dG9uX2lkJz5DbGlj
ayBtZTwvYnV0dG9uPmA7CisgICAgICB0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2lu
bmVyX2J1dHRvbl9pZCcpLm9uY2xpY2sgPSAoKSA9PiB7CisgICAgICAgIGlubmVyQnV0dG9uQ2xp
Y2tlZCA9IHRydWU7CisgICAgICB9OworICAgIH0KKyAgfSk7CisgIGNvbnN0IG9ic2VydmVyID0g
bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoKGVudHJ5TGlzdCkgPT4geworICAg
IGNvbnN0IGVudHJpZXMgPSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7
CisgICAgaWYgKGVudHJpZXMubGVuZ3RoID09PSAwKQorICAgICAgcmV0dXJuOworCisgICAgLy8g
VGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBtb3VzZWRvd24gZW50cnkuCisgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyaWVzWzBdLCAn
Y3VzdG9tX2J1dHRvbicsIHRydWUpOworICAgIGFzc2VydF90cnVlKGlubmVyQnV0dG9uQ2xpY2tl
ZCk7CisgICAgdC5kb25lKCkKKyAgfSkpOworICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbJ2V2ZW50J119KTsKKyAgY2xpY2tBbmRCbG9ja01haW4oJ2N1c3RvbV9idXR0b24nKTsKK30s
ICJFdmVudCBUaW1pbmc6IHRhcmdldCByZXBvcnRzIHRoZSBsYXN0IEV2ZW50IFRhcmdldCwgaS5l
LiBub3RoaW5nIGZyb20gc2hhZG93IERPTS4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1z
aGFkb3ctZG9tLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjUyYWE3ZjI2NTZmODg4N2Q1N2M0
Nzg3YTYyM2Q2ZDJiZDk4MzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93
LWRvbS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB0
ZXN0IGZpcnN0IGlucHV0IG9uIHNoYWRvdyBET00uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1
dC1zaGFkb3ctZG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjZlYjY1OTc1NTJmYjllYzQ4YTBhNzMzYTRkNjdmMjJiNDI3Zjc2MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8Ym9keT4KKzxkaXYgaWQ9J2NvbnRhaW5lcic+Cisg
IDxjdXN0b20tYnV0dG9uIGlkPSdjdXN0b21fYnV0dG9uJz48L2N1c3RvbS1idXR0b24+Cis8L2Rp
dj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdp
bmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0
ZWQuJyk7CisgIGxldCBpbm5lckJ1dHRvbkNsaWNrZWQgPSBmYWxzZTsKKyAgY3VzdG9tRWxlbWVu
dHMuZGVmaW5lKCdjdXN0b20tYnV0dG9uJywgY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7Cisg
ICAgY29ubmVjdGVkQ2FsbGJhY2soKSB7CisgICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTog
J29wZW4nfSk7CisgICAgICB0aGlzLnNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYDxidXR0b24gaWQ9
J2lubmVyX2J1dHRvbl9pZCc+Q2xpY2sgbWU8L2J1dHRvbj5gOworICAgICAgdGhpcy5zaGFkb3dS
b290LmdldEVsZW1lbnRCeUlkKCdpbm5lcl9idXR0b25faWQnKS5vbm1vdXNlZG93biA9ICgpID0+
IHsKKyAgICAgICAgaW5uZXJCdXR0b25DbGlja2VkID0gdHJ1ZTsKKyAgICAgIH07CisgICAgfQor
ICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsK
KyAgICAgIC8vIFRoZXJlIG11c3Qgb25seSBiZSBvbmUgZmlyc3QtaW5wdXQgZW50cnkuCisgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoLCAxKTsKKyAgICAg
IC8vIGVudHJ5LnRhcmdldCBtdXN0IGJlIHRoZSBzaGFkb3cgaG9zdCBkdWUgdG8gcmV0YXJnZXR0
aW5nLgorICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdLnRhcmdl
dCwKKyAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tX2J1dHRvbicpKTsK
KyAgICAgIGFzc2VydF90cnVlKGlubmVyQnV0dG9uQ2xpY2tlZCwgJ0RpZCBub3QgcmVhY2ggdGhl
IHNoYWRvdyBET00gZXZlbnQgbGlzdGVuZXIhJyk7CisgICAgICByZXNvbHZlKCk7CisgICAgfSkp
Lm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZmlyc3QtaW5wdXQnXX0pOworICB9KTsKKyAgY29uc3Qg
Y2xpY2tQcm9taXNlID0gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2N1c3RvbV9idXR0b24nKSk7CisgIHJldHVybiBQcm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9taXNl
LCBjbGlja1Byb21pc2VdKTsKK30sICJFdmVudCBUaW1pbmc6IHRlc3QgZmlyc3QgaW5wdXQgb24g
c2hhZG93IERPTS4iKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
aWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlmZGExMTIxN2ZiMDAwZjBiNDNjMjA1OTk0MzgwZDRkYzBhOGZlZDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
OSBAQAorCitQQVNTIGlkbF90ZXN0IHNldHVwIAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uIAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogb3JpZ2luYWwgaW50ZXJmYWNlIGRl
ZmluZWQgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiB2YWxpZCBleHBvc3Vy
ZSBzZXQgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZSAKK1BBU1MgUGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJ
bml0OiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFy
eSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNT
IFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlWzJdOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGlt
aW5nIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFj
ZTogYXR0cmlidXRlIHByb2Nlc3NpbmdTdGFydCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwcm9jZXNzaW5nRW5kIAorUEFTUyBQZXJmb3JtYW5jZUV2
ZW50VGltaW5nIGludGVyZmFjZTogYXR0cmlidXRlIGNhbmNlbGFibGUgCitQQVNTIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgdGFyZ2V0IAorUEFTUyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogb3BlcmF0aW9uIHRvSlNPTigpIAorUEFTUyBFdmVu
dENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1Mg
RXZlbnRDb3VudHMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBFdmVudENvdW50cyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQ
QVNTIFBlcmZvcm1hbmNlIGludGVyZmFjZTogYXR0cmlidXRlIGV2ZW50Q291bnRzIAorUEFTUyBQ
ZXJmb3JtYW5jZSBpbnRlcmZhY2U6IHBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
ZXZlbnRDb3VudHMiIHdpdGggdGhlIHByb3BlciB0eXBlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJu
ZXNzLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4
ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFy
bmVzcy5hbnkuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFu
eS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlZTk4NTQ4ZmI2ZjIyMDliOGM0
YjUzNDY4MzBjMGQ3MjNlNjgxNzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5q
cwpAQCAtMCwwICsxLDE4IEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVU
QTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jl
c291cmNlcy9pZGxoYXJuZXNzLmpzCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQt
dGltaW5nLworCisndXNlIHN0cmljdCc7CisKK2lkbF90ZXN0KAorICBbJ2V2ZW50LXRpbWluZydd
LAorICBbJ3BlcmZvcm1hbmNlLXRpbWVsaW5lJywgJ2hyLXRpbWUnLCAnZG9tJ10sCisgIGlkbF9h
cnJheSA9PiB7CisgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsKKyAgICAgIFBlcmZvcm1hbmNl
OiBbJ3BlcmZvcm1hbmNlJ10sCisgICAgICAvLyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOiBbIFRP
RE8gXQorICAgIH0pOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDE3ZWZkYTIxYTU4MDMyZDEyNjRjNzU4MGQxMGRiODJiMWM3M2IyNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorCitQQVNTIGlkbF90ZXN0IHNldHVwIAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uIAor
UEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogb3JpZ2luYWwgaW50ZXJmYWNlIGRl
ZmluZWQgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiB2YWxpZCBleHBvc3Vy
ZSBzZXQgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBtZW1iZXIgbmFtZXMg
YXJlIHVuaXF1ZSAKK1BBU1MgUGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJ
bml0OiBvcmlnaW5hbCBkaWN0aW9uYXJ5IGRlZmluZWQgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFy
eSBQZXJmb3JtYW5jZU9ic2VydmVySW5pdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNT
IFBhcnRpYWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlWzJdOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1
ZSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBQ
ZXJmb3JtYW5jZSBpbnRlcmZhY2U6IG1lbWJlciBldmVudENvdW50cyAKK1BBU1MgUGVyZm9ybWFu
Y2UgaW50ZXJmYWNlOiBwZXJmb3JtYW5jZSBtdXN0IG5vdCBoYXZlIHByb3BlcnR5ICJldmVudENv
dW50cyIgCitQQVNTIE5vZGUgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5
M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVz
cy5hbnkud29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWly
ZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRl
c3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVy
YXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyMDM3YjhiMzczOTE2YTRhMTk0MzQ3ZDQ4N2QwMDA3
ZTY3ZmRiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGluZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVy
YXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTY2NWQ0MmQzMzQ1NzQyZjUzNjRiMDg1
YjJjMTM3MTU2NjUyZTIxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVz
aG9sZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9ic2Vy
dmVyIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiAxMjU8L3RpdGxlPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWlu
Zy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+
Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICByZXR1cm4gdGVzdER1cmF0
aW9uKHQsICdteURpdicsIG51bUVudHJpZXM9MiwgZHVyPTEyNSwgZmFzdER1cj03MCwgc2xvd0R1
cj0xNDApOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGlu
ZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVy
YXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzIwMzdiOGIzNzM5MTZh
NGExOTQzNDdkNDg3ZDAwMDdlNjdmZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0
aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQ
QVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGluZyB0byBpdHMg
ZHVyYXRpb25UaHJlc2hvbGQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hv
bGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODI3
ZjIyMTFiMTI1NTBmZWU4ZDBmNWQxMjU4ZGZiZTI5YzgzMGQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGlt
aW5nOiBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiA1MDwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdt
eURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIHJldHVybiB0ZXN0RHVyYXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz0zLCBkdXI9NTAs
IGZhc3REdXI9MjAsIHNsb3dEdXI9NzApOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2
ZXMgZXZlbnRzIGFjY29yZGluZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Yjk0
YWEyZWE1YTIyY2MyNDUwOTA0NjJkNzUwMzExMzI3MzczMjU1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bWluLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGlj
ayBtZQorCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBkdXJhdGlvblRocmVzaG9sZCBv
ZiAwIHNlZXMgZXZlbnRzIG9mIGR1cmF0aW9uID49IDE2IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVy
YXRpb24tdGhyZXNob2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDQzYjM4YTI3ODMzMzc3ZTRlYmJiZTMwNzI5MGFkZGQ0MzllYjUwOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2
ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQg
bGVzcyB0aGFuIDE2PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3Njcmlw
dD4KKzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3REdXJhdGlvbih0LCAnbXlEaXYnLCBudW1FbnRy
aWVzPTUsIGR1cj0wLCBmYXN0RHVyPTAsIHNsb3dEdXI9MjApOworfSwgIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBkdXJhdGlvblRocmVzaG9sZCBvZiAwIHNlZXMgZXZlbnRzIG9mIGR1cmF0aW9u
ID49IDE2Iik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3Njg1YjNhMjZl
OTQ5MjE3OTFmMzFiNDJmNmI2MzQ2YzQ3MzE1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRv
d24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBFdmVudCBU
aW1pbmcgbW91c2Vkb3duLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRv
d24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNWEwN2ZhZWIxYmNhYWFkYjBjYTYwNmY4OTQ4MDA0YjQ1YTEx
NWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKQEAgLTAsMCArMSwxOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxtZXRhIG5h
bWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZWRv
d24uPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5j
IHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWRvd24nKTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9tb3VzZWVudGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YWRlYWQ1ODFkMTFkODhkNGEy
MmYwNDQ2YTAwZGFkM2I4ODM1NDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQQVNT
IEV2ZW50IFRpbWluZyBtb3VzZWVudGVyLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VlbnRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwNGQ1NzQzNzQyYzczZWM3Njk2MTNlNDFj
ZTQ1YmYxOTBhNDczYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0bWwKQEAgLTAs
MCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTgg
Lz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VlbnRlci48L3RpdGxlPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5n
LXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRp
diBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VlbnRlcicpOworICB9
KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNlbGVhdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMGQ5NzkzYzY5NWY2Y2Ux
MTkzYjIxOGRiNTBiNjViMjYyNGY0NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BB
U1MgRXZlbnQgVGltaW5nIG1vdXNlbGVhdmUuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZWxlYXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAyY2Y3M2UyYTYxNmM1NjEyMjMyYTdl
MWY5ODc1NzBlZWQ5ZTJlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZWxlYXZlLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8
ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWxlYXZlJyk7Cisg
IH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmVhM2RmNjRmYzI5YjRiNmNj
YmIxZDQyMDBlM2EzODliN2MzMzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworUEFTUyBF
dmVudCBUaW1pbmcgbW91c2VvdXQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2VvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDMyMTkzNGIwYjc4NDI4MGE1ZWQ1MjBiNzBkMGJjMGJi
NWMxODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZyBtb3VzZW91dC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMu
anM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0
Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
ICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VvdXQnLCB0cnVlIC8qIGxvb3NlQ291bnQg
Ki8pOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDEwM2E1MDk1
OGNkYTliMWQxNTkzM2Q3NjM3OGFlMGQ3MmMyMWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vv
dmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0
CisKK1BBU1MgRXZlbnQgVGltaW5nIG1vdXNlb3Zlci4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2VvdmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQxZWUyZDdlY2Q3ZmI5MzhkMmQ0
ZmUyNGFkNmNhMDA1NjUwN2IwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlb3Zlci48L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2Pgor
PGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VvdmVyJywgdHJ1
ZSAvKiBsb29zZUNvdW50ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xNGYzOTA4MjhkZDE0MTNhMWMwZDc4ZDI2ZDIwODZlY2IxMDgxMTg4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUYXJnZXQKKworUEFT
UyBFdmVudCBUaW1pbmcgbW91c2V1cC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNldXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTNiZWY4ZmRiMmYwMjUzNmNlNjg3NDkxYjk1MTFhYWQ5
NGZiMDNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1sCkBAIC0wLDAgKzEsMTcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+
RXZlbnQgVGltaW5nIG1vdXNldXAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHBy
b21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91
c2V1cCcpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2Vy
dmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDcxZmQ1N2M0NGZlMjc4MzQ1MGFhM2Y5MGZlYTI3MTA0OTBm
MGRhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2
ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQgZm9yIGEgUGVyZm9ybWFuY2VPYnNlcnZlciBv
YnNlcnZpbmcgb25seSBmaXJzdC1pbnB1dC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1m
aXJzdElucHV0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0YTYwMzZmOTFhZGI4OWM3YjY1MjhlNDA4NTA5MzdkNzA1MjBiNzcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQg
VGltaW5nOiBvbmx5IG9ic2VydmUgdGhlIGZpcnN0IGlucHV0PC90aXRsZT4KKzxidXR0b24gaWQ9
J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgLyogVGVzdDoKKyAgICAg
UGVyZm9ybWFuY2VPYnNlcnZlciBmb3IgZmlyc3QtaW5wdXQgaXMgcmVnaXN0ZXJlZAorICAgICBD
bGljayAxCisgICAgIENsaWNrIDIKKyAgICAgV2FpdAorICAgICBFeHBlY3RlZCByZXN1bHQ6Cisg
ICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2hvdWxkIG9ic2VydmUgb25lIGFuZCBvbmx5IG9uZSBl
bnRyeS4KKyAgKi8KKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxl
bWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90
IHN1cHBvcnRlZC4nKTsKKyAgICBsZXQgaGFzT2JzZXJ2ZWRGaXJzdElucHV0ID0gZmFsc2U7Cisg
ICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoKGVudHJ5TGlzdCkgPT4gewor
ICAgICAgICBhc3NlcnRfZmFsc2UoaGFzT2JzZXJ2ZWRGaXJzdElucHV0KTsKKyAgICAgICAgaGFz
T2JzZXJ2ZWRGaXJzdElucHV0ID0gdHJ1ZTsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZWRFbnRyaWVz
ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKS5maWx0ZXIoCisgICAgICAgICAgICBlbnRyeSA9PiBl
bnRyeS5uYW1lID09PSAnbW91c2Vkb3duJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JzZXJ2
ZWRFbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JzZXJ2ZWRFbnRy
aWVzWzBdLmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
b2JzZXJ2ZWRFbnRyaWVzWzBdLm5hbWUsICdtb3VzZWRvd24nKTsKKyAgICB9KSkub2JzZXJ2ZSh7
IGVudHJ5VHlwZXM6IFsnZmlyc3QtaW5wdXQnXSB9KTsKKyAgICBvbl9ldmVudCh3aW5kb3csICds
b2FkJywgKCkgPT4geworICAgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4oKCkg
PT4geworICAgICAgICBjbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0KS50aGVu
KCAoKSA9PiB7CisgICAgICAgICAgLy8gQWZ0ZXIgc29tZSB3YWl0LCB0aGUgUGVyZm9ybWFuY2VP
YnNlcnZlciBzaG91bGQgaGF2ZSBwcm9jZXNzZWQgYm90aCBjbGlja3MuCisgICAgICAgICAgLy8g
T25lIGFuZCBvbmx5IG9uZSBmaXJzdC1pbnB1dCBlbnRyeSBzaG91bGQgaGF2ZSBiZWVuIGRpc3Bh
dGNoZWQsIHNvCisgICAgICAgICAgLy8gfGhhc09ic2VydmVkRmlyc3RJbnB1dHwgc2hvdWxkIGJl
IHRydWUuCisgICAgICAgICAgdC5zdGVwX3RpbWVvdXQoICgpID0+IHsKKyAgICAgICAgICAgIGFz
c2VydF90cnVlKGhhc09ic2VydmVkRmlyc3RJbnB1dCk7CisgICAgICAgICAgICB0LmRvbmUoKTsK
KyAgICAgICAgICB9LCAxMCk7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgfSk7CisgIH0s
CisgICJFdmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgb2JzZXJ2aW5nIG9ubHkgZmlyc3QtaW5wdXQuIgorICApOworPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg3OTlhNGY3ZTZjZjk4NWYzMmJiZjdhMWVkNWM5MDg2
Y2EzMDM5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKK1RhcmdldAorCitQQVNTIEV2ZW50IFRpbWluZyBwb2ludGVyZG93bi4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJlYjZhZTg5OGNjZDAwNmRhMTYzM2E3ZjgxMmRiY2ZjMGZjYmU5ZjEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wb2ludGVyZG93bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBj
b250ZW50PSJsb25nIj4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmRvd24uPC90aXRsZT4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2Vz
L2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5U
YXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBy
ZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcmRvd24nKTsKKyAgfSkKKzwvc2NyaXB0Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJl
bnRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQ2Zjk2ODlhNmE0OTc3OTA1OGRkNzliNjVm
OTI2ZThjZjlhNzc1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQQVNTIEV2ZW50
IFRpbWluZyBwb2ludGVyZW50ZXIuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3BvaW50ZXJlbnRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhZTFjNTFkNTFjZGU0ZDIzMTRlMzEwNjkz
MzI4ZmQyNmRiZDhiZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbApAQCAt
MCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVyZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4K
KzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJlbnRlcicp
OworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTU5N2U0
NDRlMzFlYWEyNTYxNDM2N2Q0NDEzMGM2ZDBlZTBlOGU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmxlYXZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQor
VGFyZ2V0CisKK1BBU1MgRXZlbnQgVGltaW5nIHBvaW50ZXJsZWF2ZS4gCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3BvaW50ZXJsZWF2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFlOGYx
NWVjMGQxNmE1MzE4MmYwNmU3Zjk1NTMyMjhjYzBhYjdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJsZWF2ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJsZWF2
ZS48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91
dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3Jp
cHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlw
ZSh0LCAncG9pbnRlcmxlYXZlJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjdkNmM2MWMxZWRmNDg5NzYzMDA2NGRkOGY4ZTdhOWI2MDc0ZmQ1OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0
c2lkZSB0YXJnZXQhCitUYXJnZXQKKworUEFTUyBFdmVudCBUaW1pbmcgcG9pbnRlcm91dC4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMDhmNTc2OTljYzQ4ZDgyMzUwZmFiYmUzYmUyNTg5YzJiYjJjMWYwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcm91dC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50
ZXJvdXQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRp
dj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8
c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVu
dFR5cGUodCwgJ3BvaW50ZXJvdXQnLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9z
Y3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTI5NWRjNGVkNjE2ZmU5ZTY2OTE0
MDIxMmQzYjQ2MjQyYWRiNjZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1Mg
RXZlbnQgVGltaW5nIHBvaW50ZXJvdmVyLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUxNzEyMjM5YzA5NTgzOGE1NjVjZWU4
ODc0Y2MzYjUyMjE5NDhkMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcm92ZXIuPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4K
KzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJvdmVyJywg
dHJ1ZSAvKiBsb29zZUNvdW50ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcnVwLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTM0YjBkNzE0NTc3NmM1ODg1ZjQwZGU3ZWI4ZDQ2ZTE3OTE1MjM5NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUYXJn
ZXQKKworUEFTUyBFdmVudCBUaW1pbmcgcG9pbnRlcnVwLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cnVwLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzI0YTViZWI3YWIzMmMzZjdi
YWVlNjk5YWYzOTcwOTAxZjdhZTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwK
QEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcnVwLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9k
aXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRl
c3RFdmVudFR5cGUodCwgJ3BvaW50ZXJ1cCcpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjViZjQ4Y2Y5MjBhNjk5YWEzYmM2Njg4NzE4YjVmMDU0NmRkMGE2NGMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK0NsaWNrIG1lCitObywgY2xpY2sgbWUhCisKK1BBU1MgRXZlbnQgVGltaW5nOiBl
dmVudHMgZnJvbSBwcm9ncmFtbWF0aWMgY2xpY2sgYXJlIG5vdCBvYnNlcnZlZCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGlj
LWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNjBkMmQwMGRjMWMwMjEwODU0
MzE3YmNlNWJiYzViYzI1ZmZmNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xp
Y2stbm90LW9ic2VydmVkLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxkaXYgaWQ9J2Rpdicgb25jbGljaz0nZGVs
YXkoKSc+Q2xpY2sgbWU8L2Rpdj4KKzxkaXYgaWQ9J2RpdjInPk5vLCBjbGljayBtZSE8L2Rpdj4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3Vy
Y2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0
IGRlbGF5Q2FsbGVkID0gZmFsc2U7CisgIGxldCBiZWZvcmVDbGljazsKKyAgZnVuY3Rpb24gZGVs
YXkoKSB7CisgICAgY29uc3QgZW5kID0gcGVyZm9ybWFuY2Uubm93KCkgKyAxNTA7CisgICAgd2hp
bGUocGVyZm9ybWFuY2Uubm93KCkgPCBlbmQpIHt9CisgICAgZGVsYXlDYWxsZWQgPSB0cnVlOwor
ICB9CisgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMo
d2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBv
cnRlZC4nKTsKKyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25zdCBv
YnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIGNvbnN0IG9i
c2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+
IHsKKyAgICAgICAgY29uc3QgbW91c2VEb3ducyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1l
KCdtb3VzZWRvd24nKTsKKyAgICAgICAgLy8gSWdub3JlIGNhc2VzIGluIHdoaWNoIHRoZXJlIGlz
IG5vIG1vdXNlZG93bi4KKyAgICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24s
ICdUaGVyZSBtdXN0IG9ubHkgYmUgb25lIG1vdXNlZG93biBlbnRyeS4nKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhtb3VzZURvd25zLmxlbmd0aCwgMSk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0g
bW91c2VEb3duc1swXTsKKyAgICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGVudHJ5IGlz
IGV4cG9zaW5nIHRpbWluZyBmcm9tIHRoZSBzZWNvbmQgY2xpY2ssIGkuZS4KKyAgICAgICAgLy8g
dGhlIG9uZSBmcm9tIHRoZSBjbGlja0FuZEJsb2NrTWFpbigpIGNhbGwuCisgICAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJvY2Vzc2luZ1N0YXJ0LCBiZWZvcmVDbGljayk7
CisgICAgICAgIHZlcmlmeUNsaWNrRXZlbnQoZW50cnksICdkaXYyJywgdHJ1ZSk7CisgICAgICAg
IG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSkp
OworICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgICAg
fSk7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpLmNsaWNrKCk7CisgICAgLy8g
VGFrZSB0aGUgdGltZXN0YW1wIGFmdGVyIHRoZSBwcm9ncmFtbWF0aWMgY2xpY2sgYnV0IGJlZm9y
ZSB0aGUgbmV4dCBjbGljay4KKyAgICBiZWZvcmVDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOwor
ICAgIC8vIEFmdGVyIHRoZSBwcm9ncmFtbWF0aWMgY2xpY2ssIHVzZSBhbm90aGVyIGlucHV0IHRv
IGtub3cgd2hlbiBlbnRyaWVzIGhhdmUgYmVlbgorICAgIC8vIGRpc3BhdGNoZWQgdG8gdGhlIFBl
cmZvcm1hbmNlT2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgY29uc3QgY2xpY2tQcm9taXNlID0gY2xp
Y2tBbmRCbG9ja01haW4oJ2RpdjInKTsKKyAgICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVy
UHJvbWlzZSwgY2xpY2tQcm9taXNlXSk7CisgIH0sICJFdmVudCBUaW1pbmc6IGV2ZW50cyBmcm9t
IHByb2dyYW1tYXRpYyBjbGljayBhcmUgbm90IG9ic2VydmVkIik7Cis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9y
ZXNvdXJjZXMvY3Jvc3NpZnJhbWUtY2hpbGRmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Mjk0YWUw
MmMyM2JhZjEzNzZiNzdiYTlmNjQyZmY3YjRlNTljNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNv
dXJjZXMvY3Jvc3NpZnJhbWUtY2hpbGRmcmFtZS5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9D
VHlwZSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPWV2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDMw
MHB4IiBpZD0naWZyYW1lX2Rpdicgb25tb3VzZWRvd249Im1haW5UaHJlYWRCdXN5KDEyMCkiPgor
PHNjcmlwdD4KKyhhc3luYyAoKSA9PiB7CisgIGNvbnN0IGNsaWNrVGltZU1pbiA9IHBlcmZvcm1h
bmNlLm5vdygpOworICBjb25zdCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZl
ID0+IHsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAg
Y29uc3QgbW91c2VEb3ducyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24n
KTsKKyAgICAgIGlmIChtb3VzZURvd25zLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgcmVzb2x2ZShtb3VzZURvd25zKTsKKyAgICB9KS5vYnNlcnZlKHsgdHlwZTonZXZlbnQn
IH0pOworICB9KTsKKyAgY29uc3QgZW50cmllcyA9IGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKyAg
Y29uc3QgY2xpY2tEb25lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgIGlmIChlbnRyaWVzLmxlbmd0
aCAhPT0gMSkgeworICAgIHRvcC5wb3N0TWVzc2FnZSgiZmFpbGVkIiwgIioiKTsKKyAgICByZXR1
cm47CisgIH0KKyAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICB0b3AucG9zdE1lc3NhZ2Uo
eworICAgIC8vIEVudHJ5IHZhbHVlcyAofGVudHJ5fCBpdHNlbGYgaXMgbm90IGNsb25hYmxlKQor
ICAgICJuYW1lIjogZW50cnkubmFtZSwKKyAgICAiY2FuY2VsYWJsZSI6IGVudHJ5LmNhbmNlbGFi
bGUsCisgICAgImVudHJ5VHlwZSI6IGVudHJ5LmVudHJ5VHlwZSwKKyAgICAic3RhcnRUaW1lIjog
ZW50cnkuc3RhcnRUaW1lLAorICAgICJwcm9jZXNzaW5nU3RhcnQiOiBlbnRyeS5wcm9jZXNzaW5n
U3RhcnQsCisgICAgInByb2Nlc3NpbmdFbmQiOiBlbnRyeS5wcm9jZXNzaW5nRW5kLAorICAgICJk
dXJhdGlvbiI6IGVudHJ5LmR1cmF0aW9uLAorICAgIC8vIE90aGVyIHZhbHVlcworICAgICJjbGlj
a1RpbWVNaW4iOiBjbGlja1RpbWVNaW4sCisgICAgImNsaWNrRG9uZSIgOiBjbGlja0RvbmUsCisg
ICAgInRhcmdldCI6IGVudHJ5LnRhcmdldC5pZCwKKyAgfSwgJyonKTsKK30pICgpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5n
LXRlc3QtdXRpbHMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWFjNGRjMGQ3ZDM4NWQ3ZmRkODg1MjE0MDM3YjEyMjVkMzA0YWE4NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcwpAQCAtMCww
ICsxLDI2MyBAQAorLy8gQ2xpY2tzIG9uIHRoZSBlbGVtZW50IHdpdGggdGhlIGdpdmVuIElELiBJ
dCBhZGRzIGFuIGV2ZW50IGhhbmRsZXIgdG8gdGhlIGVsZW1lbnQgd2hpY2gKKy8vIGVuc3VyZXMg
dGhhdCB0aGUgZXZlbnRzIGhhdmUgYSBkdXJhdGlvbiBvZiBhdCBsZWFzdCB8ZGVsYXl8LiBDYWxs
cyB8Y2FsbGJhY2t8IGR1cmluZworLy8gZXZlbnQgaGFuZGxlciBpZiB8Y2FsbGJhY2t8IGlzIHBy
b3ZpZGVkLgorYXN5bmMgZnVuY3Rpb24gY2xpY2tPbkVsZW1lbnRBbmREZWxheShpZCwgZGVsYXks
IGNhbGxiYWNrKSB7CisgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChp
ZCk7CisgIGNvbnN0IGNsaWNrSGFuZGxlciA9ICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShk
ZWxheSk7CisgICAgaWYgKGNhbGxiYWNrKQorICAgICAgY2FsbGJhY2soKTsKKyAgICBlbGVtZW50
LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGNsaWNrSGFuZGxlcik7CisgIH07Cisg
IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgY2xpY2tIYW5kbGVyKTsKKyAg
YXdhaXQgdGVzdF9kcml2ZXIuY2xpY2soZWxlbWVudCk7Cit9CisKK2Z1bmN0aW9uIG1haW5UaHJl
YWRCdXN5KGR1cmF0aW9uKSB7CisgIGNvbnN0IG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOworICB3
aGlsZSAocGVyZm9ybWFuY2Uubm93KCkgPCBub3cgKyBkdXJhdGlvbik7Cit9CisKKy8vIFRoaXMg
bWV0aG9kIHNob3VsZCByZWNlaXZlIGFuIGVudHJ5IG9mIHR5cGUgJ2V2ZW50Jy4gfGlzRmlyc3R8
IGlzIHRydWUgb25seSB3aGVuIHdlIHdhbnQKKy8vIHRvIGNoZWNrIHRoYXQgdGhlIGV2ZW50IGFs
c28gaGFwcGVucyB0byBjb3JyZXNwb25kIHRvIHRoZSBmaXJzdCBldmVudC4gSW4gdGhpcyBjYXNl
LCB0aGUKKy8vIHRpbWluZ3Mgb2YgdGhlICdmaXJzdC1pbnB1dCcgZW50cnkgc2hvdWxkIGJlIGVx
dWFsIHRvIHRob3NlIG9mIHRoaXMgZW50cnkuIHxtaW5EdXJhdGlvbnwKKy8vIGlzIHVzZWQgdG8g
Y29tcGFyZWQgYWdhaW5zdCBlbnRyeS5kdXJhdGlvbi4KK2Z1bmN0aW9uIHZlcmlmeUV2ZW50KGVu
dHJ5LCBldmVudFR5cGUsIHRhcmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0xMDQs
IG5vdENhbmNlbGFibGU9ZmFsc2UpIHsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5jYW5jZWxhYmxl
LCAhbm90Q2FuY2VsYWJsZSwgJ2NhbmNlbGFibGUgcHJvcGVydHknKTsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS5uYW1lLCBldmVudFR5cGUpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlw
ZSwgJ2V2ZW50Jyk7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24s
IG1pbkR1cmF0aW9uLAorICAgICAgIlRoZSBlbnRyeSdzIGR1cmF0aW9uIHNob3VsZCBiZSBncmVh
dGVyIHRoYW4gb3IgZXF1YWwgdG8gIiArIG1pbkR1cmF0aW9uICsgIiBtcy4iKTsKKyAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5wcm9jZXNzaW5nU3RhcnQsIGVudHJ5LnN0YXJ0VGlt
ZSwKKyAgICAgICJUaGUgZW50cnkncyBwcm9jZXNzaW5nU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIg
dGhhbiBvciBlcXVhbCB0byBzdGFydFRpbWUuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1
YWwoZW50cnkucHJvY2Vzc2luZ0VuZCwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0LAorICAgICAgIlRo
ZSBlbnRyeSdzIHByb2Nlc3NpbmdFbmQgbXVzdCBiZSBhdCBsZWFzdCBhcyBsYXJnZSBhcyBwcm9j
ZXNzaW5nU3RhcnQuIik7CisgIC8vIHxkdXJhdGlvbnwgaXMgYSBudW1iZXIgcm91bmRlZCB0byB0
aGUgbmVhcmVzdCA4IG1zLCBzbyBhZGQgNCB0byBnZXQgYSBsb3dlciBib3VuZAorICAvLyBvbiB0
aGUgYWN0dWFsIGR1cmF0aW9uLgorICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1
cmF0aW9uICsgNCwgZW50cnkucHJvY2Vzc2luZ0VuZCAtIGVudHJ5LnN0YXJ0VGltZSwKKyAgICAg
ICJUaGUgZW50cnkncyBkdXJhdGlvbiBtdXN0IGJlIGF0IGxlYXN0IGFzIGxhcmdlIGFzIHByb2Nl
c3NpbmdFbmQgLSBzdGFydFRpbWUuIik7CisgIGlmIChpc0ZpcnN0KSB7CisgICAgbGV0IGZpcnN0
SW5wdXRzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXRzLmxlbmd0aCwgMSwgJ1RoZXJlIHNob3VsZCBiZSBh
IHNpbmdsZSBmaXJzdC1pbnB1dCBlbnRyeScpOworICAgIGxldCBmaXJzdElucHV0ID0gZmlyc3RJ
bnB1dHNbMF07CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0Lm5hbWUsIGVudHJ5Lm5hbWUp
OworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcp
OworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5zdGFydFRpbWUsIGVudHJ5LnN0YXJ0VGlt
ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0LmR1cmF0aW9uLCBlbnRyeS5kdXJhdGlv
bik7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0LnByb2Nlc3NpbmdTdGFydCwgZW50cnku
cHJvY2Vzc2luZ1N0YXJ0KTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQucHJvY2Vzc2lu
Z0VuZCwgZW50cnkucHJvY2Vzc2luZ0VuZCk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0
LmNhbmNlbGFibGUsIGVudHJ5LmNhbmNlbGFibGUpOworICB9CisgIGlmICh0YXJnZXRJZCkKKyAg
ICBhc3NlcnRfZXF1YWxzKGVudHJ5LnRhcmdldCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFy
Z2V0SWQpKTsKK30KKworZnVuY3Rpb24gdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwgdGFyZ2V0SWQs
IGlzRmlyc3Q9ZmFsc2UsIG1pbkR1cmF0aW9uPTEwNCkgeworICB2ZXJpZnlFdmVudChlbnRyeSwg
J21vdXNlZG93bicsIHRhcmdldElkLCBpc0ZpcnN0LCBtaW5EdXJhdGlvbik7Cit9CisKK2Z1bmN0
aW9uIHdhaXQoKSB7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
CisgICAgc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAwKTsK
KyAgfSk7Cit9CisKK2Z1bmN0aW9uIGNsaWNrQW5kQmxvY2tNYWluKGlkKSB7CisgIHJldHVybiBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgY2xpY2tPbkVsZW1lbnRBbmRE
ZWxheShpZCwgMTIwLCByZXNvbHZlKTsKKyAgfSk7Cit9CisKKyAgLy8gQWRkIGEgUGVyZm9ybWFu
Y2VPYnNlcnZlciBhbmQgb2JzZXJ2ZSB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgfGR1cnwu
IFRoaXMgdGVzdCB3aWxsCisgIC8vIGF0dGVtcHQgdG8gY2hlY2sgdGhhdCB0aGUgZHVyYXRpb24g
aXMgYXBwcm9wcmlhdGVseSBjaGVja2VkIGJ5OgorICAvLyAqIEFzc2VydGluZyB0aGF0IGVudHJp
ZXMgcmVjZWl2ZWQgaGF2ZSBhIGR1cmF0aW9uIHdoaWNoIGlzIHRoZSBzbWFsbGVzdCBtdWx0aXBs
ZSBvZiA4CisgIC8vICAgdGhhdCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gfGR1cnwuCisg
IC8vICogSXNzdWluZyB8bnVtRW50cmllc3wgZW50cmllcyB0aGF0IGFyZSBmYXN0LCBvZiBkdXJh
dGlvbiB8c2xvd0R1cnwuCisgIC8vICogSXNzdWluZyB8bnVtRW50cmllc3wgZW50cmllcyB0aGF0
IGFyZSBzbG93LCBvZiBkdXJhdGlvbiB8ZmFzdER1cnwuCisgIC8vICogQXNzZXJ0aW5nIHRoYXQg
YXQgbGVhc3QgfG51bUVudHJpZXN8IGVudHJpZXMgYXJlIHJlY2VpdmVkIChhdCBsZWFzdCB0aGUg
c2xvdyBvbmVzKS4KKyAgLy8gUGFyYW1ldGVyczoKKyAgLy8gfHR8ICAgICAgICAgIC0gdGhlIHRl
c3QgaGFybmVzcy4KKyAgLy8gfGR1cnwgICAgICAgIC0gdGhlIGR1cmF0aW9uVGhyZXNob2xkIGZv
ciB0aGUgUGVyZm9ybWFuY2VPYnNlcnZlci4KKyAgLy8gfGlkfCAgICAgICAgIC0gdGhlIElEIG9m
IHRoZSBlbGVtZW50IHRvIGJlIGNsaWNrZWQuCisgIC8vIHxudW1FbnRyaWVzfCAtIHRoZSBudW1i
ZXIgb2Ygc2xvdyBhbmQgbnVtYmVyIG9mIGZhc3QgZW50cmllcy4KKyAgLy8gfHNsb3dEdXJ8ICAg
IC0gdGhlIG1pbiBkdXJhdGlvbiBvZiBhIHNsb3cgZW50cnkuCisgIC8vIHxmYXN0RHVyfCAgICAt
IHRoZSBtaW4gZHVyYXRpb24gb2YgYSBmYXN0IGVudHJ5LgorYXN5bmMgZnVuY3Rpb24gdGVzdER1
cmF0aW9uKHQsIGlkLCBudW1FbnRyaWVzLCBkdXIsIGZhc3REdXIsIHNsb3dEdXIpIHsKKyAgYXNz
ZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1p
bmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFBy
b21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgbGV0IG1pbkR1cmF0aW9uID0gTWF0aC5jZWls
KGR1ciAvIDgpICogODsKKyAgICAvLyBFeHBvc2VkIGV2ZW50cyBtdXN0IGFsd2F5cyBoYXZlIGEg
bWluaW11bSBkdXJhdGlvbiBvZiAxNi4KKyAgICBtaW5EdXJhdGlvbiA9IE1hdGgubWF4KG1pbkR1
cmF0aW9uLCAxNik7CisgICAgbGV0IG51bUVudHJpZXNSZWNlaXZlZCA9IDA7CisgICAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICBjb25zdCBtb3VzZURvd25zID0gbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICAgIG1vdXNlRG93bnMuZm9yRWFj
aChlID0+IHsKKyAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAgICAgICB2ZXJpZnlDbGlja0V2
ZW50KGUsIGlkLCBmYWxzZSAvKiBpc0ZpcnN0ICovLCBtaW5EdXJhdGlvbik7CisgICAgICAgIH0p
OworICAgICAgfSk7CisgICAgICBudW1FbnRyaWVzUmVjZWl2ZWQgKz0gbW91c2VEb3ducy5sZW5n
dGg7CisgICAgICAvLyBOb3RlIHRoYXQgd2UgbWF5IHJlY2VpdmUgbW9yZSBlbnRyaWVzIGlmIHRo
ZSAnZmFzdCcgY2xpY2sgZXZlbnRzIHR1cm4gb3V0IHNsb3dlcgorICAgICAgLy8gdGhhbiBleHBl
Y3RlZC4KKyAgICAgIGlmIChudW1FbnRyaWVzUmVjZWl2ZWQgPj0gbnVtRW50cmllcykKKyAgICAg
ICAgcmVzb2x2ZSgpOworICAgIH0pLm9ic2VydmUoe3R5cGU6ICJldmVudCIsIGR1cmF0aW9uVGhy
ZXNob2xkOiBkdXJ9KTsKKyAgfSk7CisgIGNvbnN0IGNsaWNrc1Byb21pc2UgPSBuZXcgUHJvbWlz
ZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbnVt
RW50cmllczsgaW5kZXgrKykgeworICAgICAgLy8gQWRkIHNvbWUgZmFzdCBjbGljayBldmVudHMu
CisgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCBzbG93RHVyKTsKKyAgICAg
IC8vIEFkZCBzb21lIHNsb3cgY2xpY2sgZXZlbnRzLgorICAgICAgaWYgKGZhc3REdXIgPiAwKSB7
CisgICAgICAgIGF3YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXkoaWQsIGZhc3REdXIpOworICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgLy8gV2UgY2FuIGp1c3QgZGlyZWN0bHkgY2FsbCB0ZXN0X2Ry
aXZlciB3aGVuIHxmYXN0RHVyfCBpcyAwLgorICAgICAgICBhd2FpdCB0ZXN0X2RyaXZlci5jbGlj
ayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpOworICAgICAgfQorICAgIH0KKyAgICByZXNv
bHZlKCk7CisgIH0pOworICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xp
Y2tzUHJvbWlzZV0pOworfQorCisvLyBBcHBseSBldmVudHMgdGhhdCB0cmlnZ2VyIGFuIGV2ZW50
IG9mIHRoZSBnaXZlbiB8ZXZlbnRUeXBlfCB0byBiZSBkaXNwYXRjaGVkIHRvIHRoZQorLy8gfHRh
cmdldHwuIFNvbWUgb2YgdGhlc2UgYXNzdW1lIHRoYXQgdGhlIHRhcmdldCBpcyBub3Qgb24gdGhl
IHRvcCBsZWZ0IGNvcm5lciBvZiB0aGUKKy8vIHNjcmVlbiwgd2hpY2ggbWVhbnMgdGhhdCAoMCwg
MCkgb2YgdGhlIHZpZXdwb3J0IGlzIG91dHNpZGUgb2YgdGhlIHx0YXJnZXR8LgorZnVuY3Rpb24g
YXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpIHsKKyAgY29uc3QgYWN0aW9ucyA9IG5ldyB0
ZXN0X2RyaXZlci5BY3Rpb25zKCk7CisgIGlmIChldmVudFR5cGUgPT09ICdhdXhjbGljaycpIHsK
KyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBv
aW50ZXJEb3duKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5NSURETEV9KQorICAgIC5wb2lu
dGVyVXAoe2J1dHRvbjogYWN0aW9ucy5CdXR0b25UeXBlLk1JRERMRX0pOworICB9IGVsc2UgaWYg
KGV2ZW50VHlwZSA9PT0gJ2NsaWNrJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZWRvd24nIHx8IGV2
ZW50VHlwZSA9PT0gJ21vdXNldXAnCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyZG93
bicgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcnVwJworICAgICAgfHwgZXZlbnRUeXBlID09PSAn
dG91Y2hzdGFydCcgfHwgZXZlbnRUeXBlID09PSAndG91Y2hlbmQnKSB7CisgICAgYWN0aW9ucy5w
b2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bigpCisg
ICAgLnBvaW50ZXJVcCgpOworICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ2NvbnRleHRtZW51
JykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAg
ICAucG9pbnRlckRvd24oe2J1dHRvbjogYWN0aW9ucy5CdXR0b25UeXBlLlJJR0hUfSkKKyAgICAu
cG9pbnRlclVwKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5SSUdIVH0pOworICB9IGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PT0gJ2RibGNsaWNrJykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUo
MCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVy
VXAoKQorICAgIC5wb2ludGVyRG93bigpCisgICAgLnBvaW50ZXJVcCgpCisgICAgLy8gUmVzZXQg
YnkgY2xpY2tpbmcgb3V0c2lkZSBvZiB0aGUgdGFyZ2V0LgorICAgIC5wb2ludGVyTW92ZSgwLCAw
KQorICAgIC5wb2ludGVyRG93bigpCisgICAgLnBvaW50ZXJVcCgpOworICB9IGVsc2UgaWYgKGV2
ZW50VHlwZSA9PT0gJ21vdXNlZW50ZXInIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNlb3ZlcicKKyAg
ICAgIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJlbnRlcicgfHwgZXZlbnRUeXBlID09PSAncG9p
bnRlcm92ZXInKSB7CisgICAgLy8gTW92ZSBvdXRzaWRlIG9mIHRoZSB0YXJnZXQgYW5kIHRoZW4g
YmFjayBpbnNpZGUuCisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwKQorICAgIC5wb2ludGVy
TW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09
ICdtb3VzZWxlYXZlJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZW91dCcKKyAgICAgIHx8IGV2ZW50
VHlwZSA9PT0gJ3BvaW50ZXJsZWF2ZScgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcm91dCcpIHsK
KyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBv
aW50ZXJNb3ZlKDAsIDApOworICB9IGVsc2UgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ1RoZSBl
dmVudCB0eXBlICcgKyBldmVudFR5cGUgKyAnIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIH0KKyAg
cmV0dXJuIGFjdGlvbnMuc2VuZCgpOworfQorCitmdW5jdGlvbiByZXF1aXJlc0xpc3RlbmVyKGV2
ZW50VHlwZSkgeworICByZXR1cm4gWydtb3VzZWVudGVyJywKKyAgICAgICAgICAnbW91c2VsZWF2
ZScsCisgICAgICAgICAgJ3BvaW50ZXJkb3duJywKKyAgICAgICAgICAncG9pbnRlcmVudGVyJywK
KyAgICAgICAgICAncG9pbnRlcmxlYXZlJywKKyAgICAgICAgICAncG9pbnRlcm91dCcsCisgICAg
ICAgICAgJ3BvaW50ZXJvdmVyJywKKyAgICAgICAgICAncG9pbnRlcnVwJworICAgICAgICBdLmlu
Y2x1ZGVzKGV2ZW50VHlwZSk7Cit9CisKK2Z1bmN0aW9uIG5vdENhbmNlbGFibGUoZXZlbnRUeXBl
KSB7CisgIHJldHVybiBbJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdwb2ludGVyZW50ZXIn
LCAncG9pbnRlcmxlYXZlJ10uaW5jbHVkZXMoZXZlbnRUeXBlKTsKK30KKworLy8gVGVzdHMgdGhl
IGdpdmVuIHxldmVudFR5cGV8J3MgcGVyZm9ybWFuY2UuZXZlbnRDb3VudHMgdmFsdWUuIFNpbmNl
IHRoaXMgaXMgcG9wdWxhdGVkIG9ubHkgd2hlbgorLy8gdGhlIGV2ZW50IGlzIHByb2Nlc3NlZCwg
d2UgY2hlY2sgZXZlcnkgMTAgbXMgdW50aWwgd2UndmUgZm91bmQgdGhlIHxleHBlY3RlZENvdW50
fC4KK2Z1bmN0aW9uIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBl
LCBleHBlY3RlZENvdW50KSB7CisgIGNvbnN0IGNvdW50cyA9IHBlcmZvcm1hbmNlLmV2ZW50Q291
bnRzLmdldChldmVudFR5cGUpOworICBpZiAoY291bnRzIDwgZXhwZWN0ZWRDb3VudCkgeworICAg
IHQuc3RlcF90aW1lb3V0KCgpID0+IHsKKyAgICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9v
c2VDb3VudCwgZXZlbnRUeXBlLCBleHBlY3RlZENvdW50KTsKKyAgICB9LCAxMCk7CisgICAgcmV0
dXJuOworICB9CisgIGlmIChsb29zZUNvdW50KSB7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbChwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKSwgZXhwZWN0ZWRDb3Vu
dCwKKyAgICAgICAgYFNob3VsZCBoYXZlIGF0IGxlYXN0ICR7ZXhwZWN0ZWRDb3VudH0gJHtldmVu
dFR5cGV9IGV2ZW50c2ApCisgIH0gZWxzZSB7CisgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5j
ZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKSwgZXhwZWN0ZWRDb3VudCwKKyAgICAgICAgYFNo
b3VsZCBoYXZlICR7ZXhwZWN0ZWRDb3VudH0gJHtldmVudFR5cGV9IGV2ZW50c2ApOworICB9Cisg
IHJlc29sdmUoKTsKK30KKworLy8gVGVzdHMgdGhlIGdpdmVuIHxldmVudFR5cGV8IGJ5IGNyZWF0
aW5nIGV2ZW50cyB3aG9zZSB0YXJnZXQgYXJlIHRoZSBlbGVtZW50IHdpdGggaWQKKy8vICd0YXJn
ZXQnLiBUaGUgdGVzdCBhc3N1bWVzIHRoYXQgc3VjaCBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiB8
bG9vc2VDb3VudHwgaXMgc2V0IGZvcgorLy8gZXZlbnRUeXBlcyBmb3Igd2hpY2ggZXZlbnRzIHdv
dWxkIG9jY3VyIGZvciBvdGhlciBpbnRlcmFjdGlvbnMgb3RoZXIgdGhhbiB0aGUgb25lcyBiZWlu
ZworLy8gc3BlY2lmaWVkIGZvciB0aGUgdGFyZ2V0LCBzbyB0aGUgY291bnRzIGNvdWxkIGJlIGxh
cmdlci4KK2FzeW5jIGZ1bmN0aW9uIHRlc3RFdmVudFR5cGUodCwgZXZlbnRUeXBlLCBsb29zZUNv
dW50PWZhbHNlKSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2
ZW50IENvdW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOworICBpZiAocmVxdWlyZXNMaXN0ZW5lcihldmVudFR5
cGUpKSB7CisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCAoKSA9Pnt9KTsK
KyAgfQorICBjb25zdCBpbml0aWFsQ291bnQgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQo
ZXZlbnRUeXBlKTsKKyAgaWYgKCFsb29zZUNvdW50KSB7CisgICAgYXNzZXJ0X2VxdWFscyhpbml0
aWFsQ291bnQsIDAsICdObyBldmVudHMgeWV0LicpOworICB9CisgIC8vIFRyaWdnZXIgdHdvICdm
YXN0JyBldmVudHMgb2YgdGhlIHR5cGUuCisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwg
dGFyZ2V0KTsKKyAgYXdhaXQgYXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICBhd2Fp
dCBuZXcgUHJvbWlzZSh0LnN0ZXBfZnVuYyhyZXNvbHZlID0+IHsKKyAgICB0ZXN0Q291bnRzKHQs
IHJlc29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgaW5pdGlhbENvdW50ICsgMik7CisgIH0p
KTsKKyAgLy8gVGhlIGR1cmF0aW9uVGhyZXNob2xkIHVzZWQgYnkgdGhlIG9ic2VydmVyLiBBIHNs
b3cgZXZlbnRzIG5lZWRzIHRvIGJlIHNsb3dlciB0aGFuIHRoYXQuCisgIGNvbnN0IGR1cmF0aW9u
VGhyZXNob2xkID0gMTY7CisgIC8vIE5vdyBhZGQgYW4gZXZlbnQgaGFuZGxlciB0byBjYXVzZSBh
IHNsb3cgZXZlbnQuCisgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgKCkgPT4g
eworICAgIG1haW5UaHJlYWRCdXN5KGR1cmF0aW9uVGhyZXNob2xkICsgNCk7CisgIH0pOworICBj
b25zdCBwZXJmT2JzZXJ2ZXIgPSAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMo
ZW50cnlMaXN0ID0+IHsKKyAgICAgIGxldCBldmVudFR5cGVFbnRyaWVzID0gZW50cnlMaXN0Lmdl
dEVudHJpZXNCeU5hbWUoZXZlbnRUeXBlKTsKKyAgICAgIGlmIChldmVudFR5cGVFbnRyaWVzLmxl
bmd0aCA9PT0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgICBsZXQgZW50cnkgPSBudWxsOwor
ICAgICAgaWYgKCFsb29zZUNvdW50KSB7CisgICAgICAgIGVudHJ5ID0gZXZlbnRUeXBlRW50cmll
c1swXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudFR5cGVFbnRyaWVzLmxlbmd0aCwgMSk7
CisgICAgICB9IGVsc2UgeworICAgICAgICAvLyBUaGUgb3RoZXIgZXZlbnRzIGNvdWxkIGFsc28g
YmUgY29uc2lkZXJlZCBzbG93LiBGaW5kIHRoZSBvbmUgd2l0aCB0aGUgY29ycmVjdAorICAgICAg
ICAvLyB0YXJnZXQuCisgICAgICAgIGV2ZW50VHlwZUVudHJpZXMuZm9yRWFjaChlID0+IHsKKyAg
ICAgICAgICBpZiAoZS50YXJnZXQgPT09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQn
KSkKKyAgICAgICAgICAgIGVudHJ5ID0gZTsKKyAgICAgICAgfSk7CisgICAgICAgIGlmICghZW50
cnkpCisgICAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgdmVyaWZ5RXZlbnQoZW50cnks
CisgICAgICAgICAgICAgICAgICBldmVudFR5cGUsCisgICAgICAgICAgICAgICAgICAndGFyZ2V0
JywKKyAgICAgICAgICAgICAgICAgIGZhbHNlIC8qIGlzRmlyc3QgKi8sCisgICAgICAgICAgICAg
ICAgICBkdXJhdGlvblRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgIG5vdENhbmNlbGFibGUo
ZXZlbnRUeXBlKSk7CisgICAgICAvLyBTaG91bGRuJ3QgbmVlZCBhc3luYyB0ZXN0aW5nIGhlcmUg
c2luY2Ugd2UgYWxyZWFkeSBnb3QgdGhlIG9ic2VydmVyIGVudHJ5LCBidXQgbWlnaHQgYXMKKyAg
ICAgIC8vIHdlbGwgcmV1c2UgdGhlIG1ldGhvZC4KKyAgICAgIHRlc3RDb3VudHModCwgcmVzb2x2
ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAzKTsKKyAgfSkpOworICAv
LyBDYXVzZSBhIHNsb3cgZXZlbnQuCisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFy
Z2V0KTsKKyAgYXdhaXQgcGVyZk9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICdldmVudCcsIGR1cmF0
aW9uVGhyZXNob2xkOiBkdXJhdGlvblRocmVzaG9sZH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3Vy
Y2VzL3Nsb3ctaW1hZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
MmY5MTY1NWNmMzlmNThiNzk0MGYyYmVkYjRjNThiOGQ2OTlmMDFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkKQEAgLTAsMCArMSw3IEBACitpbXBvcnQgdGltZQor
CitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgIyBTbGVlcCBmb3IgNTAwbXMgdG8g
ZGVsYXkgb25sb2FkLgorICAgIHRpbWUuc2xlZXAoMC41KQorICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGIiQ2FjaGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOworICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBiImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2
NCxSMGxHT0RsaEFRQUJBSkFBQU1qSXlBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcyUzRCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQwMGYwMDBhZjM5ZGExZDZjNmVlYTNjZmEyYTI0YmYxYmUyN2Nm
NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCAr
MSwxOSBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0
aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGlu
IFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1
YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1
biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9y
dAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkg
dmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
K0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWlt
YWdlLnB5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
YWJpbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlN2ZiODk5MDViNTlmNzI4YzU5NDk3
ZWVjOWRmNGE3NTNlNzI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNT
IEV2ZW50IFRpbWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRyaWVzIGFyZSBub3QgcmV0
cmlldmFibGUgYnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRy
aWV2YWJpbGl0eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjQ3NWZj
NTI5NzRmZTJhZmRlMzU1MzMyNjUzYzgwMmM3YzVmMTZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0
cmlldmFiaWxpdHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG1ha2Ugc3VyZSAn
ZXZlbnQnIGVudHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzKiBBUElzLjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4K
KzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgZnVu
Y3Rpb24gdmFsaWRhdGVFbnRyaWVzKCkgeworICAgIGNvbnN0IGVudHJpZXNCeU5hbWUgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nLCAnZXZlbnQnKTsKKyAgICBjb25z
dCBlbnRyaWVzQnlUeXBlID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZXZlbnQnKTsK
KyAgICBjb25zdCBhbGxFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpOworICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc0J5TmFtZS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkg
c2hvdWxkIG5vdCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlOYW1lJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzQnlUeXBlLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBz
aG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJpZXNCeVR5cGUnKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGFsbEVudHJpZXMuZmlsdGVyKGUgPT4gZS5lbnRyeVR5cGUgPT09ICdldmVudCcp
Lmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxl
IGJ5IGdldEVudHJpZXMnKTsKKyAgfQorCisgIC8qIFRpbWVsaW5lOgorICAgICBCZWdpbiBCdXN5
IExvb3AKKyAgICAgQ2xpY2sgMSBhcnJpdmVzCisgICAgIEVuZCBCdXN5IExvb3AKKyAgICAgKERp
c3BhdGNoIGFuZCBQcm9jZXNzIENsaWNrIDEgLSBidWZmZXJlZCkKKyAgICAgT25sb2FkIEV2ZW50
IEZpcmVzCisgICAgIFZhbGlkYXRlIGVudHJpZXMKKyAgKi8KKyAgYXN5bmNfdGVzdChmdW5jdGlv
bih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFu
Y2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgaWYgKGVudHJ5TGlz
dC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKS5sZW5ndGggPiAwKSB7CisgICAgICAgIHZh
bGlkYXRlRW50cmllcygpOworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKyAgICB9KSkub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1
dHRvbicpOworICB9LCAiRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGltaW5nIGVudHJp
ZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKi4iKTsKKwor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQz
OWNkZjNiZjYxYmVkZmM3OWVhYjAzMzNlMWI3OGY3NDU5NWI4NWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVy
YXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5w
dXQgYWZ0ZXIgb25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmV0cmlldmUtZmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI3YjE3Y2QxODE2NWY5NzVmYmJkOThlN2RlMDdkYWQ3MTI1MWMxZmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmc6IGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBiZSBidWZmZXJlZCBldmVuIHdpdGhv
dXQgb2JzZXJ2ZXI8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGlj
aycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0
PgorCis8c2NyaXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1w
bGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBu
b3Qgc3VwcG9ydGVkLicpOworICAgIGZ1bmN0aW9uIHRlc3RFbnRyaWVzKCkgeworICAgICAgLy8g
Rmlyc3QgY2FsbGJhY2sgaXMgbm90IGVuc3VyZWQgdG8gaGF2ZSB0aGUgZW50cnkuCisgICAgICBp
ZiAocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGggPT09
IDApIHsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQodGVzdEVudHJpZXMsIDEwKTsKKyAgICAgICAg
cmV0dXJuOworICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpLmxlbmd0aCwgMSwKKyAgICAgICAgIlRoZXJlIHNob3Vs
ZCBiZSBhIGZpcnN0LWlucHV0IGVudHJ5IGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZSIpOwor
ICAgICAgY29uc3QgZW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJzdC1p
bnB1dCcpWzBdOworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCAnbW91c2Vkb3duJyk7
CisgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7Cisg
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAxMDQsCisgICAg
ICAgICJUaGUgZmlyc3QgaW5wdXQgd2FzIGEgbG9uZyBvbmUuIik7CisgICAgICB0LmRvbmUoKTsK
KyAgICB9CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhlbih0
LnN0ZXBfZnVuYyh0ZXN0RW50cmllcykpOworICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBm
aXJzdC1pbnB1dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xpY2suIgorICApOwor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJmODU4MDZmN2Y0MjFjZGYxZjkzMGYwNGIyZmIwZjkyZjZkYTkyMmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcgYW5kICdmaXJz
dC1pbnB1dCcuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9z
dXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBl
cy53aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2M0
MzQ5NWMwOTZmZDBjZDU2OGZhNTk4MzA1NWMwMzkwZjk0ZDQwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
c3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpAQCAtMCwwICsxLDEyIEBACit0ZXN0KCgpID0+IHsK
KyAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVu
dCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgYXNzZXJ0X2ltcGxlbWVudHModHlwZW9m
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyAhPT0gInVuZGVmaW5lZCIs
CisgICAgICAnc3VwcG9ydGVkRW50cnlUeXBlcyBpcyBub3Qgc3VwcG9ydGVkJyk7CisgIGNvbnN0
IHR5cGVzID0gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzOworICBhc3Nl
cnRfdHJ1ZSh0eXBlcy5pbmNsdWRlcygiZmlyc3QtaW5wdXQiKSwKKyAgICAiVGhlcmUgc2hvdWxk
IGJlICdmaXJzdC1pbnB1dCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5
cGVzIik7CisgIGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJldmVudCIpLAorICAgICJUaGVy
ZSBzaG91bGQgYmUgJ2V2ZW50JyBpbiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5
VHlwZXMiKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih0eXBlcy5pbmRleE9mKCJmaXJzdC1pbnB1
dCIpLCB0eXBlcy5pbmRleE9mKCdldmVudCcpLAorICAgICJUaGUgJ2ZpcnN0LWlucHV0JyBlbnRy
eSBzaG91bGQgYXBwZWFyIGFmdGVyIHRoZSAnZXZlbnQnIGVudHJ5Iik7Cit9LCAic3VwcG9ydGVk
RW50cnlUeXBlcyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjY2OTE1MzI2YmUwODZiMzUwNDZhMjQzODliNWYxZmQ2
MzRmYjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBU
aW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWY0NDQ4YzJhMTAzYTg1MTE1NDRmYmU3YmJmZDA3NjA3NzM3YTkwYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZyBvbmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVudC4KKzwvdGl0
bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24gaWQ9J2J1
dHRvbicgb25tb3VzZWRvd249J21haW5UaHJlYWRCdXN5KDYwKScKKyAgb25mb2N1cz0nbWFpblRo
cmVhZEJ1c3koNjApJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IHRydXN0ZWRD
bGlja1N0YXJ0OworICBmdW5jdGlvbiB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oaWQpIHsKKyAg
ICB0cnVzdGVkQ2xpY2tTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIHJldHVybiBjbGlj
a0FuZEJsb2NrTWFpbihpZCk7CisgIH0KKworICBmdW5jdGlvbiB1bnRydXN0ZWRDbGlja0FuZEJs
b2NrTWFpbihpZCkgeworICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KGlkKTsKKyAgICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgYXMgZGlzcGF0
Y2hFdmVudCgpIGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBN
b3VzZUV2ZW50KCdtb3VzZWRvd24nKSk7CisgIH0KKworICBmdW5jdGlvbiB0cnVzdGVkRm9jdXNB
bmRCbG9ja01haW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZCk7CisgICAgdHJ1c3RlZEZvY3VzU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAg
ICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgIGFzIGZvY3VzKCkgaXMgYSBz
eW5jIGNhbGwuCisgICAgdGFyZ2V0LmZvY3VzKCk7CisgIH0KKworICBwcm9taXNlX3Rlc3QoZnVu
Y3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2Vy
dmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBf
ZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrVGltZSA9
IHBlcmZvcm1hbmNlLm5vdygpOworICAgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlMaXN0
LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25vcmUgY2FzZXMg
aW4gd2hpY2ggdGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91c2VEb3ducy5s
ZW5ndGggPT09IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShv
YnNlcnZlZE1vdXNlRG93biwgJ0dvdCBtb3JlIHRoYW4gb25lIGNhbGxiYWNrIHdpdGggbW91c2Vk
b3duLicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLAorICAg
ICAgICAgICAgIlNob3VsZCBvbmx5IG9ic2VydmUgb25lIG1vdXNlZG93biBlbnRyeS4gSW5zdGVh
ZCwgZ290IHRoZXNlOiAiICsKKyAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1vdXNlRG93bnMp
ICsgIi4iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zWzBdLm5hbWUsICdtb3Vz
ZWRvd24nLAorICAgICAgICAgICAgIlRoZSBvYnNlcnZlZCBlbnRyeSBzaG91bGQgYmUgYSBtb3Vz
ZWRvd24iKTsKKyAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbihtb3VzZURvd25zWzBdLnN0YXJ0VGlt
ZSwgb2JzZXJ2ZXJDYWxsYmFja1RpbWUsCisgICAgICAgICAgICAiVGhlIHN0YXJ0VGltZSBzaG91
bGQgYmUgYmVmb3JlIG9ic2VydmVyQ2FsbGJhY2tUaW1lIik7CisgICAgICAgIGFzc2VydF9ncmVh
dGVyX3RoYW4obW91c2VEb3duc1swXS5zdGFydFRpbWUsIHRydXN0ZWRDbGlja1N0YXJ0LAorICAg
ICAgICAgICAgIlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGFmdGVyIHRydXN0ZWRDbGlja1N0YXJ0
Iik7CisgICAgICAgIG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgfSkpLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2V2ZW50J10gfSk7CisgICAgfSk7
CisgICAgLy8gVW50cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgY2FyZXMgYWJv
dXQuCisgICAgdW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIC8vIFRy
dXN0ZWQgZXZlbnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBkb2Vzbid0IGNhcmVzIGFib3V0Lgor
ICAgIHRydXN0ZWRGb2N1c0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgICAgLy8gVHJ1c3RlZCBl
dmVudCBvZiBhIHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIGNvbnN0IGNsaWNr
UHJvbWlzZSA9IHRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0KTsK
KyAgICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNlXSk7
CisgIH0sICJFdmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQg
ZXZlbnQuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy90b0pTT04tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOTdjNmViMTg4ZDRmYWRl
MjdjMDY5NWZjN2UwMTExMDYyNjFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0ZBSUwg
VGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLiBhc3NlcnRfZXF1YWxzOiBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMgdG9K
U09OIHZhbHVlIGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJidXR0
b24iPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmIyZGU0NzY3YzQyYTVkM2ZlOGE4NGNkZWY3YzUzNGFmYmNkNDRlMWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90b0pTT04uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiB0b0pTT048L3RpdGxl
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8YnV0dG9u
IGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdD4K
KyAgYXN5bmNfdGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQu
Jyk7CisgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAg
IHQuc3RlcF9mdW5jX2RvbmUoZnVuY3Rpb24oZW50cnlMaXN0KSB7CisgICAgICAgIGNvbnN0IGVu
dHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0
eXBlb2YoZW50cnkudG9KU09OKSwgJ2Z1bmN0aW9uJyk7CisgICAgICAgIGNvbnN0IGpzb24gPSBl
bnRyeS50b0pTT04oKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoanNvbiksICdvYmpl
Y3QnKTsKKyAgICAgICAgY29uc3Qga2V5cyA9IFsKKyAgICAgICAgICAvLyBQZXJmb3JtYW5jZUVu
dHJ5CisgICAgICAgICAgJ25hbWUnLAorICAgICAgICAgICdlbnRyeVR5cGUnLAorICAgICAgICAg
ICdzdGFydFRpbWUnLAorICAgICAgICAgICdkdXJhdGlvbicsCisgICAgICAgICAgLy8gUGVyZm9y
bWFuY2VFdmVudFRpbWluZworICAgICAgICAgICdwcm9jZXNzaW5nU3RhcnQnLAorICAgICAgICAg
ICdwcm9jZXNzaW5nRW5kJywKKyAgICAgICAgICAnY2FuY2VsYWJsZScsCisgICAgICAgICAgJ3Rh
cmdldCcsCisgICAgICAgIF07CisgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGpzb25ba2V5XSwgZW50cnlba2V5XSwKKyAgICAgICAgICAg
ICdQZXJmb3JtYW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMg
dG9KU09OIHZhbHVlJyk7CisgICAgICAgIH0KKyAgICAgIH0pCisgICAgKTsKKyAgICBvYnNlcnZl
ci5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRv
bicpOworICB9LCAnVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLicpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRiMjg4NjdmZGYyNzUwYmRkNzU1YmRhZGIzNmJjZDYwZDE0YjQ5
MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUzIEBACitU
aGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVw
b3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0Lgor
SW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBz
Oi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29s
cy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5P
VCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0
aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVx
dWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBm
aWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNs
aWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9ldmVudC1jb3VudHMtemVyby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0
LWlucHV0LXNoYWRvdy1kb20uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRp
b24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4t
ZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNlbGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNldXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1j
bGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1m
aXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0
aW9ucy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvdG9KU09OLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9w
dGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0YmU2MWU2
NzA5YzNmODEzN2QyNWE1MzkyMjZjODg5MTRkMzg4OWYyLi43N2FhMWQ0MDc5NzE5MGRiYWVjYWFj
Nzk1ZDk2NWE0MWU1ZDUzMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25z
Lmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xMzU4LDYgKzEz
NTgsMjEgQEAKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQt
bWVkaWEvZHJtLXRlbXBvcmFyeS1saWNlbnNlLXR5cGUuaHR0cHMuaHRtbCI6IFsKICAgICAgICAg
InNsb3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAg
ICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRt
bCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCI6IFsKKyAgICAgICAgInNs
b3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAg
ICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29u
ZGl0aW9ucy5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL2RlZGljYXRlZC13b3JrZXIvZXZlbnRz
b3VyY2UtY29uc3RydWN0b3Itbm9uLXNhbWUtb3JpZ2luLmh0bSI6IFsKICAgICAgICAgInNsb3ci
CiAgICAgXSwKQEAgLTMwNzcsNCArMzA5Miw0IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3aWNlLmh0bWwi
OiBbCiAgICAgICAgICJzbG93IgogICAgIF0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405839</attachid>
            <date>2020-08-03 09:24:54 -0700</date>
            <delta_ts>2020-08-04 00:27:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200803182451.patch</filename>
            <type>text/plain</type>
            <size>174045</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQyZTI3NjlhNmQ2Nzlk
NDNjNDI5OTIxZTNiODJkNjAyMGQ3OTk3OC4uZDdjZDE1MDM2NzY1MjA4ZTBmNzU0MDQzM2U0ODcw
NzE2NGE0M2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wOC0wMyAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDgtMDIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBz
b21lIG1lbWJlciBmdW5jdGlvbnMgb2YgUmFuZ2UgYW5kIG1hbnkgY2FsbHMgdG8gY3JlYXRlTGl2
ZVJhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGIwM2ZmYWYwMGMxZGRmZDUxZDE4ZTg1ZDFj
ZDg2NDFhOWI5N2Q5ZDMuLjA3YWMyNTE1ODU0YjNhMmJkZGZjYTlhZDdmYzM5OTgzMjQzMTJlNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NzYsNiArOTc2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlv
bi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAog
ICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAg
cGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5Myw2ICs5OTQsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFn
ZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IGY3ZDJjZGNmZGE3NzI1NjU3MTlmYzZmOTc2ZWEzNzhjZWZhYTA0NWIuLmVi
ZTA3ZjMyYTBmYTZmMmM3MTg5MWU2ZDVmM2JiNDMxZDVmOGJmODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQ1LDYgKzk0NSw3IEBA
ICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5
cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMu
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikv
cGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1h
bmNlLmlkbApAQCAtOTYzLDYgKzk2NCw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9y
U2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRs
CiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAk
KFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1NjUxMWRmZWQwNmQzNTZjZTc1NGQ0
MWE3ZTNhNjA5YTExODI2NTg3Li45NDc5ZjBlOGVjYTZkZmVhNTE2ZGUyMjQ3ZmYyNDY0YmQ4OTcy
OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtNTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJ
bml0LmNwcApAQCAtMTMwOCw2ICsxMzEwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVu
dHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJr
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9y
bWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmUzNWY5
NjE4ZDY0NzFkYWE2MzBmYWU5MjY3YzE2OTc3MjFmNDZjYS4uNGZjMDliZmI0NzIyNTQ5YWNkYjVj
NTc2OWUyNDRlMzQ5ZGI1MjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05
NjQsNiArOTY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9D
cnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVu
dENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
R2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk4Miw2ICs5ODMsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlYWQz
NjFiOWVmNjgxYjhjOGE3MDA5ODFlZWVmMTk5Y2M0ODQ2MzMyLi41MGMwYjk4NTViZTBiNTFjZWM5
NGJiMWVlYmMxODg2NTk5NmMyMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEw
IEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRp
b25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVy
ZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIu
Y3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAK
IHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAK
IHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzNiw2ICsyODM5LDcgQEAgSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JF
dmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3Bw
CiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNzAsNiAr
MzE3NCw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5j
cHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VN
ZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDE4YmJhN2U2NGUw
ZjJhMTY2ZmFjMjJmMDc4MDYyNjAwNGRlMGNmNy4uM2E1Y2FlMmQ0ZTNmYTU4MGNmMzljYjc5ZTgy
YjIzOGM5MjRjZjU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzQ1MCw2ICszNDUwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3
RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVU
eXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBl
QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5
RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJ
QUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1
RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsg
fTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBE
NTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRD
IC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFn
ZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4
NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAx
NkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1
QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ2NSw4ICszNDY2
LDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgg
Ki87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1Zv
aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdG
RUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9Owog
CQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1
MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5o
ICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNz
aWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5o
ICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFF
QjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsK
IAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIy
NDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8q
IFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGlu
ZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjUyMiw2ICsxMjUy
NSw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0
aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2
QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01X
aW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTI1NTIsNiArMTI1NTcsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVl
Y2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMg
LyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0
ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYy
NENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJF
Rjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhG
MjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTY2
LDYgKzEyNTc0LDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFB
RTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUy
NEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVC
OEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2Vi
U29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8q
IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjEyNjksMTEgKzIxMjgwLDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1
IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEw
MDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4
Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYw
MEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8q
IEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZl
bnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRI
YW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNl
LmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAq
LywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAor
CQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJ
QUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNC
RTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNC
RTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4Nzgz
MEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzNTgsNiArMjEz
NzQsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5
LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRy
eS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5
LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0
IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3
MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlF
QUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA4MzYsNiArMzA4
NTUsNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2
ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhF
QjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDg1NCw2ICsz
MDg3NCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29u
Y3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBF
dmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFB
MTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9u
Q29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjc5NCw2ICszMjgxNSw3IEBACiAJCQkJRTNGQTM4
NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnku
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3
MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZF
MzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2
Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdj
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VF
bnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3Jt
YW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJm
b3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5o
IgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9i
YWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50
VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlz
PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaAppbmRleCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFi
Li5mMjkzNTg2ZDY4NDNlOGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiAr
MTg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2Jh
bFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAog
ICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDQ3YjQ3YjMyNGVkYjNhZWQ3NWY2MjMyYTM3MDNjZjlhNGI2YjQ0ZjAuLmEzYWIz
NzVjNmUzYzMzZWY2Y2JkNzZhNDgxMTA2Y2FmMzEyOWYxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzE5OSw2ICszMTk5LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRp
bWluZ0VudHJ5SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKIH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1kaXNwYXRjaC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRy
aWVzSWZOZWVkZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNo
UGVuZGluZ0V2ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3
cml0ZShEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4
dCkKIHsKICAgICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCA2YjBjNWQ5MzY2MmZmNTIxMjE4ZjhhZTJkN2Q3ZmRkOGJjZjAyZThkLi4yZWYyZTU1
NTUxM2M1ZDBiYTJiMTBmMmYxNzRjOGU3MzRkN2I1YTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtMTU3OCw2ICsxNTc4LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0
b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7
CiAKKyAgICB2b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAg
RWRpdG9yJiBlZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYg
ZWRpdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYg
c2VsZWN0aW9uKCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3
NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBA
IC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5v
ZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9w
cGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQ
YXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZl
bnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAg
ICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQo
KS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQs
IGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50
VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwg
ZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE1NGQ3YmMwMDA5YmZmNTYzMDFj
NDY5NTFjNzZhZmMzYjRlNzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRDb3VudHMu
aCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIK
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXZlbnRDb3VudHM6OkV2ZW50Q291bnRzKCkKK3sK
KyAgICBzdGF0aWMgY29uc3QgYXV0byBldmVudFR5cGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZl
Y3RvcjxBdG9tU3RyaW5nPiB7CisgICAgICAgIC8qIE1vdXNlRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCwgZXZl
bnROYW1lcygpLmRibGNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLm1vdXNlZW50ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlbGVh
dmVFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMo
KS5tb3VzZW92ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCwKKyAgICAgICAgLyog
UG9pbnRlckV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcm92ZXJFdmVudCwg
ZXZlbnROYW1lcygpLnBvaW50ZXJlbnRlckV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkucG9p
bnRlcmRvd25FdmVudCwgZXZlbnROYW1lcygpLnBvaW50ZXJ1cEV2ZW50LAorICAgICAgICBldmVu
dE5hbWVzKCkucG9pbnRlcmNhbmNlbEV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcm91dEV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcmxlYXZlRXZlbnQsIGV2ZW50TmFtZXMoKS5n
b3Rwb2ludGVyY2FwdHVyZUV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkubG9zdHBvaW50ZXJj
YXB0dXJlRXZlbnQsCisgICAgICAgIC8qIFRvdWNoRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFt
ZXMoKS50b3VjaHN0YXJ0RXZlbnQsIGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwKKyAgICAgICAgLyogS2V5Ym9hcmRFdmVu
dHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmtleWRvd25FdmVudCwgZXZlbnROYW1lcygpLmtl
eXByZXNzRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5rZXl1cEV2ZW50LAorICAgICAgICAv
KiBJbnB1dEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkuYmVmb3JlaW5wdXRFdmVudCwg
ZXZlbnROYW1lcygpLmlucHV0RXZlbnQsCisgICAgICAgIC8qIENvbXBvc2l0aW9uRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbnN0YXJ0RXZlbnQsCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jb21wb3NpdGlvbnVwZGF0ZUV2ZW50LCBldmVudE5hbWVzKCkuY29tcG9zaXRp
b25lbmRFdmVudCwKKyAgICAgICAgLyogRHJhZyAmIERyb3AgRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLmRyYWdlbmRFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmRyYWdlbnRlckV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2xlYXZl
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2ZW50LCBldmVudE5hbWVzKCku
ZHJvcEV2ZW50LAorICAgIH0pOworICAgIGZvciAoY29uc3QgYXV0byYgdHlwZSA6IGV2ZW50VHlw
ZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7Cit9CisKK3ZvaWQgRXZlbnRD
b3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3Ig
KGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5zZXQ8SURMRE9NU3RyaW5nLCBJ
RExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZhbHVlLnZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQg
RXZlbnRDb3VudHM6OmFkZChjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgYXV0byBpdCA9IG1f
bWFwLmZpbmQodHlwZSk7CisgICAgaXQtPnZhbHVlID0gaXQtPnZhbHVlICsgMTsKK30KKwordW5z
aWduZWQgRXZlbnRDb3VudHM6OmdldChjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fbWFwLmdldCh0eXBlKTsKK30KKwordW5zaWduZWQgRXZlbnRDb3VudHM6OnNpemUo
KSBjb25zdAoreworICAgIHJldHVybiBtX21hcC5zaXplKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjQ4ODFkMGYw
Yzk5YzhjMmFmM2RhNTQ0NTIyYWM1YTIzMmRjNzI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgRE9NU3RyaW5nOworCitjbGFzcyBFdmVu
dENvdW50cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50Q291bnRzPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxFdmVudENvdW50cz4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBFdmVudENvdW50cyk7IH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFw
QWRhcHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIHVuc2lnbmVkKTsK
KworICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4mIG1hcCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWFwOyB9CisKKyAgICB2b2lkIGFkZChjb25zdCBTdHJpbmcmIHR5cGUpOworICAgIHVu
c2lnbmVkIGdldChjb25zdCBTdHJpbmcmKSBjb25zdDsKKworICAgIHVuc2lnbmVkIHNpemUoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5n
LCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZGEzMjUxNmI3OTAyNjdjNWM4ODg1
ZDAzZTA0YzUyNjJmYjU1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1w
ZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBnZXQoRE9NU3RyaW5nIHR5cGUpOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzNWQ2ZjBhMjc5MTNlMWRhOGU3NTZlOGNl
MmFhMmVkNzE1ZjhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKwor
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRU
aW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1f
c3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdT
dGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25z
dCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9m
IGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRz
IHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRo
ZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIg
Y2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVu
dENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBv
biB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10
aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQor
ICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQo
KQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2
ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRF
dmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZl
bnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0
cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRv
dywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRp
bWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBl
cmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgp
LmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpIHsKKyAgICAgICAgLy8gZXZlbnQgdGltZSBzdGFt
cCBjYW4gYmUgYWhlYWQgb2Ygbm93LCBwcm9iYWJseSBiZWNhdXNlIGlzIGlzIHdhbGx0aW1lIGJh
c2VkIGFuZCBhcHByb3hpbWF0ZS4KKyAgICAgICAgYXV0byB0aW1lU3RhbXAgPSBzdGQ6Om1pbihN
b25vdG9uaWNUaW1lOjpub3coKSwgZXZlbnQudGltZVN0YW1wKCkpOworICAgICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCkucmVsYXRpdmVUaW1l
RnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKHRpbWVTdGFtcCksIHdpbmRvdy5wZXJm
b3JtYW5jZSgpLm5vdygpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
RXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXpl
RXZlbnRUaW1pbmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQs
IGV2ZW50LmNhbmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5
YjY3ZGZiNzc0MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xh
c3MgRE9NV2luZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVu
dFRpbWluZz4gY3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBF
dmVudFRpbWluZyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKwor
ICAgIHZvaWQgZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50
Jik7CisKK3ByaXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3By
b2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDIwODM1ODZjMjczYmU1YmU1NDg3NzJhMWY1NDZmZjk0YjNmNzNkMmEuLmM2MjYy
ZjU4MDAwMGNmZWIwNjNjZTA3MWRlNzNlNjFjZTczZjc5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMTUyOCw2ICsxNTI4LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygp
CiAgICAgICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAg
ICB9KTsKIAorICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Cisg
ICAgICAgIGRvY3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAg
IH0pOworCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAg
ICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5
NTM2M2U1MWMwYzU1NzYuLjU5N2IyMTBlOWE2MzQ4NGM5YzRhYzcyM2NiOTU2M2MxMjI4YmE0NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtMTE4LDEwICsxMjAsMjEgQEAgUGVyZm9y
bWFuY2VUaW1pbmcqIFBlcmZvcm1hbmNlOjp0aW1pbmcoKQogICAgIHJldHVybiBtX3RpbWluZy5n
ZXQoKTsKIH0KIAorRXZlbnRDb3VudHMqIFBlcmZvcm1hbmNlOjpldmVudENvdW50cygpCit7Cisg
ICAgaWYgKCFtX2V2ZW50Q291bnRzKQorICAgICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3Vu
dHM6OmNyZWF0ZSgpOworICAgIHJldHVybiBtX2V2ZW50Q291bnRzLmdldCgpOworfQorCisKIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRyaWVzKCkg
Y29uc3QKIHsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBlbnRyaWVzOwog
CisgICAgaWYgKG1fZmlyc3RJbnB1dFRpbWluZykKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9m
aXJzdElucHV0VGltaW5nKTsKKwogICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fcmVzb3VyY2VU
aW1pbmdCdWZmZXIpOwogCiAgICAgaWYgKG1fdXNlclRpbWluZykgewpAQCAtMTQ2LDYgKzE1OSw5
IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNlOjpnZXRFbnRy
aWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50CiAgICAgaWYgKG1fZmlyc3RDb250ZW50ZnVsUGFp
bnQgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAicGFpbnQiKSkK
ICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWludCk7CiAKKyAgICBp
ZiAobV9maXJzdElucHV0VGltaW5nICYmIGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVu
dHJ5VHlwZSwgImZpcnN0LWlucHV0IikpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJ
bnB1dFRpbWluZyk7CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJtYXJrIikpCiAgICAgICAgICAg
ICBlbnRyaWVzLmFwcGVuZFZlY3RvcihtX3VzZXJUaW1pbmctPmdldE1hcmtzKCkpOwpAQCAtMTcx
LDYgKzE4Nyw5IEBAIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IFBlcmZvcm1hbmNl
OjpnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0cmluZyYgbmFtCiAgICAgaWYgKG1fZmlyc3RDb250
ZW50ZnVsUGFpbnQgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKSAmJiBuYW1lID09ICJmaXJzdC1jb250ZW50
ZnVsLXBhaW50IikKICAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdENvbnRlbnRmdWxQYWlu
dCk7CiAKKyAgICBpZiAobV9maXJzdElucHV0VGltaW5nICYmIChlbnRyeVR5cGUuaXNOdWxsKCkg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3QtaW5wdXQi
KSkgJiYgbmFtZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2Zp
cnN0SW5wdXRUaW1pbmcpOworCiAgICAgaWYgKG1fdXNlclRpbWluZykgewogICAgICAgICBpZiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5kVmVjdG9yKG1fdXNlclRp
bWluZy0+Z2V0TWFya3MobmFtZSkpOwpAQCAtMjAxLDYgKzIyMCw0OCBAQCB2b2lkIFBlcmZvcm1h
bmNlOjpyZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpCiAgICAgcXVldWVFbnRyeSgqbV9maXJz
dENvbnRlbnRmdWxQYWludCk7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9ldmVudFRpbWluZ0J1ZmZlci5zaXpl
KCkgPj0gMTUwOworfQorCit2b2lkIFBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZlcihQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBpZiAoIWlzRXZlbnRUaW1pbmdC
dWZmZXJGdWxsKCkpCisgICAgICAgIG1fZXZlbnRUaW1pbmdCdWZmZXIuYXBwZW5kKCZlbnRyeSk7
Cit9CisKK3ZvaWQgUGVyZm9ybWFuY2U6OmZpbmFsaXplRXZlbnRUaW1pbmcoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgYm9v
bCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQoreworICAgIGF1dG8gZW50cnkgPSBQ
ZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGUodHlwZSwgc3RhcnRUaW1lLCBwcm9jZXNzaW5n
U3RhcnQsIG5vdygpLCBjYW5jZWxhYmxlLCB0YXJnZXQpOworICAgIG1fZXZlbnRUaW1pbmdzLmFw
cGVuZChXVEZNb3ZlKGVudHJ5KSk7CisgICAgZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1pbmcoKTsK
K30KKwordm9pZCBQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1pbmcoKQorewor
ICAgIGF1dG8gcmVuZGVyaW5nVGltZXN0YW1wID0gbm93KCk7CisgICAgd2hpbGUgKCFtX2V2ZW50
VGltaW5ncy5pc0VtcHR5KCkpIHsKKyAgICAgICAgUmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmc+IGVudHJ5ID0gbV9ldmVudFRpbWluZ3MudGFrZUZpcnN0KCk7CisgICAgICAgIGlmICghbV9l
dmVudENvdW50cykKKyAgICAgICAgICAgIG1fZXZlbnRDb3VudHMgPSBFdmVudENvdW50czo6Y3Jl
YXRlKCk7CisgICAgICAgIG1fZXZlbnRDb3VudHMtPmFkZChlbnRyeS0+bmFtZSgpKTsKKworICAg
ICAgICBpbnQgZHVyYXRpb25Jbk1zID0gc3RkOjpyb3VuZCgocmVuZGVyaW5nVGltZXN0YW1wIC0g
ZW50cnktPnN0YXJ0VGltZSgpKSAvIDgpICogODsKKyAgICAgICAgZW50cnktPnNldER1cmF0aW9u
KGR1cmF0aW9uSW5Ncyk7CisKKyAgICAgICAgaWYgKCFtX2ZpcnN0SW5wdXRUaW1pbmcpIHsKKyAg
ICAgICAgICAgIGlmIChlbnRyeS0+bmFtZSgpID09ICJjbGljayIgfHwgZW50cnktPm5hbWUoKSA9
PSAia2V5ZG93biIgfHwgZW50cnktPm5hbWUoKSA9PSAibW91c2Vkb3duIikgeworICAgICAgICAg
ICAgICAgIG1fZmlyc3RJbnB1dFRpbWluZyA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OmNyZWF0
ZUZpcnN0SW5wdXRUaW1pbmcoKmVudHJ5KTsKKyAgICAgICAgICAgICAgICBxdWV1ZUVudHJ5KCpt
X2ZpcnN0SW5wdXRUaW1pbmcpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHF1
ZXVlRW50cnkoKmVudHJ5KTsKKyAgICAgICAgaWYgKGR1cmF0aW9uSW5NcyA+PSAxMDQgJiYgIWlz
RXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpCisgICAgICAgICAgICBtX2V2ZW50VGltaW5nQnVmZmVy
LmFwcGVuZChXVEZNb3ZlKGVudHJ5KSk7CisgICAgfQorfQorCiB2b2lkIFBlcmZvcm1hbmNlOjph
ZGRSZXNvdXJjZVRpbWluZyhSZXNvdXJjZVRpbWluZyYmIHJlc291cmNlVGltaW5nKQogewogICAg
IEFTU0VSVChzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwpAQCAtMzQ2LDcgKzQwNyw3IEBAIHZv
aWQgUGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkoUGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpCiB7CiAg
ICAgYm9vbCBzaG91bGRTY2hlZHVsZVRhc2sgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIG9ic2Vy
dmVyIDogbV9vYnNlcnZlcnMpIHsKLSAgICAgICAgaWYgKG9ic2VydmVyLT50eXBlRmlsdGVyKCku
Y29udGFpbnMoZW50cnkudHlwZSgpKSkgeworICAgICAgICBpZiAob2JzZXJ2ZXItPnR5cGVGaWx0
ZXIoKS5jb250YWlucyhlbnRyeS50eXBlKCkpICYmIG9ic2VydmVyLT5jYW5PYnNlcnZlKGVudHJ5
KSkgewogICAgICAgICAgICAgb2JzZXJ2ZXItPnF1ZXVlRW50cnkoZW50cnkpOwogICAgICAgICAg
ICAgc2hvdWxkU2NoZWR1bGVUYXNrID0gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5oCmluZGV4IGY2MzFjNmQzYzQ1ZjAzNTIwOTA0OGNjNTg5M2ZlY2Y0Y2I2OGM5ODEu
LmYzNjZiYmM1ZjM2ODVlNWM2OTQ1ODcwNmI0MWE4YzRlODhkZGMzYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmgKQEAgLTQyLDggKzQyLDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorY2xhc3MgRXZlbnRDb3VudHM7CiBjbGFzcyBMb2FkVGltaW5nOwogY2xhc3MgUGVyZm9ybWFu
Y2VFbnRyeTsKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc7CiBjbGFzcyBQZXJmb3JtYW5j
ZU5hdmlnYXRpb247CiBjbGFzcyBQZXJmb3JtYW5jZU9ic2VydmVyOwogY2xhc3MgUGVyZm9ybWFu
Y2VQYWludFRpbWluZzsKQEAgLTY1LDYgKzY3LDggQEAgcHVibGljOgogICAgIFBlcmZvcm1hbmNl
TmF2aWdhdGlvbiogbmF2aWdhdGlvbigpOwogICAgIFBlcmZvcm1hbmNlVGltaW5nKiB0aW1pbmco
KTsKIAorICAgIEV2ZW50Q291bnRzKiBldmVudENvdW50cygpOworCiAgICAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gZ2V0RW50cmllcygpIGNvbnN0OwogICAgIFZlY3RvcjxSZWZQ
dHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVudHJpZXNCeVR5cGUoY29uc3QgU3RyaW5nJiBlbnRy
eVR5cGUpIGNvbnN0OwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGdldEVu
dHJpZXNCeU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGVudHJ5VHlwZSkg
Y29uc3Q7CkBAIC04Miw2ICs4NiwxNCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcG9ydEZpcnN0
Q29udGVudGZ1bFBhaW50KCk7CiAKKyAgICBib29sIGZpcnN0SW5wdXREZXRlY3RlZCgpIGNvbnN0
IHsgcmV0dXJuICEhbV9maXJzdElucHV0VGltaW5nOyB9CisKKyAgICBib29sIGlzRXZlbnRUaW1p
bmdCdWZmZXJGdWxsKCkgY29uc3Q7CisgICAgdm9pZCBhZGRFdmVudFRpbWluZ0J1ZmZlcihQZXJm
b3JtYW5jZUV2ZW50VGltaW5nJik7CisKKyAgICB2b2lkIGZpbmFsaXplRXZlbnRUaW1pbmcoY29u
c3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdT
dGFydCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCopOworICAgIHZvaWQgZGlzcGF0Y2hQ
ZW5kaW5nRXZlbnRUaW1pbmcoKTsKKwogICAgIHZvaWQgcmVtb3ZlQWxsT2JzZXJ2ZXJzKCk7CiAg
ICAgdm9pZCByZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNlcnZlciYp
OwogICAgIHZvaWQgdW5yZWdpc3RlclBlcmZvcm1hbmNlT2JzZXJ2ZXIoUGVyZm9ybWFuY2VPYnNl
cnZlciYpOwpAQCAtMTEyLDExICsxMjQsMTYgQEAgcHJpdmF0ZToKIAogICAgIG11dGFibGUgUmVm
UHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwogICAgIG11dGFibGUgUmVm
UHRyPFBlcmZvcm1hbmNlVGltaW5nPiBtX3RpbWluZzsKKyAgICBtdXRhYmxlIFJlZlB0cjxFdmVu
dENvdW50cz4gbV9ldmVudENvdW50czsKIAogICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9y
ZXNvdXJjZS10aW1pbmcvI2V4dGVuc2lvbnMtcGVyZm9ybWFuY2UtaW50ZXJmYWNlIHJlY29tbWVu
ZHMgc2l6ZSBvZiAxNTAuCiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gbV9y
ZXNvdXJjZVRpbWluZ0J1ZmZlcjsKICAgICB1bnNpZ25lZCBtX3Jlc291cmNlVGltaW5nQnVmZmVy
U2l6ZSB7IDE1MCB9OwogCisgICAgRGVxdWU8UmVmUHRyPFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+
PiBtX2V2ZW50VGltaW5nczsKKworICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFdmVudFRp
bWluZz4+IG1fZXZlbnRUaW1pbmdCdWZmZXI7CisKICAgICBUaW1lciBtX3Jlc291cmNlVGltaW5n
QnVmZmVyRnVsbFRpbWVyOwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1f
YmFja3VwUmVzb3VyY2VUaW1pbmdCdWZmZXI7CiAKQEAgLTEyOSw2ICsxNDYsOCBAQCBwcml2YXRl
OgogICAgIFJlZlB0cjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPiBtX2ZpcnN0Q29udGVudGZ1bFBh
aW50OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxVc2VyVGltaW5nPiBtX3VzZXJUaW1pbmc7CiAKKyAg
ICBSZWZQdHI8UGVyZm9ybWFuY2VFdmVudFRpbWluZz4gbV9maXJzdElucHV0VGltaW5nOworCiAg
ICAgR2VuZXJpY1Rhc2tRdWV1ZTxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBtX3BlcmZvcm1hbmNl
VGltZWxpbmVUYXNrUXVldWU7CiAgICAgTGlzdEhhc2hTZXQ8UmVmUHRyPFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXI+PiBtX29ic2VydmVyczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsCmlu
ZGV4IDc0MTM2N2ZiMTFhODA5OTU1NDNmYjc3NDVlNWE0ZDI4MzllMDVmOGIuLjY4ZWI0ZTM1OGRm
MzQzZjVkODM1ZWVhZWUzNWQzMmU3MGE4M2I5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2UuaWRsCkBAIC01OSw2ICs1OSw5IEBAIHR5cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3Rh
bXA7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRpbWluZ10gdm9pZCBjbGVhck1hcmtzKG9w
dGlvbmFsIERPTVN0cmluZyBtYXJrTmFtZSk7CiAgICAgW0VuYWJsZWRBdFJ1bnRpbWU9VXNlclRp
bWluZywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgbWVhc3VyZShET01TdHJpbmcgbWVhc3VyZU5h
bWUsIG9wdGlvbmFsIERPTVN0cmluZyBzdGFydE1hcmssIG9wdGlvbmFsIERPTVN0cmluZyBlbmRN
YXJrKTsKICAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB2b2lkIGNsZWFyTWVhc3Vy
ZXMob3B0aW9uYWwgRE9NU3RyaW5nIG1lYXN1cmVOYW1lKTsKKworICAgIC8vIGh0dHBzOi8vd2lj
Zy5naXRodWIuaW8vZXZlbnQtdGltaW5nLyNzZWMtZXh0ZW5zaW9ucworICAgIFtFeHBvc2VkPVdp
bmRvdywgU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50Q291bnRzIGV2ZW50Q291
bnRzOwogfTsKIAogdHlwZWRlZiBzZXF1ZW5jZTxQZXJmb3JtYW5jZUVudHJ5PiBQZXJmb3JtYW5j
ZUVudHJ5TGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VF
bnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCmluZGV4
IDQyYzA1MWU4NWUyMmMxMmY3ZmNiMzM1NGJkOTkxMTk4YmYyNzM3ODkuLjNhZGY3M2E3OTYyYjk0
MWQ1N2EzYzNkYTgxNGYxZjQ1YmVjZWZjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUVudHJ5LmNwcApAQCAtNDksNiArNDksMTIgQEAgUGVyZm9ybWFuY2VFbnRyeTo6flBlcmZv
cm1hbmNlRW50cnkoKSA9IGRlZmF1bHQ7CiAKIE9wdGlvbmFsPFBlcmZvcm1hbmNlRW50cnk6OlR5
cGU+IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKGNvbnN0IFN0cmluZyYg
ZW50cnlUeXBlKQogeworICAgIGlmIChlbnRyeVR5cGUgPT0gImV2ZW50IikKKyAgICAgICAgcmV0
dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OkV2ZW50KTsKKworICAgIGlmIChlbnRyeVR5cGUgPT0g
ImZpcnN0LWlucHV0IikKKyAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6OkZpcnN0
SW5wdXQpOworCiAgICAgaWYgKGVudHJ5VHlwZSA9PSAibmF2aWdhdGlvbiIpCiAgICAgICAgIHJl
dHVybiBPcHRpb25hbDxUeXBlPihUeXBlOjpOYXZpZ2F0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnkuaAppbmRleCBhZmFjZmIwOTBiMjFjYmE2MTRkNzhjZTg4YWM3NTNl
MjY3M2UxMjY1Li5hNGFkMjMxNGUwODQwNDdjNWUxOThiOWJjMjNlZGIyZGYyNzExZjg5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaApAQCAtNDYsMTMgKzQ2LDE2IEBAIHB1
YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0K
ICAgICBkb3VibGUgc3RhcnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9zdGFydFRpbWU7IH0KICAg
ICBkb3VibGUgZHVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX2R1cmF0aW9uOyB9CisgICAgdm9p
ZCBzZXREdXJhdGlvbihkb3VibGUgZHVyYXRpb24pIHsgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOyB9
CiAKICAgICBlbnVtIGNsYXNzIFR5cGUgewogICAgICAgICBOYXZpZ2F0aW9uICA9IDEgPDwgMCwK
ICAgICAgICAgTWFyayAgICAgICAgPSAxIDw8IDEsCiAgICAgICAgIE1lYXN1cmUgICAgID0gMSA8
PCAyLAogICAgICAgICBSZXNvdXJjZSAgICA9IDEgPDwgMywKLSAgICAgICAgUGFpbnQgICAgICAg
PSAxIDw8IDQKKyAgICAgICAgUGFpbnQgICAgICAgPSAxIDw8IDQsCisgICAgICAgIEV2ZW50ICAg
ICAgID0gMSA8PCA1LAorICAgICAgICBGaXJzdElucHV0ICA9IDEgPDwgNgogICAgIH07CiAKICAg
ICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKQEAgLTY0LDYgKzY3LDggQEAgcHVibGlj
OgogICAgIGJvb2wgaXNNYXJrKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5cGU6Ok1hcms7
IH0KICAgICBib29sIGlzTWVhc3VyZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpN
ZWFzdXJlOyB9CiAgICAgYm9vbCBpc1BhaW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFR5
cGU6OlBhaW50OyB9CisgICAgYm9vbCBpc0V2ZW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09
IFR5cGU6OkV2ZW50OyB9CisgICAgYm9vbCBpc0ZpcnN0SW5wdXQoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6Rmlyc3RJbnB1dDsgfQogCiAgICAgc3RhdGljIGJvb2wgc3RhcnRUaW1l
Q29tcGFyZUxlc3NUaGFuKGNvbnN0IFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiYgYSwgY29uc3Qg
UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+JiBiKQogICAgIHsKQEAgLTc2LDcgKzgxLDcgQEAgcHJv
dGVjdGVkOgogcHJpdmF0ZToKICAgICBjb25zdCBTdHJpbmcgbV9uYW1lOwogICAgIGNvbnN0IGRv
dWJsZSBtX3N0YXJ0VGltZTsKLSAgICBjb25zdCBkb3VibGUgbV9kdXJhdGlvbjsKKyAgICBkb3Vi
bGUgbV9kdXJhdGlvbjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZjM3
Mzk5NzIzMzE1OTM5NjRhYjdmM2UyYTYyNjRkNjc5NTFlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEs
ODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9u
LgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgorCisjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGVy
Zm9ybWFuY2VFdmVudFRpbWluZzo6UGVyZm9ybWFuY2VFdmVudFRpbWluZyhjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlJiBlbnRyeVR5cGUsIGRvdWJs
ZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNzaW5nRW5k
LCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0KiB0YXJnZXQpCisgICAgOiBQZXJmb3JtYW5j
ZUVudHJ5KHR5cGUsIHN0YXJ0VGltZSwgMC4wKQorICAgICwgbV9wcm9jZXNzaW5nU3RhcnQocHJv
Y2Vzc2luZ1N0YXJ0KQorICAgICwgbV9wcm9jZXNzaW5nRW5kKHByb2Nlc3NpbmdFbmQpCisgICAg
LCBtX2NhbmNlbGFibGUoY2FuY2VsYWJsZSkKKyAgICAsIG1fZW50cnlUeXBlKGVudHJ5VHlwZSkK
KyAgICAsIG1fdGFyZ2V0KHRhcmdldCkKK3sKK30KKworUmVmPFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmc+IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcoY29uc3Qg
UGVyZm9ybWFuY2VFdmVudFRpbWluZyYgZW50cnkpCit7CisgICAgYXV0byBldmVudFRpbWluZyA9
IGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VFdmVudFRpbWluZyhlbnRyeS5uYW1lKCksIFBlcmZv
cm1hbmNlRW50cnk6OlR5cGU6OkZpcnN0SW5wdXQsIGVudHJ5LnN0YXJ0VGltZSgpLCBlbnRyeS5w
cm9jZXNzaW5nU3RhcnQoKSwgZW50cnkucHJvY2Vzc2luZ0VuZCgpLCBlbnRyeS5jYW5jZWxhYmxl
KCksIGVudHJ5LnRhcmdldCgpKSk7CisgICAgZXZlbnRUaW1pbmctPnNldER1cmF0aW9uKGVudHJ5
LmR1cmF0aW9uKCkpOworICAgIHJldHVybiBldmVudFRpbWluZzsKK30KKworc3RhdGljIGJvb2wg
Y2FuRXhwb3NlTm9kZShOb2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXND
b25uZWN0ZWQoKSB8fCBub2RlLT5jb250YWluaW5nU2hhZG93Um9vdCgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoIW5vZGUtPmRvY3VtZW50KCkuaXNGdWxseUFjdGl2ZSgpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworTm9kZSogUGVy
Zm9ybWFuY2VFdmVudFRpbWluZzo6dGFyZ2V0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fdGFyZ2V0
IHx8ICFtX3RhcmdldC0+aXNOb2RlKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1
dG8qIG5vZGUgPSBkb3duY2FzdDxOb2RlPihtX3RhcmdldCk7CisgICAgcmV0dXJuIGNhbkV4cG9z
ZU5vZGUobm9kZSkgPyBub2RlIDogbnVsbHB0cjsKK30KKworQVNDSUlMaXRlcmFsIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmc6OmVudHJ5VHlwZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZW50cnlU
eXBlID09IFR5cGU6OkZpcnN0SW5wdXQgPyAiZmlyc3QtaW5wdXQiX3MgOiAiZXZlbnQiX3M7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGYzZThjYjFjNWMzMmU2ODVkNGNjYmNmOWI4
NDY5OThmMDhkOTAyMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIlBlcmZvcm1hbmNlRW50
cnkuaCIKKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE5vZGU7CisKK2NsYXNzIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgZmluYWwgOiBwdWJs
aWMgUGVyZm9ybWFuY2VFbnRyeSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgZG91YmxlIHN0YXJ0
VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHByb2Nlc3NpbmdFbmQsIGJvb2wg
Y2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqIHRhcmdldCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcodHlwZSwgVHlwZTo6RXZlbnQsIHN0
YXJ0VGltZSwgcHJvY2Vzc2luZ1N0YXJ0LCBwcm9jZXNzaW5nRW5kLCBjYW5jZWxhYmxlLCB0YXJn
ZXQpKTsKKyAgICB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBjcmVh
dGVGaXJzdElucHV0VGltaW5nKGNvbnN0IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcmKTsKKworICAg
IH5QZXJmb3JtYW5jZUV2ZW50VGltaW5nKCkgPSBkZWZhdWx0OworCisgICAgZG91YmxlIHByb2Nl
c3NpbmdTdGFydCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2luZ1N0YXJ0OyB9CisgICAgZG91
YmxlIHByb2Nlc3NpbmdFbmQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdFbmQ7IH0KKyAg
ICBib29sIGNhbmNlbGFibGUoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGFibGU7IH0KKworICAg
IE5vZGUqIHRhcmdldCgpIGNvbnN0OworCitwcm90ZWN0ZWQ6CisgICAgUGVyZm9ybWFuY2VFdmVu
dFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBUeXBlJiBlbnRyeVR5cGUsIGRv
dWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGRvdWJsZSBwcm9jZXNzaW5n
RW5kLCBib29sIGNhbmNlbGFibGUsIEV2ZW50VGFyZ2V0Kik7CisKK3ByaXZhdGU6CisgICAgVHlw
ZSB0eXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lbnRyeVR5cGU7IH0KKyAgICBBU0NJSUxp
dGVyYWwgZW50cnlUeXBlKCkgY29uc3QgZmluYWw7CisKKyAgICBkb3VibGUgbV9wcm9jZXNzaW5n
U3RhcnQ7CisgICAgZG91YmxlIG1fcHJvY2Vzc2luZ0VuZDsKKyAgICBib29sIG1fY2FuY2VsYWJs
ZTsKKyAgICBUeXBlIG1fZW50cnlUeXBlOworICAgIEV2ZW50VGFyZ2V0KiBtX3RhcmdldDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJ
TihXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nKQorICAgIHN0YXRpYyBib29sIGlzVHlw
ZShjb25zdCBXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgeyByZXR1cm4gZW50cnku
aXNFdmVudCgpIHx8IGVudHJ5LmlzRmlyc3RJbnB1dCgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJB
SVRTX0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRXZl
bnRUaW1pbmcuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzlkN2ZjZmM0MjliMGMzZWY3NGQ0ZDRkZWUxOTE4MzhmNzMxODc0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLmlkbApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1wZXJmb3Jt
YW5jZS1ldmVudC10aW1pbmcKKwordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsK
KworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCitdIGludGVyZmFjZSBQZXJmb3JtYW5jZUV2ZW50
VGltaW5nIDogUGVyZm9ybWFuY2VFbnRyeSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTUhp
Z2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ1N0YXJ0OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01IaWdoUmVzVGltZVN0YW1wIHByb2Nlc3NpbmdFbmQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IGJvb2xlYW4gY2FuY2VsYWJsZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTm9kZT8gdGFyZ2V0
OworCisgICAgc2VyaWFsaXplciA9IHsgaW5oZXJpdCwgYXR0cmlidXRlIH07Cit9OworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmNwcAppbmRleCA3YWNjNjg2Yjg3
ODhiNTYxOGYwN2M2MmU4OTIxODU4YzQ0NjE4MTE5Li5lYzI0MzQ3YjQ2Yjk4M2UxNDk0NTMyZjJk
ZmQxZjc0YzBmMWI1NTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNl
cnZlci5jcHAKQEAgLTczLDkgKzczLDExIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFBlcmZvcm1hbmNl
T2JzZXJ2ZXI6Om9ic2VydmUoSW5pdCYmIGluaXQpCiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYg
KCFpbml0LnR5cGUpCiAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCAi
bm8gdHlwZSBvciBlbnRyeVR5cGVzIHdlcmUgcHJvdmlkZWQiX3MgfTsKLSAgICAgICAgaWYgKGF1
dG8gdHlwZSA9IFBlcmZvcm1hbmNlRW50cnk6OnBhcnNlRW50cnlUeXBlU3RyaW5nKCppbml0LnR5
cGUpKQorICAgICAgICBpZiAoYXV0byB0eXBlID0gUGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRy
eVR5cGVTdHJpbmcoKmluaXQudHlwZSkpIHsKICAgICAgICAgICAgIGZpbHRlci5hZGQoKnR5cGUp
OwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoKnR5cGUgPT0gUGVyZm9ybWFuY2VFbnRy
eTo6VHlwZTo6RXZlbnQgJiYgaW5pdC5kdXJhdGlvblRocmVzaG9sZCkKKyAgICAgICAgICAgICAg
ICBtX2R1cmF0aW9uVGhyZXNob2xkID0gc3RkOjptYXgoMTYuMCwgKmluaXQuZHVyYXRpb25UaHJl
c2hvbGQpOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQog
CkBAIC0xMjUsNiArMTI3LDggQEAgVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNlcnZlcjo6
c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JgogICAgIFZlY3RvcjxT
dHJpbmc+IGVudHJ5VHlwZXMgPSB7CiAgICAgICAgIC8vIEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTg0MzYzPiBBZGQgc3VwcG9ydCBmb3IgTmF2aWdhdGlvbiBUaW1pbmcgTGV2ZWwgMgog
ICAgICAgICAvLyAibmF2aWdhdGlvbiJfcywKKyAgICAgICAgImV2ZW50Il9zLAorICAgICAgICAi
Zmlyc3QtaW5wdXQiX3MsCiAgICAgICAgICJtYXJrIl9zLAogICAgICAgICAibWVhc3VyZSJfcwog
ICAgIH07CkBAIC0xMzcsNCArMTQxLDkgQEAgVmVjdG9yPFN0cmluZz4gUGVyZm9ybWFuY2VPYnNl
cnZlcjo6c3VwcG9ydGVkRW50cnlUeXBlcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JgogICAgIHJl
dHVybiBlbnRyeVR5cGVzOwogfQogCitib29sIFBlcmZvcm1hbmNlT2JzZXJ2ZXI6OmNhbk9ic2Vy
dmUoY29uc3QgUGVyZm9ybWFuY2VFbnRyeSYgZW50cnkpIGNvbnN0Cit7CisgICAgcmV0dXJuIGVu
dHJ5LnR5cGUoKSAhPSBQZXJmb3JtYW5jZUVudHJ5OjpUeXBlOjpFdmVudCB8fCBlbnRyeS5kdXJh
dGlvbigpID49IG1fZHVyYXRpb25UaHJlc2hvbGQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmgKaW5kZXggMDk3ZTVj
MzA1YzIyNTNiZjg1M2YwOWJhNTViMTM4NWM3ZDMzYzZkYS4uM2Y1ZjZjMjRkNWI0OWI2M2RhMWQy
OGJiOGQ3Y2UyYTNjYmI3ZTRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9i
c2VydmVyLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0cnVjdCBJbml0IHsKICAg
ICAgICAgT3B0aW9uYWw8VmVjdG9yPFN0cmluZz4+IGVudHJ5VHlwZXM7CiAgICAgICAgIE9wdGlv
bmFsPFN0cmluZz4gdHlwZTsKKyAgICAgICAgT3B0aW9uYWw8RE9NSGlnaFJlc1RpbWVTdGFtcD4g
ZHVyYXRpb25UaHJlc2hvbGQ7CiAgICAgfTsKIAogICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VP
YnNlcnZlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxQZXJm
b3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+JiYgY2FsbGJhY2spCkBAIC02NSw2ICs2Niw4IEBAIHB1
YmxpYzoKICAgICBib29sIGlzUmVnaXN0ZXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0ZXJl
ZDsgfQogICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjayYgY2FsbGJhY2soKSB7IHJldHVy
biBtX2NhbGxiYWNrLmdldCgpOyB9CiAKKyAgICBib29sIGNhbk9ic2VydmUoY29uc3QgUGVyZm9y
bWFuY2VFbnRyeSYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxQZXJmb3JtYW5jZU9ic2VydmVyQ2FsbGJhY2s+
JiYpOwogCkBAIC03Myw2ICs3Niw3IEBAIHByaXZhdGU6CiAgICAgUmVmPFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXJDYWxsYmFjaz4gbV9jYWxsYmFjazsKICAgICBPcHRpb25TZXQ8UGVyZm9ybWFuY2VFbnRy
eTo6VHlwZT4gbV90eXBlRmlsdGVyOwogICAgIGJvb2wgbV9yZWdpc3RlcmVkIHsgZmFsc2UgfTsK
KyAgICBET01IaWdoUmVzVGltZVN0YW1wIG1fZHVyYXRpb25UaHJlc2hvbGQgeyAxMDQgfTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlT2JzZXJ2ZXIuaWRsCmluZGV4IDExOTYzNTliMTEyOTE3Mjk4OTE1ZjZmYzU4ZWNmNTgzODk1
MmY4YmIuLjgyMDkxYzU0MGQ4NDAwYTk1Njc4MDRlNWNiMmVmM2M0ZjZhMzM3NGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbApAQCAtMjUsNiArMjUsOCBA
QAogCiAvLyBodHRwczovL3czYy5naXRodWIuaW8vcGVyZm9ybWFuY2UtdGltZWxpbmUvCiAKK3R5
cGVkZWYgZG91YmxlIERPTUhpZ2hSZXNUaW1lU3RhbXA7CisKIFsKICAgICBDdXN0b21Jc1JlYWNo
YWJsZSwKICAgICBFbmFibGVkQXRSdW50aW1lPVBlcmZvcm1hbmNlVGltZWxpbmUsCkBAIC00Miw0
ICs0NCw1IEBACiBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0IHsKICAgICBzZXF1
ZW5jZTxET01TdHJpbmc+IGVudHJ5VHlwZXM7CiAgICAgRE9NU3RyaW5nIHR5cGU7CisgICAgRE9N
SGlnaFJlc1RpbWVTdGFtcCBkdXJhdGlvblRocmVzaG9sZDsKIH07CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWY5ZTEyNTFh
YzRkMzgwMGQ4OGUxY2M2NThlZGE1NDc0ODA5NGVkMC4uNWYwZDc3MjUyOGY0M2JkYzcyZTM0ZWY2
OTZjMjY0MTY4NDM4ZWY2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA4LTAzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3Rz
LW9wdGlvbnMuanNvbjoKKwogMjAyMC0wOC0wMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgV3JpdGUgYSBzY3JpcHQgdG8gZmluZCBkdXBsaWNhdGUgZmlsZXMgYW5k
IGRlbGV0ZSBzb21lIGR1cGxpY2F0ZSB0ZXN0cyBpbiBMYXlvdXRUZXN0cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggYTllZTI2ZDk0OTUzYmYzMDIxYTQ1MDBiOTI4YTFkZjczNzE0
YzllNS4uMGQ4Y2Q3OTFjMzZlN2ZiMzkxNTIwMzRhZmNiZGQ2ZmJkNzJiMWU2NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTA2IEBACisyMDIwLTA4LTAzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IEV2ZW50VGltaW5n
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ2NzcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlc291
cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQt
ZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1p
bmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2NsaWNrLXRpbWluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlz
Y29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQt
Y291bnRzLXplcm8uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1
dC1zaGFkb3ctZG9tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuanM6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
aW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZWVudGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZW91dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91
c2V1cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cmVudGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcG9pbnRlcmxlYXZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVydXAuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0
aWMtY2xpY2stbm90LW9ic2VydmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMg
Y2xpY2tPbkVsZW1lbnRBbmREZWxheSk6CisgICAgICAgIChtYWluVGhyZWFkQnVzeSk6CisgICAg
ICAgICh2ZXJpZnlFdmVudCk6CisgICAgICAgICh2ZXJpZnlDbGlja0V2ZW50KToKKyAgICAgICAg
KHdhaXQpOgorICAgICAgICAoYXN5bmMgY29uc3QpOgorICAgICAgICAoYXBwbHlBY3Rpb24pOgor
ICAgICAgICAocmVxdWlyZXNMaXN0ZW5lcik6CisgICAgICAgIChub3RDYW5jZWxhYmxlKToKKyAg
ICAgICAgKHRlc3RDb3VudHMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWlt
cG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmV0cmlldmFiaWxpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3N1cHBvcnRlZC10eXBlcy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzOiBBZGRlZC4K
KyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
dG9KU09OLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDIwLTA3LTMxICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jl
c291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCAxNTZkODAwZmIwNGJl
YTMxODlkNjQ0NGRjNjVkNjBkOTRiMzk0YTUyLi41M2UwMGNlODQzMjk0YmU0ZWEzMmNiNTVlZGE3
YTM3Y2ZlNWQ3MzFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3Vy
Y2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMTgwLDYgKzE4MCw4IEBA
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEiOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvR29vZ2xlIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VudHJpZXMtYXBpIjogInNraXAiLCAKKyAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZyI6ICJpbXBvcnQiLCAKKyAgICAid2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudHNvdXJjZSI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2V4
dC14aHRtbC1wdWJpZCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9mZWF0dXJl
LXBvbGljeSI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9NRVRBLnltbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFhMjdmYjYxYzMxMGQ5MWI2MjlmZjBkN2IxOWNkMDFjZTQ2OWU2NDUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9NRVRBLnltbApAQCAtMCwwICsxLDMgQEAKK3NwZWM6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9XSUNHL2V2ZW50LXRpbWluZworc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBucG0xCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2EyYjI4YmI4NmMzNGVmNWJlMjM1N2E5NGQxOTYwYWFlNjlhNWNmYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK0Ns
aWNrIG1lCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1F
T1VUIEV2ZW50IFRpbWluZyBhdXhjbGljay4gVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YXV4Y2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjg4MzI4ZTJhYTM2NzE1
ZTgxNjVjNmViMjc3YmU0OWY3ZDE4OTY1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLmh0
bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgYXV4Y2xpY2suPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBt
ZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVy
biB0ZXN0RXZlbnRUeXBlKHQsICdhdXhjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjExYjFmYWI2MDY2NmE5NjliZDJhNDgzM2E2ODExZTg4NWFlZDUzNTQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgUGVyZm9ybWFuY2VPYnNlcnZlciBidWZmZXJp
bmcgaW5kZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQgCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZl
cmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10
aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmJlNzY2M2MxMTRkMTA1NTg2NmM1OWYwNzVmZjUz
NTJhY2ZjZGYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVz
aG9sZC5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9ic2Vy
dmVyIHdpdGggYnVmZmVyZWQgZmxhZyBhbmQgZHVyYXRpb25UaHJlc2hvbGQ8L3RpdGxlPgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNr
IG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBhc3NlcnRf
aW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBp
cyBub3Qgc3VwcG9ydGVkLicpOworICAvLyBBZGQgYSBQZXJmb3JtYW5jZU9ic2VydmVyIGFuZCBv
YnNlcnZlIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiAzMCBhbmQgYnVmZmVyZWQgZmxhZy4K
KyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUxID0+IHsKKyAgICAvLyBBZGQgYSBz
bG93IGNsaWNrIGV2ZW50IGFuZCBtYWtlIHN1cmUgaXQncyBkaXNwYXRjaGVkIHRvIG9ic2VydmVy
cy4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlMiA9PiB7CisgICAgICAvLyBP
YnNlcnZlciB0byBhd2FpdCB1bnRpbCBldmVudCBlbnRyeSBpcyBkaXNwYXRjaGVkLgorICAgICAg
bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKCkgPT4geworICAgICAgICByZXNvbHZlMigpOworICAg
ICAgfSkub2JzZXJ2ZSh7dHlwZTogImV2ZW50IiwgZHVyYXRpb25UaHJlc2hvbGQ6IDE2fSk7Cisg
ICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdteURpdicsIDMwKTsKKyAgICB9KTsK
KyAgICBjb25zdCBhZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0ID0+IHsKKyAgICAgIGNvbnN0IG1v
dXNlRG93bnMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgaWYg
KG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICByZXR1cm47CisgICAgICBhc3NlcnRf
ZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLCAnU2hvdWxkIG9ubHkgb2JzZXJ2ZSAxIGNsaWNr
IScpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtb3VzZURvd25zWzBdLnByb2Nlc3NpbmdT
dGFydCwgYWZ0ZXJGaXJzdENsaWNrLAorICAgICAgICAnVGhlIGVudHJ5IHNob3VsZCBub3QgYmUg
dGhlIGZpcnN0IGNsaWNrISEnKTsKKyAgICAgIHZlcmlmeUNsaWNrRXZlbnQobW91c2VEb3duc1sw
XSwgJ215RGl2JywgZmFsc2UgLyogaXNGaXJzdCAqLywgMTYgLyogbWluRHVyYXRpb24qLyk7Cisg
ICAgICByZXNvbHZlMSgpOworICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnLCBkdXJhdGlv
blRocmVzaG9sZDogMTYsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgICAgLy8gVGhpcyBzaG91bGQgYmUg
dGhlIG9ubHkgY2xpY2sgb2JzZXJ2ZWQgc2luY2UgdGhlIG90aGVyIG9uZSB3b3VsZCBub3QgYmUg
YnVmZmVyZWQuCisgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxheSgnbXlEaXYnLCAzMCk7
CisgIH0pOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgYnVmZmVyaW5nIGluZGVwZW5kZW50IG9m
IGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1
ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTc2MDRjMjhlMTJmMzk4MDcwZmEyZWZkODc5MTNjNTYzNTk0ZjIwYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitUSU1FT1VUIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBm
bGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVudHJpZXMgVGVzdCB0aW1lZCBvdXQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdlZTE1MmJlOTM4OGZhODU5M2MzYzJhODU5ODFhN2NiMGVkNzQ5MmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1p
bmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgc2VlcyBlbnRyaWVzIHdpdGggYnVmZmVyZWQgZmxhZzwv
dGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0
dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVz
b3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAg
bGV0IGZpcnN0SW5wdXRTZWVuID0gZmFsc2U7CisgIGxldCBldmVudFNlZW4gPSBmYWxzZTsKKyAg
YXN5bmNfdGVzdCh0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFu
Y2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICAgIGNv
bnN0IHZhbGlkYXRlRW50cnkgPSB0LnN0ZXBfZnVuYyhlbnRyeSA9PiB7CisgICAgICBpZiAoZW50
cnkuZW50cnlUeXBlID09PSAnZmlyc3QtaW5wdXQnKQorICAgICAgICBmaXJzdElucHV0U2VlbiA9
IHRydWU7CisgICAgICBlbHNlIGlmIChlbnRyeS5lbnRyeVR5cGUgPT09ICdldmVudCcpCisgICAg
ICAgIGV2ZW50U2VlbiA9IHRydWU7CisgICAgICBlbHNlCisgICAgICAgIGFzc2VydF91bnJlYWNo
ZWQoJ1Nob3VsZCBvbmx5IG9ic2VydmUgRXZlbnQgVGltaW5nIGVudHJpZXMhJyk7CisgICAgfSk7
CisgICAgLy8gRmlyc3Qgb2JzZXJ2ZXIgY3JlYXRlcyBzZWNvbmQgaW4gY2FsbGJhY2sgdG8gZW5z
dXJlIHRoZSBlbnRyeSBoYXMgYmVlbiBkaXNwYXRjaGVkIGJ5IHRoZSB0aW1lCisgICAgLy8gdGhl
IHNlY29uZCBvYnNlcnZlciBiZWdpbnMgb2JzZXJ2aW5nLgorICAgIG5ldyBQZXJmb3JtYW5jZU9i
c2VydmVyKChsaXN0LCBvYnMpID0+IHsKKyAgICAgIGxpc3QuZ2V0RW50cmllcygpLmZvckVhY2go
dmFsaWRhdGVFbnRyeSk7CisgICAgICBpZiAoIWZpcnN0SW5wdXRTZWVuIHx8ICFldmVudFNlZW4p
CisgICAgICAgIHJldHVybjsKKworICAgICAgb2JzLmRpc2Nvbm5lY3QoKTsKKyAgICAgIGZpcnN0
SW5wdXRTZWVuID0gZmFsc2U7CisgICAgICBldmVudFNlZW4gPSBmYWxzZTsKKyAgICAgIC8vIFNl
Y29uZCBvYnNlcnZlciByZXF1aXJlcyAnYnVmZmVyZWQ6IHRydWUnIHRvIHNlZSBlbnRyaWVzLgor
ICAgICAgY29uc3QgYnVmZmVyZWRPYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVu
dHJ5TGlzdCA9PiB7CisgICAgICAgICAgZW50cnlMaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKHZh
bGlkYXRlRW50cnkpOworICAgICAgICAgIGlmIChmaXJzdElucHV0U2VlbiAmJiBldmVudFNlZW4p
CisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0pOworICAgICAgYnVmZmVyZWRPYnNlcnZl
ci5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBidWZmZXJlZDogdHJ1ZX0pOworICAgICAgYnVmZmVy
ZWRPYnNlcnZlci5vYnNlcnZlKHt0eXBlOiAnZmlyc3QtaW5wdXQnLCBidWZmZXJlZDogdHJ1ZX0p
OworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnLCAnZmlyc3QtaW5wdXQnXX0p
OworICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgfSwgIlBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIHNlZXMgcHJldmlvdXMgRXZlbnQgVGltaW5nIGVudHJp
ZXMiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MDJhM2ViMDY1NTdhZGY2YzVkZDky
M2U0MTBiNjg1YjIyODZiODkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQQVNTIEV2ZW50IFRpbWluZyBjbGljay4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZjk3MWQyZTdkMzExZDA1ZDBlYTI4NTE1OGI0NDU4Nzhj
ZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmctZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK1BBU1MgRXZlbnQgVGltaW5n
OiBjb21wYXJlIGNsaWNrIHRpbWluZ3MuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2NsaWNrLXRpbWluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0OTQzZjk1OTBhOWYyZGY4M2VlODQx
NTAzODc4ZjFlNDU1MTA3YWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbApA
QCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogY29tcGFyZSB0aW1pbmcgb2YgdHdvIGxvbmcg
Y2xpY2tzCis8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycg
ZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQ+CisgIC8qIFRpbWVsaW5lOgorICAgICBPYnNlcnZlciBzdGFydHMKKyAgICAgTG9uZyBj
bGljayAxCisgICAgIExvbmcgY2xpY2sgMgorICAgICBPbmNlIHR3byBjbGlja3MgaGF2ZSBiZWVu
IHJlY2VpdmVkIGJ5IG9ic2VydmVyLCBjb21wYXJlIHRoZSB0aW1lc3RhbXBzLgorICAqLworICBs
ZXQgdGltZUJlZm9yZUZpcnN0Q2xpY2s7CisgIGxldCB0aW1lQWZ0ZXJGaXJzdENsaWNrOworICBs
ZXQgdGltZUFmdGVyU2Vjb25kQ2xpY2s7CisgIGxldCBvYnNlcnZlZEVudHJpZXMgPSBbXTsKKyAg
YXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBl
cmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsK
KyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4gewor
ICAgICAgb2JzZXJ2ZWRFbnRyaWVzID0gb2JzZXJ2ZWRFbnRyaWVzLmNvbmNhdChlbnRyeUxpc3Qu
Z2V0RW50cmllcygpLmZpbHRlcigKKyAgICAgICAgZW50cnkgPT4gZW50cnkubmFtZSA9PT0gJ21v
dXNlZG93bicpKTsKKyAgICAgIGlmIChvYnNlcnZlZEVudHJpZXMubGVuZ3RoIDwgMikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgICBhc3NlcnRfbm90X2VxdWFscyh0aW1lQmVmb3JlRmlyc3RDbGlj
aywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVBZnRlckZpcnN0Q2xp
Y2ssIHVuZGVmaW5lZCk7CisgICAgICBhc3NlcnRfbm90X2VxdWFscyh0aW1lQWZ0ZXJTZWNvbmRD
bGljaywgdW5kZWZpbmVkKTsKKyAgICAgIC8vIEZpcnN0IGNsaWNrLgorICAgICAgdmVyaWZ5Q2xp
Y2tFdmVudChvYnNlcnZlZEVudHJpZXNbMF0sICdidXR0b24nKTsKKyAgICAgIGFzc2VydF9iZXR3
ZWVuX2V4Y2x1c2l2ZShvYnNlcnZlZEVudHJpZXNbMF0ucHJvY2Vzc2luZ1N0YXJ0LAorICAgICAg
ICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrLAorICAgICAgICAgIHRpbWVBZnRlckZpcnN0Q2xpY2ss
CisgICAgICAgICAgIkZpcnN0IGNsaWNrJ3MgcHJvY2Vzc2luZ1N0YXJ0Iik7CisgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlckZpcnN0Q2xpY2ssIG9ic2VydmVkRW50cmllc1swXS5z
dGFydFRpbWUsCisgICAgICAgICAgInRpbWVBZnRlckZpcnN0Q2xpY2sgc2hvdWxkIGJlIGxhdGVy
IHRoYW4gZmlyc3QgY2xpY2sncyBzdGFydCB0aW1lLiIpOworCisgICAgICAvLyBTZWNvbmQgY2xp
Y2suCisgICAgICB2ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50cmllc1sxXSwgJ2J1dHRvbicp
OworICAgICAgYXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1sxXS5wcm9j
ZXNzaW5nU3RhcnQsCisgICAgICAgICAgdGltZUFmdGVyRmlyc3RDbGljaywKKyAgICAgICAgICB0
aW1lQWZ0ZXJTZWNvbmRDbGljaywKKyAgICAgICAgICAiU2Vjb25kIGNsaWNrJ3MgcHJvY2Vzc2lu
Z1N0YXJ0Iik7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHRpbWVBZnRlclNlY29uZENsaWNr
LCBvYnNlcnZlZEVudHJpZXNbMV0uc3RhcnRUaW1lLAorICAgICAgICAgICJ0aW1lQWZ0ZXJTZWNv
bmRDbGljayBzaG91bGQgYmUgbGF0ZXIgdGhhbiBzZWNvbmQgY2xpY2sncyBzdGFydCB0aW1lLiIp
OworICAgICAgdC5kb25lKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVudCd9KTsKKyAg
ICB0aW1lQmVmb3JlRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIGNsaWNrQW5k
QmxvY2tNYWluKCdidXR0b24nKS50aGVuKCAoKSA9PiB7CisgICAgICB0aW1lQWZ0ZXJGaXJzdENs
aWNrID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICBjbGlja0FuZEJsb2NrTWFpbignYnV0dG9u
JykudGhlbigoKSA9PiB7CisgICAgICAgIHRpbWVBZnRlclNlY29uZENsaWNrID0gcGVyZm9ybWFu
Y2Uubm93KCk7CisgICAgICB9KQorICAgIH0pOworICB9LCAiRXZlbnQgVGltaW5nOiBjb21wYXJl
IGNsaWNrIHRpbWluZ3MuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNr
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9jbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzZWVjYWJkZjE4NzhjOGYwZjc3NzViMGIw
ZDU4N2NhOTA5MDlmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay5odG1sCkBAIC0wLDAgKzEs
MTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8
dGl0bGU+RXZlbnQgVGltaW5nIGNsaWNrLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZl
ci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25z
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGls
cy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+
CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0
LCAnY2xpY2snKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4
dG1lbnUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE5NjhjZGJkNWZjMmU3OTVlYjFhZDY2MzE4YmEwNWI0YjkyYzYwNTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitNZW51CisKK1BB
U1MgRXZlbnQgVGltaW5nIGNvbnRleHRtZW51LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2NvbnRleHRtZW51Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFhMDVhM2IxNjM5ZTM5ZGM2NmZi
ZGU4M2YxNjEwYWZmZWY0NzU5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwK
QEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY29udGV4dG1lbnUuPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0JyBjb250ZXh0
bWVudT0ibXltZW51Ij5NZW51Cis8bWVudSB0eXBlPSJjb250ZXh0IiBpZD0ibXltZW51Ij4KKyAg
PG1lbnVpdGVtIGxhYmVsPSJsYWJlbCI+PC9tZW51aXRlbT4KKzwvbWVudT4KKzwvZGl2PgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRU
eXBlKHQsICdjb250ZXh0bWVudScpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYmMyZmRjZWVjZDk5NDc2OTI0M2ZmMWJhZDEwNzhmN2Y3Y2Q5ZjNjMAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
K0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudCAgCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIEV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgb25s
eSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJhbWUuIFRlc3QgdGltZWQgb3V0CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRm
YmQyODk3YWQ0YmI1YmZkNGVkZWIyY2RjMTdhZmM0MzhlMzc5NjIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9jcm9zc2lmcmFtZS5odG1sCkBAIC0wLDAgKzEsOTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisKKzxoZWFkPgorICA8bWV0YSBjaGFyc2V0PXV0Zi04IC8+CisgIDx0aXRsZT5FdmVudCBU
aW1pbmc6IGVudHJpZXMgc2hvdWxkIGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS48L3Rp
dGxlPgorICA8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzwvaGVhZD4KKwor
PGJvZHk+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0
dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJl
c291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxpZnJhbWUgaWQ9
J2lmcmFtZScgc3JjPXJlc291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWw+PC9pZnJh
bWU+Cis8c2NyaXB0PgorICBsZXQgY2xpY2tUaW1lTWluOworICBsZXQgY2xpY2tEb25lOworCisg
IGZ1bmN0aW9uIHZhbGlkYXRlRW50cmllcyhlbnRyaWVzKSB7CisgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSwgIk9ubHkgMSBlbnRyeSBzaG91bGQgYmUgcmVjZWl2ZWQiKTsKKyAg
ICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisgICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwg
J2J1dHRvbicsIHRydWUpOworCisgICAgYXNzZXJ0X2xlc3NfdGhhbihlbnRyeS5wcm9jZXNzaW5n
U3RhcnQsIGNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRyeSdzIHByb2Nlc3Npbmcgc3RhcnQg
c2hvdWxkIGJlIGJlZm9yZSBjbGlja0RvbmUuIik7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihl
bnRyeS5zdGFydFRpbWUsIGNsaWNrVGltZU1pbiwKKyAgICAgICAgIlRoZSBlbnRyeSdzIHN0YXJ0
IHRpbWUgc2hvdWxkIGJlIGxhdGVyIHRoYW4gY2xpY2tUaW1lTWluLiIpOworICB9CisKKyAgZnVu
Y3Rpb24gdmFsaWRhdGVDaGlsZEZyYW1lRW50cmllcyhjaGlsZEZyYW1lRGF0YSkgeworICAgIGlm
IChjaGlsZEZyYW1lRGF0YSA9PT0gImZhaWxlZCIpIHsKKyAgICAgIGFzc2VydF91bnJlYWNoZWQo
IkRpZCBub3QgcmVjZWl2ZSBleGFjdGx5IG9uZSBlbnRyeSBmcm9tIGNoaWxkIGFzIGV4cGVjdGVk
Iik7CisgICAgfQorICAgIC8vIHxjaGlsZEZyYW1lRGF0YXwgaGFzIHByb3BlcnRpZXMgd2l0aCB0
aGUgc2FtZSBuYW1lcyBhcyBpdHMKKyAgICAvLyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGNvdW50
ZXJwYXJ0LgorICAgIHZlcmlmeUNsaWNrRXZlbnQoY2hpbGRGcmFtZURhdGEsIG51bGwpOworICAg
IGFzc2VydF9lcXVhbHMoY2hpbGRGcmFtZURhdGEudGFyZ2V0LCAnaWZyYW1lX2RpdicpOworCisg
ICAgYXNzZXJ0X2xlc3NfdGhhbihjaGlsZEZyYW1lRGF0YS5wcm9jZXNzaW5nU3RhcnQsIGNoaWxk
RnJhbWVEYXRhLmNsaWNrRG9uZSwKKyAgICAgICAgIlRoZSBlbnRyeSdzIHByb2Nlc3Npbmcgc3Rh
cnQgc2hvdWxkIGJlIGJlZm9yZSB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIGNsaWNrRG9uZS4iKTsK
KyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGNoaWxkRnJhbWVEYXRhLnN0YXJ0VGltZSwgY2hpbGRG
cmFtZURhdGEuY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVudHJ5J3Mgc3RhcnQgdGltZSBz
aG91bGQgYmUgbGF0ZXIgdGhhbiB0aGUgY2hpbGQgZnJhbWUncyBcCisgICAgICAgIGNsaWNrVGlt
ZU1pbi4iKTsKKyAgfQorCisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBhc3NlcnRf
aW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgIkV2ZW50IFRpbWluZyBp
cyBub3Qgc3VwcG9ydGVkIik7CisgICAgY2xpY2tUaW1lTWluID0gcGVyZm9ybWFuY2Uubm93KCk7
CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQ
cm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VP
YnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyaWVzID0+IHsKKyAgICAgICAgY29uc3QgbW91c2VEb3du
cyA9IGVudHJpZXMuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICAgIC8vIEln
bm9yZSB0aGUgY2FsbGJhY2sgaWYgdGhlcmUgd2VyZSBubyBtb3VzZWRvd24gZW50cmllcy4KKyAg
ICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24sCisgICAgICAgICAgICAiT2Jz
ZXJ2ZXIgb2YgbWFpbiBmcmFtZXMgc2hvdWxkIG9ubHkgY2FwdHVyZSBtYWluLWZyYW1lIGV2ZW50
LXRpbWluZyBlbnRyaWVzIik7CisgICAgICAgIHZhbGlkYXRlRW50cmllcyhtb3VzZURvd25zKTsK
KyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0cnVlOworICAgICAgICByZXNvbHZlKCk7Cisg
ICAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2ZW50J30pOworICAgIH0pOworICAgIGF3YWl0IGNs
aWNrQW5kQmxvY2tNYWluKCdidXR0b24nKTsKKyAgICBjbGlja0RvbmUgPSBwZXJmb3JtYW5jZS5u
b3coKTsKKyAgICBhd2FpdCBvYnNlcnZlclByb21pc2U7CisgICAgY29uc3QgY2hpbGRGcmFtZUVu
dHJpZXNQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsIChldmVudCkgPT4geworICAgICAgICByZXNvbHZlKGV2
ZW50LmRhdGEpOworICAgICAgfSwgZmFsc2UpOworICAgIH0pOworCisgICAgbGV0IGlmcmFtZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsKKyAgICBjb25zdCBpZnJhbWVYID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLm9mZnNldExlZnQ7CisgICAgY29uc3Qg
aWZyYW1lWSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5vZmZzZXRUb3A7Cisg
ICAgLy8gVGFwIG9uIHRoZSBpZnJhbWUsIHdpdGggYW4gb2Zmc2V0IG9mIDEwIHRvIHRhcmdldCB0
aGUgZGl2IGluc2lkZSBpdC4KKyAgICBjb25zdCBhY3Rpb25zID0gbmV3IHRlc3RfZHJpdmVyLkFj
dGlvbnMoKQorICAgICAgICAucG9pbnRlck1vdmUoaWZyYW1lWCArIDEwLCBpZnJhbWVZICsgMTAp
CisgICAgICAgIC5wb2ludGVyRG93bigpCisgICAgICAgIC5wb2ludGVyVXAoKQorICAgIGFjdGlv
bnMuc2VuZCgpOworICAgIGNvbnN0IGNoaWxkRnJhbWVEYXRhID0gYXdhaXQgY2hpbGRGcmFtZUVu
dHJpZXNQcm9taXNlOworICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICB2YWxpZGF0ZUNoaWxkRnJh
bWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRhKTsKKyAgICB9KTsKKyAgfSwgIkV2ZW50IFRpbWluZzog
ZW50cmllcyBzaG91bGQgb25seSBiZSBvYnNlcnZhYmxlIGJ5IGl0cyBvd24gZnJhbWUuIik7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmMmY4NzVlNTI1NzUz
MDJlZTgxMzljN2Q2YjhjNDg4MDQzNDQ5YWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK0NsaWNrIG1lCisK
K1BBU1MgRXZlbnQgVGltaW5nIGRibGNsaWNrLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2RibGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMzZmNmZDMwZGUwNTFhZTcyMjdlODQzZjI3
ZTJiMjdlMDE3Yzk1MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwKQEAgLTAsMCAr
MSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4K
Kzx0aXRsZT5FdmVudCBUaW1pbmcgZGJsY2xpY2suPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFj
dGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9
J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnZGJsY2xpY2snKTsKKyAgfSkKKzwv
c2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0OGNkMDI5
NTZkMTE4ZTE3ZjY4NjQ2MjBiNmM4NWM5NTI1OTQwOTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNj
b25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgRXZlbnQg
VGltaW5nOiB3aGVuIHRhcmdldCBpcyBkaXNjb25uZWN0ZWQsIGVudHJ5LnRhcmdldCByZXR1cm5z
IG51bGwuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVj
dC10YXJnZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDY3NzBkMzE4OGRjYjViMjM4MDZkMWFiMDNkNzdl
NzZlNGUxMzdmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbApAQCAt
MCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYt
OCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxidXR0b24g
aWQ9J3RoZV9idXR0b24nPkNsaWNrTWU8L2J1dHRvbj4KKworPHNjcmlwdD4KK2FzeW5jX3Rlc3Qo
ZnVuY3Rpb24odCkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVu
dFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBjb25zdCBvYnNl
cnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jX2RvbmUoKGVudHJ5TGlz
dCkgPT4geworICAgIGNvbnN0IGVudHJpZXMgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZpbHRl
cihlID0+IGUubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9
PT0gMCkKKyAgICAgIHJldHVybjsKKyAgICAvLyBUaGVyZSBtdXN0IG9ubHkgYmUgb25lIGNsaWNr
IGVudHJ5LgorICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgIGNvbnN0
IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICAvLyBUaGlzIGNoZWNrcyB0aGF0IGVudHJ5LnRhcmdl
dCByZXR1cm5zIHRoZSBjb3JyZWN0IGJ1dHRvbiBOb2RlLgorICAgIHZlcmlmeUNsaWNrRXZlbnQo
ZW50cnksICd0aGVfYnV0dG9uJywgdHJ1ZSk7CisgICAgY29uc3QgYnV0dG9uID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3RoZV9idXR0b24nKTsKKyAgICBidXR0b24ucGFyZW50Tm9kZS5yZW1v
dmVDaGlsZChidXR0b24pOworICAgIC8vIEFmdGVyIHJlbW92aW5nIHRoZSBidXR0b24sIGVudHJ5
LnRhcmdldCBzaG91bGQgbm93IHJldHVybiBudWxsLgorICAgIGFzc2VydF9lcXVhbHMoZW50cnku
dGFyZ2V0LCBudWxsKTsKKyAgfSkpOworICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBb
J2V2ZW50J119KTsKKyAgY2xpY2tBbmRCbG9ja01haW4oJ3RoZV9idXR0b24nKTsKK30sICJFdmVu
dCBUaW1pbmc6IHdoZW4gdGFyZ2V0IGlzIGRpc2Nvbm5lY3RlZCwgZW50cnkudGFyZ2V0IHJldHVy
bnMgbnVsbC4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2st
Y291bnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWMzNTBmZWJlNTM1ZWMyODM2MjY5ZTVjNjFmODdmMDNjYTkxNzYxNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1
IEBACitDbGljayBtZQorQ2xpY2sgbWUKKworUEFTUyBFdmVudCBUaW1pbmc6IGV2ZW50Q291bnRz
LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1j
b3VudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzY1NjNiOTU4MThhYzU2YWRiYzA2YzkzNzQ3OTg3MDBl
ZDQxMjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwKQEAgLTAs
MCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTgg
Lz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IGV2ZW50Q291bnRzLjwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdkaXYnPkNsaWNrIG1lPC9kaXY+Cis8
YnV0dG9uIGlkPSdidXR0b24nPkNsaWNrIG1lPC9idXR0b24+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoIHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywg
IkV2ZW50IENvdW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgICBmdW5jdGlvbiB0ZXN0Q2xpY2tz
KGV4cGVjdGVkQ291bnQsIHJlc29sdmUpIHsKKyAgICAgIGNvbnN0IGNsaWNrQ291bnQgPSBwZXJm
b3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ2NsaWNrJyk7CisgICAgICBpZiAoY2xpY2tDb3VudCA8
IGV4cGVjdGVkQ291bnQpIHsKKyAgICAgICAgdC5zdGVwX3RpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgdGVzdENsaWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZlKTsKKyAgICAgICAgfSwg
NSk7CisgICAgICAgIHJldHVybjsKKyAgICAgIH0KKyAgICAgIGFzc2VydF9lcXVhbHMoY2xpY2tD
b3VudCwgZXhwZWN0ZWRDb3VudCwnSW5jb3JyZWN0IGNsaWNrIGNvdW50LicpOworICAgICAgYXNz
ZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ21vdXNlZG93bicpLCBleHBl
Y3RlZENvdW50LCAnSW5jb3JyZWN0IG1vdXNlZG93biBjb3VudCcpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoJ21vdXNldXAnKSwgZXhwZWN0ZWRDb3Vu
dCwgJ0luY29ycmVjdCBtb3VzZXVwIGNvdW50LicpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0K
KyAgICBmdW5jdGlvbiBwcm9taXNlQ2xpY2tzKGV4cGVjdGVkQ291bnQpIHsKKyAgICAgIHJldHVy
biBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgdGVzdENsaWNrcyhleHBlY3RlZENv
dW50LCByZXNvbHZlKQorICAgICAgfSk7CisgICAgfQorCisgICAgcmV0dXJuIHRlc3RfZHJpdmVy
LmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKSkudGhlbigoKSA9PiB7CisgICAg
ICByZXR1cm4gcHJvbWlzZUNsaWNrcygxKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJl
dHVybiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uJykp
OworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHByb21pc2VDbGlja3MoMik7Cisg
ICAgfSkudGhlbigoKSA9PiB7CisgICAgICByZXR1cm4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2RpdicpKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJl
dHVybiBwcm9taXNlQ2xpY2tzKDMpOworICAgIH0pOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3Vu
dHMtemVyby1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjODEyODg0NmJmZmZiMmFhMjRkYTdk
MzVhYjhkNWRlNzI3YmFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworRkFJTCBFdmVudCBUaW1pbmc6IGV2ZW50Q291
bnRzLiBhc3NlcnRfZXF1YWxzOiBUaGUgc2l6ZSBvZiBwZXJmb3JtYW5jZS5ldmVudENvdW50cyBp
cyBpbmNvcnJlY3QuIGV4cGVjdGVkIChudW1iZXIpIDM2IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3Vu
dHMtemVyby5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlYzkwZGQ2OTEzOGYzNTE5Nzc3NDIzOWRmYzEyZjU1
NGM5Mjg0YjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVyby5odG1sCkBAIC0w
LDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBldmVudENvdW50cy48L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgdGVzdCgoKSA9PiB7CisgICAg
YXNzZXJ0X2ltcGxlbWVudHMod2luZG93LkV2ZW50Q291bnRzLCAiRXZlbnQgQ291bnRzIGlzbid0
IHN1cHBvcnRlZCIpOworICAgIGNvbnN0IGV2ZW50VHlwZXMgPSBbCisgICAgICAgICdhdXhjbGlj
aycsCisgICAgICAgICdjbGljaycsCisgICAgICAgICdjb250ZXh0bWVudScsCisgICAgICAgICdk
YmxjbGljaycsCisgICAgICAgICdtb3VzZWRvd24nLAorICAgICAgICAnbW91c2VlbnRlcicsCisg
ICAgICAgICdtb3VzZWxlYXZlJywKKyAgICAgICAgJ21vdXNlb3V0JywKKyAgICAgICAgJ21vdXNl
b3ZlcicsCisgICAgICAgICdtb3VzZXVwJywKKyAgICAgICAgJ3BvaW50ZXJvdmVyJywKKyAgICAg
ICAgJ3BvaW50ZXJlbnRlcicsCisgICAgICAgICdwb2ludGVyZG93bicsCisgICAgICAgICdwb2lu
dGVydXAnLAorICAgICAgICAncG9pbnRlcmNhbmNlbCcsCisgICAgICAgICdwb2ludGVyb3V0JywK
KyAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisgICAgICAgICdnb3Rwb2ludGVyY2FwdHVyZScsCisg
ICAgICAgICdsb3N0cG9pbnRlcmNhcHR1cmUnLAorICAgICAgICAndG91Y2hzdGFydCcsCisgICAg
ICAgICd0b3VjaGVuZCcsCisgICAgICAgICd0b3VjaGNhbmNlbCcsCisgICAgICAgICdrZXlkb3du
JywKKyAgICAgICAgJ2tleXByZXNzJywKKyAgICAgICAgJ2tleXVwJywKKyAgICAgICAgJ2JlZm9y
ZWlucHV0JywKKyAgICAgICAgJ2lucHV0JywKKyAgICAgICAgJ2NvbXBvc2l0aW9uc3RhcnQnLAor
ICAgICAgICAnY29tcG9zaXRpb251cGRhdGUnLAorICAgICAgICAnY29tcG9zaXRpb25lbmQnLAor
ICAgICAgICAnZHJhZ3N0YXJ0JywKKyAgICAgICAgJ2RyYWdlbmQnLAorICAgICAgICAnZHJhZ2Vu
dGVyJywKKyAgICAgICAgLy8gJ2RyYWdleGl0Jz8gVW5jbGVhciBpZiBpdCB3aWxsIGJlIHJlbW92
ZWQgZnJvbSBIVE1MIHNwZWMgb3Igbm90LgorICAgICAgICAnZHJhZ2xlYXZlJywKKyAgICAgICAg
J2RyYWdvdmVyJywKKyAgICAgICAgJ2Ryb3AnCisgICAgXTsKKyAgICBldmVudFR5cGVzLmZvckVh
Y2godHlwZSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmV2ZW50Q291bnRz
LmdldCh0eXBlKSwgMCwgJ1RoZXJlIGlzIGEgbm9uemVybyB2YWx1ZSBmb3IgJyArIHR5cGUpOwor
ICAgIH0pCisgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5zaXplLCBl
dmVudFR5cGVzLmxlbmd0aCwKKyAgICAgICAgJ1RoZSBzaXplIG9mIHBlcmZvcm1hbmNlLmV2ZW50
Q291bnRzIGlzIGluY29ycmVjdC4nKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjlhYmQxYWVkMmFiYjM2Yjc0NjQxOGU1ZjQ4Y2JjMDU4ODI3Zjg5
OTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdldC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB0YXJnZXQgcmVwb3J0cyB0aGUgbGFzdCBF
dmVudCBUYXJnZXQsIGkuZS4gbm90aGluZyBmcm9tIHNoYWRvdyBET00uIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9ldmVudC1yZXRhcmdldC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
OWMxMTRmMzU2YjUxYjg2OWI5NTUwODMwODE1Y2I2ZTY4YjNjN2E1Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvZXZlbnQtcmV0YXJnZXQuaHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpz
Pjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRp
bHMuanM+PC9zY3JpcHQ+CisKKzxjdXN0b20tYnV0dG9uIGlkPSdjdXN0b21fYnV0dG9uJz48L2N1
c3RvbS1idXR0b24+CisKKzxzY3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgYXNz
ZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1p
bmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgbGV0IGlubmVyQnV0dG9uQ2xpY2tlZCA9IGZhbHNl
OworICBjdXN0b21FbGVtZW50cy5kZWZpbmUoJ2N1c3RvbS1idXR0b24nLCBjbGFzcyBleHRlbmRz
IEhUTUxFbGVtZW50IHsKKyAgICBjb25uZWN0ZWRDYWxsYmFjaygpIHsKKyAgICAgIHRoaXMuYXR0
YWNoU2hhZG93KHttb2RlOiAnb3Blbid9KTsKKyAgICAgIHRoaXMuc2hhZG93Um9vdC5pbm5lckhU
TUwgPSBgPGJ1dHRvbiBpZD0naW5uZXJfYnV0dG9uX2lkJz5DbGljayBtZTwvYnV0dG9uPmA7Cisg
ICAgICB0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ2lubmVyX2J1dHRvbl9pZCcpLm9u
Y2xpY2sgPSAoKSA9PiB7CisgICAgICAgIGlubmVyQnV0dG9uQ2xpY2tlZCA9IHRydWU7CisgICAg
ICB9OworICAgIH0KKyAgfSk7CisgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIodC5zdGVwX2Z1bmMoKGVudHJ5TGlzdCkgPT4geworICAgIGNvbnN0IGVudHJpZXMgPSBl
bnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgaWYgKGVudHJpZXMu
bGVuZ3RoID09PSAwKQorICAgICAgcmV0dXJuOworCisgICAgLy8gVGhlcmUgbXVzdCBvbmx5IGJl
IG9uZSBtb3VzZWRvd24gZW50cnkuCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
MSk7CisgICAgdmVyaWZ5Q2xpY2tFdmVudChlbnRyaWVzWzBdLCAnY3VzdG9tX2J1dHRvbicsIHRy
dWUpOworICAgIGFzc2VydF90cnVlKGlubmVyQnV0dG9uQ2xpY2tlZCk7CisgICAgdC5kb25lKCkK
KyAgfSkpOworICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAg
Y2xpY2tBbmRCbG9ja01haW4oJ2N1c3RvbV9idXR0b24nKTsKK30sICJFdmVudCBUaW1pbmc6IHRh
cmdldCByZXBvcnRzIHRoZSBsYXN0IEV2ZW50IFRhcmdldCwgaS5lLiBub3RoaW5nIGZyb20gc2hh
ZG93IERPTS4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQt
c2hhZG93LWRvbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNjUyYWE3ZjI2NTZmODg4N2Q1N2M0Nzg3YTYyM2Q2ZDJiZDk4MzU1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzIEBACisKK1BBU1MgRXZlbnQgVGltaW5nOiB0ZXN0IGZpcnN0IGlucHV0IG9u
IHNoYWRvdyBET00uIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZlYjY1OTc1NTJmYjll
YzQ4YTBhNzMzYTRkNjdmMjJiNDI3Zjc2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0
LXNoYWRvdy1kb20uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2Ny
aXB0PgorCis8Ym9keT4KKzxkaXYgaWQ9J2NvbnRhaW5lcic+CisgIDxjdXN0b20tYnV0dG9uIGlk
PSdjdXN0b21fYnV0dG9uJz48L2N1c3RvbS1idXR0b24+Cis8L2Rpdj4KKzxzY3JpcHQ+Citwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGxldCBpbm5l
ckJ1dHRvbkNsaWNrZWQgPSBmYWxzZTsKKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20t
YnV0dG9uJywgY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgY29ubmVjdGVkQ2FsbGJh
Y2soKSB7CisgICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgICB0
aGlzLnNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYDxidXR0b24gaWQ9J2lubmVyX2J1dHRvbl9pZCc+
Q2xpY2sgbWU8L2J1dHRvbj5gOworICAgICAgdGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlk
KCdpbm5lcl9idXR0b25faWQnKS5vbm1vdXNlZG93biA9ICgpID0+IHsKKyAgICAgICAgaW5uZXJC
dXR0b25DbGlja2VkID0gdHJ1ZTsKKyAgICAgIH07CisgICAgfQorICB9KTsKKyAgY29uc3Qgb2Jz
ZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgIC8vIFRoZXJlIG11
c3Qgb25seSBiZSBvbmUgZmlyc3QtaW5wdXQgZW50cnkuCisgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5TGlzdC5nZXRFbnRyaWVzKCkubGVuZ3RoLCAxKTsKKyAgICAgIC8vIGVudHJ5LnRhcmdldCBt
dXN0IGJlIHRoZSBzaGFkb3cgaG9zdCBkdWUgdG8gcmV0YXJnZXR0aW5nLgorICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdLnRhcmdldCwKKyAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnY3VzdG9tX2J1dHRvbicpKTsKKyAgICAgIGFzc2VydF90cnVl
KGlubmVyQnV0dG9uQ2xpY2tlZCwgJ0RpZCBub3QgcmVhY2ggdGhlIHNoYWRvdyBET00gZXZlbnQg
bGlzdGVuZXIhJyk7CisgICAgICByZXNvbHZlKCk7CisgICAgfSkpLm9ic2VydmUoe2VudHJ5VHlw
ZXM6IFsnZmlyc3QtaW5wdXQnXX0pOworICB9KTsKKyAgY29uc3QgY2xpY2tQcm9taXNlID0gdGVz
dF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1c3RvbV9idXR0b24nKSk7
CisgIHJldHVybiBQcm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9taXNlLCBjbGlja1Byb21pc2VdKTsK
K30sICJFdmVudCBUaW1pbmc6IHRlc3QgZmlyc3QgaW5wdXQgb24gc2hhZG93IERPTS4iKTsKKzwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmZGEx
MTIxN2ZiMDAwZjBiNDNjMjA1OTk0MzgwZDRkYzBhOGZlZDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9p
ZGxoYXJuZXNzLmFueS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAorCitQQVNTIGlkbF90
ZXN0IHNldHVwIAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiB2YWxpZCBleHBvc3VyZSBzZXQgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1Mg
UGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0OiBvcmlnaW5hbCBkaWN0
aW9uYXJ5IGRlZmluZWQgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2Vy
dmVySW5pdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNl
IFBlcmZvcm1hbmNlWzJdOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgUGVyZm9ybWFu
Y2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZSBvYmpl
Y3QgbGVuZ3RoIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZSBvYmplY3Qg
bmFtZSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgUGVyZm9y
bWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNT
IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogYXR0cmlidXRlIHByb2Nl
c3NpbmdTdGFydCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBwcm9jZXNzaW5nRW5kIAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFj
ZTogYXR0cmlidXRlIGNhbmNlbGFibGUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgdGFyZ2V0IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGlu
dGVyZmFjZTogb3BlcmF0aW9uIHRvSlNPTigpIAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBFdmVu
dENvdW50cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgRXZlbnRD
b3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBFdmVudENvdW50
cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIFBlcmZvcm1hbmNlIGlu
dGVyZmFjZTogYXR0cmlidXRlIGV2ZW50Q291bnRzIAorUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZh
Y2U6IHBlcmZvcm1hbmNlIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZXZlbnRDb3VudHMiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRs
aGFybmVzcy5hbnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1
MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbApAQCAt
MCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5m
cmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qcyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3Mu
YW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVlZTk4NTQ4ZmI2ZjIyMDliOGM0YjUzNDY4MzBjMGQ3MjNlNjgx
NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qcwpAQCAtMCwwICsxLDE4IEBA
CisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJj
ZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNz
LmpzCisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vZXZlbnQtdGltaW5nLworCisndXNlIHN0
cmljdCc7CisKK2lkbF90ZXN0KAorICBbJ2V2ZW50LXRpbWluZyddLAorICBbJ3BlcmZvcm1hbmNl
LXRpbWVsaW5lJywgJ2hyLXRpbWUnLCAnZG9tJ10sCisgIGlkbF9hcnJheSA9PiB7CisgICAgaWRs
X2FycmF5LmFkZF9vYmplY3RzKHsKKyAgICAgIFBlcmZvcm1hbmNlOiBbJ3BlcmZvcm1hbmNlJ10s
CisgICAgICAvLyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOiBbIFRPRE8gXQorICAgIH0pOworICB9
CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lk
bGhhcm5lc3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE3ZWZkYTIxYTU4
MDMyZDEyNjRjNzU4MGQxMGRiODJiMWM3M2IyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5l
c3MuYW55Lndvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorCitQQVNTIGlkbF90
ZXN0IHNldHVwIAorUEFTUyBpZGxfdGVzdCB2YWxpZGF0aW9uIAorUEFTUyBQYXJ0aWFsIGludGVy
ZmFjZSBQZXJmb3JtYW5jZTogb3JpZ2luYWwgaW50ZXJmYWNlIGRlZmluZWQgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiB2YWxpZCBleHBvc3VyZSBzZXQgCitQQVNTIFBhcnRp
YWwgaW50ZXJmYWNlIFBlcmZvcm1hbmNlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1Mg
UGFydGlhbCBkaWN0aW9uYXJ5IFBlcmZvcm1hbmNlT2JzZXJ2ZXJJbml0OiBvcmlnaW5hbCBkaWN0
aW9uYXJ5IGRlZmluZWQgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2Vy
dmVySW5pdDogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwgaW50ZXJmYWNl
IFBlcmZvcm1hbmNlWzJdOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKK1BBU1MgUGVyZm9ybWFu
Y2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2Ugb2JqZWN0IAorUEFTUyBFdmVudENvdW50cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZh
Y2U6IG1lbWJlciBldmVudENvdW50cyAKK1BBU1MgUGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBwZXJm
b3JtYW5jZSBtdXN0IG5vdCBoYXZlIHByb3BlcnR5ICJldmVudENvdW50cyIgCitQQVNTIE5vZGUg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFu
eS53b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYw
OTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwK
QEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzMyMDM3YjhiMzczOTE2YTRhMTk0MzQ3ZDQ4N2QwMDA3ZTY3ZmRiNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitDbGljayBtZQorCitQQVNTIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXMgZXZl
bnRzIGFjY29yZGluZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xh
cmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTY2NWQ0MmQzMzQ1NzQyZjUzNjRiMDg1YjJjMTM3MTU2NjUyZTIxMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCkBAIC0wLDAg
KzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+
Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggYSBkdXJhdGlv
blRocmVzaG9sZCBvZiAxMjU8L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwv
c2NyaXB0PgorPGRpdiBpZD0nbXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlz
ZV90ZXN0KGFzeW5jIHQgPT4geworICByZXR1cm4gdGVzdER1cmF0aW9uKHQsICdteURpdicsIG51
bUVudHJpZXM9MiwgZHVyPTEyNSwgZmFzdER1cj03MCwgc2xvd0R1cj0xNDApOworfSwgIlBlcmZv
cm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGluZyB0byBpdHMgZHVyYXRpb25U
aHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0
aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzIwMzdiOGIzNzM5MTZhNGExOTQzNDdkNDg3ZDAwMDdl
NjdmZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQQVNTIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGluZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQg
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1k
dXJhdGlvbi10aHJlc2hvbGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hODI3ZjIyMTFiMTI1NTBmZWU4ZDBm
NWQxMjU4ZGZiZTI5YzgzMGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRo
cmVzaG9sZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBQZXJmb3JtYW5jZU9i
c2VydmVyIHdpdGggYSBkdXJhdGlvblRocmVzaG9sZCBvZiA1MDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rp
dj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIHJldHVybiB0ZXN0RHVy
YXRpb24odCwgJ215RGl2JywgbnVtRW50cmllcz0zLCBkdXI9NTAsIGZhc3REdXI9MjAsIHNsb3dE
dXI9NzApOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2ZXMgZXZlbnRzIGFjY29yZGlu
ZyB0byBpdHMgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24t
dGhyZXNob2xkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Yjk0YWEyZWE1YTIyY2MyNDUwOTA0
NjJkNzUwMzExMzI3MzczMjU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVz
aG9sZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitDbGljayBtZQorCitQQVNTIFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgd2l0aCBkdXJhdGlvblRocmVzaG9sZCBvZiAwIHNlZXMgZXZlbnRzIG9m
IGR1cmF0aW9uID49IDE2IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQzYjM4YTI3ODMz
Mzc3ZTRlYmJiZTMwNzI5MGFkZGQ0MzllYjUwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJh
dGlvbi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9y
bWFuY2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgbGVzcyB0aGFuIDE2PC90aXRs
ZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291
cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J215RGl2
Jz5DbGljayBtZTwvZGl2PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAg
cmV0dXJuIHRlc3REdXJhdGlvbih0LCAnbXlEaXYnLCBudW1FbnRyaWVzPTUsIGR1cj0wLCBmYXN0
RHVyPTAsIHNsb3dEdXI9MjApOworfSwgIlBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBkdXJhdGlv
blRocmVzaG9sZCBvZiAwIHNlZXMgZXZlbnRzIG9mIGR1cmF0aW9uID49IDE2Iik7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRv
d24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3Njg1YjNhMjZlOTQ5MjE3OTFmMzFiNDJmNmI2
MzQ2YzQ3MzE1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBFdmVudCBUaW1pbmcgbW91c2Vkb3duLiAK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zNWEwN2ZhZWIxYmNhYWFkYjBjYTYwNmY4OTQ4MDA0YjQ1YTExNWFlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2Vkb3duLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRl
bnQ9ImxvbmciPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZWRvd24uPC90aXRsZT4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50
LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBt
ZTwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVy
biB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWRvd24nKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43YWRlYWQ1ODFkMTFkODhkNGEyMmYwNDQ2YTAwZGFkM2I4ODM1
NDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQQVNTIEV2ZW50IFRpbWluZyBtb3Vz
ZWVudGVyLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgwNGQ1NzQzNzQyYzczZWM3Njk2MTNlNDFjZTQ1YmYxOTBhNDczYTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZWVudGVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBU
aW1pbmcgbW91c2VlbnRlci48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9z
Y3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJn
ZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1
cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VlbnRlcicpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMGQ5NzkzYzY5NWY2Y2UxMTkzYjIxOGRiNTBiNjViMjYy
NGY0NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1MgRXZlbnQgVGltaW5nIG1v
dXNlbGVhdmUuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjAyY2Y3M2UyYTYxNmM1NjEyMjMyYTdlMWY5ODc1NzBlZWQ5ZTJlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNlbGVhdmUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZyBtb3VzZWxlYXZlLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48
L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRh
cmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJl
dHVybiB0ZXN0RXZlbnRUeXBlKHQsICdtb3VzZWxlYXZlJyk7CisgIH0pCis8L3NjcmlwdD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YmVhM2RmNjRmYzI5YjRiNmNjYmIxZDQyMDBlM2EzODliN2Mz
MzA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NSBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworUEFTUyBFdmVudCBUaW1pbmcgbW91c2Vv
dXQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZDMyMTkzNGIwYjc4NDI4MGE1ZWQ1MjBiNzBkMGJjMGJiNWMxODM5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2VvdXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3Vz
ZW91dC48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2
Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxz
Y3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50
VHlwZSh0LCAnbW91c2VvdXQnLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9zY3Jp
cHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vv
dmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDEwM2E1MDk1OGNkYTliMWQxNTkzM2Q3NjM3
OGFlMGQ3MmMyMWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1MgRXZlbnQgVGlt
aW5nIG1vdXNlb3Zlci4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzQxZWUyZDdlY2Q3ZmI5MzhkMmQ0ZmUyNGFkNmNhMDA1NjUwN2Iw
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3Zlci5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZl
bnQgVGltaW5nIG1vdXNlb3Zlci48L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+
PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2PgorPGRpdiBpZD0ndGFyZ2V0Jz5U
YXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBy
ZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VvdmVyJywgdHJ1ZSAvKiBsb29zZUNvdW50ICov
KTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZXVwLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGYzOTA4MjhkZDE0MTNh
MWMwZDc4ZDI2ZDIwODZlY2IxMDgxMTg4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUYXJnZXQKKworUEFTUyBFdmVudCBUaW1pbmcgbW91
c2V1cC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NTNiZWY4ZmRiMmYwMjUzNmNlNjg3NDkxYjk1MTFhYWQ5NGZiMDNkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvbW91c2V1cC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNl
dXAuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBp
ZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0
ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2V1cCcpOworICB9KQorPC9z
Y3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDcxZmQ1N2M0NGZlMjc4MzQ1MGFhM2Y5MGZlYTI3MTA0OTBmMGRhNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sg
Zmlyc3QtaW5wdXQgZm9yIGEgUGVyZm9ybWFuY2VPYnNlcnZlciBvYnNlcnZpbmcgb25seSBmaXJz
dC1pbnB1dC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9v
bmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0YTYwMzZmOTFhZGI4OWM3
YjY1MjhlNDA4NTA5MzdkNzA1MjBiNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUt
Zmlyc3RJbnB1dC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBvbmx5IG9ic2Vy
dmUgdGhlIGZpcnN0IGlucHV0PC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUg
YSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48
L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgLyogVGVzdDoKKyAgICAgUGVyZm9ybWFuY2VPYnNlcnZl
ciBmb3IgZmlyc3QtaW5wdXQgaXMgcmVnaXN0ZXJlZAorICAgICBDbGljayAxCisgICAgIENsaWNr
IDIKKyAgICAgV2FpdAorICAgICBFeHBlY3RlZCByZXN1bHQ6CisgICAgIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgc2hvdWxkIG9ic2VydmUgb25lIGFuZCBvbmx5IG9uZSBlbnRyeS4KKyAgKi8KKyAgYXN5
bmNfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAg
ICBsZXQgaGFzT2JzZXJ2ZWRGaXJzdElucHV0ID0gZmFsc2U7CisgICAgbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIodC5zdGVwX2Z1bmMoKGVudHJ5TGlzdCkgPT4geworICAgICAgICBhc3NlcnRfZmFs
c2UoaGFzT2JzZXJ2ZWRGaXJzdElucHV0KTsKKyAgICAgICAgaGFzT2JzZXJ2ZWRGaXJzdElucHV0
ID0gdHJ1ZTsKKyAgICAgICAgY29uc3Qgb2JzZXJ2ZWRFbnRyaWVzID0gZW50cnlMaXN0LmdldEVu
dHJpZXMoKS5maWx0ZXIoCisgICAgICAgICAgICBlbnRyeSA9PiBlbnRyeS5uYW1lID09PSAnbW91
c2Vkb3duJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JzZXJ2ZWRFbnRyaWVzLmxlbmd0aCwg
MSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JzZXJ2ZWRFbnRyaWVzWzBdLmVudHJ5VHlwZSwg
J2ZpcnN0LWlucHV0Jyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMob2JzZXJ2ZWRFbnRyaWVzWzBd
Lm5hbWUsICdtb3VzZWRvd24nKTsKKyAgICB9KSkub2JzZXJ2ZSh7IGVudHJ5VHlwZXM6IFsnZmly
c3QtaW5wdXQnXSB9KTsKKyAgICBvbl9ldmVudCh3aW5kb3csICdsb2FkJywgKCkgPT4geworICAg
ICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4oKCkgPT4geworICAgICAgICBjbGlj
a0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0KS50aGVuKCAoKSA9PiB7CisgICAgICAg
ICAgLy8gQWZ0ZXIgc29tZSB3YWl0LCB0aGUgUGVyZm9ybWFuY2VPYnNlcnZlciBzaG91bGQgaGF2
ZSBwcm9jZXNzZWQgYm90aCBjbGlja3MuCisgICAgICAgICAgLy8gT25lIGFuZCBvbmx5IG9uZSBm
aXJzdC1pbnB1dCBlbnRyeSBzaG91bGQgaGF2ZSBiZWVuIGRpc3BhdGNoZWQsIHNvCisgICAgICAg
ICAgLy8gfGhhc09ic2VydmVkRmlyc3RJbnB1dHwgc2hvdWxkIGJlIHRydWUuCisgICAgICAgICAg
dC5zdGVwX3RpbWVvdXQoICgpID0+IHsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKGhhc09ic2Vy
dmVkRmlyc3RJbnB1dCk7CisgICAgICAgICAgICB0LmRvbmUoKTsKKyAgICAgICAgICB9LCAxMCk7
CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgfSk7CisgIH0sCisgICJFdmVudCBUaW1pbmc6
IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIgb2JzZXJ2aW5nIG9u
bHkgZmlyc3QtaW5wdXQuIgorICApOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVyZG93bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTg3OTlhNGY3ZTZjZjk4NWYzMmJiZjdhMWVkNWM5MDg2Y2EzMDM5MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJkb3duLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Rhcmdl
dAorCitQQVNTIEV2ZW50IFRpbWluZyBwb2ludGVyZG93bi4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJkb3duLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlYjZhZTg5OGNjZDAw
NmRhMTYzM2E3ZjgxMmRiY2ZjMGZjYmU5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93
bi5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBj
aGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0
aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmRvd24uPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFj
dGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0
LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3Jp
cHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlw
ZSh0LCAncG9pbnRlcmRvd24nKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcG9pbnRlcmVudGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZGQ2Zjk2ODlhNmE0OTc3OTA1OGRkNzliNjVmOTI2ZThjZjlhNzc1ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBA
CitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQQVNTIEV2ZW50IFRpbWluZyBwb2ludGVyZW50
ZXIuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJhZTFjNTFkNTFjZGU0ZDIzMTRlMzEwNjkzMzI4ZmQyNmRiZDhiZTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZyBwb2ludGVyZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+
VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJlbnRlcicpOworICB9KQorPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRl
cmxlYXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTU5N2U0NDRlMzFlYWEyNTYxNDM2N2Q0
NDEzMGM2ZDBlZTBlOGU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1MgRXZl
bnQgVGltaW5nIHBvaW50ZXJsZWF2ZS4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcG9pbnRlcmxlYXZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFlOGYxNWVjMGQxNmE1MzE4MmYwNmU3
Zjk1NTMyMjhjYzBhYjdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJsZWF2ZS48L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2
PgorPGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVz
dChhc3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAncG9pbnRlcmxlYXZl
Jyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcm91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjdkNmM2MWMx
ZWRmNDg5NzYzMDA2NGRkOGY4ZTdhOWI2MDc0ZmQ1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJn
ZXQKKworUEFTUyBFdmVudCBUaW1pbmcgcG9pbnRlcm91dC4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJvdXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDhmNTc2OTljYzQ4ZDgy
MzUwZmFiYmUzYmUyNTg5YzJiYjJjMWYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm91dC5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFy
c2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJvdXQuPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8
L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNl
X3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJv
dXQnLCB0cnVlIC8qIGxvb3NlQ291bnQgKi8pOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTI5NWRjNGVkNjE2ZmU5ZTY2OTE0MDIxMmQzYjQ2MjQyYWRiNjZj
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1MgRXZlbnQgVGltaW5nIHBvaW50
ZXJvdmVyLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGUxNzEyMjM5YzA5NTgzOGE1NjVjZWU4ODc0Y2MzYjUyMjE5NDhkMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVu
dCBUaW1pbmcgcG9pbnRlcm92ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
Pjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+
VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJvdmVyJywgdHJ1ZSAvKiBsb29zZUNvdW50
ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM0YjBkNzE0
NTc3NmM1ODg1ZjQwZGU3ZWI4ZDQ2ZTE3OTE1MjM5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJ1cC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUYXJnZXQKKworUEFTUyBFdmVudCBU
aW1pbmcgcG9pbnRlcnVwLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVy
dXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MzI0YTViZWI3YWIzMmMzZjdiYWVlNjk5YWYzOTcwOTAxZjdh
ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKQEAgLTAsMCArMSwxNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5F
dmVudCBUaW1pbmcgcG9pbnRlcnVwLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3Bv
aW50ZXJ1cCcpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFt
bWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGlj
ay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViZjQ4Y2Y5MjBhNjk5YWEz
YmM2Njg4NzE4YjVmMDU0NmRkMGE2NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMt
Y2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0NsaWNrIG1l
CitObywgY2xpY2sgbWUhCisKK1BBU1MgRXZlbnQgVGltaW5nOiBldmVudHMgZnJvbSBwcm9ncmFt
bWF0aWMgY2xpY2sgYXJlIG5vdCBvYnNlcnZlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGlj
LWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQwNjBkMmQwMGRjMWMwMjEwODU0MzE3YmNlNWJiYzViYzI1ZmZm
NTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLmh0
bWwKQEAgLTAsMCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9dXRmLTggLz4KKzxkaXYgaWQ9J2Rpdicgb25jbGljaz0nZGVsYXkoKSc+Q2xpY2sgbWU8L2Rp
dj4KKzxkaXYgaWQ9J2RpdjInPk5vLCBjbGljayBtZSE8L2Rpdj4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IGRlbGF5Q2FsbGVkID0gZmFs
c2U7CisgIGxldCBiZWZvcmVDbGljazsKKyAgZnVuY3Rpb24gZGVsYXkoKSB7CisgICAgY29uc3Qg
ZW5kID0gcGVyZm9ybWFuY2Uubm93KCkgKyAxNTA7CisgICAgd2hpbGUocGVyZm9ybWFuY2Uubm93
KCkgPCBlbmQpIHt9CisgICAgZGVsYXlDYWxsZWQgPSB0cnVlOworICB9CisgIHByb21pc2VfdGVz
dChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNl
RXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBsZXQg
b2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25zdCBvYnNlcnZlclByb21pc2UgPSBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgY29uc3Qg
bW91c2VEb3ducyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAg
ICAgICAgLy8gSWdub3JlIGNhc2VzIGluIHdoaWNoIHRoZXJlIGlzIG5vIG1vdXNlZG93bi4KKyAg
ICAgICAgaWYgKG1vdXNlRG93bnMubGVuZ3RoID09PSAwKQorICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBhc3NlcnRfZmFsc2Uob2JzZXJ2ZWRNb3VzZURvd24sICdUaGVyZSBtdXN0IG9ubHkg
YmUgb25lIG1vdXNlZG93biBlbnRyeS4nKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURv
d25zLmxlbmd0aCwgMSk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gbW91c2VEb3duc1swXTsKKyAg
ICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGVudHJ5IGlzIGV4cG9zaW5nIHRpbWluZyBm
cm9tIHRoZSBzZWNvbmQgY2xpY2ssIGkuZS4KKyAgICAgICAgLy8gdGhlIG9uZSBmcm9tIHRoZSBj
bGlja0FuZEJsb2NrTWFpbigpIGNhbGwuCisgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1
YWwoZW50cnkucHJvY2Vzc2luZ1N0YXJ0LCBiZWZvcmVDbGljayk7CisgICAgICAgIHZlcmlmeUNs
aWNrRXZlbnQoZW50cnksICdkaXYyJywgdHJ1ZSk7CisgICAgICAgIG9ic2VydmVkTW91c2VEb3du
ID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgfSkpOworICAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgICAgfSk7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2RpdicpLmNsaWNrKCk7CisgICAgLy8gVGFrZSB0aGUgdGltZXN0YW1w
IGFmdGVyIHRoZSBwcm9ncmFtbWF0aWMgY2xpY2sgYnV0IGJlZm9yZSB0aGUgbmV4dCBjbGljay4K
KyAgICBiZWZvcmVDbGljayA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIC8vIEFmdGVyIHRoZSBw
cm9ncmFtbWF0aWMgY2xpY2ssIHVzZSBhbm90aGVyIGlucHV0IHRvIGtub3cgd2hlbiBlbnRyaWVz
IGhhdmUgYmVlbgorICAgIC8vIGRpc3BhdGNoZWQgdG8gdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
Y2FsbGJhY2suCisgICAgY29uc3QgY2xpY2tQcm9taXNlID0gY2xpY2tBbmRCbG9ja01haW4oJ2Rp
djInKTsKKyAgICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9t
aXNlXSk7CisgIH0sICJFdmVudCBUaW1pbmc6IGV2ZW50cyBmcm9tIHByb2dyYW1tYXRpYyBjbGlj
ayBhcmUgbm90IG9ic2VydmVkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jl
c291cmNlcy9jcm9zc2lmcmFtZS1jaGlsZGZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJh
bWUtY2hpbGRmcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Mjk0YWUwMmMyM2JhZjEzNzZiNzdiYTlm
NjQyZmY3YjRlNTljNjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJhbWUt
Y2hpbGRmcmFtZS5odG1sCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVHlwZSBodG1sPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQgc3JjPWV2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0
PgorPGRpdiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDMwMHB4IiBpZD0naWZyYW1lX2Rp
dicgb25tb3VzZWRvd249Im1haW5UaHJlYWRCdXN5KDEyMCkiPgorPHNjcmlwdD4KKyhhc3luYyAo
KSA9PiB7CisgIGNvbnN0IGNsaWNrVGltZU1pbiA9IHBlcmZvcm1hbmNlLm5vdygpOworICBjb25z
dCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgY29uc3QgbW91c2VEb3ducyA9
IGVudHJ5TGlzdC5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAgICAgIGlmIChtb3Vz
ZURvd25zLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgcmV0dXJuOworICAgICAgcmVzb2x2ZShtb3Vz
ZURvd25zKTsKKyAgICB9KS5vYnNlcnZlKHsgdHlwZTonZXZlbnQnIH0pOworICB9KTsKKyAgY29u
c3QgZW50cmllcyA9IGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKyAgY29uc3QgY2xpY2tEb25lID0g
cGVyZm9ybWFuY2Uubm93KCk7CisgIGlmIChlbnRyaWVzLmxlbmd0aCAhPT0gMSkgeworICAgIHRv
cC5wb3N0TWVzc2FnZSgiZmFpbGVkIiwgIioiKTsKKyAgICByZXR1cm47CisgIH0KKyAgY29uc3Qg
ZW50cnkgPSBlbnRyaWVzWzBdOworICB0b3AucG9zdE1lc3NhZ2UoeworICAgIC8vIEVudHJ5IHZh
bHVlcyAofGVudHJ5fCBpdHNlbGYgaXMgbm90IGNsb25hYmxlKQorICAgICJuYW1lIjogZW50cnku
bmFtZSwKKyAgICAiY2FuY2VsYWJsZSI6IGVudHJ5LmNhbmNlbGFibGUsCisgICAgImVudHJ5VHlw
ZSI6IGVudHJ5LmVudHJ5VHlwZSwKKyAgICAic3RhcnRUaW1lIjogZW50cnkuc3RhcnRUaW1lLAor
ICAgICJwcm9jZXNzaW5nU3RhcnQiOiBlbnRyeS5wcm9jZXNzaW5nU3RhcnQsCisgICAgInByb2Nl
c3NpbmdFbmQiOiBlbnRyeS5wcm9jZXNzaW5nRW5kLAorICAgICJkdXJhdGlvbiI6IGVudHJ5LmR1
cmF0aW9uLAorICAgIC8vIE90aGVyIHZhbHVlcworICAgICJjbGlja1RpbWVNaW4iOiBjbGlja1Rp
bWVNaW4sCisgICAgImNsaWNrRG9uZSIgOiBjbGlja0RvbmUsCisgICAgInRhcmdldCI6IGVudHJ5
LnRhcmdldC5pZCwKKyAgfSwgJyonKTsKK30pICgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5Y2ZlM2Mx
OWQxYjNjNjVkYTE1MzBiZDMzOTE5MGIwNTY2ZjQyOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291
cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcwpAQCAtMCwwICsxLDI2NSBAQAorLy8gQ2xp
Y2tzIG9uIHRoZSBlbGVtZW50IHdpdGggdGhlIGdpdmVuIElELiBJdCBhZGRzIGFuIGV2ZW50IGhh
bmRsZXIgdG8gdGhlIGVsZW1lbnQgd2hpY2gKKy8vIGVuc3VyZXMgdGhhdCB0aGUgZXZlbnRzIGhh
dmUgYSBkdXJhdGlvbiBvZiBhdCBsZWFzdCB8ZGVsYXl8LiBDYWxscyB8Y2FsbGJhY2t8IGR1cmlu
ZworLy8gZXZlbnQgaGFuZGxlciBpZiB8Y2FsbGJhY2t8IGlzIHByb3ZpZGVkLgorYXN5bmMgZnVu
Y3Rpb24gY2xpY2tPbkVsZW1lbnRBbmREZWxheShpZCwgZGVsYXksIGNhbGxiYWNrKSB7CisgIGNv
bnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7CisgIGNvbnN0IGNsaWNr
SGFuZGxlciA9ICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShkZWxheSk7CisgICAgaWYgKGNh
bGxiYWNrKQorICAgICAgY2FsbGJhY2soKTsKKyAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVu
ZXIoIm1vdXNlZG93biIsIGNsaWNrSGFuZGxlcik7CisgIH07CisgIGVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2Vkb3duIiwgY2xpY2tIYW5kbGVyKTsKKyAgYXdhaXQgdGVzdF9kcml2ZXIu
Y2xpY2soZWxlbWVudCk7Cit9CisKK2Z1bmN0aW9uIG1haW5UaHJlYWRCdXN5KGR1cmF0aW9uKSB7
CisgIGNvbnN0IG5vdyA9IHBlcmZvcm1hbmNlLm5vdygpOworICB3aGlsZSAocGVyZm9ybWFuY2Uu
bm93KCkgPCBub3cgKyBkdXJhdGlvbik7Cit9CisKKy8vIFRoaXMgbWV0aG9kIHNob3VsZCByZWNl
aXZlIGFuIGVudHJ5IG9mIHR5cGUgJ2V2ZW50Jy4gfGlzRmlyc3R8IGlzIHRydWUgb25seSB3aGVu
IHdlIHdhbnQKKy8vIHRvIGNoZWNrIHRoYXQgdGhlIGV2ZW50IGFsc28gaGFwcGVucyB0byBjb3Jy
ZXNwb25kIHRvIHRoZSBmaXJzdCBldmVudC4gSW4gdGhpcyBjYXNlLCB0aGUKKy8vIHRpbWluZ3Mg
b2YgdGhlICdmaXJzdC1pbnB1dCcgZW50cnkgc2hvdWxkIGJlIGVxdWFsIHRvIHRob3NlIG9mIHRo
aXMgZW50cnkuIHxtaW5EdXJhdGlvbnwKKy8vIGlzIHVzZWQgdG8gY29tcGFyZWQgYWdhaW5zdCBl
bnRyeS5kdXJhdGlvbi4KK2Z1bmN0aW9uIHZlcmlmeUV2ZW50KGVudHJ5LCBldmVudFR5cGUsIHRh
cmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0xMDQsIG5vdENhbmNlbGFibGU9ZmFs
c2UpIHsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5jYW5jZWxhYmxlLCAhbm90Q2FuY2VsYWJsZSwg
J2NhbmNlbGFibGUgcHJvcGVydHknKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCBldmVu
dFR5cGUpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2V2ZW50Jyk7CisgIGFz
c2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24sIG1pbkR1cmF0aW9uLAorICAg
ICAgIlRoZSBlbnRyeSdzIGR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwg
dG8gIiArIG1pbkR1cmF0aW9uICsgIiBtcy4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChlbnRyeS5wcm9jZXNzaW5nU3RhcnQsIGVudHJ5LnN0YXJ0VGltZSwKKyAgICAgICJUaGUgZW50
cnkncyBwcm9jZXNzaW5nU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBz
dGFydFRpbWUuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJvY2Vzc2lu
Z0VuZCwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0LAorICAgICAgIlRoZSBlbnRyeSdzIHByb2Nlc3Np
bmdFbmQgbXVzdCBiZSBhdCBsZWFzdCBhcyBsYXJnZSBhcyBwcm9jZXNzaW5nU3RhcnQuIik7Cisg
IC8vIHxkdXJhdGlvbnwgaXMgYSBudW1iZXIgcm91bmRlZCB0byB0aGUgbmVhcmVzdCA4IG1zLCBz
byBhZGQgNCB0byBnZXQgYSBsb3dlciBib3VuZAorICAvLyBvbiB0aGUgYWN0dWFsIGR1cmF0aW9u
LgorICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uICsgNCwgZW50cnku
cHJvY2Vzc2luZ0VuZCAtIGVudHJ5LnN0YXJ0VGltZSwKKyAgICAgICJUaGUgZW50cnkncyBkdXJh
dGlvbiBtdXN0IGJlIGF0IGxlYXN0IGFzIGxhcmdlIGFzIHByb2Nlc3NpbmdFbmQgLSBzdGFydFRp
bWUuIik7CisgIGlmIChpc0ZpcnN0KSB7CisgICAgbGV0IGZpcnN0SW5wdXRzID0gcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZp
cnN0SW5wdXRzLmxlbmd0aCwgMSwgJ1RoZXJlIHNob3VsZCBiZSBhIHNpbmdsZSBmaXJzdC1pbnB1
dCBlbnRyeScpOworICAgIGxldCBmaXJzdElucHV0ID0gZmlyc3RJbnB1dHNbMF07CisgICAgYXNz
ZXJ0X2VxdWFscyhmaXJzdElucHV0Lm5hbWUsIGVudHJ5Lm5hbWUpOworICAgIGFzc2VydF9lcXVh
bHMoZmlyc3RJbnB1dC5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOworICAgIGFzc2VydF9lcXVh
bHMoZmlyc3RJbnB1dC5zdGFydFRpbWUsIGVudHJ5LnN0YXJ0VGltZSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhmaXJzdElucHV0LmR1cmF0aW9uLCBlbnRyeS5kdXJhdGlvbik7CisgICAgYXNzZXJ0X2Vx
dWFscyhmaXJzdElucHV0LnByb2Nlc3NpbmdTdGFydCwgZW50cnkucHJvY2Vzc2luZ1N0YXJ0KTsK
KyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQucHJvY2Vzc2luZ0VuZCwgZW50cnkucHJvY2Vz
c2luZ0VuZCk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0LmNhbmNlbGFibGUsIGVudHJ5
LmNhbmNlbGFibGUpOworICB9CisgIGlmICh0YXJnZXRJZCkKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5LnRhcmdldCwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpKTsKK30KKworZnVu
Y3Rpb24gdmVyaWZ5Q2xpY2tFdmVudChlbnRyeSwgdGFyZ2V0SWQsIGlzRmlyc3Q9ZmFsc2UsIG1p
bkR1cmF0aW9uPTEwNCkgeworICB2ZXJpZnlFdmVudChlbnRyeSwgJ21vdXNlZG93bicsIHRhcmdl
dElkLCBpc0ZpcnN0LCBtaW5EdXJhdGlvbik7Cit9CisKK2Z1bmN0aW9uIHdhaXQoKSB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgc3RlcF90aW1lb3V0
KCgpID0+IHsKKyAgICAgIHJlc29sdmUoKTsKKyAgICB9LCAwKTsKKyAgfSk7Cit9CisKK2Z1bmN0
aW9uIGNsaWNrQW5kQmxvY2tNYWluKGlkKSB7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CisgICAgY2xpY2tPbkVsZW1lbnRBbmREZWxheShpZCwgMTIwLCByZXNv
bHZlKTsKKyAgfSk7Cit9CisKKyAgLy8gQWRkIGEgUGVyZm9ybWFuY2VPYnNlcnZlciBhbmQgb2Jz
ZXJ2ZSB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgfGR1cnwuIFRoaXMgdGVzdCB3aWxsCisg
IC8vIGF0dGVtcHQgdG8gY2hlY2sgdGhhdCB0aGUgZHVyYXRpb24gaXMgYXBwcm9wcmlhdGVseSBj
aGVja2VkIGJ5OgorICAvLyAqIEFzc2VydGluZyB0aGF0IGVudHJpZXMgcmVjZWl2ZWQgaGF2ZSBh
IGR1cmF0aW9uIHdoaWNoIGlzIHRoZSBzbWFsbGVzdCBtdWx0aXBsZSBvZiA4CisgIC8vICAgdGhh
dCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gfGR1cnwuCisgIC8vICogSXNzdWluZyB8bnVt
RW50cmllc3wgZW50cmllcyB0aGF0IGFyZSBmYXN0LCBvZiBkdXJhdGlvbiB8c2xvd0R1cnwuCisg
IC8vICogSXNzdWluZyB8bnVtRW50cmllc3wgZW50cmllcyB0aGF0IGFyZSBzbG93LCBvZiBkdXJh
dGlvbiB8ZmFzdER1cnwuCisgIC8vICogQXNzZXJ0aW5nIHRoYXQgYXQgbGVhc3QgfG51bUVudHJp
ZXN8IGVudHJpZXMgYXJlIHJlY2VpdmVkIChhdCBsZWFzdCB0aGUgc2xvdyBvbmVzKS4KKyAgLy8g
UGFyYW1ldGVyczoKKyAgLy8gfHR8ICAgICAgICAgIC0gdGhlIHRlc3QgaGFybmVzcy4KKyAgLy8g
fGR1cnwgICAgICAgIC0gdGhlIGR1cmF0aW9uVGhyZXNob2xkIGZvciB0aGUgUGVyZm9ybWFuY2VP
YnNlcnZlci4KKyAgLy8gfGlkfCAgICAgICAgIC0gdGhlIElEIG9mIHRoZSBlbGVtZW50IHRvIGJl
IGNsaWNrZWQuCisgIC8vIHxudW1FbnRyaWVzfCAtIHRoZSBudW1iZXIgb2Ygc2xvdyBhbmQgbnVt
YmVyIG9mIGZhc3QgZW50cmllcy4KKyAgLy8gfHNsb3dEdXJ8ICAgIC0gdGhlIG1pbiBkdXJhdGlv
biBvZiBhIHNsb3cgZW50cnkuCisgIC8vIHxmYXN0RHVyfCAgICAtIHRoZSBtaW4gZHVyYXRpb24g
b2YgYSBmYXN0IGVudHJ5LgorYXN5bmMgZnVuY3Rpb24gdGVzdER1cmF0aW9uKHQsIGlkLCBudW1F
bnRyaWVzLCBkdXIsIGZhc3REdXIsIHNsb3dEdXIpIHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRl
ZC4nKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2
ZSA9PiB7CisgICAgbGV0IG1pbkR1cmF0aW9uID0gTWF0aC5jZWlsKGR1ciAvIDgpICogODsKKyAg
ICAvLyBFeHBvc2VkIGV2ZW50cyBtdXN0IGFsd2F5cyBoYXZlIGEgbWluaW11bSBkdXJhdGlvbiBv
ZiAxNi4KKyAgICBtaW5EdXJhdGlvbiA9IE1hdGgubWF4KG1pbkR1cmF0aW9uLCAxNik7CisgICAg
bGV0IG51bUVudHJpZXNSZWNlaXZlZCA9IDA7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
bGlzdCA9PiB7CisgICAgICBjb25zdCBtb3VzZURvd25zID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1l
KCdtb3VzZWRvd24nKTsKKyAgICAgIG1vdXNlRG93bnMuZm9yRWFjaChlID0+IHsKKyAgICAgICAg
dC5zdGVwKCgpID0+IHsKKyAgICAgICAgICB2ZXJpZnlDbGlja0V2ZW50KGUsIGlkLCBmYWxzZSAv
KiBpc0ZpcnN0ICovLCBtaW5EdXJhdGlvbik7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAg
ICBudW1FbnRyaWVzUmVjZWl2ZWQgKz0gbW91c2VEb3ducy5sZW5ndGg7CisgICAgICAvLyBOb3Rl
IHRoYXQgd2UgbWF5IHJlY2VpdmUgbW9yZSBlbnRyaWVzIGlmIHRoZSAnZmFzdCcgY2xpY2sgZXZl
bnRzIHR1cm4gb3V0IHNsb3dlcgorICAgICAgLy8gdGhhbiBleHBlY3RlZC4KKyAgICAgIGlmIChu
dW1FbnRyaWVzUmVjZWl2ZWQgPj0gbnVtRW50cmllcykKKyAgICAgICAgcmVzb2x2ZSgpOworICAg
IH0pLm9ic2VydmUoe3R5cGU6ICJldmVudCIsIGR1cmF0aW9uVGhyZXNob2xkOiBkdXJ9KTsKKyAg
fSk7CisgIGNvbnN0IGNsaWNrc1Byb21pc2UgPSBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+
IHsKKyAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbnVtRW50cmllczsgaW5kZXgrKykg
eworICAgICAgLy8gQWRkIHNvbWUgZmFzdCBjbGljayBldmVudHMuCisgICAgICBhd2FpdCBjbGlj
a09uRWxlbWVudEFuZERlbGF5KGlkLCBzbG93RHVyKTsKKyAgICAgIC8vIEFkZCBzb21lIHNsb3cg
Y2xpY2sgZXZlbnRzLgorICAgICAgaWYgKGZhc3REdXIgPiAwKSB7CisgICAgICAgIGF3YWl0IGNs
aWNrT25FbGVtZW50QW5kRGVsYXkoaWQsIGZhc3REdXIpOworICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgLy8gV2UgY2FuIGp1c3QgZGlyZWN0bHkgY2FsbCB0ZXN0X2RyaXZlciB3aGVuIHxmYXN0RHVy
fCBpcyAwLgorICAgICAgICBhd2FpdCB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCkpOworICAgICAgfQorICAgIH0KKyAgICByZXNvbHZlKCk7CisgIH0pOworICBy
ZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tzUHJvbWlzZV0pOworfQor
CisvLyBBcHBseSBldmVudHMgdGhhdCB0cmlnZ2VyIGFuIGV2ZW50IG9mIHRoZSBnaXZlbiB8ZXZl
bnRUeXBlfCB0byBiZSBkaXNwYXRjaGVkIHRvIHRoZQorLy8gfHRhcmdldHwuIFNvbWUgb2YgdGhl
c2UgYXNzdW1lIHRoYXQgdGhlIHRhcmdldCBpcyBub3Qgb24gdGhlIHRvcCBsZWZ0IGNvcm5lciBv
ZiB0aGUKKy8vIHNjcmVlbiwgd2hpY2ggbWVhbnMgdGhhdCAoMCwgMCkgb2YgdGhlIHZpZXdwb3J0
IGlzIG91dHNpZGUgb2YgdGhlIHx0YXJnZXR8LgorZnVuY3Rpb24gYXBwbHlBY3Rpb24oZXZlbnRU
eXBlLCB0YXJnZXQpIHsKKyAgY29uc3QgYWN0aW9ucyA9IG5ldyB0ZXN0X2RyaXZlci5BY3Rpb25z
KCk7CisgIGlmIChldmVudFR5cGUgPT09ICdhdXhjbGljaycpIHsKKyAgICBhY3Rpb25zLnBvaW50
ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKHtidXR0b246
IGFjdGlvbnMuQnV0dG9uVHlwZS5NSURETEV9KQorICAgIC5wb2ludGVyVXAoe2J1dHRvbjogYWN0
aW9ucy5CdXR0b25UeXBlLk1JRERMRX0pOworICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ2Ns
aWNrJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZWRvd24nIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNl
dXAnCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyZG93bicgfHwgZXZlbnRUeXBlID09
PSAncG9pbnRlcnVwJworICAgICAgfHwgZXZlbnRUeXBlID09PSAndG91Y2hzdGFydCcgfHwgZXZl
bnRUeXBlID09PSAndG91Y2hlbmQnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7
b3JpZ2luOiB0YXJnZXR9KQorICAgIC5wb2ludGVyRG93bigpCisgICAgLnBvaW50ZXJVcCgpOwor
ICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ2NvbnRleHRtZW51JykgeworICAgIGFjdGlvbnMu
cG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRlckRvd24oe2J1
dHRvbjogYWN0aW9ucy5CdXR0b25UeXBlLlJJR0hUfSkKKyAgICAucG9pbnRlclVwKHtidXR0b246
IGFjdGlvbnMuQnV0dG9uVHlwZS5SSUdIVH0pOworICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0g
J2RibGNsaWNrJykgeworICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFy
Z2V0fSkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKQorICAgIC5wb2ludGVy
RG93bigpCisgICAgLnBvaW50ZXJVcCgpCisgICAgLy8gUmVzZXQgYnkgY2xpY2tpbmcgb3V0c2lk
ZSBvZiB0aGUgdGFyZ2V0LgorICAgIC5wb2ludGVyTW92ZSgwLCAwKQorICAgIC5wb2ludGVyRG93
bigpCisgICAgLnBvaW50ZXJVcCgpOworICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gJ21vdXNl
ZW50ZXInIHx8IGV2ZW50VHlwZSA9PT0gJ21vdXNlb3ZlcicKKyAgICAgIHx8IGV2ZW50VHlwZSA9
PT0gJ3BvaW50ZXJlbnRlcicgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcm92ZXInKSB7CisgICAg
Ly8gTW92ZSBvdXRzaWRlIG9mIHRoZSB0YXJnZXQgYW5kIHRoZW4gYmFjayBpbnNpZGUuCisgICAg
YWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwKQorICAgIC5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2lu
OiB0YXJnZXR9KTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdtb3VzZWxlYXZlJyB8fCBl
dmVudFR5cGUgPT09ICdtb3VzZW91dCcKKyAgICAgIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJs
ZWF2ZScgfHwgZXZlbnRUeXBlID09PSAncG9pbnRlcm91dCcpIHsKKyAgICBhY3Rpb25zLnBvaW50
ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJNb3ZlKDAsIDApOwor
ICB9IGVsc2UgeworICAgIGFzc2VydF91bnJlYWNoZWQoJ1RoZSBldmVudCB0eXBlICcgKyBldmVu
dFR5cGUgKyAnIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIH0KKyAgcmV0dXJuIGFjdGlvbnMuc2Vu
ZCgpOworfQorCitmdW5jdGlvbiByZXF1aXJlc0xpc3RlbmVyKGV2ZW50VHlwZSkgeworICByZXR1
cm4gWydtb3VzZWVudGVyJywKKyAgICAgICAgICAnbW91c2VsZWF2ZScsCisgICAgICAgICAgJ3Bv
aW50ZXJkb3duJywKKyAgICAgICAgICAncG9pbnRlcmVudGVyJywKKyAgICAgICAgICAncG9pbnRl
cmxlYXZlJywKKyAgICAgICAgICAncG9pbnRlcm91dCcsCisgICAgICAgICAgJ3BvaW50ZXJvdmVy
JywKKyAgICAgICAgICAncG9pbnRlcnVwJworICAgICAgICBdLmluY2x1ZGVzKGV2ZW50VHlwZSk7
Cit9CisKK2Z1bmN0aW9uIG5vdENhbmNlbGFibGUoZXZlbnRUeXBlKSB7CisgIHJldHVybiBbJ21v
dXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdwb2ludGVyZW50ZXInLCAncG9pbnRlcmxlYXZlJ10u
aW5jbHVkZXMoZXZlbnRUeXBlKTsKK30KKworLy8gVGVzdHMgdGhlIGdpdmVuIHxldmVudFR5cGV8
J3MgcGVyZm9ybWFuY2UuZXZlbnRDb3VudHMgdmFsdWUuIFNpbmNlIHRoaXMgaXMgcG9wdWxhdGVk
IG9ubHkgd2hlbgorLy8gdGhlIGV2ZW50IGlzIHByb2Nlc3NlZCwgd2UgY2hlY2sgZXZlcnkgMTAg
bXMgdW50aWwgd2UndmUgZm91bmQgdGhlIHxleHBlY3RlZENvdW50fC4KK2Z1bmN0aW9uIHRlc3RD
b3VudHModCwgcmVzb2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBlLCBleHBlY3RlZENvdW50KSB7
CisgIGNvbnN0IGNvdW50cyA9IHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzLmdldChldmVudFR5cGUp
OworICBpZiAoY291bnRzIDwgZXhwZWN0ZWRDb3VudCkgeworICAgIHQuc3RlcF90aW1lb3V0KCgp
ID0+IHsKKyAgICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VDb3VudCwgZXZlbnRUeXBl
LCBleHBlY3RlZENvdW50KTsKKyAgICB9LCAxMCk7CisgICAgcmV0dXJuOworICB9CisgIGlmIChs
b29zZUNvdW50KSB7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChwZXJmb3JtYW5jZS5l
dmVudENvdW50cy5nZXQoZXZlbnRUeXBlKSwgZXhwZWN0ZWRDb3VudCwKKyAgICAgICAgYFNob3Vs
ZCBoYXZlIGF0IGxlYXN0ICR7ZXhwZWN0ZWRDb3VudH0gJHtldmVudFR5cGV9IGV2ZW50c2ApCisg
IH0gZWxzZSB7CisgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQo
ZXZlbnRUeXBlKSwgZXhwZWN0ZWRDb3VudCwKKyAgICAgICAgYFNob3VsZCBoYXZlICR7ZXhwZWN0
ZWRDb3VudH0gJHtldmVudFR5cGV9IGV2ZW50c2ApOworICB9CisgIHJlc29sdmUoKTsKK30KKwor
Ly8gVGVzdHMgdGhlIGdpdmVuIHxldmVudFR5cGV8IGJ5IGNyZWF0aW5nIGV2ZW50cyB3aG9zZSB0
YXJnZXQgYXJlIHRoZSBlbGVtZW50IHdpdGggaWQKKy8vICd0YXJnZXQnLiBUaGUgdGVzdCBhc3N1
bWVzIHRoYXQgc3VjaCBlbGVtZW50IGFscmVhZHkgZXhpc3RzLiB8bG9vc2VDb3VudHwgaXMgc2V0
IGZvcgorLy8gZXZlbnRUeXBlcyBmb3Igd2hpY2ggZXZlbnRzIHdvdWxkIG9jY3VyIGZvciBvdGhl
ciBpbnRlcmFjdGlvbnMgb3RoZXIgdGhhbiB0aGUgb25lcyBiZWluZworLy8gc3BlY2lmaWVkIGZv
ciB0aGUgdGFyZ2V0LCBzbyB0aGUgY291bnRzIGNvdWxkIGJlIGxhcmdlci4KK2FzeW5jIGZ1bmN0
aW9uIHRlc3RFdmVudFR5cGUodCwgZXZlbnRUeXBlLCBsb29zZUNvdW50PWZhbHNlKSB7CisgIGFz
c2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywgIkV2ZW50IENvdW50cyBpc24ndCBz
dXBwb3J0ZWQiKTsKKyAgY29uc3QgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rh
cmdldCcpOworICBpZiAocmVxdWlyZXNMaXN0ZW5lcihldmVudFR5cGUpKSB7CisgICAgdGFyZ2V0
LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCAoKSA9Pnt9KTsKKyAgfQorICBjb25zdCBpbml0
aWFsQ291bnQgPSBwZXJmb3JtYW5jZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKTsKKyAgaWYg
KCFsb29zZUNvdW50KSB7CisgICAgYXNzZXJ0X2VxdWFscyhpbml0aWFsQ291bnQsIDAsICdObyBl
dmVudHMgeWV0LicpOworICB9CisgIC8vIFRyaWdnZXIgdHdvICdmYXN0JyBldmVudHMgb2YgdGhl
IHR5cGUuCisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KTsKKyAgYXdhaXQg
YXBwbHlBY3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICBhd2FpdCBuZXcgUHJvbWlzZSh0LnN0
ZXBfZnVuYyhyZXNvbHZlID0+IHsKKyAgICB0ZXN0Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291
bnQsIGV2ZW50VHlwZSwgaW5pdGlhbENvdW50ICsgMik7CisgIH0pKTsKKyAgLy8gVGhlIGR1cmF0
aW9uVGhyZXNob2xkIHVzZWQgYnkgdGhlIG9ic2VydmVyLiBBIHNsb3cgZXZlbnRzIG5lZWRzIHRv
IGJlIHNsb3dlciB0aGFuIHRoYXQuCisgIGNvbnN0IGR1cmF0aW9uVGhyZXNob2xkID0gMTY7Cisg
IC8vIE5vdyBhZGQgYW4gZXZlbnQgaGFuZGxlciB0byBjYXVzZSBhIHNsb3cgZXZlbnQuCisgIHRh
cmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgKCkgPT4geworICAgIG1haW5UaHJlYWRC
dXN5KGR1cmF0aW9uVGhyZXNob2xkICsgNCk7CisgIH0pOworICBjb25zdCBvYnNlcnZlclByb21p
c2UgPSBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBuZXcgUGVyZm9ybWFuY2VP
YnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgbGV0IGV2ZW50VHlwZUVu
dHJpZXMgPSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZShldmVudFR5cGUpOworICAgICAgaWYg
KGV2ZW50VHlwZUVudHJpZXMubGVuZ3RoID09PSAwKQorICAgICAgICByZXR1cm47CisKKyAgICAg
IGxldCBlbnRyeSA9IG51bGw7CisgICAgICBpZiAoIWxvb3NlQ291bnQpIHsKKyAgICAgICAgZW50
cnkgPSBldmVudFR5cGVFbnRyaWVzWzBdOworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50VHlw
ZUVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFRoZSBvdGhl
ciBldmVudHMgY291bGQgYWxzbyBiZSBjb25zaWRlcmVkIHNsb3cuIEZpbmQgdGhlIG9uZSB3aXRo
IHRoZSBjb3JyZWN0CisgICAgICAgIC8vIHRhcmdldC4KKyAgICAgICAgZXZlbnRUeXBlRW50cmll
cy5mb3JFYWNoKGUgPT4geworICAgICAgICAgIGlmIChlLnRhcmdldCA9PT0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3RhcmdldCcpKQorICAgICAgICAgICAgZW50cnkgPSBlOworICAgICAgICB9
KTsKKyAgICAgICAgaWYgKCFlbnRyeSkKKyAgICAgICAgICByZXR1cm47CisgICAgICB9CisgICAg
ICB2ZXJpZnlFdmVudChlbnRyeSwKKyAgICAgICAgICAgICAgICAgIGV2ZW50VHlwZSwKKyAgICAg
ICAgICAgICAgICAgICd0YXJnZXQnLAorICAgICAgICAgICAgICAgICAgZmFsc2UgLyogaXNGaXJz
dCAqLywKKyAgICAgICAgICAgICAgICAgIGR1cmF0aW9uVGhyZXNob2xkLAorICAgICAgICAgICAg
ICAgICAgbm90Q2FuY2VsYWJsZShldmVudFR5cGUpKTsKKyAgICAgIC8vIFNob3VsZG4ndCBuZWVk
IGFzeW5jIHRlc3RpbmcgaGVyZSBzaW5jZSB3ZSBhbHJlYWR5IGdvdCB0aGUgb2JzZXJ2ZXIgZW50
cnksIGJ1dCBtaWdodCBhcworICAgICAgLy8gd2VsbCByZXVzZSB0aGUgbWV0aG9kLgorICAgICAg
dGVzdENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGluaXRpYWxDb3Vu
dCArIDMpOworICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnLCBkdXJhdGlvblRocmVzaG9s
ZDogZHVyYXRpb25UaHJlc2hvbGR9KTsKKyAgfSk7CisgIC8vIENhdXNlIGEgc2xvdyBldmVudC4K
KyAgbGV0IGFjdGlvblByb21pc2UgPSBhcHBseUFjdGlvbihldmVudFR5cGUsIHRhcmdldCk7Cisg
IHJldHVybiBQcm9taXNlLmFsbChbYWN0aW9uUHJvbWlzZSwgb2JzZXJ2ZXJQcm9taXNlXSk7Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWlt
YWdlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMyZjkxNjU1Y2YzOWY1OGI3OTQwZjJiZWRiNGM1OGI4ZDY5OWYw
MWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpAQCAtMCwwICsx
LDcgQEAKK2ltcG9ydCB0aW1lCisKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICAj
IFNsZWVwIGZvciA1MDBtcyB0byBkZWxheSBvbmxvYWQuCisgICAgdGltZS5zbGVlcCgwLjUpCisg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwgYiJuby1jYWNoZSwgbXVz
dC1yZXZhbGlkYXRlIik7CisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJMb2NhdGlvbiIsIGIi
ZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFKQUFBTWpJeUFBQUFDd0FBQUFBQVFB
QkFBQUNBZ1FCQURzJTNEIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDAwZjAwMGFmMzlkYTFkNmM2
ZWVhM2NmYTJhMjRiZjFiZTI3Y2Y0YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDE5IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJh
bWUtY2hpbGRmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpz
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmVzb3VyY2VzL3Nsb3ctaW1hZ2UucHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYmU3
ZmI4OTkwNWI1OWY3MjhjNTk0OTdlZWM5ZGY0YTc1M2U3MjlmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmV0cmlldmFiaWxpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAn
Y2xpY2snIGV2ZW50CisKK1BBU1MgRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGltaW5n
IGVudHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKi4g
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFiNDc1ZmM1Mjk3NGZlMmFmZGUzNTUzMzI2NTNjODAyYzdjNWYxNmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkV2ZW50
IFRpbWluZzogbWFrZSBzdXJlICdldmVudCcgZW50cmllcyBhcmUgbm90IHJldHJpZXZhYmxlIGJ5
IHBlcmZvcm1hbmNlLmdldEVudHJpZXMqIEFQSXMuPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVv
dXQiIGNvbnRlbnQ9ImxvbmciPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGlj
aycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0
PgorCis8c2NyaXB0PgorICBmdW5jdGlvbiB2YWxpZGF0ZUVudHJpZXMoKSB7CisgICAgY29uc3Qg
ZW50cmllc0J5TmFtZSA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bics
ICdldmVudCcpOworICAgIGNvbnN0IGVudHJpZXNCeVR5cGUgPSBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCdldmVudCcpOworICAgIGNvbnN0IGFsbEVudHJpZXMgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzKCk7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzQnlOYW1lLmxlbmd0aCwgMCwg
J0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJp
ZXNCeU5hbWUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNCeVR5cGUubGVuZ3RoLCAwLCAn
RXZlbnQgVGltaW5nIGVudHJ5IHNob3VsZCBub3QgYmUgcmV0cmlldmFibGUgYnkgZ2V0RW50cmll
c0J5VHlwZScpOworICAgIGFzc2VydF9lcXVhbHMoYWxsRW50cmllcy5maWx0ZXIoZSA9PiBlLmVu
dHJ5VHlwZSA9PT0gJ2V2ZW50JykubGVuZ3RoLCAwLCAnRXZlbnQgVGltaW5nIGVudHJ5IHNob3Vs
ZCBub3QgYmUgcmV0cmlldmFibGUgYnkgZ2V0RW50cmllcycpOworICB9CisKKyAgLyogVGltZWxp
bmU6CisgICAgIEJlZ2luIEJ1c3kgTG9vcAorICAgICBDbGljayAxIGFycml2ZXMKKyAgICAgRW5k
IEJ1c3kgTG9vcAorICAgICAoRGlzcGF0Y2ggYW5kIFByb2Nlc3MgQ2xpY2sgMSAtIGJ1ZmZlcmVk
KQorICAgICBPbmxvYWQgRXZlbnQgRmlyZXMKKyAgICAgVmFsaWRhdGUgZW50cmllcworICAqLwor
ICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cu
UGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicp
OworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7
CisgICAgICBpZiAoZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicpLmxlbmd0
aCA+IDApIHsKKyAgICAgICAgdmFsaWRhdGVFbnRyaWVzKCk7CisgICAgICAgIHQuZG9uZSgpOwor
ICAgICAgfQorICAgIH0pKS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2V2ZW50J119KTsKKyAgICBj
bGlja0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgIH0sICJFdmVudCBUaW1pbmc6IG1ha2Ugc3Vy
ZSBldmVudC10aW1pbmcgZW50cmllcyBhcmUgbm90IHJldHJpZXZhYmxlIGJ5IHBlcmZvcm1hbmNl
LmdldEVudHJpZXMqLiIpOworCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJp
ZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDM5Y2RmM2JmNjFiZWRmYzc5ZWFiMDMzM2UxYjc4Zjc0NTk1Yjg1
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK1BBU1MgRXZlbnQgVGlt
aW5nOiBjaGVjayBmaXJzdC1pbnB1dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xp
Y2suIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1m
aXJzdElucHV0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdiMTdjZDE4MTY1Zjk3NWZiYmQ5OGU3ZGUwN2Rh
ZDcxMjUxYzFmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbApA
QCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZmlyc3QtaW5wdXQgZW50cnkgc2hvdWxkIGJl
IGJ1ZmZlcmVkIGV2ZW4gd2l0aG91dCBvYnNlcnZlcjwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0
b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVu
ZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRl
c3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24o
dCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5n
LCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgZnVuY3Rpb24gdGVzdEVu
dHJpZXMoKSB7CisgICAgICAvLyBGaXJzdCBjYWxsYmFjayBpcyBub3QgZW5zdXJlZCB0byBoYXZl
IHRoZSBlbnRyeS4KKyAgICAgIGlmIChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJz
dC1pbnB1dCcpLmxlbmd0aCA9PT0gMCkgeworICAgICAgICB0LnN0ZXBfdGltZW91dCh0ZXN0RW50
cmllcywgMTApOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBhc3NlcnRfZXF1YWxz
KHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2ZpcnN0LWlucHV0JykubGVuZ3RoLCAxLAor
ICAgICAgICAiVGhlcmUgc2hvdWxkIGJlIGEgZmlyc3QtaW5wdXQgZW50cnkgaW4gdGhlIHBlcmZv
cm1hbmNlIHRpbWVsaW5lIik7CisgICAgICBjb25zdCBlbnRyeSA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoJ2ZpcnN0LWlucHV0JylbMF07CisgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5
Lm5hbWUsICdtb3VzZWRvd24nKTsKKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZW50cnlUeXBl
LCAnZmlyc3QtaW5wdXQnKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnku
ZHVyYXRpb24sIDEwNCwKKyAgICAgICAgIlRoZSBmaXJzdCBpbnB1dCB3YXMgYSBsb25nIG9uZS4i
KTsKKyAgICAgIHQuZG9uZSgpOworICAgIH0KKyAgICBjbGlja0FuZEJsb2NrTWFpbignYnV0dG9u
JykudGhlbih3YWl0KS50aGVuKHQuc3RlcF9mdW5jKHRlc3RFbnRyaWVzKSk7CisgIH0sCisgICJF
dmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlucHV0IGFmdGVyIG9ubG9hZCwgb2JzZXJ2ZXIsIGNs
aWNrLCBjbGljay4iCisgICk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBv
cnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmY4NTgwNmY3ZjQyMWNkZjFmOTMwZjA0YjJmYjBmOTJm
NmRhOTIyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHN1cHBvcnRlZEVudHJ5VHlwZXMgY29udGFp
bnMgJ2V2ZW50JyBhbmQgJ2ZpcnN0LWlucHV0Jy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10
eXBlcy53aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhp
cyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4g
dGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFjYzQzNDk1YzA5NmZkMGNkNTY4ZmE1OTgzMDU1YzAzOTBmOTRkNDAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCkBAIC0wLDAgKzEs
MTIgQEAKK3Rlc3QoKCkgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuUGVyZm9ybWFu
Y2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9ydGVkLicpOworICBhc3Nl
cnRfaW1wbGVtZW50cyh0eXBlb2YgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5
cGVzICE9PSAidW5kZWZpbmVkIiwKKyAgICAgICdzdXBwb3J0ZWRFbnRyeVR5cGVzIGlzIG5vdCBz
dXBwb3J0ZWQnKTsKKyAgY29uc3QgdHlwZXMgPSBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRl
ZEVudHJ5VHlwZXM7CisgIGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJmaXJzdC1pbnB1dCIp
LAorICAgICJUaGVyZSBzaG91bGQgYmUgJ2ZpcnN0LWlucHV0JyBpbiBQZXJmb3JtYW5jZU9ic2Vy
dmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMiKTsKKyAgYXNzZXJ0X3RydWUodHlwZXMuaW5jbHVkZXMo
ImV2ZW50IiksCisgICAgIlRoZXJlIHNob3VsZCBiZSAnZXZlbnQnIGluIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKHR5cGVz
LmluZGV4T2YoImZpcnN0LWlucHV0IiksIHR5cGVzLmluZGV4T2YoJ2V2ZW50JyksCisgICAgIlRo
ZSAnZmlyc3QtaW5wdXQnIGVudHJ5IHNob3VsZCBhcHBlYXIgYWZ0ZXIgdGhlICdldmVudCcgZW50
cnkiKTsKK30sICJzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcgYW5kICdmaXJz
dC1pbnB1dCcuIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3RpbWluZ2NvbmRpdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNjY5MTUzMjZiZTA4
NmIzNTA0NmEyNDM4OWI1ZjFmZDYzNGZiNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25k
aXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBl
dmVudAorCitQQVNTIEV2ZW50IFRpbWluZyBvbmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1
c3RlZCBldmVudC4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RpbWlu
Z2NvbmRpdGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjQ0NDhjMmExMDNhODUxMTU0NGZiZTdiYmZk
MDc2MDc3MzdhOTBhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1sCkBA
IC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG9ubHkgdGltZXMgY2VydGFpbiB0eXBlcyBvZiB0
cnVzdGVkIGV2ZW50LgorPC90aXRsZT4KKzxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9Imxv
bmciPgorPGJ1dHRvbiBpZD0nYnV0dG9uJyBvbm1vdXNlZG93bj0nbWFpblRocmVhZEJ1c3koNjAp
JworICBvbmZvY3VzPSdtYWluVGhyZWFkQnVzeSg2MCknPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVu
dDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0
IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorICBsZXQgdHJ1c3RlZENsaWNrU3RhcnQ7CisgIGZ1bmN0aW9uIHRydXN0ZWRDbGlja0Fu
ZEJsb2NrTWFpbihpZCkgeworICAgIHRydXN0ZWRDbGlja1N0YXJ0ID0gcGVyZm9ybWFuY2Uubm93
KCk7CisgICAgcmV0dXJuIGNsaWNrQW5kQmxvY2tNYWluKGlkKTsKKyAgfQorCisgIGZ1bmN0aW9u
IHVudHJ1c3RlZENsaWNrQW5kQmxvY2tNYWluKGlkKSB7CisgICAgY29uc3QgdGFyZ2V0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOworICAgIC8vIEJsb2NrIG1haW50aHJlYWQgaW4gdGhl
IGNhbGxiYWNrLCBhcyBkaXNwYXRjaEV2ZW50KCkgaXMgYSBzeW5jIGNhbGwuCisgICAgdGFyZ2V0
LmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoJ21vdXNlZG93bicpKTsKKyAgfQorCisgIGZ1
bmN0aW9uIHRydXN0ZWRGb2N1c0FuZEJsb2NrTWFpbihpZCkgeworICAgIGNvbnN0IHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAgICB0cnVzdGVkRm9jdXNTdGFydCA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIC8vIEJsb2NrIG1haW50aHJlYWQgaW4gdGhlIGNhbGxiYWNr
LCAgYXMgZm9jdXMoKSBpcyBhIHN5bmMgY2FsbC4KKyAgICB0YXJnZXQuZm9jdXMoKTsKKyAgfQor
CisgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRl
ZC4nKTsKKyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25zdCBvYnNl
cnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IG9i
c2VydmVyQ2FsbGJhY2tUaW1lID0gcGVyZm9ybWFuY2Uubm93KCk7CisgICAgICAgIGNvbnN0IG1v
dXNlRG93bnMgPSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAg
ICAgIC8vIElnbm9yZSBjYXNlcyBpbiB3aGljaCB0aGVyZSBpcyBubyBtb3VzZWRvd24uCisgICAg
ICAgIGlmIChtb3VzZURvd25zLmxlbmd0aCA9PT0gMCkKKyAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVkTW91c2VEb3duLCAnR290IG1vcmUgdGhhbiBvbmUg
Y2FsbGJhY2sgd2l0aCBtb3VzZWRvd24uJyk7CisgICAgICAgIGFzc2VydF9lcXVhbHMobW91c2VE
b3ducy5sZW5ndGgsIDEsCisgICAgICAgICAgICAiU2hvdWxkIG9ubHkgb2JzZXJ2ZSBvbmUgbW91
c2Vkb3duIGVudHJ5LiBJbnN0ZWFkLCBnb3QgdGhlc2U6ICIgKworICAgICAgICAgICAgSlNPTi5z
dHJpbmdpZnkobW91c2VEb3ducykgKyAiLiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNl
RG93bnNbMF0ubmFtZSwgJ21vdXNlZG93bicsCisgICAgICAgICAgICAiVGhlIG9ic2VydmVkIGVu
dHJ5IHNob3VsZCBiZSBhIG1vdXNlZG93biIpOworICAgICAgICBhc3NlcnRfbGVzc190aGFuKG1v
dXNlRG93bnNbMF0uc3RhcnRUaW1lLCBvYnNlcnZlckNhbGxiYWNrVGltZSwKKyAgICAgICAgICAg
ICJUaGUgc3RhcnRUaW1lIHNob3VsZCBiZSBiZWZvcmUgb2JzZXJ2ZXJDYWxsYmFja1RpbWUiKTsK
KyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihtb3VzZURvd25zWzBdLnN0YXJ0VGltZSwgdHJ1
c3RlZENsaWNrU3RhcnQsCisgICAgICAgICAgICAiVGhlIHN0YXJ0VGltZSBzaG91bGQgYmUgYWZ0
ZXIgdHJ1c3RlZENsaWNrU3RhcnQiKTsKKyAgICAgICAgb2JzZXJ2ZWRNb3VzZURvd24gPSB0cnVl
OworICAgICAgICByZXNvbHZlKCk7CisgICAgICB9KSkub2JzZXJ2ZSh7IGVudHJ5VHlwZXM6IFsn
ZXZlbnQnXSB9KTsKKyAgICB9KTsKKyAgICAvLyBVbnRydXN0ZWQgZXZlbnQgb2YgYSB0eXBlIGV2
ZW50IHRpbWluZyBjYXJlcyBhYm91dC4KKyAgICB1bnRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbign
YnV0dG9uJyk7CisgICAgLy8gVHJ1c3RlZCBldmVudCBvZiBhIHR5cGUgZXZlbnQgdGltaW5nIGRv
ZXNuJ3QgY2FyZXMgYWJvdXQuCisgICAgdHJ1c3RlZEZvY3VzQW5kQmxvY2tNYWluKCdidXR0b24n
KTsKKyAgICAvLyBUcnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgY2FyZXMgYWJv
dXQuCisgICAgY29uc3QgY2xpY2tQcm9taXNlID0gdHJ1c3RlZENsaWNrQW5kQmxvY2tNYWluKCdi
dXR0b24nKS50aGVuKHdhaXQpOworICAgIHJldHVybiBQcm9taXNlLmFsbChbb2JzZXJ2ZXJQcm9t
aXNlLCBjbGlja1Byb21pc2VdKTsKKyAgfSwgIkV2ZW50IFRpbWluZyBvbmx5IHRpbWVzIGNlcnRh
aW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVudC4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvdG9KU09OLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGE5N2M2ZWIxODhkNGZhZGUyN2MwNjk1ZmM3ZTAxMTEwNjI2MWFlZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3RvSlNPTi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdj
bGljaycgZXZlbnQKKworRkFJTCBUZXN0IHRvSlNPTigpIGluIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcuIGFzc2VydF9lcXVhbHM6IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgJHtrZXl9IGVudHJ5IGRv
ZXMgbm90IG1hdGNoIGl0cyB0b0pTT04gdmFsdWUgZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBu
b2RlIDxidXR0b24gaWQ9ImJ1dHRvbiI+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+
IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvdG9KU09OLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJkZTQ3NjdjNDJhNWQzZmU4YTg0Y2RlZjdjNTM0
YWZiY2Q0NGUxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCkBAIC0wLDAgKzEsNDIg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPG1ldGEgY2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBU
aW1pbmc6IHRvSlNPTjwvdGl0bGU+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50
PC9idXR0b24+Cis8c2NyaXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uICh0KSB7CisgICAgYXNz
ZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1p
bmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKAorICAgICAgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbihlbnRyeUxpc3Qp
IHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKHR5cGVvZihlbnRyeS50b0pTT04pLCAnZnVuY3Rpb24nKTsKKyAg
ICAgICAgY29uc3QganNvbiA9IGVudHJ5LnRvSlNPTigpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KHR5cGVvZihqc29uKSwgJ29iamVjdCcpOworICAgICAgICBjb25zdCBrZXlzID0gWworICAgICAg
ICAgIC8vIFBlcmZvcm1hbmNlRW50cnkKKyAgICAgICAgICAnbmFtZScsCisgICAgICAgICAgJ2Vu
dHJ5VHlwZScsCisgICAgICAgICAgJ3N0YXJ0VGltZScsCisgICAgICAgICAgJ2R1cmF0aW9uJywK
KyAgICAgICAgICAvLyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nCisgICAgICAgICAgJ3Byb2Nlc3Np
bmdTdGFydCcsCisgICAgICAgICAgJ3Byb2Nlc3NpbmdFbmQnLAorICAgICAgICAgICdjYW5jZWxh
YmxlJywKKyAgICAgICAgICAndGFyZ2V0JywKKyAgICAgICAgXTsKKyAgICAgICAgZm9yIChjb25z
dCBrZXkgb2Yga2V5cykgeworICAgICAgICAgIGFzc2VydF9lcXVhbHMoanNvbltrZXldLCBlbnRy
eVtrZXldLAorICAgICAgICAgICAgJ1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcgJHtrZXl9IGVudHJ5
IGRvZXMgbm90IG1hdGNoIGl0cyB0b0pTT04gdmFsdWUnKTsKKyAgICAgICAgfQorICAgICAgfSkK
KyAgICApOworICAgIG9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICdldmVudCd9KTsKKyAgICBjbGlj
a0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgIH0sICdUZXN0IHRvSlNPTigpIGluIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1p
bXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGIyODg2N2ZkZjI3NTBiZGQ3
NTViZGFkYjM2YmNkNjBkMTRiNDkwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1pbXBvcnQubG9n
CkBAIC0wLDAgKzEsNTMgQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9y
dGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBk
aXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhl
IFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQK
KworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQg
dG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUK
K1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1
ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NsaWNrLXRpbWluZy5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51Lmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9z
c2lmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZGJsY2xpY2suaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0bWwKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9l
dmVudC1jbGljay1jb3VudHMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1y
ZXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5h
bnkuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJhdGlvbi10
aHJlc2hvbGQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2VlbnRlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlb3Zlci5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQu
aHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJkb3duLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcm91dC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5o
dG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxp
dHkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3JldHJpZXZlLWZpcnN0SW5wdXQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5k
b3cuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9u
cy5qc29uCmluZGV4IDRiZTYxZTY3MDljM2Y4MTM3ZDI1YTUzOTIyNmM4ODkxNGQzODg5ZjIuLjc3
YWExZDQwNzk3MTkwZGJhZWNhYWM3OTVkOTY1YTQxZTVkNTMwMTEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25z
Lmpzb24KQEAgLTEzNTgsNiArMTM1OCwyMSBAQAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9kcm0tdGVtcG9yYXJ5LWxpY2Vuc2UtdHlwZS5odHRw
cy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jcm9zc2lmcmFtZS5odG1sIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9jbGljay5odG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5o
dG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS5odG1sIjogWworICAgICAg
ICAic2xvdyIKKyAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwiOiBbCisgICAgICAgICJzbG93IgorICAg
IF0sCiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3VyY2UvZGVk
aWNhdGVkLXdvcmtlci9ldmVudHNvdXJjZS1jb25zdHJ1Y3Rvci1ub24tc2FtZS1vcmlnaW4uaHRt
IjogWwogICAgICAgICAic2xvdyIKICAgICBdLApAQCAtMzA3Nyw0ICszMDkyLDQgQEAKICAgICAi
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIveG1saHR0cHJlcXVlc3QtdGltZW91
dC13b3JrZXItdHdpY2UuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXQotfQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405905</attachid>
            <date>2020-08-04 00:27:26 -0700</date>
            <delta_ts>2020-08-04 00:27:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214677-20200804092723.patch</filename>
            <type>text/plain</type>
            <size>174643</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQyZTI3NjlhNmQ2Nzlk
NDNjNDI5OTIxZTNiODJkNjAyMGQ3OTk3OC4uZDdjZDE1MDM2NzY1MjA4ZTBmNzU0MDQzM2U0ODcw
NzE2NGE0M2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAyMC0wOC0wMyAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBFdmVudFRpbWlu
ZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0Njc3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lQCisK
KyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2F1eGNsaWNrLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQuaHRt
bAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtZmxhZy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2su
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvY29udGV4dG1lbnUuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGJsY2xp
Y2suaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVzaG9s
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vkb3duLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VsZWF2ZS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2V1cC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2lu
dGVyZG93bi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3BvaW50ZXJvdXQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcnVwLmh0
bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFi
aWxpdHkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlw
ZXMud2luZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbAorICAgICAgICAgICAgICAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9KU09OLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4
dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNQZXJmb3JtYW5jZUVudHJ5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnRvSlNOZXdseUNyZWF0ZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpFdmVudERpc3BhdGNoZXI6OmRpc3BhdGNoRXZlbnQpOgorICAg
ICAgICAqIHBhZ2UvRXZlbnRDb3VudHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50Q291bnRzOjpFdmVudENvdW50cyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvdW50czo6
aW5pdGlhbGl6ZU1hcExpa2UpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb3VudHM6OnNldEZy
b21NYXBMaWtlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Q291bnRzOjphZGQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRDb3VudHMuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL0V2ZW50Q291bnRzLmlkbDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50VGltaW5nLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRpbWluZzo6RXZlbnRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNFdmVudFR5cGVGb3JF
dmVudFRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRpbWluZzo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkV2ZW50VGltaW5nOjpldmVudFdhc0Rpc3BhdGNoZWQpOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRUaW1pbmcuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZXZlbnRDb3Vu
dHMpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5hbWUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlOjphZGRFdmVudFRpbWluZ0J1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZTo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnRUaW1p
bmcpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2U6OnF1ZXVlRW50cnkpOgorICAgICAg
ICAqIHBhZ2UvUGVyZm9ybWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmlkbDoK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcpOgorICAgICAgICAqIHBhZ2Uv
UGVyZm9ybWFuY2VFbnRyeS5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6
c2V0RHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeTo6aXNFdmVu
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5Ojppc0ZpcnN0SW5w
dXQgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHA6IENv
cGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VFbnRyeUN1
c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6Y2FuRXhw
b3NlTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJn
ZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50
cnlUeXBlIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4KKyAg
ICAgICAgKGlzVHlwZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlk
bDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcC4K
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlT2JzZXJ2
ZXI6OmNhbk9ic2VydmUgY29uc3QpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5pZGw6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisKIDIwMjAt
MDgtMDIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBz
b21lIG1lbWJlciBmdW5jdGlvbnMgb2YgUmFuZ2UgYW5kIG1hbnkgY2FsbHMgdG8gY3JlYXRlTGl2
ZVJhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGIwM2ZmYWYwMGMxZGRmZDUxZDE4ZTg1ZDFj
ZDg2NDFhOWI5N2Q5ZDMuLjA3YWMyNTE1ODU0YjNhMmJkZGZjYTlhZDdmYzM5OTgzMjQzMTJlNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC05NzYsNiArOTc2LDcgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKICAgICBwYWdlL0NyeXB0by5pZGwKICAgICBwYWdlL0RPTVNlbGVjdGlv
bi5pZGwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwKKyAgICBwYWdlL0V2ZW50Q291bnRzLmlkbAog
ICAgIHBhZ2UvRXZlbnRTb3VyY2UuaWRsCiAgICAgcGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAgICAg
cGFnZS9HbG9iYWxQZXJmb3JtYW5jZS5pZGwKQEAgLTk5Myw2ICs5OTQsNyBAQCBzZXQoV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHBhZ2UvTmF2aWdhdG9yU2hhcmUuaWRsCiAgICAgcGFn
ZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCisgICAgcGFn
ZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNYXJrLmlk
bAogICAgIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VP
YnNlcnZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IGY3ZDJjZGNmZGE3NzI1NjU3MTlmYzZmOTc2ZWEzNzhjZWZhYTA0NWIuLmVi
ZTA3ZjMyYTBmYTZmMmM3MTg5MWU2ZDVmM2JiNDMxZDVmOGJmODEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtOTQ1LDYgKzk0NSw3IEBA
ICQoUFJPSkVDVF9ESVIpL3BhZ2UvQmFyUHJvcC5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvQ3J5
cHRvLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9ET01TZWxlY3Rpb24uaWRsCiAkKFBST0pFQ1Rf
RElSKS9wYWdlL0RPTVdpbmRvdy5pZGwKKyQoUFJPSkVDVF9ESVIpL3BhZ2UvRXZlbnRDb3VudHMu
aWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0V2ZW50U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikv
cGFnZS9HbG9iYWxDcnlwdG8uaWRsCiAkKFBST0pFQ1RfRElSKS9wYWdlL0dsb2JhbFBlcmZvcm1h
bmNlLmlkbApAQCAtOTYzLDYgKzk2NCw3IEBAICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9y
U2VydmljZVdvcmtlci5pZGwKICQoUFJPSkVDVF9ESVIpL3BhZ2UvTmF2aWdhdG9yU2hhcmUuaWRs
CiAkKFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlLmlkbAogJChQUk9KRUNUX0RJUikvcGFn
ZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAorJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZUV2
ZW50VGltaW5nLmlkbAogJChQUk9KRUNUX0RJUikvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsCiAk
KFBST0pFQ1RfRElSKS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1NjUxMWRmZWQwNmQzNTZjZTc1NGQ0
MWE3ZTNhNjA5YTExODI2NTg3Li45NDc5ZjBlOGVjYTZkZmVhNTE2ZGUyMjQ3ZmYyNDY0YmQ4OTcy
OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtNTcyLDYgKzU3Miw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTRXJyb3JFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50Q291bnQuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJ
bml0LmNwcApAQCAtMTMwOCw2ICsxMzEwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2UuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVudHJ5LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQZXJmb3JtYW5jZUVu
dHJ5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1BlcmZvcm1hbmNlTWFyay5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9ybWFuY2VNYXJr
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUGVyZm9y
bWFuY2VNZWFzdXJlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmUzNWY5
NjE4ZDY0NzFkYWE2MzBmYWU5MjY3YzE2OTc3MjFmNDZjYS4uNGZjMDliZmI0NzIyNTQ5YWNkYjVj
NTc2OWUyNDRlMzQ5ZGI1MjU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC05
NjQsNiArOTY0LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvcGFnZS9D
cnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2UvRE9NU2VsZWN0aW9uLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wYWdlL0RPTVdpbmRvdy5pZGwgXAorICAgICQoV2ViQ29yZSkvcGFnZS9FdmVu
dENvdW50cy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9FdmVudFNvdXJjZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvcGFnZS9HbG9iYWxDcnlwdG8uaWRsIFwKICAgICAkKFdlYkNvcmUpL3BhZ2Uv
R2xvYmFsUGVyZm9ybWFuY2UuaWRsIFwKQEAgLTk4Miw2ICs5ODMsNyBAQCBKU19CSU5ESU5HX0lE
TFMgPSBcCiAgICAgJChXZWJDb3JlKS9wYWdlL05hdmlnYXRvclNoYXJlLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9wYWdlL1BlcmZvcm1hbmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9wYWdlL1BlcmZv
cm1hbmNlRW50cnkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5pZGwgXAogICAgICQoV2ViQ29yZSkvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlYWQz
NjFiOWVmNjgxYjhjOGE3MDA5ODFlZWVmMTk5Y2M0ODQ2MzMyLi41MGMwYjk4NTViZTBiNTFjZWM5
NGJiMWVlYmMxODg2NTk5NmMyMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTU4Myw4ICsxNTgzLDEw
IEBAIHBhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdLZXlzLmNwcAogcGFnZS9EaXNhYmxlZEFkYXB0YXRp
b25zLmNwcAogcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKIHBhZ2UvRWRpdGFibGVJbWFnZVJlZmVy
ZW5jZS5jcHAKK3BhZ2UvRXZlbnRDb3VudHMuY3BwCiBwYWdlL0V2ZW50SGFuZGxlci5jcHAKIHBh
Z2UvRXZlbnRTb3VyY2UuY3BwCitwYWdlL0V2ZW50VGltaW5nLmNwcAogcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuY3BwCiBwYWdlL0ZyYW1lLmNwcAogcGFnZS9GcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIu
Y3BwCkBAIC0xNjE0LDYgKzE2MTYsNyBAQCBwYWdlL1BhZ2VPdmVybGF5Q29udHJvbGxlci5jcHAK
IHBhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCiBwYWdlL1BlcmZvcm1hbmNlLmNwcAogcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmNwcAorcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNwcAogcGFnZS9Q
ZXJmb3JtYW5jZUxvZ2dpbmcuY3BwCiBwYWdlL1BlcmZvcm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAK
IHBhZ2UvUGVyZm9ybWFuY2VNb25pdG9yLmNwcApAQCAtMjgzNiw2ICsyODM5LDcgQEAgSlNFbnRl
clBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIEpTRXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JF
dmVudC5jcHAKIEpTRXZlbnQuY3BwCitKU0V2ZW50Q291bnRzLmNwcAogSlNFdmVudEluaXQuY3Bw
CiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKQEAgLTMxNzAsNiAr
MzE3NCw3IEBAIEpTUGF5bWVudFZhbGlkYXRpb25FcnJvcnMuY3BwCiBKU1Bia2RmMlBhcmFtcy5j
cHAKIEpTUGVyZm9ybWFuY2UuY3BwCiBKU1BlcmZvcm1hbmNlRW50cnkuY3BwCitKU1BlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuY3BwCiBKU1BlcmZvcm1hbmNlTWFyay5jcHAKIEpTUGVyZm9ybWFuY2VN
ZWFzdXJlLmNwcAogSlNQZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDE4YmJhN2U2NGUw
ZjJhMTY2ZmFjMjJmMDc4MDYyNjAwNGRlMGNmNy4uM2E1Y2FlMmQ0ZTNmYTU4MGNmMzljYjc5ZTgy
YjIzOGM5MjRjZjU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzQ1MCw2ICszNDUwLDcgQEAKIAkJQTlEMjQ4MDcwRDc1N0U3
RDAwRkRGOTU5IC8qIEpTRE9NTWltZVR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE5RDI0ODAzMEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVU
eXBlLmggKi87IH07CiAJCUE5RDI0ODA5MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBl
QXJyYXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE5
RDI0ODA1MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlQXJyYXkuaCAqLzsgfTsKIAkJ
QUExMkRGNDkxNzQzREY4MzAwNERBRkRGIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUUzNzU1
RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLzsg
fTsKKwkJQUExMkU2RDAyNEM5RDY3NDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTEyRTZDRDI0QzlENjZGMDBE
NTdENjAgLyogRXZlbnRUaW1pbmcuaCAqLzsgfTsKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRD
IC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFn
ZVZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQUEyQTVBQ0UxNkE0ODVGRDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1ZvaWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTJBNUFDNzE2QTQ4
NUQ1MDA5NzVBMjUgLyogU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAqLzsgfTsKIAkJQUEyQTVBRDAx
NkE0ODYwNDAwOTc1QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUEyQTVBQzUxNkE0ODVENTAwOTc1
QTI1IC8qIFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oICovOyB9OwpAQCAtMzQ2NSw4ICszNDY2
LDEwIEBACiAJCUFBN0ZFRUE3MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1V0
dGVyYW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QUE3RkVFOUYxNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgg
Ki87IH07CiAJCUFBN0ZFRUE5MTZBNEU2RjMwMDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpc1Zv
aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTdG
RUVBMTE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5oICovOyB9Owog
CQlBQTdGRUVBRDE2QTRFNzRCMDA0QzBDMzMgLyogSlNTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBN0ZFRUFDMTZBNEU3NEIw
MDRDMEMzMyAvKiBKU1NwZWVjaFN5bnRoZXNpcy5oICovOyB9OworCQlBQTlCMDQ4ODI0Q0IzNjM1
MDBCRUY5NTUgLyogRXZlbnRDb3VudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBOUIwNDg2MjRDQjM2MzAwMEJFRjk1NSAvKiBFdmVudENvdW50cy5o
ICovOyB9OwogCQlBQUE3MjhGNzE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5oICovOyB9OwogCQlBQUMwOENGMzE1Rjk0MUZEMDBGMUUxODggLyogQWNjZXNz
aWJpbGl0eVNWR1Jvb3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFBQzA4Q0YxMTVGOTQxRkMwMEYxRTE4OCAvKiBBY2Nlc3NpYmlsaXR5U1ZHUm9vdC5o
ICovOyB9OworCQlBQUVCOEFEOTI0Qzk3NkE5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRp
bWluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFF
QjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCAqLzsgfTsK
IAkJQUIyM0EzMjgwOUJCQTdEMDAwNjdDQzUzIC8qIEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMyNjA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuaCAqLzsgfTsKIAkJQUIy
NDdBNkQwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUIyNDdBNkIwQUZENjM4MzAwM0ZBNUZEIC8q
IFJlbmRlclNsaWRlci5oICovOyB9OwogCQlBQjMxQzkxRTEwQUUxQjhFMDAwQzdCOTIgLyogTGlu
ZUNsYW1wVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMzFDOTFEMTBBRTFCOEUwMDBDN0I5MiAvKiBMaW5lQ2xhbXBWYWx1ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjUyMiw2ICsxMjUy
NSw4IEBACiAJCUFBMTFDMDRCMjMxNjk2ODkwMDlEOTgzMSAvKiBNYXRoTUxNYXRoRWxlbWVudC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBQTExQzA0RDIzMTY5NzNEMDA5RDk4MzEgLyogSlNNYXRoTUxNYXRoRWxlbWVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUExMUMwNEUyMzE2OTc4MjAwOUQ5ODMxIC8qIEpTTWF0aE1MTWF0
aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNYXRoTUxNYXRoRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBQTEyRTZDRDI0QzlENjZGMDBENTdENjAgLyogRXZlbnRU
aW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRUaW1pbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQUExMkU2Q0YyNEM5RDY3MDAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50VGltaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUEyQTVBQjgxNkE0ODVENTAwOTc1QTI1IC8qIERPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCOTE2QTQ4NUQ1MDA5NzVBMjUg
LyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1Nw
ZWVjaFN5bnRoZXNpcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTJBNUFCQTE2
QTQ4NUQ1MDA5NzVBMjUgLyogRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBET01X
aW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MTI1NTIsNiArMTI1NTcsOSBAQAogCQlBQTdGRUVBMDE2QTRFNkYzMDA0QzBDMzMgLyogSlNTcGVl
Y2hTeW50aGVzaXNWb2ljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQUE3RkVFQTExNkE0RTZGMzAwNEMwQzMzIC8qIEpTU3BlZWNoU3ludGhlc2lzVm9pY2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTcGVlY2hTeW50aGVzaXNWb2ljZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQTdGRUVBQzE2QTRFNzRCMDA0QzBDMzMg
LyogSlNTcGVlY2hTeW50aGVzaXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNTcGVlY2hTeW50aGVzaXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0
ODQyNENCMzYyRjAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEV2ZW50Q291bnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUE5QjA0ODYy
NENCMzYzMDAwQkVGOTU1IC8qIEV2ZW50Q291bnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50Q291
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBOUIwNDg3MjRDQjM2MzEwMEJF
Rjk1NSAvKiBFdmVudENvdW50cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRDb3VudHMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhGMDE2RDFEOEJDMDBEM0JCQzYgLyogQWNjZXNzaWJp
bGl0eU9iamVjdElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEFjY2Vzc2liaWxpdHlPYmplY3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFBQTcyOEYxMTZEMUQ4QkMwMEQzQkJDNiAvKiBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUE3MjhG
MjE2RDFEOEJDMDBEM0JCQzYgLyogV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNTY2
LDYgKzEyNTc0LDkgQEAKIAkJQUFFMjdCNzQxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3Bl
ZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQUFFMjdCNzUxNkNCRkMwRDAwNjIzMDQzIC8qIFBsYXRmb3JtU3BlZWNoU3lu
dGhlc2l6ZXJNb2NrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3Jt
U3BlZWNoU3ludGhlc2l6ZXJNb2NrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFB
RTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVjaFN5bnRoZXNpemVySU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUGxhdGZvcm1TcGVlY2hT
eW50aGVzaXplcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQUFFQjhBRDUy
NEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUVC
OEFENzI0Qzk3NEU5MDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUFBRUI4QUQ4MjRDOTc0RUEwMDE1MjM1NSAvKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5n
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUY1QjdCMTE1MjRCNEJEMDAwNENCNDkgLyogV2Vi
U29ja2V0RnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U29ja2V0RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMyNTA5
QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUIyM0EzMjYwOUJCQTdEMDAwNjdDQzUzIC8q
IEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjEyNjksMTEgKzIxMjgwLDE2IEBACiAJCQkJMkQyRTM0QUIyMUE0RTE5MjAwNDU5OEI1
IC8qIEVkaXRhYmxlSW1hZ2VSZWZlcmVuY2UuY3BwICovLAogCQkJCTJEMkUzNEE5MjFBNEUxOTEw
MDQ1OThCNSAvKiBFZGl0YWJsZUltYWdlUmVmZXJlbmNlLmggKi8sCiAJCQkJMUFGMzI2NzcwRDc4
Qjk0NDAwNjhGMEM0IC8qIEVkaXRvckNsaWVudC5oICovLAorCQkJCUFBOUIwNDg0MjRDQjM2MkYw
MEJFRjk1NSAvKiBFdmVudENvdW50cy5jcHAgKi8sCisJCQkJQUE5QjA0ODYyNENCMzYzMDAwQkVG
OTU1IC8qIEV2ZW50Q291bnRzLmggKi8sCisJCQkJQUE5QjA0ODcyNENCMzYzMTAwQkVGOTU1IC8q
IEV2ZW50Q291bnRzLmlkbCAqLywKIAkJCQk5M0MwOUE4MDBCMDY0RjAwMDA1QUJENEQgLyogRXZl
bnRIYW5kbGVyLmNwcCAqLywKIAkJCQk5M0MwOUE1MjBCMDY0REIzMDA1QUJENEQgLyogRXZlbnRI
YW5kbGVyLmggKi8sCiAJCQkJRTBGRUYzNzFCMjdDNTNFQUMxQzFGQkVFIC8qIEV2ZW50U291cmNl
LmNwcCAqLywKIAkJCQlFMEZFRjM3MUIxN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaCAq
LywKIAkJCQlFMEZFRjM3MUIwN0M1M0VBQzFDMUZCRUUgLyogRXZlbnRTb3VyY2UuaWRsICovLAor
CQkJCUFBMTJFNkNGMjRDOUQ2NzAwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5jcHAgKi8sCisJCQkJ
QUExMkU2Q0QyNEM5RDY2RjAwRDU3RDYwIC8qIEV2ZW50VGltaW5nLmggKi8sCiAJCQkJMTQ5OTNC
RTMwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJMTQ5OTNC
RTQwQjJGMkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oICovLAogCQkJCTA2MjI4Nzgz
MEI0REIzMjIwMDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oICovLApAQCAtMjEzNTgsNiArMjEz
NzQsOSBAQAogCQkJCUNCMzhGRDRBMUNDQ0YyREQwMDU5MkEzRiAvKiBQZXJmb3JtYW5jZUVudHJ5
LmNwcCAqLywKIAkJCQk4NkJFMzNGQjE1MDU4Q0IyMDBDRTBGRDggLyogUGVyZm9ybWFuY2VFbnRy
eS5oICovLAogCQkJCTg2QkUzM0ZDMTUwNThDQjIwMENFMEZEOCAvKiBQZXJmb3JtYW5jZUVudHJ5
LmlkbCAqLywKKwkJCQlBQUVCOEFEODI0Qzk3NEVBMDAxNTIzNTUgLyogUGVyZm9ybWFuY2VFdmVu
dFRpbWluZy5jcHAgKi8sCisJCQkJQUFFQjhBRDcyNEM5NzRFOTAwMTUyMzU1IC8qIFBlcmZvcm1h
bmNlRXZlbnRUaW1pbmcuaCAqLywKKwkJCQlBQUVCOEFENTI0Qzk3NEU5MDAxNTIzNTUgLyogUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwgKi8sCiAJCQkJQUQ1QTBDMjExREVDQTEwMTAwNzA3MDU0
IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5jcHAgKi8sCiAJCQkJQUQ1QTBDMjAxREVDQTBCNTAwNzA3
MDU0IC8qIFBlcmZvcm1hbmNlTG9nZ2luZy5oICovLAogCQkJCTBGRjJFODBDMUVFMEQ0MzAwMDlF
QUJENCAvKiBQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwICovLApAQCAtMzA4MzYsNiArMzA4
NTUsNyBAQAogCQkJCTJFQ0Y3QUUyMTAxNjJCNTgwMDQyN0RFNyAvKiBFcnJvckV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NTAzMUI0MjBBNDRFRkM3MDBGOTkyRTAgLyogRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQxMzhEMzM1MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBOUIwNDg4MjRDQjM2MzUwMEJFRjk1NSAvKiBFdmVudENv
dW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2
ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNDMDlBNTMwQjA2NERCMzAwNUFC
RDREIC8qIEV2ZW50SGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcwQjcyQTYxNDUwMDhF
QjAwRjAwQTM3IC8qIEV2ZW50SGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDg1NCw2ICsz
MDg3NCw3IEBACiAJCQkJODRCMzQ5QTIyMkY4NkU3NTAwRDQ3QkNGIC8qIEV2ZW50VGFyZ2V0Q29u
Y3JldGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E1MTQ1MjM3Q0MwMDNFMURBNiAvKiBF
dmVudFRhcmdldEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUEzQ0E2MTQ1MjM3Q0Mw
MDNFMURBNiAvKiBFdmVudFRhcmdldEludGVyZmFjZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUFB
MTJFNkQwMjRDOUQ2NzQwMEQ1N0Q2MCAvKiBFdmVudFRpbWluZy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMjYyRUM0MUExRDA3OEZCOTAwQkE3OEZDIC8qIEV2ZW50VHJhY2tpbmdSZWdpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0QxOTYzMzFENkNBQjgyMDBGQzdFNDcgLyogRXhjZXB0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzVGQkNGMjA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9u
Q29kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjc5NCw2ICszMjgxNSw3IEBACiAJCQkJRTNGQTM4
NjQxRDcxODEyRDAwQUE1OTUwIC8qIFBlbmRpbmdTY3JpcHRDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBODQ0RDA1MTFEM0MxOEUwMDE0MDY1QyAvKiBQZXJmb3JtYW5jZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODZCRTM0MDExNTA1OENCMjAwQ0UwRkQ4IC8qIFBlcmZvcm1hbmNlRW50cnku
aCBpbiBIZWFkZXJzICovLAorCQkJCUFBRUI4QUQ5MjRDOTc2QTkwMDE1MjM1NSAvKiBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDVBMEMyNTFERUNBQ0NDMDA3
MDcwNTQgLyogUGVyZm9ybWFuY2VMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg1MEZF
MzFFRDdDMTgzMDBGQjc3QTcgLyogUGVyZm9ybWFuY2VMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzN0M3MzhFOTFFREJEMkZBMDAzRjJCMEIgLyogUGVyZm9ybWFuY2VNYXJrLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
UGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1BlcmZvcm1hbmNlRW50cnlDdXN0b20uY3BwCmluZGV4IGJiZjgxMTE0MmRhYjllNmE5MmNiNWM2
Y2ZhYjA2YjI0NThiYTcxNDAuLmUyM2RiOGIwNjRlYjhiZGQ1ODdmMDQ3NzQyMDIwNWU1MDgxZjdj
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUGVyZm9ybWFuY2VF
bnRyeUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNQZXJmb3Jt
YW5jZUVudHJ5Q3VzdG9tLmNwcApAQCAtMzMsMTAgKzMzLDEyIEBACiAjaW5jbHVkZSAiSlNQZXJm
b3JtYW5jZUVudHJ5LmgiCiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJK
U1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJKU1BlcmZvcm1hbmNlTWFyay5o
IgogI2luY2x1ZGUgIkpTUGVyZm9ybWFuY2VNZWFzdXJlLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3Jt
YW5jZVBhaW50VGltaW5nLmgiCiAjaW5jbHVkZSAiSlNQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmgiCisjaW5jbHVkZSAiUGVyZm9ybWFuY2VFdmVudFRpbWluZy5oIgogI2luY2x1ZGUgIlBlcmZv
cm1hbmNlTWFyay5oIgogI2luY2x1ZGUgIlBlcmZvcm1hbmNlTWVhc3VyZS5oIgogI2luY2x1ZGUg
IlBlcmZvcm1hbmNlUGFpbnRUaW1pbmcuaCIKQEAgLTUxLDYgKzUzLDkgQEAgSlNWYWx1ZSB0b0pT
TmV3bHlDcmVhdGVkKEpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPFAKICAgICBpZiAoaXM8UGVyZm9ybWFuY2VQYWludFRpbWluZz4oZW50cnkpKQog
ICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxQZXJmb3JtYW5jZVBhaW50VGltaW5nPihnbG9i
YWxPYmplY3QsIFdURk1vdmUoZW50cnkpKTsKIAorICAgIGlmIChpczxQZXJmb3JtYW5jZUV2ZW50
VGltaW5nPihlbnRyeSkpCisgICAgICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFBlcmZvcm1hbmNl
RXZlbnRUaW1pbmc+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShlbnRyeSkpOworCiAgICAgaWYgKGlz
PFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+KGVudHJ5KSkKICAgICAgICAgcmV0dXJuIGNyZWF0
ZVdyYXBwZXI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4oZ2xvYmFsT2JqZWN0LCBXVEZNb3Zl
KGVudHJ5KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaAppbmRleCA4MDMzNTk2ZWU0NmY4NTk0ZTlkMTJjYjljNTM4MmIyYjM0NTUzMGFi
Li5mMjkzNTg2ZDY4NDNlOGJhMjY4NTAyNzIzNTFkOWMyYjUxMWIwNzM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xODYsNiAr
MTg2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFBhaW50V29ya2xldEdsb2Jh
bFNjb3BlKSBcCiAgICAgbWFjcm8oUGVyZm9ybWFuY2VFbnRyeSkgXAogICAgIG1hY3JvKFBlcmZv
cm1hbmNlRW50cnlMaXN0KSBcCisgICAgbWFjcm8oUGVyZm9ybWFuY2VFdmVudFRpbWluZykgXAog
ICAgIG1hY3JvKFBlcmZvcm1hbmNlTWFyaykgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlTWVhc3Vy
ZSkgXAogICAgIG1hY3JvKFBlcmZvcm1hbmNlT2JzZXJ2ZXIpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCmluZGV4IDQ3YjQ3YjMyNGVkYjNhZWQ3NWY2MjMyYTM3MDNjZjlhNGI2YjQ0ZjAuLmEzYWIz
NzVjNmUzYzMzZWY2Y2JkNzZhNDgxMTA2Y2FmMzEyOWYxNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtMzE5OSw2ICszMTk5LDEyIEBAIHZvaWQgRG9jdW1lbnQ6OmVucXVldWVQYWludFRp
bWluZ0VudHJ5SWZOZWVkZWQoKQogICAgIG1fZGlkRW5xdWV1ZUZpcnN0Q29udGVudGZ1bFBhaW50
ID0gdHJ1ZTsKIH0KIAorLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3Nl
Yy1kaXNwYXRjaC1wZW5kaW5nCit2b2lkIERvY3VtZW50OjplbnF1ZXVlRXZlbnRUaW1pbmdFbnRy
aWVzSWZOZWVkZWQoKQoreworICAgIGRvbVdpbmRvdygpLT5wZXJmb3JtYW5jZSgpLmRpc3BhdGNo
UGVuZGluZ0V2ZW50VGltaW5nKCk7Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IERvY3VtZW50Ojp3
cml0ZShEb2N1bWVudCogcmVzcG9uc2libGVEb2N1bWVudCwgU2VnbWVudGVkU3RyaW5nJiYgdGV4
dCkKIHsKICAgICBpZiAobV9hY3RpdmVQYXJzZXJXYXNBYm9ydGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCA2YjBjNWQ5MzY2MmZmNTIxMjE4ZjhhZTJkN2Q3ZmRkOGJjZjAyZThkLi4yZWYyZTU1
NTUxM2M1ZDBiYTJiMTBmMmYxNzRjOGU3MzRkN2I1YTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtMTU3OCw2ICsxNTc4LDggQEAgcHVibGljOgogICAgIGJvb2wgaGFzVmlzdWFsbHlOb25FbXB0
eUN1c3RvbUNvbnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zpc3VhbGx5Tm9uRW1wdHlDdXN0
b21Db250ZW50OyB9CiAgICAgdm9pZCBlbnF1ZXVlUGFpbnRUaW1pbmdFbnRyeUlmTmVlZGVkKCk7
CiAKKyAgICB2b2lkIGVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworCiAgICAg
RWRpdG9yJiBlZGl0b3IoKSB7IHJldHVybiBtX2VkaXRvcjsgfQogICAgIGNvbnN0IEVkaXRvciYg
ZWRpdG9yKCkgY29uc3QgeyByZXR1cm4gbV9lZGl0b3I7IH0KICAgICBGcmFtZVNlbGVjdGlvbiYg
c2VsZWN0aW9uKCkgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hlci5jcHAKaW5kZXggNGY5OTUxNTFiYWU3NWEyMWRiZDdkNjZjYzdjOWFkOGViMGQ3
NGU3MS4uZjdlMDZkZTkxMTcwN2NmNzUyNjA3ZTk1ZjlhNjc4MzVkOWUxY2YwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hlci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJDb21wb3NpdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiRXZlbnRQYXRoLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJGcmFt
ZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBA
IC0xNTEsNyArMTUyLDEyIEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRjaEV2ZW50KE5v
ZGUmIG5vZGUsIEV2ZW50JiBldmVudCkKIAogICAgIGlmICghZXZlbnQucHJvcGFnYXRpb25TdG9w
cGVkKCkgJiYgIWV2ZW50UGF0aC5pc0VtcHR5KCkpIHsKICAgICAgICAgZXZlbnQuc2V0RXZlbnRQ
YXRoKGV2ZW50UGF0aCk7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxFdmVudFRpbWluZz4gZXZl
bnRUaW1pbmc7CisgICAgICAgIGlmIChub2RlLmRvY3VtZW50KCkuZG9tV2luZG93KCkpCisgICAg
ICAgICAgICBldmVudFRpbWluZyA9IEV2ZW50VGltaW5nOjpjcmVhdGUoKm5vZGUuZG9jdW1lbnQo
KS5kb21XaW5kb3coKSwgZXZlbnQpOwogICAgICAgICBkaXNwYXRjaEV2ZW50SW5ET00oZXZlbnQs
IGV2ZW50UGF0aCk7CisgICAgICAgIGlmIChldmVudFRpbWluZykKKyAgICAgICAgICAgIGV2ZW50
VGltaW5nLT5ldmVudFdhc0Rpc3BhdGNoZWQoKm5vZGUuZG9jdW1lbnQoKS5kb21XaW5kb3coKSwg
ZXZlbnQpOwogICAgIH0KIAogICAgIGV2ZW50LnJlc2V0QWZ0ZXJEaXNwYXRjaCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50Q291bnRzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MGE1NGQ3YmMwMDA5YmZmNTYzMDFj
NDY5NTFjNzZhZmMzYjRlNzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudENvdW50cy5jcHAKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRDb3VudHMu
aCIKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJKU0RPTU1hcExpa2UuaCIK
KyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRXZlbnRDb3VudHM6OkV2ZW50Q291bnRzKCkKK3sK
KyAgICBzdGF0aWMgY29uc3QgYXV0byBldmVudFR5cGVzID0gbWFrZU5ldmVyRGVzdHJveWVkKFZl
Y3RvcjxBdG9tU3RyaW5nPiB7CisgICAgICAgIC8qIE1vdXNlRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jbGlja0V2ZW50LCBldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCwgZXZl
bnROYW1lcygpLmRibGNsaWNrRXZlbnQsIGV2ZW50TmFtZXMoKS5tb3VzZWRvd25FdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLm1vdXNlZW50ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlbGVh
dmVFdmVudCwgZXZlbnROYW1lcygpLm1vdXNlb3V0RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMo
KS5tb3VzZW92ZXJFdmVudCwgZXZlbnROYW1lcygpLm1vdXNldXBFdmVudCwKKyAgICAgICAgLyog
UG9pbnRlckV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcm92ZXJFdmVudCwg
ZXZlbnROYW1lcygpLnBvaW50ZXJlbnRlckV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkucG9p
bnRlcmRvd25FdmVudCwgZXZlbnROYW1lcygpLnBvaW50ZXJ1cEV2ZW50LAorICAgICAgICBldmVu
dE5hbWVzKCkucG9pbnRlcmNhbmNlbEV2ZW50LCBldmVudE5hbWVzKCkucG9pbnRlcm91dEV2ZW50
LAorICAgICAgICBldmVudE5hbWVzKCkucG9pbnRlcmxlYXZlRXZlbnQsIGV2ZW50TmFtZXMoKS5n
b3Rwb2ludGVyY2FwdHVyZUV2ZW50LAorICAgICAgICBldmVudE5hbWVzKCkubG9zdHBvaW50ZXJj
YXB0dXJlRXZlbnQsCisgICAgICAgIC8qIFRvdWNoRXZlbnRzICovCisgICAgICAgIGV2ZW50TmFt
ZXMoKS50b3VjaHN0YXJ0RXZlbnQsIGV2ZW50TmFtZXMoKS50b3VjaGVuZEV2ZW50LAorICAgICAg
ICBldmVudE5hbWVzKCkudG91Y2hjYW5jZWxFdmVudCwKKyAgICAgICAgLyogS2V5Ym9hcmRFdmVu
dHMgKi8KKyAgICAgICAgZXZlbnROYW1lcygpLmtleWRvd25FdmVudCwgZXZlbnROYW1lcygpLmtl
eXByZXNzRXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5rZXl1cEV2ZW50LAorICAgICAgICAv
KiBJbnB1dEV2ZW50cyAqLworICAgICAgICBldmVudE5hbWVzKCkuYmVmb3JlaW5wdXRFdmVudCwg
ZXZlbnROYW1lcygpLmlucHV0RXZlbnQsCisgICAgICAgIC8qIENvbXBvc2l0aW9uRXZlbnRzICov
CisgICAgICAgIGV2ZW50TmFtZXMoKS5jb21wb3NpdGlvbnN0YXJ0RXZlbnQsCisgICAgICAgIGV2
ZW50TmFtZXMoKS5jb21wb3NpdGlvbnVwZGF0ZUV2ZW50LCBldmVudE5hbWVzKCkuY29tcG9zaXRp
b25lbmRFdmVudCwKKyAgICAgICAgLyogRHJhZyAmIERyb3AgRXZlbnRzICovCisgICAgICAgIGV2
ZW50TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwgZXZlbnROYW1lcygpLmRyYWdlbmRFdmVudCwKKyAg
ICAgICAgZXZlbnROYW1lcygpLmRyYWdlbnRlckV2ZW50LCBldmVudE5hbWVzKCkuZHJhZ2xlYXZl
RXZlbnQsCisgICAgICAgIGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2ZW50LCBldmVudE5hbWVzKCku
ZHJvcEV2ZW50LAorICAgIH0pOworICAgIGZvciAoY29uc3QgYXV0byYgdHlwZSA6IGV2ZW50VHlw
ZXMuZ2V0KCkpCisgICAgICAgIG1fbWFwLmFkZCh0eXBlLCAwdSk7Cit9CisKK3ZvaWQgRXZlbnRD
b3VudHM6OmluaXRpYWxpemVNYXBMaWtlKERPTU1hcEFkYXB0ZXImIG1hcCkKK3sKKyAgICBmb3Ig
KGF1dG8mIGtleVZhbHVlIDogbV9tYXApCisgICAgICAgIG1hcC5zZXQ8SURMRE9NU3RyaW5nLCBJ
RExVbnNpZ25lZExvbmdMb25nPihrZXlWYWx1ZS5rZXksIGtleVZhbHVlLnZhbHVlKTsKK30KKwor
dm9pZCBFdmVudENvdW50czo6c2V0RnJvbU1hcExpa2UoU3RyaW5nJiYga2V5LCB1bnNpZ25lZCB2
YWx1ZSkKK3sKKyAgICBtX21hcC5zZXQoV1RGTW92ZShrZXkpLCB2YWx1ZSk7Cit9CisKK3ZvaWQg
RXZlbnRDb3VudHM6OmFkZChjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgYXV0byBpdCA9IG1f
bWFwLmZpbmQodHlwZSk7CisgICAgaXQtPnZhbHVlID0gaXQtPnZhbHVlICsgMTsKK30KKwordW5z
aWduZWQgRXZlbnRDb3VudHM6OmdldChjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fbWFwLmdldCh0eXBlKTsKK30KKwordW5zaWduZWQgRXZlbnRDb3VudHM6OnNpemUo
KSBjb25zdAoreworICAgIHJldHVybiBtX21hcC5zaXplKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRDb3VudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NjQ4ODFkMGYw
Yzk5YzhjMmFmM2RhNTQ0NTIyYWM1YTIzMmRjNzI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudENvdW50cy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBET01NYXBBZGFwdGVyOworY2xhc3MgRE9NU3RyaW5nOworCitjbGFzcyBFdmVu
dENvdW50cyBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50Q291bnRzPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFJlZjxFdmVudENvdW50cz4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBFdmVudENvdW50cyk7IH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZU1hcExpa2UoRE9NTWFw
QWRhcHRlciYpOworICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIHVuc2lnbmVkKTsK
KworICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCB1bnNpZ25lZD4mIG1hcCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWFwOyB9CisKKyAgICB2b2lkIGFkZChjb25zdCBTdHJpbmcmIHR5cGUpOworICAgIHVu
c2lnbmVkIGdldChjb25zdCBTdHJpbmcmKSBjb25zdDsKKworICAgIHVuc2lnbmVkIHNpemUoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBFdmVudENvdW50cygpOworICAgIEhhc2hNYXA8U3RyaW5n
LCB1bnNpZ25lZD4gbV9tYXA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50Q291bnRzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRXZlbnRDb3VudHMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkZGEzMjUxNmI3OTAyNjdjNWM4ODg1
ZDAzZTA0YzUyNjJmYjU1MjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50Q291bnRzLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1w
ZXJmb3JtYW5jZS1ldmVudC10aW1pbmcKKworWworICAgIEV4cG9zZWQ9KFdpbmRvdyksCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgRXZlbnRDb3VudHMgeworICAg
IHVuc2lnbmVkIGxvbmcgbG9uZyBnZXQoRE9NU3RyaW5nIHR5cGUpOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFRpbWluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGMzNWQ2ZjBhMjc5MTNlMWRhOGU3NTZlOGNl
MmFhMmVkNzE1ZjhhZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRUaW1pbmcuY3BwCkBAIC0wLDAgKzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRUaW1pbmcuaCIKKwor
I2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitFdmVudFRpbWluZzo6RXZlbnRU
aW1pbmcoZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCkKKyAgICA6IG1f
c3RhcnRUaW1lKHN0YXJ0VGltZSkKKyAgICAsIG1fcHJvY2Vzc2luZ1N0YXJ0KHByb2Nlc3NpbmdT
dGFydCkKK3sKK30KKworc3RhdGljIGJvb2wgaXNFdmVudFR5cGVGb3JFdmVudFRpbWluZyhjb25z
dCBFdmVudCYgZXZlbnQpCit7CisgICAgLy8gSW5jbHVkZSBvbmx5IHRydXN0ZWQgZXZlbnRzIG9m
IGNlcnRhaW4ga2luZHMuIEV4cGxpY2l0bHkgZXhjbHVkaW5nIGlucHV0CisgICAgLy8gZXZlbnRz
IHRoYXQgYXJlIGNvbnNpZGVyZWQgY29udGludW91czogZXZlbnQgdHlwZXMgZm9yIHdoaWNoIHRo
ZSB1c2VyIGFnZW50CisgICAgLy8gbWF5IGhhdmUgdGltZXItYmFzZWQgZGlzcGF0Y2ggdW5kZXIg
Y2VydGFpbiBjb25kaXRpb25zLiBUaGVzZSBhcmUgZXhjbHVkZWQKKyAgICAvLyBzaW5jZSBFdmVu
dENvdW50cyBjYW5ub3QgYmUgdXNlZCB0byBwcm9wZXJseSBjb21wdXRlZCBwZXJjZW50aWxlcyBv
biB0aG9zZS4KKyAgICAvLyBTZWUgc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10
aW1pbmcvI3NlYy1ldmVudHMtZXhwb3NlZAorICAgIHJldHVybiBldmVudC5pc1RydXN0ZWQoKQor
ICAgICAgICAmJiAoZXZlbnQuaXNNb3VzZUV2ZW50KCkgfHwgZXZlbnQuaXNQb2ludGVyRXZlbnQo
KQorICAgICAgICB8fCAgZXZlbnQuaXNUb3VjaEV2ZW50KCkgfHwgZXZlbnQuaXNLZXlib2FyZEV2
ZW50KCkKKyAgICAgICAgfHwgIGV2ZW50LmlzV2hlZWxFdmVudCgpIHx8IGV2ZW50LmlzSW5wdXRF
dmVudCgpCisgICAgICAgIHx8ICBldmVudC5pc0NvbXBvc2l0aW9uRXZlbnQoKSkKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5tb3VzZW1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLnBvaW50ZXJtb3ZlRXZlbnQKKyAgICAgICAg
JiYgZXZlbnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS50b3VjaG1vdmVFdmVudAorICAgICAgICAm
JiBldmVudC50eXBlKCkgIT0gZXZlbnROYW1lcygpLndoZWVsRXZlbnQKKyAgICAgICAgJiYgZXZl
bnQudHlwZSgpICE9IGV2ZW50TmFtZXMoKS5kcmFnRXZlbnQ7Cit9CisKK3N0ZDo6dW5pcXVlX3B0
cjxFdmVudFRpbWluZz4gRXZlbnRUaW1pbmc6OmNyZWF0ZShjb25zdCBET01XaW5kb3cmIHdpbmRv
dywgY29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghaXNFdmVudFR5cGVGb3JFdmVudFRp
bWluZyhldmVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmICghd2luZG93LnBl
cmZvcm1hbmNlKCkuZmlyc3RJbnB1dERldGVjdGVkKCkgfHwgIXdpbmRvdy5wZXJmb3JtYW5jZSgp
LmlzRXZlbnRUaW1pbmdCdWZmZXJGdWxsKCkpIHsKKyAgICAgICAgLy8gZXZlbnQgdGltZSBzdGFt
cCBjYW4gYmUgYWhlYWQgb2Ygbm93LCBwcm9iYWJseSBiZWNhdXNlIGlzIGlzIHdhbGx0aW1lIGJh
c2VkIGFuZCBhcHByb3hpbWF0ZS4KKyAgICAgICAgYXV0byB0aW1lU3RhbXAgPSBzdGQ6Om1pbihN
b25vdG9uaWNUaW1lOjpub3coKSwgZXZlbnQudGltZVN0YW1wKCkpOworICAgICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxFdmVudFRpbWluZz4od2luZG93LnBlcmZvcm1hbmNlKCkucmVsYXRpdmVUaW1l
RnJvbVRpbWVPcmlnaW5JblJlZHVjZWRSZXNvbHV0aW9uKHRpbWVTdGFtcCksIHdpbmRvdy5wZXJm
b3JtYW5jZSgpLm5vdygpKTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQg
RXZlbnRUaW1pbmc6OmV2ZW50V2FzRGlzcGF0Y2hlZChjb25zdCBET01XaW5kb3cmIHdpbmRvdywg
Y29uc3QgRXZlbnQmIGV2ZW50KQoreworICAgIHdpbmRvdy5wZXJmb3JtYW5jZSgpLmZpbmFsaXpl
RXZlbnRUaW1pbmcoZXZlbnQudHlwZSgpLCBtX3N0YXJ0VGltZSwgbV9wcm9jZXNzaW5nU3RhcnQs
IGV2ZW50LmNhbmNlbGFibGUoKSwgZXZlbnQudGFyZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50VGltaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2QxZDU1MzI5
YjY3ZGZiNzc0MTc5ZTYwZDEwYTk5ZjVmMTRjYjBhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRUaW1pbmcuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIwIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvTW9u
b3RvbmljVGltZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50OworY2xh
c3MgRE9NV2luZG93OworCitjbGFzcyBFdmVudFRpbWluZyBmaW5hbCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxFdmVu
dFRpbWluZz4gY3JlYXRlKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50Jik7CisKKyAgICBF
dmVudFRpbWluZyhkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0KTsKKwor
ICAgIHZvaWQgZXZlbnRXYXNEaXNwYXRjaGVkKGNvbnN0IERPTVdpbmRvdyYsIGNvbnN0IEV2ZW50
Jik7CisKK3ByaXZhdGU6CisgICAgZG91YmxlIG1fc3RhcnRUaW1lOworICAgIGRvdWJsZSBtX3By
b2Nlc3NpbmdTdGFydDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCmluZGV4IDIwODM1ODZjMjczYmU1YmU1NDg3NzJhMWY1NDZmZjk0YjNmNzNkMmEuLmM2MjYy
ZjU4MDAwMGNmZWIwNjNjZTA3MWRlNzNlNjFjZTczZjc5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApA
QCAtMTUyOCw2ICsxNTI4LDEwIEBAIHZvaWQgUGFnZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZygp
CiAgICAgICAgIGRvY3VtZW50LmVucXVldWVQYWludFRpbWluZ0VudHJ5SWZOZWVkZWQoKTsKICAg
ICB9KTsKIAorICAgIGZvckVhY2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7Cisg
ICAgICAgIGRvY3VtZW50LmVucXVldWVFdmVudFRpbWluZ0VudHJpZXNJZk5lZWRlZCgpOworICAg
IH0pOworCiAgICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAg
ICAgICAgZG9jdW1lbnQudXBkYXRlSGlnaGxpZ2h0UG9zaXRpb25zKCk7CiAgICAgfSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCmluZGV4IGJlM2FmZDI3MzdjYmQwZTZjNDZhMDY4OTQ5
NTM2M2U1MWMwYzU1NzYuLjQ0NGZiN2Q4OTlhMTZmNWI1ZDc4NmU5ZWUyNDNjNTJkODBmYzI2OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuY3BwCkBAIC0zNiw5ICszNiwxMSBAQAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJFdmVudC5oIgorI2luY2x1ZGUgIkV2ZW50Q291bnRzLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiUGVyZm9ybWFuY2VFbnRyeS5oIgor
I2luY2x1ZGUgIlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaCIKICNpbmNsdWRlICJQZXJmb3JtYW5j
ZU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJQZXJmb3JtYW5jZU9ic2VydmVyLmgiCiAjaW5jbHVk
ZSAiUGVyZm9ybWFuY2VQYWludFRpbWluZy5oIgpAQCAtNTUsNiArNTcsNyBAQCBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoUGVyZm9ybWFuY2UpOwogCiBQZXJmb3JtYW5jZTo6UGVyZm9ybWFu
Y2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luKQogICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoY29udGV4dCkKKyAgICAsIG1f
ZXZlbnRUaW1pbmdUaW1lcigqdGhpcywgJlBlcmZvcm1hbmNlOjpkaXNwYXRjaFBlbmRpbmdFdmVu
dFRpbWluZykKICAgICAsIG1fcmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsVGltZXIoKnRoaXMsICZQ
ZXJmb3JtYW5jZTo6cmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsVGltZXJGaXJlZCkKICAgICAsIG1f
dGltZU9yaWdpbih0aW1lT3JpZ2luKQogICAgICwgbV9wZXJmb3JtYW5jZVRpbWVsaW5lVGFza1F1
ZXVlKGNvbnRleHQpCkBAIC0xMTgsMTAgKzEyMSwyMSBAQCBQZXJmb3JtYW5jZVRpbWluZyogUGVy
Zm9ybWFuY2U6OnRpbWluZygpCiAgICAgcmV0dXJuIG1fdGltaW5nLmdldCgpOwogfQogCitFdmVu
dENvdW50cyogUGVyZm9ybWFuY2U6OmV2ZW50Q291bnRzKCkKK3sKKyAgICBpZiAoIW1fZXZlbnRD
b3VudHMpCisgICAgICAgIG1fZXZlbnRDb3VudHMgPSBFdmVudENvdW50czo6Y3JlYXRlKCk7Cisg
ICAgcmV0dXJuIG1fZXZlbnRDb3VudHMuZ2V0KCk7Cit9CisKKwogVmVjdG9yPFJlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXMoKSBjb25zdAogewogICAgIFZl
Y3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IGVudHJpZXM7CiAKKyAgICBpZiAobV9maXJz
dElucHV0VGltaW5nKQorICAgICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0SW5wdXRUaW1pbmcp
OworCiAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV9yZXNvdXJjZVRpbWluZ0J1ZmZlcik7CiAK
ICAgICBpZiAobV91c2VyVGltaW5nKSB7CkBAIC0xNDYsNiArMTYwLDkgQEAgVmVjdG9yPFJlZlB0
cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeVR5cGUoY29uc3Qg
U3RyaW5nJiBlbnQKICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJwYWludCIpKQogICAgICAgICBlbnRyaWVz
LmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGlmIChtX2ZpcnN0SW5wdXRU
aW1pbmcgJiYgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAiZmlyc3Qt
aW5wdXQiKSkKKyAgICAgICAgZW50cmllcy5hcHBlbmQobV9maXJzdElucHV0VGltaW5nKTsKKwog
ICAgIGlmIChtX3VzZXJUaW1pbmcpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGVudHJ5VHlwZSwgIm1hcmsiKSkKICAgICAgICAgICAgIGVudHJpZXMuYXBwZW5k
VmVjdG9yKG1fdXNlclRpbWluZy0+Z2V0TWFya3MoKSk7CkBAIC0xNzEsNiArMTg4LDkgQEAgVmVj
dG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5Pj4gUGVyZm9ybWFuY2U6OmdldEVudHJpZXNCeU5h
bWUoY29uc3QgU3RyaW5nJiBuYW0KICAgICBpZiAobV9maXJzdENvbnRlbnRmdWxQYWludCAmJiAo
ZW50cnlUeXBlLmlzTnVsbCgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGVudHJ5
VHlwZSwgInBhaW50IikpICYmIG5hbWUgPT0gImZpcnN0LWNvbnRlbnRmdWwtcGFpbnQiKQogICAg
ICAgICBlbnRyaWVzLmFwcGVuZChtX2ZpcnN0Q29udGVudGZ1bFBhaW50KTsKIAorICAgIGlmICht
X2ZpcnN0SW5wdXRUaW1pbmcgJiYgKGVudHJ5VHlwZS5pc051bGwoKSB8fCBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShlbnRyeVR5cGUsICJmaXJzdC1pbnB1dCIpKSAmJiBuYW1lID09ICJm
aXJzdC1pbnB1dCIpCisgICAgICAgIGVudHJpZXMuYXBwZW5kKG1fZmlyc3RJbnB1dFRpbWluZyk7
CisKICAgICBpZiAobV91c2VyVGltaW5nKSB7CiAgICAgICAgIGlmIChlbnRyeVR5cGUuaXNOdWxs
KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZW50cnlUeXBlLCAibWFyayIpKQog
ICAgICAgICAgICAgZW50cmllcy5hcHBlbmRWZWN0b3IobV91c2VyVGltaW5nLT5nZXRNYXJrcyhu
YW1lKSk7CkBAIC0yMDEsNiArMjIxLDQ5IEBAIHZvaWQgUGVyZm9ybWFuY2U6OnJlcG9ydEZpcnN0
Q29udGVudGZ1bFBhaW50KCkKICAgICBxdWV1ZUVudHJ5KCptX2ZpcnN0Q29udGVudGZ1bFBhaW50
KTsKIH0KIAorYm9vbCBQZXJmb3JtYW5jZTo6aXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwoKSBjb25z
dAoreworICAgIHJldHVybiBtX2V2ZW50VGltaW5nQnVmZmVyLnNpemUoKSA+PSAxNTA7Cit9CisK
K3ZvaWQgUGVyZm9ybWFuY2U6OmFkZEV2ZW50VGltaW5nQnVmZmVyKFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcmIGVudHJ5KQoreworICAgIGlmICghaXNFdmVudFRpbWluZ0J1ZmZlckZ1bGwoKSkKKyAg
ICAgICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoJmVudHJ5KTsKK30KKwordm9pZCBQZXJm
b3JtYW5jZTo6ZmluYWxpemVFdmVudFRpbWluZyhjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBkb3Vi
bGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBib29sIGNhbmNlbGFibGUsIEV2
ZW50VGFyZ2V0KiB0YXJnZXQpCit7CisgICAgYXV0byBlbnRyeSA9IFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc6OmNyZWF0ZSh0eXBlLCBzdGFydFRpbWUsIHByb2Nlc3NpbmdTdGFydCwgbm93KCksIGNh
bmNlbGFibGUsIHRhcmdldCk7CisgICAgbV9ldmVudFRpbWluZ3MuYXBwZW5kKFdURk1vdmUoZW50
cnkpKTsKKyAgICBpZiAoIW1fZXZlbnRUaW1pbmdUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBt
X2V2ZW50VGltaW5nVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7Cit9CisKK3ZvaWQgUGVyZm9ybWFu
Y2U6OmRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCkKK3sKKyAgICBhdXRvIHJlbmRlcmluZ1Rp
bWVzdGFtcCA9IG5vdygpOworICAgIHdoaWxlICghbV9ldmVudFRpbWluZ3MuaXNFbXB0eSgpKSB7
CisgICAgICAgIFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBlbnRyeSA9IG1fZXZlbnRU
aW1pbmdzLnRha2VGaXJzdCgpOworICAgICAgICBpZiAoIW1fZXZlbnRDb3VudHMpCisgICAgICAg
ICAgICBtX2V2ZW50Q291bnRzID0gRXZlbnRDb3VudHM6OmNyZWF0ZSgpOworICAgICAgICBtX2V2
ZW50Q291bnRzLT5hZGQoZW50cnktPm5hbWUoKSk7CisKKyAgICAgICAgaW50IGR1cmF0aW9uSW5N
cyA9IHN0ZDo6cm91bmQoKHJlbmRlcmluZ1RpbWVzdGFtcCAtIGVudHJ5LT5zdGFydFRpbWUoKSkg
LyA4KSAqIDg7CisgICAgICAgIGVudHJ5LT5zZXREdXJhdGlvbihkdXJhdGlvbkluTXMpOworCisg
ICAgICAgIGlmICghbV9maXJzdElucHV0VGltaW5nKSB7CisgICAgICAgICAgICBpZiAoZW50cnkt
Pm5hbWUoKSA9PSAiY2xpY2siIHx8IGVudHJ5LT5uYW1lKCkgPT0gImtleWRvd24iIHx8IGVudHJ5
LT5uYW1lKCkgPT0gIm1vdXNlZG93biIpIHsKKyAgICAgICAgICAgICAgICBtX2ZpcnN0SW5wdXRU
aW1pbmcgPSBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpjcmVhdGVGaXJzdElucHV0VGltaW5nKCpl
bnRyeSk7CisgICAgICAgICAgICAgICAgcXVldWVFbnRyeSgqbV9maXJzdElucHV0VGltaW5nKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBxdWV1ZUVudHJ5KCplbnRyeSk7Cisg
ICAgICAgIGlmIChkdXJhdGlvbkluTXMgPj0gMTA0ICYmICFpc0V2ZW50VGltaW5nQnVmZmVyRnVs
bCgpKQorICAgICAgICAgICAgbV9ldmVudFRpbWluZ0J1ZmZlci5hcHBlbmQoV1RGTW92ZShlbnRy
eSkpOworICAgIH0KK30KKwogdm9pZCBQZXJmb3JtYW5jZTo6YWRkUmVzb3VyY2VUaW1pbmcoUmVz
b3VyY2VUaW1pbmcmJiByZXNvdXJjZVRpbWluZykKIHsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpKTsKQEAgLTM0Niw3ICs0MDksNyBAQCB2b2lkIFBlcmZvcm1hbmNlOjpxdWV1
ZUVudHJ5KFBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KQogewogICAgIGJvb2wgc2hvdWxkU2NoZWR1
bGVUYXNrID0gZmFsc2U7CiAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKSB7
Ci0gICAgICAgIGlmIChvYnNlcnZlci0+dHlwZUZpbHRlcigpLmNvbnRhaW5zKGVudHJ5LnR5cGUo
KSkpIHsKKyAgICAgICAgaWYgKG9ic2VydmVyLT50eXBlRmlsdGVyKCkuY29udGFpbnMoZW50cnku
dHlwZSgpKSAmJiBvYnNlcnZlci0+Y2FuT2JzZXJ2ZShlbnRyeSkpIHsKICAgICAgICAgICAgIG9i
c2VydmVyLT5xdWV1ZUVudHJ5KGVudHJ5KTsKICAgICAgICAgICAgIHNob3VsZFNjaGVkdWxlVGFz
ayA9IHRydWU7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCBmNjMx
YzZkM2M0NWYwMzUyMDkwNDhjYzU4OTNmZWNmNGNiNjhjOTgxLi41MjQwOTg4MmUzNTE0ODkxZWUz
MTkwNDBiNmRkY2YyOWI4NjhlYTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC00
Miw4ICs0MiwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEV2ZW50Q291bnRz
OwogY2xhc3MgTG9hZFRpbWluZzsKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CitjbGFzcyBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nOwogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOwogY2xhc3Mg
UGVyZm9ybWFuY2VPYnNlcnZlcjsKIGNsYXNzIFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc7CkBAIC02
NSw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBQZXJmb3JtYW5jZU5hdmlnYXRpb24qIG5hdmlnYXRp
b24oKTsKICAgICBQZXJmb3JtYW5jZVRpbWluZyogdGltaW5nKCk7CiAKKyAgICBFdmVudENvdW50
cyogZXZlbnRDb3VudHMoKTsKKwogICAgIFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+
IGdldEVudHJpZXMoKSBjb25zdDsKICAgICBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
PiBnZXRFbnRyaWVzQnlUeXBlKGNvbnN0IFN0cmluZyYgZW50cnlUeXBlKSBjb25zdDsKICAgICBW
ZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+PiBnZXRFbnRyaWVzQnlOYW1lKGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBlbnRyeVR5cGUpIGNvbnN0OwpAQCAtODIsNiArODYs
MTQgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXBvcnRGaXJzdENvbnRlbnRmdWxQYWludCgpOwog
CisgICAgYm9vbCBmaXJzdElucHV0RGV0ZWN0ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fZmlyc3RJ
bnB1dFRpbWluZzsgfQorCisgICAgYm9vbCBpc0V2ZW50VGltaW5nQnVmZmVyRnVsbCgpIGNvbnN0
OworICAgIHZvaWQgYWRkRXZlbnRUaW1pbmdCdWZmZXIoUGVyZm9ybWFuY2VFdmVudFRpbWluZyYp
OworCisgICAgdm9pZCBmaW5hbGl6ZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBwcm9jZXNzaW5nU3RhcnQsIGJvb2wgY2FuY2VsYWJs
ZSwgRXZlbnRUYXJnZXQqKTsKKyAgICB2b2lkIGRpc3BhdGNoUGVuZGluZ0V2ZW50VGltaW5nKCk7
CisKICAgICB2b2lkIHJlbW92ZUFsbE9ic2VydmVycygpOwogICAgIHZvaWQgcmVnaXN0ZXJQZXJm
b3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKICAgICB2b2lkIHVucmVnaXN0
ZXJQZXJmb3JtYW5jZU9ic2VydmVyKFBlcmZvcm1hbmNlT2JzZXJ2ZXImKTsKQEAgLTExMiwxMSAr
MTI0LDE3IEBAIHByaXZhdGU6CiAKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZU5hdmln
YXRpb24+IG1fbmF2aWdhdGlvbjsKICAgICBtdXRhYmxlIFJlZlB0cjxQZXJmb3JtYW5jZVRpbWlu
Zz4gbV90aW1pbmc7CisgICAgbXV0YWJsZSBSZWZQdHI8RXZlbnRDb3VudHM+IG1fZXZlbnRDb3Vu
dHM7CiAKICAgICAvLyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNleHRl
bnNpb25zLXBlcmZvcm1hbmNlLWludGVyZmFjZSByZWNvbW1lbmRzIHNpemUgb2YgMTUwLgogICAg
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4+IG1fcmVzb3VyY2VUaW1pbmdCdWZmZXI7
CiAgICAgdW5zaWduZWQgbV9yZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUgeyAxNTAgfTsKIAorICAg
IERlcXVlPFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ3M7CisK
KyAgICBUaW1lciBtX2V2ZW50VGltaW5nVGltZXI7CisgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nPj4gbV9ldmVudFRpbWluZ0J1ZmZlcjsKKwogICAgIFRpbWVyIG1fcmVz
b3VyY2VUaW1pbmdCdWZmZXJGdWxsVGltZXI7CiAgICAgVmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5j
ZUVudHJ5Pj4gbV9iYWNrdXBSZXNvdXJjZVRpbWluZ0J1ZmZlcjsKIApAQCAtMTI5LDYgKzE0Nyw4
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFBlcmZvcm1hbmNlUGFpbnRUaW1pbmc+IG1fZmlyc3RD
b250ZW50ZnVsUGFpbnQ7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFVzZXJUaW1pbmc+IG1fdXNlclRp
bWluZzsKIAorICAgIFJlZlB0cjxQZXJmb3JtYW5jZUV2ZW50VGltaW5nPiBtX2ZpcnN0SW5wdXRU
aW1pbmc7CisKICAgICBHZW5lcmljVGFza1F1ZXVlPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+IG1f
cGVyZm9ybWFuY2VUaW1lbGluZVRhc2tRdWV1ZTsKICAgICBMaXN0SGFzaFNldDxSZWZQdHI8UGVy
Zm9ybWFuY2VPYnNlcnZlcj4+IG1fb2JzZXJ2ZXJzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5pZGwKaW5kZXggNzQxMzY3ZmIxMWE4MDk5NTU0M2ZiNzc0NWU1YTRkMjgzOWUwNWY4Yi4u
NjhlYjRlMzU4ZGYzNDNmNWQ4MzVlZWFlZTM1ZDMyZTcwYTgzYjk4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5pZGwKQEAgLTU5LDYgKzU5LDkgQEAgdHlwZWRlZiBkb3VibGUgRE9NSGln
aFJlc1RpbWVTdGFtcDsKICAgICBbRW5hYmxlZEF0UnVudGltZT1Vc2VyVGltaW5nXSB2b2lkIGNs
ZWFyTWFya3Mob3B0aW9uYWwgRE9NU3RyaW5nIG1hcmtOYW1lKTsKICAgICBbRW5hYmxlZEF0UnVu
dGltZT1Vc2VyVGltaW5nLCBNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBtZWFzdXJlKERPTVN0cmlu
ZyBtZWFzdXJlTmFtZSwgb3B0aW9uYWwgRE9NU3RyaW5nIHN0YXJ0TWFyaywgb3B0aW9uYWwgRE9N
U3RyaW5nIGVuZE1hcmspOwogICAgIFtFbmFibGVkQXRSdW50aW1lPVVzZXJUaW1pbmddIHZvaWQg
Y2xlYXJNZWFzdXJlcyhvcHRpb25hbCBET01TdHJpbmcgbWVhc3VyZU5hbWUpOworCisgICAgLy8g
aHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9ldmVudC10aW1pbmcvI3NlYy1leHRlbnNpb25zCisgICAg
W0V4cG9zZWQ9V2luZG93LCBTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRXZlbnRDb3Vu
dHMgZXZlbnRDb3VudHM7CiB9OwogCiB0eXBlZGVmIHNlcXVlbmNlPFBlcmZvcm1hbmNlRW50cnk+
IFBlcmZvcm1hbmNlRW50cnlMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eS5jcHAKaW5kZXggNDJjMDUxZTg1ZTIyYzEyZjdmY2IzMzU0YmQ5OTExOThiZjI3Mzc4OS4uM2Fk
ZjczYTc5NjJiOTQxZDU3YTNjM2RhODE0ZjFmNDViZWNlZmM1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnkuY3BwCkBAIC00OSw2ICs0OSwxMiBAQCBQZXJmb3JtYW5jZUVu
dHJ5Ojp+UGVyZm9ybWFuY2VFbnRyeSgpID0gZGVmYXVsdDsKIAogT3B0aW9uYWw8UGVyZm9ybWFu
Y2VFbnRyeTo6VHlwZT4gUGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJpbmcoY29u
c3QgU3RyaW5nJiBlbnRyeVR5cGUpCiB7CisgICAgaWYgKGVudHJ5VHlwZSA9PSAiZXZlbnQiKQor
ICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4oVHlwZTo6RXZlbnQpOworCisgICAgaWYgKGVu
dHJ5VHlwZSA9PSAiZmlyc3QtaW5wdXQiKQorICAgICAgICByZXR1cm4gT3B0aW9uYWw8VHlwZT4o
VHlwZTo6Rmlyc3RJbnB1dCk7CisKICAgICBpZiAoZW50cnlUeXBlID09ICJuYXZpZ2F0aW9uIikK
ICAgICAgICAgcmV0dXJuIE9wdGlvbmFsPFR5cGU+KFR5cGU6Ok5hdmlnYXRpb24pOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCmluZGV4IGFmYWNmYjA5MGIyMWNiYTYxNGQ3
OGNlODhhYzc1M2UyNjczZTEyNjUuLmE0YWQyMzE0ZTA4NDA0N2M1ZTE5OGI5YmMyM2VkYjJkZjI3
MTFmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeS5oCkBAIC00NiwxMyAr
NDYsMTYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbmFtZTsgfQogICAgIGRvdWJsZSBzdGFydFRpbWUoKSBjb25zdCB7IHJldHVybiBtX3N0YXJ0
VGltZTsgfQogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZHVyYXRpb247
IH0KKyAgICB2b2lkIHNldER1cmF0aW9uKGRvdWJsZSBkdXJhdGlvbikgeyBtX2R1cmF0aW9uID0g
ZHVyYXRpb247IH0KIAogICAgIGVudW0gY2xhc3MgVHlwZSB7CiAgICAgICAgIE5hdmlnYXRpb24g
ID0gMSA8PCAwLAogICAgICAgICBNYXJrICAgICAgICA9IDEgPDwgMSwKICAgICAgICAgTWVhc3Vy
ZSAgICAgPSAxIDw8IDIsCiAgICAgICAgIFJlc291cmNlICAgID0gMSA8PCAzLAotICAgICAgICBQ
YWludCAgICAgICA9IDEgPDwgNAorICAgICAgICBQYWludCAgICAgICA9IDEgPDwgNCwKKyAgICAg
ICAgRXZlbnQgICAgICAgPSAxIDw8IDUsCisgICAgICAgIEZpcnN0SW5wdXQgID0gMSA8PCA2CiAg
ICAgfTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwpAQCAtNjQsNiArNjcs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc01hcmsoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
VHlwZTo6TWFyazsgfQogICAgIGJvb2wgaXNNZWFzdXJlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgp
ID09IFR5cGU6Ok1lYXN1cmU7IH0KICAgICBib29sIGlzUGFpbnQoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6UGFpbnQ7IH0KKyAgICBib29sIGlzRXZlbnQoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gVHlwZTo6RXZlbnQ7IH0KKyAgICBib29sIGlzRmlyc3RJbnB1dCgpIGNvbnN0
IHsgcmV0dXJuIHR5cGUoKSA9PSBUeXBlOjpGaXJzdElucHV0OyB9CiAKICAgICBzdGF0aWMgYm9v
bCBzdGFydFRpbWVDb21wYXJlTGVzc1RoYW4oY29uc3QgUmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+
JiBhLCBjb25zdCBSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4mIGIpCiAgICAgewpAQCAtNzYsNyAr
ODEsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIGNvbnN0IFN0cmluZyBtX25hbWU7CiAg
ICAgY29uc3QgZG91YmxlIG1fc3RhcnRUaW1lOwotICAgIGNvbnN0IGRvdWJsZSBtX2R1cmF0aW9u
OworICAgIGRvdWJsZSBtX2R1cmF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjZmMzczOTk3MjMzMTU5Mzk2NGFiN2YzZTJhNjI2NGQ2Nzk1MWUyYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFdmVudFRpbWluZy5jcHAK
QEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgiCisKKyNp
bmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjpQZXJmb3JtYW5jZUV2ZW50VGltaW5nKGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFBlcmZvcm1hbmNlRW50cnk6OlR5cGUmIGVudHJ5
VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91YmxlIHBy
b2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqIHRhcmdldCkKKyAgICA6
IFBlcmZvcm1hbmNlRW50cnkodHlwZSwgc3RhcnRUaW1lLCAwLjApCisgICAgLCBtX3Byb2Nlc3Np
bmdTdGFydChwcm9jZXNzaW5nU3RhcnQpCisgICAgLCBtX3Byb2Nlc3NpbmdFbmQocHJvY2Vzc2lu
Z0VuZCkKKyAgICAsIG1fY2FuY2VsYWJsZShjYW5jZWxhYmxlKQorICAgICwgbV9lbnRyeVR5cGUo
ZW50cnlUeXBlKQorICAgICwgbV90YXJnZXQodGFyZ2V0KQoreworfQorCitSZWY8UGVyZm9ybWFu
Y2VFdmVudFRpbWluZz4gUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6Y3JlYXRlRmlyc3RJbnB1dFRp
bWluZyhjb25zdCBQZXJmb3JtYW5jZUV2ZW50VGltaW5nJiBlbnRyeSkKK3sKKyAgICBhdXRvIGV2
ZW50VGltaW5nID0gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nKGVudHJ5Lm5h
bWUoKSwgUGVyZm9ybWFuY2VFbnRyeTo6VHlwZTo6Rmlyc3RJbnB1dCwgZW50cnkuc3RhcnRUaW1l
KCksIGVudHJ5LnByb2Nlc3NpbmdTdGFydCgpLCBlbnRyeS5wcm9jZXNzaW5nRW5kKCksIGVudHJ5
LmNhbmNlbGFibGUoKSwgZW50cnkudGFyZ2V0KCkpKTsKKyAgICBldmVudFRpbWluZy0+c2V0RHVy
YXRpb24oZW50cnkuZHVyYXRpb24oKSk7CisgICAgcmV0dXJuIGV2ZW50VGltaW5nOworfQorCitz
dGF0aWMgYm9vbCBjYW5FeHBvc2VOb2RlKE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFub2RlIHx8
ICFub2RlLT5pc0Nvbm5lY3RlZCgpIHx8IG5vZGUtPmNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbm9kZS0+ZG9jdW1lbnQoKS5pc0Z1bGx5
QWN0aXZlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQor
CitOb2RlKiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nOjp0YXJnZXQoKSBjb25zdAoreworICAgIGlm
ICghbV90YXJnZXQgfHwgIW1fdGFyZ2V0LT5pc05vZGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgYXV0byogbm9kZSA9IGRvd25jYXN0PE5vZGU+KG1fdGFyZ2V0KTsKKyAgICByZXR1
cm4gY2FuRXhwb3NlTm9kZShub2RlKSA/IG5vZGUgOiBudWxscHRyOworfQorCitBU0NJSUxpdGVy
YWwgUGVyZm9ybWFuY2VFdmVudFRpbWluZzo6ZW50cnlUeXBlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9lbnRyeVR5cGUgPT0gVHlwZTo6Rmlyc3RJbnB1dCA/ICJmaXJzdC1pbnB1dCJfcyA6ICJl
dmVudCJfczsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZjNlOGNiMWM1YzMyZTY4
NWQ0Y2NiY2Y5Yjg0Njk5OGYwOGQ5MDIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUV2ZW50VGltaW5nLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUGVy
Zm9ybWFuY2VFbnRyeS5oIgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgTm9kZTsKKworY2xhc3MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBm
aW5hbCA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFBlcmZvcm1hbmNlRXZlbnRUaW1pbmc+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBk
b3VibGUgc3RhcnRUaW1lLCBkb3VibGUgcHJvY2Vzc2luZ1N0YXJ0LCBkb3VibGUgcHJvY2Vzc2lu
Z0VuZCwgYm9vbCBjYW5jZWxhYmxlLCBFdmVudFRhcmdldCogdGFyZ2V0KQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VFdmVudFRpbWluZyh0eXBlLCBUeXBl
OjpFdmVudCwgc3RhcnRUaW1lLCBwcm9jZXNzaW5nU3RhcnQsIHByb2Nlc3NpbmdFbmQsIGNhbmNl
bGFibGUsIHRhcmdldCkpOworICAgIH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmc+IGNyZWF0ZUZpcnN0SW5wdXRUaW1pbmcoY29uc3QgUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyYpOworCisgICAgflBlcmZvcm1hbmNlRXZlbnRUaW1pbmcoKSA9IGRlZmF1bHQ7CisKKyAgICBk
b3VibGUgcHJvY2Vzc2luZ1N0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzaW5nU3RhcnQ7
IH0KKyAgICBkb3VibGUgcHJvY2Vzc2luZ0VuZCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2Vzc2lu
Z0VuZDsgfQorICAgIGJvb2wgY2FuY2VsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FuY2VsYWJs
ZTsgfQorCisgICAgTm9kZSogdGFyZ2V0KCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBQZXJm
b3JtYW5jZUV2ZW50VGltaW5nKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFR5cGUmIGVu
dHJ5VHlwZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91YmxlIHByb2Nlc3NpbmdTdGFydCwgZG91Ymxl
IHByb2Nlc3NpbmdFbmQsIGJvb2wgY2FuY2VsYWJsZSwgRXZlbnRUYXJnZXQqKTsKKworcHJpdmF0
ZToKKyAgICBUeXBlIHR5cGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2VudHJ5VHlwZTsgfQor
ICAgIEFTQ0lJTGl0ZXJhbCBlbnRyeVR5cGUoKSBjb25zdCBmaW5hbDsKKworICAgIGRvdWJsZSBt
X3Byb2Nlc3NpbmdTdGFydDsKKyAgICBkb3VibGUgbV9wcm9jZXNzaW5nRW5kOworICAgIGJvb2wg
bV9jYW5jZWxhYmxlOworICAgIFR5cGUgbV9lbnRyeVR5cGU7CisgICAgRXZlbnRUYXJnZXQqIG1f
dGFyZ2V0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX0JFR0lOKFdlYkNvcmU6OlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcpCisgICAgc3RhdGlj
IGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlBlcmZvcm1hbmNlRW50cnkmIGVudHJ5KSB7IHJl
dHVybiBlbnRyeS5pc0V2ZW50KCkgfHwgZW50cnkuaXNGaXJzdElucHV0KCk7IH0KK1NQRUNJQUxJ
WkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFdmVudFRpbWluZy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RXZlbnRUaW1pbmcuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3OWQ3ZmNmYzQyOWIwYzNlZjc0ZDRkNGRlZTE5
MTgzOGY3MzE4NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlRXZlbnRUaW1pbmcuaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50LXRpbWluZy8j
c2VjLXBlcmZvcm1hbmNlLWV2ZW50LXRpbWluZworCit0eXBlZGVmIGRvdWJsZSBET01IaWdoUmVz
VGltZVN0YW1wOworCitbCisgICAgRXhwb3NlZD0oV2luZG93KSwKK10gaW50ZXJmYWNlIFBlcmZv
cm1hbmNlRXZlbnRUaW1pbmcgOiBQZXJmb3JtYW5jZUVudHJ5IHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NSGlnaFJlc1RpbWVTdGFtcCBwcm9jZXNzaW5nU3RhcnQ7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTUhpZ2hSZXNUaW1lU3RhbXAgcHJvY2Vzc2luZ0VuZDsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBjYW5jZWxhYmxlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBO
b2RlPyB0YXJnZXQ7CisKKyAgICBzZXJpYWxpemVyID0geyBpbmhlcml0LCBhdHRyaWJ1dGUgfTsK
K307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VPYnNlcnZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuY3BwCmluZGV4
IDdhY2M2ODZiODc4OGI1NjE4ZjA3YzYyZTg5MjE4NThjNDQ2MTgxMTkuLmVjMjQzNDdiNDZiOTgz
ZTE0OTQ1MzJmMmRmZDFmNzRjMGYxYjU1OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZU9ic2VydmVyLmNwcApAQCAtNzMsOSArNzMsMTEgQEAgRXhjZXB0aW9uT3I8dm9pZD4g
UGVyZm9ybWFuY2VPYnNlcnZlcjo6b2JzZXJ2ZShJbml0JiYgaW5pdCkKICAgICB9IGVsc2Ugewog
ICAgICAgICBpZiAoIWluaXQudHlwZSkKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBU
eXBlRXJyb3IsICJubyB0eXBlIG9yIGVudHJ5VHlwZXMgd2VyZSBwcm92aWRlZCJfcyB9OwotICAg
ICAgICBpZiAoYXV0byB0eXBlID0gUGVyZm9ybWFuY2VFbnRyeTo6cGFyc2VFbnRyeVR5cGVTdHJp
bmcoKmluaXQudHlwZSkpCisgICAgICAgIGlmIChhdXRvIHR5cGUgPSBQZXJmb3JtYW5jZUVudHJ5
OjpwYXJzZUVudHJ5VHlwZVN0cmluZygqaW5pdC50eXBlKSkgewogICAgICAgICAgICAgZmlsdGVy
LmFkZCgqdHlwZSk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmICgqdHlwZSA9PSBQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlOjpFdmVudCAmJiBpbml0LmR1cmF0aW9uVGhyZXNob2xkKQorICAg
ICAgICAgICAgICAgIG1fZHVyYXRpb25UaHJlc2hvbGQgPSBzdGQ6Om1heCgxNi4wLCAqaW5pdC5k
dXJhdGlvblRocmVzaG9sZCk7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcmV0dXJuIHsg
fTsKICAgICB9CiAKQEAgLTEyNSw2ICsxMjcsOCBAQCBWZWN0b3I8U3RyaW5nPiBQZXJmb3JtYW5j
ZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmCiAg
ICAgVmVjdG9yPFN0cmluZz4gZW50cnlUeXBlcyA9IHsKICAgICAgICAgLy8gRklYTUU6IDxodHRw
czovL3dlYmtpdC5vcmcvYi8xODQzNjM+IEFkZCBzdXBwb3J0IGZvciBOYXZpZ2F0aW9uIFRpbWlu
ZyBMZXZlbCAyCiAgICAgICAgIC8vICJuYXZpZ2F0aW9uIl9zLAorICAgICAgICAiZXZlbnQiX3Ms
CisgICAgICAgICJmaXJzdC1pbnB1dCJfcywKICAgICAgICAgIm1hcmsiX3MsCiAgICAgICAgICJt
ZWFzdXJlIl9zCiAgICAgfTsKQEAgLTEzNyw0ICsxNDEsOSBAQCBWZWN0b3I8U3RyaW5nPiBQZXJm
b3JtYW5jZU9ic2VydmVyOjpzdXBwb3J0ZWRFbnRyeVR5cGVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmCiAgICAgcmV0dXJuIGVudHJ5VHlwZXM7CiB9CiAKK2Jvb2wgUGVyZm9ybWFuY2VPYnNlcnZl
cjo6Y2FuT2JzZXJ2ZShjb25zdCBQZXJmb3JtYW5jZUVudHJ5JiBlbnRyeSkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZW50cnkudHlwZSgpICE9IFBlcmZvcm1hbmNlRW50cnk6OlR5cGU6OkV2ZW50IHx8
IGVudHJ5LmR1cmF0aW9uKCkgPj0gbV9kdXJhdGlvblRocmVzaG9sZDsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaApp
bmRleCAwOTdlNWMzMDVjMjI1M2JmODUzZjA5YmE1NWIxMzg1YzdkMzNjNmRhLi4zZjVmNmMyNGQ1
YjQ5YjYzZGExZDI4YmI4ZDdjZTJhM2NiYjdlNGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlT2JzZXJ2ZXIuaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAgc3RydWN0
IEluaXQgewogICAgICAgICBPcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gZW50cnlUeXBlczsKICAg
ICAgICAgT3B0aW9uYWw8U3RyaW5nPiB0eXBlOworICAgICAgICBPcHRpb25hbDxET01IaWdoUmVz
VGltZVN0YW1wPiBkdXJhdGlvblRocmVzaG9sZDsKICAgICB9OwogCiAgICAgc3RhdGljIFJlZjxQ
ZXJmb3JtYW5jZU9ic2VydmVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4
dCwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2ZXJDYWxsYmFjaz4mJiBjYWxsYmFjaykKQEAgLTY1LDYg
KzY2LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNSZWdpc3RlcmVkKCkgY29uc3QgeyByZXR1cm4g
bV9yZWdpc3RlcmVkOyB9CiAgICAgUGVyZm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrJiBjYWxsYmFj
aygpIHsgcmV0dXJuIG1fY2FsbGJhY2suZ2V0KCk7IH0KIAorICAgIGJvb2wgY2FuT2JzZXJ2ZShj
b25zdCBQZXJmb3JtYW5jZUVudHJ5JikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgUGVyZm9ybWFu
Y2VPYnNlcnZlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFBlcmZvcm1hbmNlT2JzZXJ2
ZXJDYWxsYmFjaz4mJik7CiAKQEAgLTczLDYgKzc2LDcgQEAgcHJpdmF0ZToKICAgICBSZWY8UGVy
Zm9ybWFuY2VPYnNlcnZlckNhbGxiYWNrPiBtX2NhbGxiYWNrOwogICAgIE9wdGlvblNldDxQZXJm
b3JtYW5jZUVudHJ5OjpUeXBlPiBtX3R5cGVGaWx0ZXI7CiAgICAgYm9vbCBtX3JlZ2lzdGVyZWQg
eyBmYWxzZSB9OworICAgIERPTUhpZ2hSZXNUaW1lU3RhbXAgbV9kdXJhdGlvblRocmVzaG9sZCB7
IDEwNCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VPYnNlcnZlci5pZGwKaW5kZXggMTE5NjM1OWIxMTI5MTcyOTg5MTVmNmZj
NThlY2Y1ODM4OTUyZjhiYi4uODIwOTFjNTQwZDg0MDBhOTU2NzgwNGU1Y2IyZWYzYzRmNmEzMzc0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU9ic2VydmVyLmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlT2JzZXJ2ZXIuaWRsCkBAIC0y
NSw2ICsyNSw4IEBACiAKIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wZXJmb3JtYW5jZS10aW1l
bGluZS8KIAordHlwZWRlZiBkb3VibGUgRE9NSGlnaFJlc1RpbWVTdGFtcDsKKwogWwogICAgIEN1
c3RvbUlzUmVhY2hhYmxlLAogICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVyZm9ybWFuY2VUaW1lbGlu
ZSwKQEAgLTQyLDQgKzQ0LDUgQEAKIGRpY3Rpb25hcnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQg
ewogICAgIHNlcXVlbmNlPERPTVN0cmluZz4gZW50cnlUeXBlczsKICAgICBET01TdHJpbmcgdHlw
ZTsKKyAgICBET01IaWdoUmVzVGltZVN0YW1wIGR1cmF0aW9uVGhyZXNob2xkOwogfTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBhZjllMTI1MWFjNGQzODAwZDg4ZTFjYzY1OGVkYTU0NzQ4MDk0ZWQwLi41ZjBkNzcyNTI4ZjQz
YmRjNzJlMzRlZjY5NmMyNjQxNjg0MzhlZjY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAt
MDgtMDMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIwLTA4LTAyICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBXcml0ZSBhIHNjcmlwdCB0byBmaW5kIGR1cGxpY2F0
ZSBmaWxlcyBhbmQgZGVsZXRlIHNvbWUgZHVwbGljYXRlIHRlc3RzIGluIExheW91dFRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBhOWVlMjZkOTQ5NTNiZjMwMjFhNDUwMGI5
MjhhMWRmNzM3MTRjOWU1Li4wZDhjZDc5MWMzNmU3ZmIzOTE1MjAzNGFmY2JkZDZmYmQ3MmIxZTY0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMDYgQEAKKzIwMjAt
MDgtMDMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
RXZlbnRUaW1pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNDY3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9hdXhjbGljay5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1
ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlv
bi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2NsaWNrLXRpbWluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y29udGV4dG1lbnUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9jcm9zc2lmcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
ZGJsY2xpY2suaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9kaXNjb25uZWN0LXRhcmdldC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1j
bGljay1jb3VudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNvdW50cy16ZXJvLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9ldmVudC1jb3VudHMtemVyby5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1yZXRhcmdl
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxo
YXJuZXNzLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qczogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1cmF0aW9uLXRocmVz
aG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNob2xkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVz
aG9sZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbWVkaXVtLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hv
bGQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21vdXNlZW50ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
bW91c2VvdXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVw
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9tb3VzZXVwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL29ubHktb2JzZXJ2
ZS1maXJzdElucHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJkb3duLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyZW50ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJv
dXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVy
dXAtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL3BvaW50ZXJ1cC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJhbWUtY2hp
bGRmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Jlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qczogQWRkZWQuCisgICAg
ICAgIChhc3luYyBjbGlja09uRWxlbWVudEFuZERlbGF5KToKKyAgICAgICAgKG1haW5UaHJlYWRC
dXN5KToKKyAgICAgICAgKHZlcmlmeUV2ZW50KToKKyAgICAgICAgKHZlcmlmeUNsaWNrRXZlbnQp
OgorICAgICAgICAod2FpdCk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChhcHBs
eUFjdGlvbik6CisgICAgICAgIChyZXF1aXJlc0xpc3RlbmVyKToKKyAgICAgICAgKG5vdENhbmNl
bGFibGUpOgorICAgICAgICAodGVzdENvdW50cyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weTogQWRkZWQuCisgICAgICAg
IChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndp
bmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cu
anM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdG9K
U09OLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy90b0pTT04uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMjAtMDctMzEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgT2ZmbGluZUF1ZGlv
Q29tcGxldGlvbkV2ZW50IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IDE1
NmQ4MDBmYjA0YmVhMzE4OWQ2NDQ0ZGM2NWQ2MGQ5NGIzOTRhNTIuLjUzZTAwY2U4NDMyOTRiZTRl
YTMyY2I1NWVkYTdhMzdjZmU1ZDczMWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0xODAs
NiArMTgwLDggQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYSI6ICJp
bXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9Hb29nbGUi
OiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZW50cmllcy1hcGkiOiAic2tpcCIs
IAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nIjogImltcG9ydCIsIAorICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nLyI6ICJpbXBvcnQiLCAKICAgICAid2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZXh0LXhodG1sLXB1YmlkIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRl
c3RzL2ZlYXR1cmUtcG9saWN5IjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvTUVU
QS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWEyN2ZiNjFjMzEwZDkxYjYyOWZmMGQ3YjE5Y2QwMWNlNDY5ZTY0
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL01FVEEueW1sCkBAIC0wLDAgKzEsMyBAQAorc3BlYzogaHR0
cHM6Ly9naXRodWIuY29tL1dJQ0cvZXZlbnQtdGltaW5nCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgor
ICAtIG5wbTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2F1eGNsaWNrLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYTJiMjhiYjg2YzM0ZWY1YmUyMzU3YTk0ZDE5NjBhYWU2
OWE1Y2ZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNiBAQAorQ2xpY2sgbWUKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBu
dWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nIGF1eGNsaWNrLiBUZXN0IHRpbWVkIG91dAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9hdXhjbGljay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYXV4Y2xpY2suaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODgz
MjhlMmFhMzY3MTVlODE2NWM2ZWIyNzdiZTQ5ZjdkMTg5NjU1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
YXV4Y2xpY2suaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBhdXhjbGljay48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJn
ZXQnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ2F1eGNsaWNrJyk7CisgIH0pCis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTFiMWZhYjYwNjY2YTk2OWJkMmE0ODMzYTY4MTFlODg1YWVkNTM1NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWFuZC1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2Vy
dmVyIGJ1ZmZlcmluZyBpbmRlcGVuZGVudCBvZiBkdXJhdGlvblRocmVzaG9sZCAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvYnVmZmVyZWQtYW5kLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtYW5k
LWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2YmU3NjYzYzExNGQxMDU1ODY2
YzU5ZjA3NWZmNTM1MmFjZmNkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVy
YXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgd2l0aCBidWZmZXJlZCBmbGFnIGFuZCBkdXJhdGlvblRocmVzaG9sZDwv
dGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1y
ZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSdt
eURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7
CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIC8vIEFkZCBhIFBlcmZvcm1hbmNlT2Jz
ZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xkIG9mIDMwIGFuZCBidWZm
ZXJlZCBmbGFnLgorICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZTEgPT4geworICAg
IC8vIEFkZCBhIHNsb3cgY2xpY2sgZXZlbnQgYW5kIG1ha2Ugc3VyZSBpdCdzIGRpc3BhdGNoZWQg
dG8gb2JzZXJ2ZXJzLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUyID0+IHsK
KyAgICAgIC8vIE9ic2VydmVyIHRvIGF3YWl0IHVudGlsIGV2ZW50IGVudHJ5IGlzIGRpc3BhdGNo
ZWQuCisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoKSA9PiB7CisgICAgICAgIHJlc29s
dmUyKCk7CisgICAgICB9KS5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBkdXJhdGlvblRocmVzaG9s
ZDogMTZ9KTsKKyAgICAgIGF3YWl0IGNsaWNrT25FbGVtZW50QW5kRGVsYXkoJ215RGl2JywgMzAp
OworICAgIH0pOworICAgIGNvbnN0IGFmdGVyRmlyc3RDbGljayA9IHBlcmZvcm1hbmNlLm5vdygp
OworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGxpc3QgPT4geworICAg
ICAgY29uc3QgbW91c2VEb3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7
CisgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKKyAg
ICAgIGFzc2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEsICdTaG91bGQgb25seSBvYnNl
cnZlIDEgY2xpY2shJyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKG1vdXNlRG93bnNbMF0u
cHJvY2Vzc2luZ1N0YXJ0LCBhZnRlckZpcnN0Q2xpY2ssCisgICAgICAgICdUaGUgZW50cnkgc2hv
dWxkIG5vdCBiZSB0aGUgZmlyc3QgY2xpY2shIScpOworICAgICAgdmVyaWZ5Q2xpY2tFdmVudCht
b3VzZURvd25zWzBdLCAnbXlEaXYnLCBmYWxzZSAvKiBpc0ZpcnN0ICovLCAxNiAvKiBtaW5EdXJh
dGlvbiovKTsKKyAgICAgIHJlc29sdmUxKCk7CisgICAgfSkpLm9ic2VydmUoe3R5cGU6ICdldmVu
dCcsIGR1cmF0aW9uVGhyZXNob2xkOiAxNiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgICAvLyBUaGlz
IHNob3VsZCBiZSB0aGUgb25seSBjbGljayBvYnNlcnZlZCBzaW5jZSB0aGUgb3RoZXIgb25lIHdv
dWxkIG5vdCBiZSBidWZmZXJlZC4KKyAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KCdt
eURpdicsIDMwKTsKKyAgfSk7Cit9LCAiUGVyZm9ybWFuY2VPYnNlcnZlciBidWZmZXJpbmcgaW5k
ZXBlbmRlbnQgb2YgZHVyYXRpb25UaHJlc2hvbGQiKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xNzYwNGMyOGUxMmYzOTgwNzBmYTJlZmQ4NzkxM2M1NjM1OTRm
MjBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvYnVmZmVyZWQtZmxhZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworSGFybmVzcyBFcnJvciAoVElN
RU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRo
IGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBUaW1pbmcgZW50cmllcyBUZXN0IHRp
bWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1mbGFn
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2VlMTUyYmU5Mzg4ZmE4NTkzYzNjMmE4NTk4MWE3Y2IwZWQ3NDky
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2J1ZmZlcmVkLWZsYWcuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciBzZWVzIGVudHJpZXMgd2l0aCBidWZm
ZXJlZCBmbGFnPC90aXRsZT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2sn
IGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorICBsZXQgZmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgbGV0IGV2ZW50U2VlbiA9
IGZhbHNlOworICBhc3luY190ZXN0KHQgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRv
dy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQu
Jyk7CisgICAgY29uc3QgdmFsaWRhdGVFbnRyeSA9IHQuc3RlcF9mdW5jKGVudHJ5ID0+IHsKKyAg
ICAgIGlmIChlbnRyeS5lbnRyeVR5cGUgPT09ICdmaXJzdC1pbnB1dCcpCisgICAgICAgIGZpcnN0
SW5wdXRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UgaWYgKGVudHJ5LmVudHJ5VHlwZSA9PT0gJ2V2
ZW50JykKKyAgICAgICAgZXZlbnRTZWVuID0gdHJ1ZTsKKyAgICAgIGVsc2UKKyAgICAgICAgYXNz
ZXJ0X3VucmVhY2hlZCgnU2hvdWxkIG9ubHkgb2JzZXJ2ZSBFdmVudCBUaW1pbmcgZW50cmllcyEn
KTsKKyAgICB9KTsKKyAgICAvLyBGaXJzdCBvYnNlcnZlciBjcmVhdGVzIHNlY29uZCBpbiBjYWxs
YmFjayB0byBlbnN1cmUgdGhlIGVudHJ5IGhhcyBiZWVuIGRpc3BhdGNoZWQgYnkgdGhlIHRpbWUK
KyAgICAvLyB0aGUgc2Vjb25kIG9ic2VydmVyIGJlZ2lucyBvYnNlcnZpbmcuCisgICAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoKGxpc3QsIG9icykgPT4geworICAgICAgbGlzdC5nZXRFbnRyaWVz
KCkuZm9yRWFjaCh2YWxpZGF0ZUVudHJ5KTsKKyAgICAgIGlmICghZmlyc3RJbnB1dFNlZW4gfHwg
IWV2ZW50U2VlbikKKyAgICAgICAgcmV0dXJuOworCisgICAgICBvYnMuZGlzY29ubmVjdCgpOwor
ICAgICAgZmlyc3RJbnB1dFNlZW4gPSBmYWxzZTsKKyAgICAgIGV2ZW50U2VlbiA9IGZhbHNlOwor
ICAgICAgLy8gU2Vjb25kIG9ic2VydmVyIHJlcXVpcmVzICdidWZmZXJlZDogdHJ1ZScgdG8gc2Vl
IGVudHJpZXMuCisgICAgICBjb25zdCBidWZmZXJlZE9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygp
LmZvckVhY2godmFsaWRhdGVFbnRyeSk7CisgICAgICAgICAgaWYgKGZpcnN0SW5wdXRTZWVuICYm
IGV2ZW50U2VlbikKKyAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAgfSk7CisgICAgICBidWZm
ZXJlZE9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICJldmVudCIsIGJ1ZmZlcmVkOiB0cnVlfSk7Cisg
ICAgICBidWZmZXJlZE9ic2VydmVyLm9ic2VydmUoe3R5cGU6ICdmaXJzdC1pbnB1dCcsIGJ1ZmZl
cmVkOiB0cnVlfSk7CisgICAgfSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCcsICdmaXJz
dC1pbnB1dCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9LCAiUGVy
Zm9ybWFuY2VPYnNlcnZlciB3aXRoIGJ1ZmZlcmVkIGZsYWcgc2VlcyBwcmV2aW91cyBFdmVudCBU
aW1pbmcgZW50cmllcyIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9jbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjYwMmEzZWIwNjU1
N2FkZjZjNWRkOTIzZTQxMGI2ODViMjI4NmI4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgRXZlbnQgVGltaW5n
IGNsaWNrLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNr
LXRpbWluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJmOTcxZDJlN2QzMTFkMDVkMGVhMjg1
MTU4YjQ0NTg3OGNlMTQwYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRpbWluZy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBF
dmVudCBUaW1pbmc6IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNr
LXRpbWluZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvY2xpY2stdGltaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ5NDNmOTU5MGE5
ZjJkZjgzZWU4NDE1MDM4NzhmMWU0NTUxMDdhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLXRp
bWluZy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBjb21wYXJlIHRpbWluZyBv
ZiB0d28gbG9uZyBjbGlja3MKKzwvdGl0bGU+Cis8YnV0dG9uIGlkPSdidXR0b24nPkdlbmVyYXRl
IGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdD4KKyAgLyogVGltZWxpbmU6CisgICAgIE9ic2VydmVyIHN0YXJ0cwor
ICAgICBMb25nIGNsaWNrIDEKKyAgICAgTG9uZyBjbGljayAyCisgICAgIE9uY2UgdHdvIGNsaWNr
cyBoYXZlIGJlZW4gcmVjZWl2ZWQgYnkgb2JzZXJ2ZXIsIGNvbXBhcmUgdGhlIHRpbWVzdGFtcHMu
CisgICovCisgIGxldCB0aW1lQmVmb3JlRmlyc3RDbGljazsKKyAgbGV0IHRpbWVBZnRlckZpcnN0
Q2xpY2s7CisgIGxldCB0aW1lQWZ0ZXJTZWNvbmRDbGljazsKKyAgbGV0IG9ic2VydmVkRW50cmll
cyA9IFtdOworICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50
cyh3aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3Vw
cG9ydGVkLicpOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5
TGlzdCA9PiB7CisgICAgICBvYnNlcnZlZEVudHJpZXMgPSBvYnNlcnZlZEVudHJpZXMuY29uY2F0
KGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICBlbnRyeSA9PiBlbnRyeS5u
YW1lID09PSAnbW91c2Vkb3duJykpOworICAgICAgaWYgKG9ic2VydmVkRW50cmllcy5sZW5ndGgg
PCAyKQorICAgICAgICByZXR1cm47CisKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVCZWZv
cmVGaXJzdENsaWNrLCB1bmRlZmluZWQpOworICAgICAgYXNzZXJ0X25vdF9lcXVhbHModGltZUFm
dGVyRmlyc3RDbGljaywgdW5kZWZpbmVkKTsKKyAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHRpbWVB
ZnRlclNlY29uZENsaWNrLCB1bmRlZmluZWQpOworICAgICAgLy8gRmlyc3QgY2xpY2suCisgICAg
ICB2ZXJpZnlDbGlja0V2ZW50KG9ic2VydmVkRW50cmllc1swXSwgJ2J1dHRvbicpOworICAgICAg
YXNzZXJ0X2JldHdlZW5fZXhjbHVzaXZlKG9ic2VydmVkRW50cmllc1swXS5wcm9jZXNzaW5nU3Rh
cnQsCisgICAgICAgICAgdGltZUJlZm9yZUZpcnN0Q2xpY2ssCisgICAgICAgICAgdGltZUFmdGVy
Rmlyc3RDbGljaywKKyAgICAgICAgICAiRmlyc3QgY2xpY2sncyBwcm9jZXNzaW5nU3RhcnQiKTsK
KyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVyRmlyc3RDbGljaywgb2JzZXJ2ZWRF
bnRyaWVzWzBdLnN0YXJ0VGltZSwKKyAgICAgICAgICAidGltZUFmdGVyRmlyc3RDbGljayBzaG91
bGQgYmUgbGF0ZXIgdGhhbiBmaXJzdCBjbGljaydzIHN0YXJ0IHRpbWUuIik7CisKKyAgICAgIC8v
IFNlY29uZCBjbGljay4KKyAgICAgIHZlcmlmeUNsaWNrRXZlbnQob2JzZXJ2ZWRFbnRyaWVzWzFd
LCAnYnV0dG9uJyk7CisgICAgICBhc3NlcnRfYmV0d2Vlbl9leGNsdXNpdmUob2JzZXJ2ZWRFbnRy
aWVzWzFdLnByb2Nlc3NpbmdTdGFydCwKKyAgICAgICAgICB0aW1lQWZ0ZXJGaXJzdENsaWNrLAor
ICAgICAgICAgIHRpbWVBZnRlclNlY29uZENsaWNrLAorICAgICAgICAgICJTZWNvbmQgY2xpY2sn
cyBwcm9jZXNzaW5nU3RhcnQiKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4odGltZUFmdGVy
U2Vjb25kQ2xpY2ssIG9ic2VydmVkRW50cmllc1sxXS5zdGFydFRpbWUsCisgICAgICAgICAgInRp
bWVBZnRlclNlY29uZENsaWNrIHNob3VsZCBiZSBsYXRlciB0aGFuIHNlY29uZCBjbGljaydzIHN0
YXJ0IHRpbWUuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlwZTogJ2V2
ZW50J30pOworICAgIHRpbWVCZWZvcmVGaXJzdENsaWNrID0gcGVyZm9ybWFuY2Uubm93KCk7Cisg
ICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4oICgpID0+IHsKKyAgICAgIHRpbWVB
ZnRlckZpcnN0Q2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIGNsaWNrQW5kQmxvY2tN
YWluKCdidXR0b24nKS50aGVuKCgpID0+IHsKKyAgICAgICAgdGltZUFmdGVyU2Vjb25kQ2xpY2sg
PSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAgIH0pCisgICAgfSk7CisgIH0sICJFdmVudCBUaW1p
bmc6IGNvbXBhcmUgY2xpY2sgdGltaW5ncy4iKTsKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNlZWNhYmRmMTg3OGM4
ZjBmNzc3NWIwYjBkNTg3Y2E5MDkwOWZlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0bWwK
QEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9
dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgY2xpY2suPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWlu
Zy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0ndGFyZ2V0Jz5DbGljayBtZTwvZGl2
PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0
RXZlbnRUeXBlKHQsICdjbGljaycpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jb250ZXh0bWVudS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTk2OGNkYmQ1ZmMyZTc5NWViMWFkNjYzMThiYTA1YjRiOTJjNjA1NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2NvbnRleHRtZW51LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K01lbnUKKworUEFTUyBFdmVudCBUaW1pbmcgY29udGV4dG1lbnUuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9j
b250ZXh0bWVudS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY29udGV4dG1lbnUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWEwNWEzYjE2
MzllMzlkYzY2ZmJkZTgzZjE2MTBhZmZlZjQ3NTllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY29udGV4
dG1lbnUuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBjb250ZXh0bWVudS48L3Rp
dGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNv
dXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJn
ZXQnIGNvbnRleHRtZW51PSJteW1lbnUiPk1lbnUKKzxtZW51IHR5cGU9ImNvbnRleHQiIGlkPSJt
eW1lbnUiPgorICA8bWVudWl0ZW0gbGFiZWw9ImxhYmVsIj48L21lbnVpdGVtPgorPC9tZW51Pgor
PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJu
IHRlc3RFdmVudFR5cGUodCwgJ2NvbnRleHRtZW51Jyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzJmZGNlZWNkOTk0NzY5MjQzZmYxYmFkMTA3OGY3Zjdj
ZDlmM2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNiBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50ICAKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgRXZlbnQgVGltaW5nOiBlbnRyaWVz
IHNob3VsZCBvbmx5IGJlIG9ic2VydmFibGUgYnkgaXRzIG93biBmcmFtZS4gVGVzdCB0aW1lZCBv
dXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGE0YzViMDUxN2I2ZDMzZDRjY2Q1ODYwMDA5NWY1YjIwYjZhMmZlOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL2Nyb3NzaWZyYW1lLmh0bWwKQEAgLTAsMCArMSw5NiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKworPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKyAgPHRp
dGxlPkV2ZW50IFRpbWluZzogZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2YWJsZSBieSBpdHMgb3du
IGZyYW1lLjwvdGl0bGU+CisgIDxtZXRhIG5hbWU9InRpbWVvdXQiIGNvbnRlbnQ9ImxvbmciPgor
PC9oZWFkPgorCis8Ym9keT4KKzxidXR0b24gaWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2sn
IGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0Pgor
PGlmcmFtZSBpZD0naWZyYW1lJyBzcmM9cmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUu
aHRtbD48L2lmcmFtZT4KKzxzY3JpcHQ+CisgIGxldCBjbGlja1RpbWVNaW47CisgIGxldCBjbGlj
a0RvbmU7CisKKyAgZnVuY3Rpb24gdmFsaWRhdGVFbnRyaWVzKGVudHJpZXMpIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiT25seSAxIGVudHJ5IHNob3VsZCBiZSByZWNl
aXZlZCIpOworICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgICB2ZXJpZnlDbGlja0V2
ZW50KGVudHJ5LCAnYnV0dG9uJywgdHJ1ZSk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGVudHJ5
LnByb2Nlc3NpbmdTdGFydCwgY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vz
c2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIGNsaWNrRG9uZS4iKTsKKyAgICBhc3NlcnRfZ3Jl
YXRlcl90aGFuKGVudHJ5LnN0YXJ0VGltZSwgY2xpY2tUaW1lTWluLAorICAgICAgICAiVGhlIGVu
dHJ5J3Mgc3RhcnQgdGltZSBzaG91bGQgYmUgbGF0ZXIgdGhhbiBjbGlja1RpbWVNaW4uIik7Cisg
IH0KKworICBmdW5jdGlvbiB2YWxpZGF0ZUNoaWxkRnJhbWVFbnRyaWVzKGNoaWxkRnJhbWVEYXRh
KSB7CisgICAgaWYgKGNoaWxkRnJhbWVEYXRhID09PSAiZmFpbGVkIikgeworICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgiRGlkIG5vdCByZWNlaXZlIGV4YWN0bHkgb25lIGVudHJ5IGZyb20gY2hpbGQg
YXMgZXhwZWN0ZWQiKTsKKyAgICB9CisgICAgLy8gfGNoaWxkRnJhbWVEYXRhfCBoYXMgcHJvcGVy
dGllcyB3aXRoIHRoZSBzYW1lIG5hbWVzIGFzIGl0cworICAgIC8vIFBlcmZvcm1hbmNlRXZlbnRU
aW1pbmcgY291bnRlcnBhcnQuCisgICAgdmVyaWZ5Q2xpY2tFdmVudChjaGlsZEZyYW1lRGF0YSwg
bnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhjaGlsZEZyYW1lRGF0YS50YXJnZXQsICdpZnJhbWVf
ZGl2Jyk7CisKKyAgICBhc3NlcnRfbGVzc190aGFuKGNoaWxkRnJhbWVEYXRhLnByb2Nlc3NpbmdT
dGFydCwgY2hpbGRGcmFtZURhdGEuY2xpY2tEb25lLAorICAgICAgICAiVGhlIGVudHJ5J3MgcHJv
Y2Vzc2luZyBzdGFydCBzaG91bGQgYmUgYmVmb3JlIHRoYW4gdGhlIGNoaWxkIGZyYW1lJ3MgY2xp
Y2tEb25lLiIpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oY2hpbGRGcmFtZURhdGEuc3RhcnRU
aW1lLCBjaGlsZEZyYW1lRGF0YS5jbGlja1RpbWVNaW4sCisgICAgICAgICJUaGUgZW50cnkncyBz
dGFydCB0aW1lIHNob3VsZCBiZSBsYXRlciB0aGFuIHRoZSBjaGlsZCBmcmFtZSdzIFwKKyAgICAg
ICAgY2xpY2tUaW1lTWluLiIpOworICB9CisKKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4gewor
ICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAiRXZl
bnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKTsKKyAgICBjbGlja1RpbWVNaW4gPSBwZXJmb3Jt
YW5jZS5ub3coKTsKKyAgICBsZXQgb2JzZXJ2ZWRNb3VzZURvd24gPSBmYWxzZTsKKyAgICBjb25z
dCBvYnNlcnZlclByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5ldyBQ
ZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJpZXMgPT4geworICAgICAgICBjb25z
dCBtb3VzZURvd25zID0gZW50cmllcy5nZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nKTsKKyAg
ICAgICAgLy8gSWdub3JlIHRoZSBjYWxsYmFjayBpZiB0aGVyZSB3ZXJlIG5vIG1vdXNlZG93biBl
bnRyaWVzLgorICAgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09IDApCisgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1vdXNlRG93biwKKyAgICAg
ICAgICAgICJPYnNlcnZlciBvZiBtYWluIGZyYW1lcyBzaG91bGQgb25seSBjYXB0dXJlIG1haW4t
ZnJhbWUgZXZlbnQtdGltaW5nIGVudHJpZXMiKTsKKyAgICAgICAgdmFsaWRhdGVFbnRyaWVzKG1v
dXNlRG93bnMpOworICAgICAgICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgIH0pKS5vYnNlcnZlKHt0eXBlOiAnZXZlbnQnfSk7CisgICAgfSk7Cisg
ICAgYXdhaXQgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIGNsaWNrRG9uZSA9IHBl
cmZvcm1hbmNlLm5vdygpOworICAgIGF3YWl0IG9ic2VydmVyUHJvbWlzZTsKKworICAgIGNvbnN0
IGNoaWxkRnJhbWVFbnRyaWVzUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLCAoZXZlbnQpID0+IHsKKyAgICAg
ICAgcmVzb2x2ZShldmVudC5kYXRhKTsKKyAgICAgIH0sIGZhbHNlKTsKKyAgICB9KTsKKworICAg
IGxldCBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7CisgICAgY29u
c3QgaWZyYW1lWCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5vZmZzZXRMZWZ0
OworICAgIGNvbnN0IGlmcmFtZVkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyku
b2Zmc2V0VG9wOworICAgIC8vIFRhcCBvbiB0aGUgaWZyYW1lLCB3aXRoIGFuIG9mZnNldCBvZiAx
MCB0byB0YXJnZXQgdGhlIGRpdiBpbnNpZGUgaXQuCisgICAgY29uc3QgYWN0aW9ucyA9IG5ldyB0
ZXN0X2RyaXZlci5BY3Rpb25zKCkKKyAgICAgICAgLnBvaW50ZXJNb3ZlKGlmcmFtZVggKyAxMCwg
aWZyYW1lWSArIDEwKQorICAgICAgICAucG9pbnRlckRvd24oKQorICAgICAgICAucG9pbnRlclVw
KCkKKyAgICBhY3Rpb25zLnNlbmQoKTsKKyAgICBjb25zdCBjaGlsZEZyYW1lRGF0YSA9IGF3YWl0
IGNoaWxkRnJhbWVFbnRyaWVzUHJvbWlzZTsKKyAgICAvL3Quc3RlcCgoKSA9PiB7CisgICAgLy8g
IHZhbGlkYXRlQ2hpbGRGcmFtZUVudHJpZXMoY2hpbGRGcmFtZURhdGEpOworICAgIC8vfSk7Cisg
IH0sICJFdmVudCBUaW1pbmc6IGVudHJpZXMgc2hvdWxkIG9ubHkgYmUgb2JzZXJ2YWJsZSBieSBp
dHMgb3duIGZyYW1lLiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL2RibGNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43ZjJmODc1ZTUyNTc1MzAyZWU4MTM5YzdkNmI4YzQ4ODA0MzQ0OWFlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZGJsY2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0c2lkZSB0
YXJnZXQhCitDbGljayBtZQorCitQQVNTIEV2ZW50IFRpbWluZyBkYmxjbGljay4gCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2RibGNsaWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxjbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzM2ZjZmQz
MGRlMDUxYWU3MjI3ZTg0M2YyN2UyYjI3ZTAxN2M5NTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9kYmxj
bGljay5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0
YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIGRibGNsaWNrLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJn
ZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ2Ri
bGNsaWNrJyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5l
Y3QtdGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNDhjZDAyOTU2ZDExOGUxN2Y2ODY0NjIwYjZjODVjOTUyNTk0MDkyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJnZXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogd2hlbiB0YXJnZXQgaXMgZGlzY29ubmVjdGVkLCBl
bnRyeS50YXJnZXQgcmV0dXJucyBudWxsLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZGlzY29ubmVjdC10YXJn
ZXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2Rpc2Nvbm5lY3QtdGFyZ2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ2NzcwZDMxODhk
Y2I1YjIzODA2ZDFhYjAzZDc3ZTc2ZTRlMTM3ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2Rpc2Nvbm5l
Y3QtdGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3Njcmlw
dD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwv
c2NyaXB0PgorCis8YnV0dG9uIGlkPSd0aGVfYnV0dG9uJz5DbGlja01lPC9idXR0b24+CisKKzxz
Y3JpcHQ+Cithc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgYXNzZXJ0X2ltcGxlbWVudHMod2lu
ZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcgaXMgbm90IHN1cHBvcnRl
ZC4nKTsKKyAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBf
ZnVuY19kb25lKChlbnRyeUxpc3QpID0+IHsKKyAgICBjb25zdCBlbnRyaWVzID0gZW50cnlMaXN0
LmdldEVudHJpZXMoKS5maWx0ZXIoZSA9PiBlLm5hbWUgPT09ICdtb3VzZWRvd24nKTsKKyAgICBp
ZiAoZW50cmllcy5sZW5ndGggPT09IDApCisgICAgICByZXR1cm47CisgICAgLy8gVGhlcmUgbXVz
dCBvbmx5IGJlIG9uZSBjbGljayBlbnRyeS4KKyAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisgICAgLy8gVGhpcyBjaGVj
a3MgdGhhdCBlbnRyeS50YXJnZXQgcmV0dXJucyB0aGUgY29ycmVjdCBidXR0b24gTm9kZS4KKyAg
ICB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCAndGhlX2J1dHRvbicsIHRydWUpOworICAgIGNvbnN0
IGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aGVfYnV0dG9uJyk7CisgICAgYnV0
dG9uLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYnV0dG9uKTsKKyAgICAvLyBBZnRlciByZW1vdmlu
ZyB0aGUgYnV0dG9uLCBlbnRyeS50YXJnZXQgc2hvdWxkIG5vdyByZXR1cm4gbnVsbC4KKyAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5LnRhcmdldCwgbnVsbCk7CisgIH0pKTsKKyAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh7ZW50cnlUeXBlczogWydldmVudCddfSk7CisgIGNsaWNrQW5kQmxvY2tNYWluKCd0aGVf
YnV0dG9uJyk7Cit9LCAiRXZlbnQgVGltaW5nOiB3aGVuIHRhcmdldCBpcyBkaXNjb25uZWN0ZWQs
IGVudHJ5LnRhcmdldCByZXR1cm5zIG51bGwuIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3Vu
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMzUwZmViZTUzNWVjMjgzNjI2OWU1YzYxZjg3
ZjAzY2E5MTc2MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jbGljay1jb3VudHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorQ2xpY2sgbWUKK0NsaWNrIG1lCisKK1BBU1MgRXZlbnQg
VGltaW5nOiBldmVudENvdW50cy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNrLWNvdW50cy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM2NTYzYjk1ODE4YWM1
NmFkYmMwNmM5Mzc0Nzk4NzAwZWQ0MTI0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LWNsaWNr
LWNvdW50cy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiBldmVudENvdW50cy48
L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0nZGl2
Jz5DbGljayBtZTwvZGl2PgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5DbGljayBtZTwvYnV0dG9uPgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KCB0ID0+IHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuRXZlbnRDb3VudHMsICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7CisgICAg
ZnVuY3Rpb24gdGVzdENsaWNrcyhleHBlY3RlZENvdW50LCByZXNvbHZlKSB7CisgICAgICBjb25z
dCBjbGlja0NvdW50ID0gcGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KCdjbGljaycpOworICAg
ICAgaWYgKGNsaWNrQ291bnQgPCBleHBlY3RlZENvdW50KSB7CisgICAgICAgIHQuc3RlcF90aW1l
b3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgIHRlc3RDbGlja3MoZXhwZWN0ZWRDb3VudCwgcmVz
b2x2ZSk7CisgICAgICAgIH0sIDUpOworICAgICAgICByZXR1cm47CisgICAgICB9CisgICAgICBh
c3NlcnRfZXF1YWxzKGNsaWNrQ291bnQsIGV4cGVjdGVkQ291bnQsJ0luY29ycmVjdCBjbGljayBj
b3VudC4nKTsKKyAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0
KCdtb3VzZWRvd24nKSwgZXhwZWN0ZWRDb3VudCwgJ0luY29ycmVjdCBtb3VzZWRvd24gY291bnQn
KTsKKyAgICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KCdtb3Vz
ZXVwJyksIGV4cGVjdGVkQ291bnQsICdJbmNvcnJlY3QgbW91c2V1cCBjb3VudC4nKTsKKyAgICAg
IHJlc29sdmUoKTsKKyAgICB9CisgICAgZnVuY3Rpb24gcHJvbWlzZUNsaWNrcyhleHBlY3RlZENv
dW50KSB7CisgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHRl
c3RDbGlja3MoZXhwZWN0ZWRDb3VudCwgcmVzb2x2ZSkKKyAgICAgIH0pOworICAgIH0KKworICAg
IHJldHVybiB0ZXN0X2RyaXZlci5jbGljayhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2Jykp
LnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHByb21pc2VDbGlja3MoMSk7CisgICAgfSkudGhl
bigoKSA9PiB7CisgICAgICByZXR1cm4gdGVzdF9kcml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2J1dHRvbicpKTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgIHJldHVybiBw
cm9taXNlQ2xpY2tzKDIpOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgcmV0dXJuIHRlc3Rf
ZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKSk7CisgICAgfSkudGhl
bigoKSA9PiB7CisgICAgICByZXR1cm4gcHJvbWlzZUNsaWNrcygzKTsKKyAgICB9KTsKKyAgfSkK
Kzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2Yzgx
Mjg4NDZiZmZmYjJhYTI0ZGE3ZDM1YWI4ZDVkZTcyN2JhZTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9l
dmVudC1jb3VudHMtemVyby1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgRXZl
bnQgVGltaW5nOiBldmVudENvdW50cy4gYXNzZXJ0X2VxdWFsczogVGhlIHNpemUgb2YgcGVyZm9y
bWFuY2UuZXZlbnRDb3VudHMgaXMgaW5jb3JyZWN0LiBleHBlY3RlZCAobnVtYmVyKSAzNiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVudC1jb3VudHMtemVy
by5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvZXZlbnQtY291bnRzLXplcm8uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM5MGRkNjkxMzhm
MzUxOTc3NzQyMzlkZmMxMmY1NTRjOTI4NGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY291
bnRzLXplcm8uaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogZXZlbnRDb3VudHMu
PC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+Cisg
IHRlc3QoKCkgPT4geworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5FdmVudENvdW50cywg
IkV2ZW50IENvdW50cyBpc24ndCBzdXBwb3J0ZWQiKTsKKyAgICBjb25zdCBldmVudFR5cGVzID0g
WworICAgICAgICAnYXV4Y2xpY2snLAorICAgICAgICAnY2xpY2snLAorICAgICAgICAnY29udGV4
dG1lbnUnLAorICAgICAgICAnZGJsY2xpY2snLAorICAgICAgICAnbW91c2Vkb3duJywKKyAgICAg
ICAgJ21vdXNlZW50ZXInLAorICAgICAgICAnbW91c2VsZWF2ZScsCisgICAgICAgICdtb3VzZW91
dCcsCisgICAgICAgICdtb3VzZW92ZXInLAorICAgICAgICAnbW91c2V1cCcsCisgICAgICAgICdw
b2ludGVyb3ZlcicsCisgICAgICAgICdwb2ludGVyZW50ZXInLAorICAgICAgICAncG9pbnRlcmRv
d24nLAorICAgICAgICAncG9pbnRlcnVwJywKKyAgICAgICAgJ3BvaW50ZXJjYW5jZWwnLAorICAg
ICAgICAncG9pbnRlcm91dCcsCisgICAgICAgICdwb2ludGVybGVhdmUnLAorICAgICAgICAnZ290
cG9pbnRlcmNhcHR1cmUnLAorICAgICAgICAnbG9zdHBvaW50ZXJjYXB0dXJlJywKKyAgICAgICAg
J3RvdWNoc3RhcnQnLAorICAgICAgICAndG91Y2hlbmQnLAorICAgICAgICAndG91Y2hjYW5jZWwn
LAorICAgICAgICAna2V5ZG93bicsCisgICAgICAgICdrZXlwcmVzcycsCisgICAgICAgICdrZXl1
cCcsCisgICAgICAgICdiZWZvcmVpbnB1dCcsCisgICAgICAgICdpbnB1dCcsCisgICAgICAgICdj
b21wb3NpdGlvbnN0YXJ0JywKKyAgICAgICAgJ2NvbXBvc2l0aW9udXBkYXRlJywKKyAgICAgICAg
J2NvbXBvc2l0aW9uZW5kJywKKyAgICAgICAgJ2RyYWdzdGFydCcsCisgICAgICAgICdkcmFnZW5k
JywKKyAgICAgICAgJ2RyYWdlbnRlcicsCisgICAgICAgIC8vICdkcmFnZXhpdCc/IFVuY2xlYXIg
aWYgaXQgd2lsbCBiZSByZW1vdmVkIGZyb20gSFRNTCBzcGVjIG9yIG5vdC4KKyAgICAgICAgJ2Ry
YWdsZWF2ZScsCisgICAgICAgICdkcmFnb3ZlcicsCisgICAgICAgICdkcm9wJworICAgIF07Cisg
ICAgZXZlbnRUeXBlcy5mb3JFYWNoKHR5cGUgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhwZXJm
b3JtYW5jZS5ldmVudENvdW50cy5nZXQodHlwZSksIDAsICdUaGVyZSBpcyBhIG5vbnplcm8gdmFs
dWUgZm9yICcgKyB0eXBlKTsKKyAgICB9KQorICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2Uu
ZXZlbnRDb3VudHMuc2l6ZSwgZXZlbnRUeXBlcy5sZW5ndGgsCisgICAgICAgICdUaGUgc2l6ZSBv
ZiBwZXJmb3JtYW5jZS5ldmVudENvdW50cyBpcyBpbmNvcnJlY3QuJyk7CisgIH0pCis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2
ZW50LXJldGFyZ2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWJkMWFlZDJhYmIzNmI3NDY0
MThlNWY0OGNiYzA1ODgyN2Y4OTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzogdGFyZ2V0
IHJlcG9ydHMgdGhlIGxhc3QgRXZlbnQgVGFyZ2V0LCBpLmUuIG5vdGhpbmcgZnJvbSBzaGFkb3cg
RE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjljMTE0ZjM1NmI1MWI4NjliOTU1MDgzMDgxNWNiNmU2OGIzYzdh
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL2V2ZW50LXJldGFyZ2V0Lmh0bWwKQEAgLTAsMCArMSw0MSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90
ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8Y3VzdG9tLWJ1dHRvbiBpZD0n
Y3VzdG9tX2J1dHRvbic+PC9jdXN0b20tYnV0dG9uPgorCis8c2NyaXB0PgorYXN5bmNfdGVzdChm
dW5jdGlvbih0KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50
VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGxldCBpbm5lckJ1
dHRvbkNsaWNrZWQgPSBmYWxzZTsKKyAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdjdXN0b20tYnV0
dG9uJywgY2xhc3MgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgY29ubmVjdGVkQ2FsbGJhY2so
KSB7CisgICAgICB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTogJ29wZW4nfSk7CisgICAgICB0aGlz
LnNoYWRvd1Jvb3QuaW5uZXJIVE1MID0gYDxidXR0b24gaWQ9J2lubmVyX2J1dHRvbl9pZCc+Q2xp
Y2sgbWU8L2J1dHRvbj5gOworICAgICAgdGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdp
bm5lcl9idXR0b25faWQnKS5vbmNsaWNrID0gKCkgPT4geworICAgICAgICBpbm5lckJ1dHRvbkNs
aWNrZWQgPSB0cnVlOworICAgICAgfTsKKyAgICB9CisgIH0pOworICBjb25zdCBvYnNlcnZlciA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsKKyAg
ICBjb25zdCBlbnRyaWVzID0gZW50cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ21vdXNlZG93bicp
OworICAgIGlmIChlbnRyaWVzLmxlbmd0aCA9PT0gMCkKKyAgICAgIHJldHVybjsKKworICAgIC8v
IFRoZXJlIG11c3Qgb25seSBiZSBvbmUgbW91c2Vkb3duIGVudHJ5LgorICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgIHZlcmlmeUNsaWNrRXZlbnQoZW50cmllc1swXSwg
J2N1c3RvbV9idXR0b24nLCB0cnVlKTsKKyAgICBhc3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNr
ZWQpOworICAgIHQuZG9uZSgpCisgIH0pKTsKKyAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBl
czogWydldmVudCddfSk7CisgIGNsaWNrQW5kQmxvY2tNYWluKCdjdXN0b21fYnV0dG9uJyk7Cit9
LCAiRXZlbnQgVGltaW5nOiB0YXJnZXQgcmVwb3J0cyB0aGUgbGFzdCBFdmVudCBUYXJnZXQsIGku
ZS4gbm90aGluZyBmcm9tIHNoYWRvdyBET00uIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL2ZpcnN0LWlucHV0LXNoYWRvdy1kb20tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQt
c2hhZG93LWRvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY1MmFhN2YyNjU2Zjg4ODdkNTdj
NDc4N2E2MjNkNmQyYmQ5ODM1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNoYWRv
dy1kb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIEV2ZW50IFRpbWluZzog
dGVzdCBmaXJzdCBpbnB1dCBvbiBzaGFkb3cgRE9NLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5w
dXQtc2hhZG93LWRvbS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZmlyc3QtaW5wdXQtc2hhZG93LWRvbS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY2ZWI2NTk3NTUyZmI5ZWM0OGEwYTczM2E0ZDY3ZjIyYjQyN2Y3NjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9maXJzdC1pbnB1dC1zaGFkb3ctZG9tLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPGJvZHk+Cis8ZGl2IGlkPSdjb250YWluZXInPgor
ICA8Y3VzdG9tLWJ1dHRvbiBpZD0nY3VzdG9tX2J1dHRvbic+PC9jdXN0b20tYnV0dG9uPgorPC9k
aXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KHQgPT4geworICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9y
dGVkLicpOworICBsZXQgaW5uZXJCdXR0b25DbGlja2VkID0gZmFsc2U7CisgIGN1c3RvbUVsZW1l
bnRzLmRlZmluZSgnY3VzdG9tLWJ1dHRvbicsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQgewor
ICAgIGNvbm5lY3RlZENhbGxiYWNrKCkgeworICAgICAgdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6
ICdvcGVuJ30pOworICAgICAgdGhpcy5zaGFkb3dSb290LmlubmVySFRNTCA9IGA8YnV0dG9uIGlk
PSdpbm5lcl9idXR0b25faWQnPkNsaWNrIG1lPC9idXR0b24+YDsKKyAgICAgIHRoaXMuc2hhZG93
Um9vdC5nZXRFbGVtZW50QnlJZCgnaW5uZXJfYnV0dG9uX2lkJykub25tb3VzZWRvd24gPSAoKSA9
PiB7CisgICAgICAgIGlubmVyQnV0dG9uQ2xpY2tlZCA9IHRydWU7CisgICAgICB9OworICAgIH0K
KyAgfSk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7
CisgICAgICAvLyBUaGVyZSBtdXN0IG9ubHkgYmUgb25lIGZpcnN0LWlucHV0IGVudHJ5LgorICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyeUxpc3QuZ2V0RW50cmllcygpLmxlbmd0aCwgMSk7CisgICAg
ICAvLyBlbnRyeS50YXJnZXQgbXVzdCBiZSB0aGUgc2hhZG93IGhvc3QgZHVlIHRvIHJldGFyZ2V0
dGluZy4KKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlMaXN0LmdldEVudHJpZXMoKVswXS50YXJn
ZXQsCisgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N1c3RvbV9idXR0b24nKSk7
CisgICAgICBhc3NlcnRfdHJ1ZShpbm5lckJ1dHRvbkNsaWNrZWQsICdEaWQgbm90IHJlYWNoIHRo
ZSBzaGFkb3cgRE9NIGV2ZW50IGxpc3RlbmVyIScpOworICAgICAgcmVzb2x2ZSgpOworICAgIH0p
KS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ2ZpcnN0LWlucHV0J119KTsKKyAgfSk7CisgIGNvbnN0
IGNsaWNrUHJvbWlzZSA9IHRlc3RfZHJpdmVyLmNsaWNrKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjdXN0b21fYnV0dG9uJykpOworICByZXR1cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlz
ZSwgY2xpY2tQcm9taXNlXSk7Cit9LCAiRXZlbnQgVGltaW5nOiB0ZXN0IGZpcnN0IGlucHV0IG9u
IHNoYWRvdyBET00uIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZmRhMTEyMTdmYjAwMGYwYjQzYzIwNTk5NDM4MGQ0ZGMwYThmZWQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjkgQEAKKworUEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAK
K1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBk
ZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1
cmUgc2V0IAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdDogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25h
cnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFT
UyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRp
bWluZyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWlu
ZyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0
b3IiIHByb3BlcnR5IAorUEFTUyBQZXJmb3JtYW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1
bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgUGVyZm9ybWFuY2VFdmVudFRpbWluZyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBwcm9jZXNzaW5nU3RhcnQgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1p
bmcgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHJvY2Vzc2luZ0VuZCAKK1BBU1MgUGVyZm9ybWFuY2VF
dmVudFRpbWluZyBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjYW5jZWxhYmxlIAorUEFTUyBQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nIGludGVyZmFjZTogYXR0cmlidXRlIHRhcmdldCAKK1BBU1MgUGVyZm9y
bWFuY2VFdmVudFRpbWluZyBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0b0pTT04oKSAKK1BBU1MgRXZl
bnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IG9iamVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNT
IEV2ZW50Q291bnRzIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgRXZlbnRDb3VudHMgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIEV2ZW50Q291bnRzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0
eSAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IAor
UEFTUyBQZXJmb3JtYW5jZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBldmVudENvdW50cyAKK1BBU1Mg
UGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBwZXJmb3JtYW5jZSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
ImV2ZW50Q291bnRzIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFy
bmVzcy5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUy
OGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhh
cm5lc3MuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQg
Zm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3Qg
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5h
bnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9pZGxoYXJuZXNzLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWU5ODU0OGZiNmYyMjA5Yjhj
NGI1MzQ2ODMwYzBkNzIzZTY4MTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvaWRsaGFybmVzcy5hbnku
anMKQEAgLTAsMCArMSwxOCBAQAorLy8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1F
VEE6IHNjcmlwdD0vcmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9y
ZXNvdXJjZXMvaWRsaGFybmVzcy5qcworCisvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2V2ZW50
LXRpbWluZy8KKworJ3VzZSBzdHJpY3QnOworCitpZGxfdGVzdCgKKyAgWydldmVudC10aW1pbmcn
XSwKKyAgWydwZXJmb3JtYW5jZS10aW1lbGluZScsICdoci10aW1lJywgJ2RvbSddLAorICBpZGxf
YXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBQZXJmb3JtYW5j
ZTogWydwZXJmb3JtYW5jZSddLAorICAgICAgLy8gUGVyZm9ybWFuY2VFdmVudFRpbWluZzogWyBU
T0RPIF0KKyAgICB9KTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQxN2VmZGEyMWE1ODAzMmQxMjY0Yzc1ODBkMTBkYjgyYjFjNzNiMjQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9pZGxoYXJuZXNzLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKKworUEFTUyBpZGxfdGVzdCBzZXR1cCAKK1BBU1MgaWRsX3Rlc3QgdmFsaWRhdGlvbiAK
K1BBU1MgUGFydGlhbCBpbnRlcmZhY2UgUGVyZm9ybWFuY2U6IG9yaWdpbmFsIGludGVyZmFjZSBk
ZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogdmFsaWQgZXhwb3N1
cmUgc2V0IAorUEFTUyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCitQQVNTIFBhcnRpYWwgZGljdGlvbmFyeSBQZXJmb3JtYW5jZU9ic2VydmVy
SW5pdDogb3JpZ2luYWwgZGljdGlvbmFyeSBkZWZpbmVkIAorUEFTUyBQYXJ0aWFsIGRpY3Rpb25h
cnkgUGVyZm9ybWFuY2VPYnNlcnZlckluaXQ6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAorUEFT
UyBQYXJ0aWFsIGludGVyZmFjZSBQZXJmb3JtYW5jZVsyXTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUgCitQQVNTIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgRXZlbnRDb3VudHMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1Mg
UGVyZm9ybWFuY2UgaW50ZXJmYWNlOiBtZW1iZXIgZXZlbnRDb3VudHMgCitQQVNTIFBlcmZvcm1h
bmNlIGludGVyZmFjZTogcGVyZm9ybWFuY2UgbXVzdCBub3QgaGF2ZSBwcm9wZXJ0eSAiZXZlbnRD
b3VudHMiIAorUEFTUyBOb2RlIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBvYmplY3QgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55Lndvcmtlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvaWRsaGFybmVzcy5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2
OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2lkbGhhcm5l
c3MuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1
cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMjAzN2I4YjM3MzkxNmE0YTE5NDM0N2Q0ODdkMDAw
N2U2N2ZkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9i
c2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xk
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2xhcmdlLWR1
cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NjVkNDJkMzM0NTc0MmY1MzY0YjA4
NWIyYzEzNzE1NjY1MmUyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9sYXJnZS1kdXJhdGlvbi10aHJl
c2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1l
dGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZzogUGVyZm9ybWFuY2VPYnNl
cnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgMTI1PC90aXRsZT4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1p
bmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J215RGl2Jz5DbGljayBtZTwvZGl2
PgorPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgcmV0dXJuIHRlc3REdXJh
dGlvbih0LCAnbXlEaXYnLCBudW1FbnRyaWVzPTIsIGR1cj0xMjUsIGZhc3REdXI9NzAsIHNsb3dE
dXI9MTQwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRp
bmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWVkaXVtLWR1
cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzMyMDM3YjhiMzczOTE2
YTRhMTk0MzQ3ZDQ4N2QwMDA3ZTY3ZmRiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21lZGl1bS1kdXJh
dGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xpY2sgbWUKKwor
UEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2VydmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRz
IGR1cmF0aW9uVGhyZXNob2xkIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNo
b2xkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTgy
N2YyMjExYjEyNTUwZmVlOGQwZjVkMTI1OGRmYmUyOWM4MzBkOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21lZGl1bS1kdXJhdGlvbi10aHJlc2hvbGQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRp
bWluZzogUGVyZm9ybWFuY2VPYnNlcnZlciB3aXRoIGEgZHVyYXRpb25UaHJlc2hvbGQgb2YgNTA8
L3RpdGxlPgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdiBpZD0n
bXlEaXYnPkNsaWNrIG1lPC9kaXY+Cis8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICByZXR1cm4gdGVzdER1cmF0aW9uKHQsICdteURpdicsIG51bUVudHJpZXM9MywgZHVyPTUw
LCBmYXN0RHVyPTIwLCBzbG93RHVyPTcwKTsKK30sICJQZXJmb3JtYW5jZU9ic2VydmVyIG9ic2Vy
dmVzIGV2ZW50cyBhY2NvcmRpbmcgdG8gaXRzIGR1cmF0aW9uVGhyZXNob2xkIik7Cis8L3Njcmlw
dD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5
NGFhMmVhNWEyMmNjMjQ1MDkwNDYyZDc1MDMxMTMyNzM3MzI1NQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L21pbi1kdXJhdGlvbi10aHJlc2hvbGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ2xp
Y2sgbWUKKworUEFTUyBQZXJmb3JtYW5jZU9ic2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hvbGQg
b2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlvbiA+PSAxNiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1
cmF0aW9uLXRocmVzaG9sZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbWluLWR1cmF0aW9uLXRocmVzaG9sZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ0M2IzOGEyNzgzMzM3N2U0ZWJiYmUzMDcyOTBhZGRkNDM5ZWI1MDgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9taW4tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5F
dmVudCBUaW1pbmc6IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xk
IGxlc3MgdGhhbiAxNjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3Jp
cHQ+Cis8ZGl2IGlkPSdteURpdic+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+Citwcm9taXNlX3Rl
c3QoYXN5bmMgdCA9PiB7CisgIHJldHVybiB0ZXN0RHVyYXRpb24odCwgJ215RGl2JywgbnVtRW50
cmllcz01LCBkdXI9MCwgZmFzdER1cj0wLCBzbG93RHVyPTIwKTsKK30sICJQZXJmb3JtYW5jZU9i
c2VydmVyIHdpdGggZHVyYXRpb25UaHJlc2hvbGQgb2YgMCBzZWVzIGV2ZW50cyBvZiBkdXJhdGlv
biA+PSAxNiIpOworPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvbW91c2Vkb3duLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzY4NWIzYTI2
ZTk0OTIxNzkxZjMxYjQyZjZiNjM0NmM0NzMxNTljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vk
b3duLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NsaWNrIG1lCisKK1BBU1MgRXZlbnQg
VGltaW5nIG1vdXNlZG93bi4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2Vk
b3duLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVhMDdmYWViMWJjYWFhZGIwY2E2MDZmODk0ODAwNGI0NWEx
MTVhZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZG93bi5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8bWV0YSBu
YW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2Vk
b3duLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYg
aWQ9J3RhcmdldCc+Q2xpY2sgbWU8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3lu
YyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2Vkb3duJyk7CisgIH0p
Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvbW91c2VlbnRlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2FkZWFkNTgxZDExZDg4ZDRh
MjJmMDQ0NmEwMGRhZDNiODgzNTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXItZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworUEFT
UyBFdmVudCBUaW1pbmcgbW91c2VlbnRlci4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNlZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDRkNTc0Mzc0MmM3M2VjNzY5NjEzZTQx
Y2U0NWJmMTkwYTQ3M2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VlbnRlci5odG1sCkBAIC0w
LDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04
IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIG1vdXNlZW50ZXIuPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNl
cy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJp
dmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWlu
Zy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxk
aXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlZW50ZXInKTsKKyAg
fSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZWxlYXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjBkOTc5M2M2OTVmNmNl
MTE5M2IyMThkYjUwYjY1YjI2MjRmNDVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQ
QVNTIEV2ZW50IFRpbWluZyBtb3VzZWxlYXZlLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VsZWF2ZS5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvbW91c2VsZWF2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMmNmNzNlMmE2MTZjNTYxMjIzMmE3
ZTFmOTg3NTcwZWVkOWUyZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZWxlYXZlLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgbW91c2VsZWF2ZS48L3RpdGxlPgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2Pk91dHNpZGUgdGFyZ2V0ITwvZGl2Pgor
PGRpdiBpZD0ndGFyZ2V0Jz5UYXJnZXQ8L2Rpdj4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChh
c3luYyB0ID0+IHsKKyAgICByZXR1cm4gdGVzdEV2ZW50VHlwZSh0LCAnbW91c2VsZWF2ZScpOwor
ICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW91dC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9tb3VzZW91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJlYTNkZjY0ZmMyOWI0YjZj
Y2JiMWQ0MjAwZTNhMzg5YjdjMzMwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1Mg
RXZlbnQgVGltaW5nIG1vdXNlb3V0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdXQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21v
dXNlb3V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQzMjE5MzRiMGI3ODQyODBhNWVkNTIwYjcwZDBiYzBi
YjVjMTgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKQEAgLTAsMCArMSwxOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRs
ZT5FdmVudCBUaW1pbmcgbW91c2VvdXQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVy
LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMu
anM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxz
LmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3Rhcmdl
dCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7Cisg
ICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50
ICovKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2VvdmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3Zlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQxMDNhNTA5
NThjZGE5YjFkMTU5MzNkNzYzNzhhZTBkNzJjMjFiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
b3Zlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1Rhcmdl
dAorCitQQVNTIEV2ZW50IFRpbWluZyBtb3VzZW92ZXIuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL21vdXNlb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0MWVlMmQ3ZWNkN2ZiOTM4ZDJk
NGZlMjRhZDZjYTAwNTY1MDdiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbApA
QCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11
dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBtb3VzZW92ZXIuPC90aXRsZT4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rk
cml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRp
bWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5PdXRzaWRlIHRhcmdldCE8L2Rpdj4K
KzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21vdXNlb3ZlcicsIHRy
dWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL21vdXNldXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbW91c2V1cC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTRmMzkwODI4ZGQxNDEzYTFjMGQ3OGQyNmQyMDg2ZWNiMTA4MTE4OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL21vdXNldXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGFyZ2V0CisKK1BB
U1MgRXZlbnQgVGltaW5nIG1vdXNldXAuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZXVwLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9t
b3VzZXVwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYmVmOGZkYjJmMDI1MzZjZTY4NzQ5MWI5NTExYWFk
OTRmYjAzZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRtbApAQCAtMCwwICsxLDE3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxl
PkV2ZW50IFRpbWluZyBtb3VzZXVwLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5q
cz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5q
cz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ21v
dXNldXAnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNl
cnZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MWZkNTdjNDRmZTI3ODM0NTBhYTNmOTBmZWEyNzEwNDkw
ZjBkYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUtZmlyc3RJbnB1dC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBF
dmVudCBUaW1pbmc6IGNoZWNrIGZpcnN0LWlucHV0IGZvciBhIFBlcmZvcm1hbmNlT2JzZXJ2ZXIg
b2JzZXJ2aW5nIG9ubHkgZmlyc3QtaW5wdXQuIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9vbmx5LW9ic2VydmUt
Zmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NGE2MDM2ZjkxYWRiODljN2I2NTI4ZTQwODUwOTM3ZDcwNTIwYjc3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvb25seS1vYnNlcnZlLWZpcnN0SW5wdXQuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50
IFRpbWluZzogb25seSBvYnNlcnZlIHRoZSBmaXJzdCBpbnB1dDwvdGl0bGU+Cis8YnV0dG9uIGlk
PSdidXR0b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2Vz
L3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2
ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQtdGlt
aW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgIC8qIFRlc3Q6CisgICAg
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgZm9yIGZpcnN0LWlucHV0IGlzIHJlZ2lzdGVyZWQKKyAgICAg
Q2xpY2sgMQorICAgICBDbGljayAyCisgICAgIFdhaXQKKyAgICAgRXhwZWN0ZWQgcmVzdWx0Ogor
ICAgICBQZXJmb3JtYW5jZU9ic2VydmVyIHNob3VsZCBvYnNlcnZlIG9uZSBhbmQgb25seSBvbmUg
ZW50cnkuCisgICovCisgIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBs
ZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5v
dCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IGhhc09ic2VydmVkRmlyc3RJbnB1dCA9IGZhbHNlOwor
ICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKChlbnRyeUxpc3QpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2ZhbHNlKGhhc09ic2VydmVkRmlyc3RJbnB1dCk7CisgICAgICAgIGhh
c09ic2VydmVkRmlyc3RJbnB1dCA9IHRydWU7CisgICAgICAgIGNvbnN0IG9ic2VydmVkRW50cmll
cyA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZmlsdGVyKAorICAgICAgICAgICAgZW50cnkgPT4g
ZW50cnkubmFtZSA9PT0gJ21vdXNlZG93bicpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2Vy
dmVkRW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9ic2VydmVkRW50
cmllc1swXS5lbnRyeVR5cGUsICdmaXJzdC1pbnB1dCcpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KG9ic2VydmVkRW50cmllc1swXS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgfSkpLm9ic2VydmUo
eyBlbnRyeVR5cGVzOiBbJ2ZpcnN0LWlucHV0J10gfSk7CisgICAgb25fZXZlbnQod2luZG93LCAn
bG9hZCcsICgpID0+IHsKKyAgICAgIGNsaWNrQW5kQmxvY2tNYWluKCdidXR0b24nKS50aGVuKCgp
ID0+IHsKKyAgICAgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhl
biggKCkgPT4geworICAgICAgICAgIC8vIEFmdGVyIHNvbWUgd2FpdCwgdGhlIFBlcmZvcm1hbmNl
T2JzZXJ2ZXIgc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIGJvdGggY2xpY2tzLgorICAgICAgICAgIC8v
IE9uZSBhbmQgb25seSBvbmUgZmlyc3QtaW5wdXQgZW50cnkgc2hvdWxkIGhhdmUgYmVlbiBkaXNw
YXRjaGVkLCBzbworICAgICAgICAgIC8vIHxoYXNPYnNlcnZlZEZpcnN0SW5wdXR8IHNob3VsZCBi
ZSB0cnVlLgorICAgICAgICAgIHQuc3RlcF90aW1lb3V0KCAoKSA9PiB7CisgICAgICAgICAgICBh
c3NlcnRfdHJ1ZShoYXNPYnNlcnZlZEZpcnN0SW5wdXQpOworICAgICAgICAgICAgdC5kb25lKCk7
CisgICAgICAgICAgfSwgMTApOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgIH0pOworICB9
LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1dCBmb3IgYSBQZXJmb3JtYW5jZU9i
c2VydmVyIG9ic2VydmluZyBvbmx5IGZpcnN0LWlucHV0LiIKKyAgKTsKKzwvc2NyaXB0PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Nzk5YTRmN2U2Y2Y5ODVmMzJiYmY3YTFlZDVjOTA4
NmNhMzAzOTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitUYXJnZXQKKworUEFTUyBFdmVudCBUaW1pbmcgcG9pbnRlcmRvd24uIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yZWI2YWU4OThjY2QwMDZkYTE2MzNhN2Y4MTJkYmNmYzBmY2JlOWYxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPG1ldGEgbmFtZT0idGltZW91dCIg
Y29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJkb3duLjwvdGl0bGU+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgaWQ9J3RhcmdldCc+
VGFyZ2V0PC9kaXY+Cis8c2NyaXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
cmV0dXJuIHRlc3RFdmVudFR5cGUodCwgJ3BvaW50ZXJkb3duJyk7CisgIH0pCis8L3NjcmlwdD4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJlbnRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVy
ZW50ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmY5Njg5YTZhNDk3NzkwNThkZDc5YjY1
ZjkyNmU4Y2Y5YTc3NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZW50ZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNSBAQAorT3V0c2lkZSB0YXJnZXQhCitUYXJnZXQKKworUEFTUyBFdmVu
dCBUaW1pbmcgcG9pbnRlcmVudGVyLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVyZW50ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWUxYzUxZDUxY2RlNGQyMzE0ZTMxMDY5
MzMyOGZkMjZkYmQ4YmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmVudGVyLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRm
LTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmcgcG9pbnRlcmVudGVyLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+
Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyZW50ZXIn
KTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcmxlYXZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU1OTdl
NDQ0ZTMxZWFhMjU2MTQzNjdkNDQxMzBjNmQwZWUwZThlNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJsZWF2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEK
K1RhcmdldAorCitQQVNTIEV2ZW50IFRpbWluZyBwb2ludGVybGVhdmUuIAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wb2ludGVybGVhdmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJsZWF2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgxZThm
MTVlYzBkMTZhNTMxODJmMDZlN2Y5NTUzMjI4Y2MwYWI3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9w
b2ludGVybGVhdmUuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2ludGVybGVh
dmUuPC90aXRsZT4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLWFjdGlvbnMuanM+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPGRpdj5P
dXRzaWRlIHRhcmdldCE8L2Rpdj4KKzxkaXYgaWQ9J3RhcmdldCc+VGFyZ2V0PC9kaXY+Cis8c2Ny
aXB0PgorICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgcmV0dXJuIHRlc3RFdmVudFR5
cGUodCwgJ3BvaW50ZXJsZWF2ZScpOworICB9KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmY3ZDZjNjFjMWVkZjQ4OTc2MzAwNjRkZDhmOGU3YTliNjA3NGZkNTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyb3V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK091
dHNpZGUgdGFyZ2V0IQorVGFyZ2V0CisKK1BBU1MgRXZlbnQgVGltaW5nIHBvaW50ZXJvdXQuIAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3V0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjA4ZjU3Njk5Y2M0OGQ4MjM1MGZhYmJlM2JlMjU4OWMyYmIyYzFmMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJvdXQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBwb2lu
dGVyb3V0LjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPXJlc291cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxk
aXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2Pgor
PHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZl
bnRUeXBlKHQsICdwb2ludGVyb3V0JywgdHJ1ZSAvKiBsb29zZUNvdW50ICovKTsKKyAgfSkKKzwv
c2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cG9pbnRlcm92ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyOTVkYzRlZDYxNmZlOWU2Njkx
NDAyMTJkM2I0NjI0MmFkYjY2Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitPdXRzaWRlIHRhcmdldCEKK1RhcmdldAorCitQQVNT
IEV2ZW50IFRpbWluZyBwb2ludGVyb3Zlci4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdmVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9wb2ludGVyb3Zlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMTcxMjIzOWMwOTU4MzhhNTY1Y2Vl
ODg3NGNjM2I1MjIxOTQ4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyb3Zlci5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0
Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJvdmVyLjwvdGl0bGU+Cis8c2NyaXB0
IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci1hY3Rpb25zLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXY+T3V0c2lkZSB0YXJnZXQhPC9kaXY+
Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwvZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVyb3Zlcics
IHRydWUgLyogbG9vc2VDb3VudCAqLyk7CisgIH0pCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3BvaW50ZXJ1cC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUzNGIwZDcxNDU3NzZjNTg4NWY0MGRlN2ViOGQ0NmUxNzkxNTIzOTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9wb2ludGVydXAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorVGFy
Z2V0CisKK1BBU1MgRXZlbnQgVGltaW5nIHBvaW50ZXJ1cC4gCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50
ZXJ1cC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcG9pbnRlcnVwLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDMyNGE1YmViN2FiMzJjM2Y3
YmFlZTY5OWFmMzk3MDkwMWY3YWU1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJ1cC5odG1s
CkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBjaGFyc2V0
PXV0Zi04IC8+Cis8dGl0bGU+RXZlbnQgVGltaW5nIHBvaW50ZXJ1cC48L3RpdGxlPgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVz
b3VyY2VzL3Rlc3Rkcml2ZXIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3Rkcml2ZXItYWN0aW9ucy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVz
dGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJjZXMvZXZlbnQt
dGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8ZGl2IGlkPSd0YXJnZXQnPlRhcmdldDwv
ZGl2PgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIHJldHVybiB0
ZXN0RXZlbnRUeXBlKHQsICdwb2ludGVydXAnKTsKKyAgfSkKKzwvc2NyaXB0PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9l
dmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9wcm9ncmFtbWF0aWMtY2xpY2stbm90LW9ic2VydmVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YmY0OGNmOTIwYTY5OWFhM2JjNjY4ODcxOGI1ZjA1NDZkZDBhNjRjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvcHJvZ3JhbW1hdGljLWNsaWNrLW5vdC1vYnNlcnZlZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitDbGljayBtZQorTm8sIGNsaWNrIG1lIQorCitQQVNTIEV2ZW50IFRpbWluZzog
ZXZlbnRzIGZyb20gcHJvZ3JhbW1hdGljIGNsaWNrIGFyZSBub3Qgb2JzZXJ2ZWQgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQt
dGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRp
Yy1jbGljay1ub3Qtb2JzZXJ2ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDYwZDJkMDBkYzFjMDIxMDg1
NDMxN2JjZTViYmM1YmMyNWZmZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcHJvZ3JhbW1hdGljLWNs
aWNrLW5vdC1vYnNlcnZlZC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04IC8+Cis8ZGl2IGlkPSdkaXYnIG9uY2xpY2s9J2Rl
bGF5KCknPkNsaWNrIG1lPC9kaXY+Cis8ZGl2IGlkPSdkaXYyJz5ObywgY2xpY2sgbWUhPC9kaXY+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291
cmNlcy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIGxl
dCBkZWxheUNhbGxlZCA9IGZhbHNlOworICBsZXQgYmVmb3JlQ2xpY2s7CisgIGZ1bmN0aW9uIGRl
bGF5KCkgeworICAgIGNvbnN0IGVuZCA9IHBlcmZvcm1hbmNlLm5vdygpICsgMTUwOworICAgIHdo
aWxlKHBlcmZvcm1hbmNlLm5vdygpIDwgZW5kKSB7fQorICAgIGRlbGF5Q2FsbGVkID0gdHJ1ZTsK
KyAgfQorICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRz
KHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBw
b3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91c2VEb3duID0gZmFsc2U7CisgICAgY29uc3Qg
b2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBjb25zdCBv
YnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9
PiB7CisgICAgICAgIGNvbnN0IG1vdXNlRG93bnMgPSBlbnRyeUxpc3QuZ2V0RW50cmllc0J5TmFt
ZSgnbW91c2Vkb3duJyk7CisgICAgICAgIC8vIElnbm9yZSBjYXNlcyBpbiB3aGljaCB0aGVyZSBp
cyBubyBtb3VzZWRvd24uCisgICAgICAgIGlmIChtb3VzZURvd25zLmxlbmd0aCA9PT0gMCkKKyAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgYXNzZXJ0X2ZhbHNlKG9ic2VydmVkTW91c2VEb3du
LCAnVGhlcmUgbXVzdCBvbmx5IGJlIG9uZSBtb3VzZWRvd24gZW50cnkuJyk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMobW91c2VEb3ducy5sZW5ndGgsIDEpOworICAgICAgICBjb25zdCBlbnRyeSA9
IG1vdXNlRG93bnNbMF07CisgICAgICAgIC8vIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBlbnRyeSBp
cyBleHBvc2luZyB0aW1pbmcgZnJvbSB0aGUgc2Vjb25kIGNsaWNrLCBpLmUuCisgICAgICAgIC8v
IHRoZSBvbmUgZnJvbSB0aGUgY2xpY2tBbmRCbG9ja01haW4oKSBjYWxsLgorICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdTdGFydCwgYmVmb3JlQ2xpY2sp
OworICAgICAgICB2ZXJpZnlDbGlja0V2ZW50KGVudHJ5LCAnZGl2MicsIHRydWUpOworICAgICAg
ICBvYnNlcnZlZE1vdXNlRG93biA9IHRydWU7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0p
KTsKKyAgICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsnZXZlbnQnXX0pOworICAg
IH0pOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkaXYnKS5jbGljaygpOworICAgIC8v
IFRha2UgdGhlIHRpbWVzdGFtcCBhZnRlciB0aGUgcHJvZ3JhbW1hdGljIGNsaWNrIGJ1dCBiZWZv
cmUgdGhlIG5leHQgY2xpY2suCisgICAgYmVmb3JlQ2xpY2sgPSBwZXJmb3JtYW5jZS5ub3coKTsK
KyAgICAvLyBBZnRlciB0aGUgcHJvZ3JhbW1hdGljIGNsaWNrLCB1c2UgYW5vdGhlciBpbnB1dCB0
byBrbm93IHdoZW4gZW50cmllcyBoYXZlIGJlZW4KKyAgICAvLyBkaXNwYXRjaGVkIHRvIHRoZSBQ
ZXJmb3JtYW5jZU9ic2VydmVyIGNhbGxiYWNrLgorICAgIGNvbnN0IGNsaWNrUHJvbWlzZSA9IGNs
aWNrQW5kQmxvY2tNYWluKCdkaXYyJyk7CisgICAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZl
clByb21pc2UsIGNsaWNrUHJvbWlzZV0pOworICB9LCAiRXZlbnQgVGltaW5nOiBldmVudHMgZnJv
bSBwcm9ncmFtbWF0aWMgY2xpY2sgYXJlIG5vdCBvYnNlcnZlZCIpOworPC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvY3Jvc3NpZnJhbWUtY2hpbGRmcmFtZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
cmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzc5Mzlk
MGJhZDFiYzliMjRiMDM1NDgwZjU1OTVkYzRjMjAxZDdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVz
b3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURP
Q1R5cGUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0IHNyYz1ldmVudC10aW1pbmctdGVz
dC11dGlscy5qcz48L3NjcmlwdD4KKzxkaXYgc3R5bGU9IndpZHRoOiAzMDBweDsgaGVpZ2h0OiAz
MDBweCIgaWQ9J2lmcmFtZV9kaXYnIG9ubW91c2Vkb3duPSJtYWluVGhyZWFkQnVzeSgxMjApIj4K
KzxzY3JpcHQ+CisoYXN5bmMgKCkgPT4geworICBjb25zdCBjbGlja1RpbWVNaW4gPSBwZXJmb3Jt
YW5jZS5ub3coKTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKK2NvbnNv
bGUubG9nKCdmcmFtZSBtb3VzZWRvd24/Jyk7CisgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50
cnlMaXN0LmdldEVudHJpZXNCeU5hbWUoJ2NsaWNrJyk7CisgICAgICBpZiAobW91c2VEb3ducy5s
ZW5ndGggPT09IDApCisgICAgICAgIHJldHVybjsKK2NvbnNvbGUubG9nKCdmcmFtZSBtb3VzZWRv
d24hJyk7CisgLy8gICAgIHJlc29sdmUobW91c2VEb3ducyk7CisgICAgfSkub2JzZXJ2ZSh7IHR5
cGU6J2V2ZW50JyB9KTsKKyAgfSk7CisgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCBvYnNlcnZlclBy
b21pc2U7CisgIGNvbnN0IGNsaWNrRG9uZSA9IHBlcmZvcm1hbmNlLm5vdygpOworICBpZiAoZW50
cmllcy5sZW5ndGggIT09IDEpIHsKKyAgICB0b3AucG9zdE1lc3NhZ2UoImZhaWxlZCIsICIqIik7
CisgICAgcmV0dXJuOworICB9CisgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKyAgdG9wLnBv
c3RNZXNzYWdlKHsKKyAgICAvLyBFbnRyeSB2YWx1ZXMgKHxlbnRyeXwgaXRzZWxmIGlzIG5vdCBj
bG9uYWJsZSkKKyAgICAibmFtZSI6IGVudHJ5Lm5hbWUsCisgICAgImNhbmNlbGFibGUiOiBlbnRy
eS5jYW5jZWxhYmxlLAorICAgICJlbnRyeVR5cGUiOiBlbnRyeS5lbnRyeVR5cGUsCisgICAgInN0
YXJ0VGltZSI6IGVudHJ5LnN0YXJ0VGltZSwKKyAgICAicHJvY2Vzc2luZ1N0YXJ0IjogZW50cnku
cHJvY2Vzc2luZ1N0YXJ0LAorICAgICJwcm9jZXNzaW5nRW5kIjogZW50cnkucHJvY2Vzc2luZ0Vu
ZCwKKyAgICAiZHVyYXRpb24iOiBlbnRyeS5kdXJhdGlvbiwKKyAgICAvLyBPdGhlciB2YWx1ZXMK
KyAgICAiY2xpY2tUaW1lTWluIjogY2xpY2tUaW1lTWluLAorICAgICJjbGlja0RvbmUiIDogY2xp
Y2tEb25lLAorICAgICJ0YXJnZXQiOiBlbnRyeS50YXJnZXQuaWQsCisgIH0sICcqJyk7Cit9KSAo
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2
ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0
aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjc0OWNmZTNjMTlkMWIzYzY1ZGExNTMwYmQzMzkxOTBiMDU2NmY0
MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMu
anMKQEAgLTAsMCArMSwyNjUgQEAKKy8vIENsaWNrcyBvbiB0aGUgZWxlbWVudCB3aXRoIHRoZSBn
aXZlbiBJRC4gSXQgYWRkcyBhbiBldmVudCBoYW5kbGVyIHRvIHRoZSBlbGVtZW50IHdoaWNoCisv
LyBlbnN1cmVzIHRoYXQgdGhlIGV2ZW50cyBoYXZlIGEgZHVyYXRpb24gb2YgYXQgbGVhc3QgfGRl
bGF5fC4gQ2FsbHMgfGNhbGxiYWNrfCBkdXJpbmcKKy8vIGV2ZW50IGhhbmRsZXIgaWYgfGNhbGxi
YWNrfCBpcyBwcm92aWRlZC4KK2FzeW5jIGZ1bmN0aW9uIGNsaWNrT25FbGVtZW50QW5kRGVsYXko
aWQsIGRlbGF5LCBjYWxsYmFjaykgeworICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoaWQpOworICBjb25zdCBjbGlja0hhbmRsZXIgPSAoKSA9PiB7CisgICAgbWFpblRo
cmVhZEJ1c3koZGVsYXkpOworICAgIGlmIChjYWxsYmFjaykKKyAgICAgIGNhbGxiYWNrKCk7Cisg
ICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBjbGlja0hhbmRsZXIp
OworICB9OworICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGNsaWNrSGFu
ZGxlcik7CisgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW1lbnQpOworfQorCitmdW5jdGlv
biBtYWluVGhyZWFkQnVzeShkdXJhdGlvbikgeworICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5u
b3coKTsKKyAgd2hpbGUgKHBlcmZvcm1hbmNlLm5vdygpIDwgbm93ICsgZHVyYXRpb24pOworfQor
CisvLyBUaGlzIG1ldGhvZCBzaG91bGQgcmVjZWl2ZSBhbiBlbnRyeSBvZiB0eXBlICdldmVudCcu
IHxpc0ZpcnN0fCBpcyB0cnVlIG9ubHkgd2hlbiB3ZSB3YW50CisvLyB0byBjaGVjayB0aGF0IHRo
ZSBldmVudCBhbHNvIGhhcHBlbnMgdG8gY29ycmVzcG9uZCB0byB0aGUgZmlyc3QgZXZlbnQuIElu
IHRoaXMgY2FzZSwgdGhlCisvLyB0aW1pbmdzIG9mIHRoZSAnZmlyc3QtaW5wdXQnIGVudHJ5IHNo
b3VsZCBiZSBlcXVhbCB0byB0aG9zZSBvZiB0aGlzIGVudHJ5LiB8bWluRHVyYXRpb258CisvLyBp
cyB1c2VkIHRvIGNvbXBhcmVkIGFnYWluc3QgZW50cnkuZHVyYXRpb24uCitmdW5jdGlvbiB2ZXJp
ZnlFdmVudChlbnRyeSwgZXZlbnRUeXBlLCB0YXJnZXRJZCwgaXNGaXJzdD1mYWxzZSwgbWluRHVy
YXRpb249MTA0LCBub3RDYW5jZWxhYmxlPWZhbHNlKSB7CisgIGFzc2VydF9lcXVhbHMoZW50cnku
Y2FuY2VsYWJsZSwgIW5vdENhbmNlbGFibGUsICdjYW5jZWxhYmxlIHByb3BlcnR5Jyk7CisgIGFz
c2VydF9lcXVhbHMoZW50cnkubmFtZSwgZXZlbnRUeXBlKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
eS5lbnRyeVR5cGUsICdldmVudCcpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmR1cmF0aW9uLCBtaW5EdXJhdGlvbiwKKyAgICAgICJUaGUgZW50cnkncyBkdXJhdGlvbiBzaG91
bGQgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICIgKyBtaW5EdXJhdGlvbiArICIgbXMuIik7
CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucHJvY2Vzc2luZ1N0YXJ0LCBlbnRy
eS5zdGFydFRpbWUsCisgICAgICAiVGhlIGVudHJ5J3MgcHJvY2Vzc2luZ1N0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gc3RhcnRUaW1lLiIpOworICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCwK
KyAgICAgICJUaGUgZW50cnkncyBwcm9jZXNzaW5nRW5kIG11c3QgYmUgYXQgbGVhc3QgYXMgbGFy
Z2UgYXMgcHJvY2Vzc2luZ1N0YXJ0LiIpOworICAvLyB8ZHVyYXRpb258IGlzIGEgbnVtYmVyIHJv
dW5kZWQgdG8gdGhlIG5lYXJlc3QgOCBtcywgc28gYWRkIDQgdG8gZ2V0IGEgbG93ZXIgYm91bmQK
KyAgLy8gb24gdGhlIGFjdHVhbCBkdXJhdGlvbi4KKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChlbnRyeS5kdXJhdGlvbiArIDQsIGVudHJ5LnByb2Nlc3NpbmdFbmQgLSBlbnRyeS5zdGFydFRp
bWUsCisgICAgICAiVGhlIGVudHJ5J3MgZHVyYXRpb24gbXVzdCBiZSBhdCBsZWFzdCBhcyBsYXJn
ZSBhcyBwcm9jZXNzaW5nRW5kIC0gc3RhcnRUaW1lLiIpOworICBpZiAoaXNGaXJzdCkgeworICAg
IGxldCBmaXJzdElucHV0cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ2ZpcnN0LWlu
cHV0Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0cy5sZW5ndGgsIDEsICdUaGVyZSBz
aG91bGQgYmUgYSBzaW5nbGUgZmlyc3QtaW5wdXQgZW50cnknKTsKKyAgICBsZXQgZmlyc3RJbnB1
dCA9IGZpcnN0SW5wdXRzWzBdOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5uYW1lLCBl
bnRyeS5uYW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuZW50cnlUeXBlLCAnZmly
c3QtaW5wdXQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZpcnN0SW5wdXQuc3RhcnRUaW1lLCBlbnRy
eS5zdGFydFRpbWUpOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5kdXJhdGlvbiwgZW50
cnkuZHVyYXRpb24pOworICAgIGFzc2VydF9lcXVhbHMoZmlyc3RJbnB1dC5wcm9jZXNzaW5nU3Rh
cnQsIGVudHJ5LnByb2Nlc3NpbmdTdGFydCk7CisgICAgYXNzZXJ0X2VxdWFscyhmaXJzdElucHV0
LnByb2Nlc3NpbmdFbmQsIGVudHJ5LnByb2Nlc3NpbmdFbmQpOworICAgIGFzc2VydF9lcXVhbHMo
Zmlyc3RJbnB1dC5jYW5jZWxhYmxlLCBlbnRyeS5jYW5jZWxhYmxlKTsKKyAgfQorICBpZiAodGFy
Z2V0SWQpCisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS50YXJnZXQsIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHRhcmdldElkKSk7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeUNsaWNrRXZlbnQoZW50cnks
IHRhcmdldElkLCBpc0ZpcnN0PWZhbHNlLCBtaW5EdXJhdGlvbj0xMDQpIHsKKyAgdmVyaWZ5RXZl
bnQoZW50cnksICdtb3VzZWRvd24nLCB0YXJnZXRJZCwgaXNGaXJzdCwgbWluRHVyYXRpb24pOwor
fQorCitmdW5jdGlvbiB3YWl0KCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgIHN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICByZXNvbHZlKCk7Cisg
ICAgfSwgMCk7CisgIH0pOworfQorCitmdW5jdGlvbiBjbGlja0FuZEJsb2NrTWFpbihpZCkgewor
ICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgIGNsaWNrT25F
bGVtZW50QW5kRGVsYXkoaWQsIDEyMCwgcmVzb2x2ZSk7CisgIH0pOworfQorCisgIC8vIEFkZCBh
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIgYW5kIG9ic2VydmUgd2l0aCBhIGR1cmF0aW9uVGhyZXNob2xk
IG9mIHxkdXJ8LiBUaGlzIHRlc3Qgd2lsbAorICAvLyBhdHRlbXB0IHRvIGNoZWNrIHRoYXQgdGhl
IGR1cmF0aW9uIGlzIGFwcHJvcHJpYXRlbHkgY2hlY2tlZCBieToKKyAgLy8gKiBBc3NlcnRpbmcg
dGhhdCBlbnRyaWVzIHJlY2VpdmVkIGhhdmUgYSBkdXJhdGlvbiB3aGljaCBpcyB0aGUgc21hbGxl
c3QgbXVsdGlwbGUgb2YgOAorICAvLyAgIHRoYXQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRv
IHxkdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVudHJpZXMgdGhhdCBhcmUgZmFz
dCwgb2YgZHVyYXRpb24gfHNsb3dEdXJ8LgorICAvLyAqIElzc3VpbmcgfG51bUVudHJpZXN8IGVu
dHJpZXMgdGhhdCBhcmUgc2xvdywgb2YgZHVyYXRpb24gfGZhc3REdXJ8LgorICAvLyAqIEFzc2Vy
dGluZyB0aGF0IGF0IGxlYXN0IHxudW1FbnRyaWVzfCBlbnRyaWVzIGFyZSByZWNlaXZlZCAoYXQg
bGVhc3QgdGhlIHNsb3cgb25lcykuCisgIC8vIFBhcmFtZXRlcnM6CisgIC8vIHx0fCAgICAgICAg
ICAtIHRoZSB0ZXN0IGhhcm5lc3MuCisgIC8vIHxkdXJ8ICAgICAgICAtIHRoZSBkdXJhdGlvblRo
cmVzaG9sZCBmb3IgdGhlIFBlcmZvcm1hbmNlT2JzZXJ2ZXIuCisgIC8vIHxpZHwgICAgICAgICAt
IHRoZSBJRCBvZiB0aGUgZWxlbWVudCB0byBiZSBjbGlja2VkLgorICAvLyB8bnVtRW50cmllc3wg
LSB0aGUgbnVtYmVyIG9mIHNsb3cgYW5kIG51bWJlciBvZiBmYXN0IGVudHJpZXMuCisgIC8vIHxz
bG93RHVyfCAgICAtIHRoZSBtaW4gZHVyYXRpb24gb2YgYSBzbG93IGVudHJ5LgorICAvLyB8ZmFz
dER1cnwgICAgLSB0aGUgbWluIGR1cmF0aW9uIG9mIGEgZmFzdCBlbnRyeS4KK2FzeW5jIGZ1bmN0
aW9uIHRlc3REdXJhdGlvbih0LCBpZCwgbnVtRW50cmllcywgZHVyLCBmYXN0RHVyLCBzbG93RHVy
KSB7CisgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAn
RXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgIGNvbnN0IG9ic2VydmVyUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIGxldCBtaW5EdXJhdGlvbiA9
IE1hdGguY2VpbChkdXIgLyA4KSAqIDg7CisgICAgLy8gRXhwb3NlZCBldmVudHMgbXVzdCBhbHdh
eXMgaGF2ZSBhIG1pbmltdW0gZHVyYXRpb24gb2YgMTYuCisgICAgbWluRHVyYXRpb24gPSBNYXRo
Lm1heChtaW5EdXJhdGlvbiwgMTYpOworICAgIGxldCBudW1FbnRyaWVzUmVjZWl2ZWQgPSAwOwor
ICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgY29uc3QgbW91c2VE
b3ducyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSgnbW91c2Vkb3duJyk7CisgICAgICBtb3VzZURv
d25zLmZvckVhY2goZSA9PiB7CisgICAgICAgIHQuc3RlcCgoKSA9PiB7CisgICAgICAgICAgdmVy
aWZ5Q2xpY2tFdmVudChlLCBpZCwgZmFsc2UgLyogaXNGaXJzdCAqLywgbWluRHVyYXRpb24pOwor
ICAgICAgICB9KTsKKyAgICAgIH0pOworICAgICAgbnVtRW50cmllc1JlY2VpdmVkICs9IG1vdXNl
RG93bnMubGVuZ3RoOworICAgICAgLy8gTm90ZSB0aGF0IHdlIG1heSByZWNlaXZlIG1vcmUgZW50
cmllcyBpZiB0aGUgJ2Zhc3QnIGNsaWNrIGV2ZW50cyB0dXJuIG91dCBzbG93ZXIKKyAgICAgIC8v
IHRoYW4gZXhwZWN0ZWQuCisgICAgICBpZiAobnVtRW50cmllc1JlY2VpdmVkID49IG51bUVudHJp
ZXMpCisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9KS5vYnNlcnZlKHt0eXBlOiAiZXZlbnQiLCBk
dXJhdGlvblRocmVzaG9sZDogZHVyfSk7CisgIH0pOworICBjb25zdCBjbGlja3NQcm9taXNlID0g
bmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgZm9yIChsZXQgaW5kZXggPSAwOyBp
bmRleCA8IG51bUVudHJpZXM7IGluZGV4KyspIHsKKyAgICAgIC8vIEFkZCBzb21lIGZhc3QgY2xp
Y2sgZXZlbnRzLgorICAgICAgYXdhaXQgY2xpY2tPbkVsZW1lbnRBbmREZWxheShpZCwgc2xvd0R1
cik7CisgICAgICAvLyBBZGQgc29tZSBzbG93IGNsaWNrIGV2ZW50cy4KKyAgICAgIGlmIChmYXN0
RHVyID4gMCkgeworICAgICAgICBhd2FpdCBjbGlja09uRWxlbWVudEFuZERlbGF5KGlkLCBmYXN0
RHVyKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFdlIGNhbiBqdXN0IGRpcmVjdGx5IGNh
bGwgdGVzdF9kcml2ZXIgd2hlbiB8ZmFzdER1cnwgaXMgMC4KKyAgICAgICAgYXdhaXQgdGVzdF9k
cml2ZXIuY2xpY2soZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpKTsKKyAgICAgIH0KKyAgICB9
CisgICAgcmVzb2x2ZSgpOworICB9KTsKKyAgcmV0dXJuIFByb21pc2UuYWxsKFtvYnNlcnZlclBy
b21pc2UsIGNsaWNrc1Byb21pc2VdKTsKK30KKworLy8gQXBwbHkgZXZlbnRzIHRoYXQgdHJpZ2dl
ciBhbiBldmVudCBvZiB0aGUgZ2l2ZW4gfGV2ZW50VHlwZXwgdG8gYmUgZGlzcGF0Y2hlZCB0byB0
aGUKKy8vIHx0YXJnZXR8LiBTb21lIG9mIHRoZXNlIGFzc3VtZSB0aGF0IHRoZSB0YXJnZXQgaXMg
bm90IG9uIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2YgdGhlCisvLyBzY3JlZW4sIHdoaWNoIG1lYW5z
IHRoYXQgKDAsIDApIG9mIHRoZSB2aWV3cG9ydCBpcyBvdXRzaWRlIG9mIHRoZSB8dGFyZ2V0fC4K
K2Z1bmN0aW9uIGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0KSB7CisgIGNvbnN0IGFjdGlv
bnMgPSBuZXcgdGVzdF9kcml2ZXIuQWN0aW9ucygpOworICBpZiAoZXZlbnRUeXBlID09PSAnYXV4
Y2xpY2snKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9
KQorICAgIC5wb2ludGVyRG93bih7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuTUlERExFfSkK
KyAgICAucG9pbnRlclVwKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5NSURETEV9KTsKKyAg
fSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdjbGljaycgfHwgZXZlbnRUeXBlID09PSAnbW91c2Vk
b3duJyB8fCBldmVudFR5cGUgPT09ICdtb3VzZXVwJworICAgICAgfHwgZXZlbnRUeXBlID09PSAn
cG9pbnRlcmRvd24nIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50ZXJ1cCcKKyAgICAgIHx8IGV2ZW50
VHlwZSA9PT0gJ3RvdWNoc3RhcnQnIHx8IGV2ZW50VHlwZSA9PT0gJ3RvdWNoZW5kJykgeworICAg
IGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSkKKyAgICAucG9pbnRl
ckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdj
b250ZXh0bWVudScpIHsKKyAgICBhY3Rpb25zLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRh
cmdldH0pCisgICAgLnBvaW50ZXJEb3duKHtidXR0b246IGFjdGlvbnMuQnV0dG9uVHlwZS5SSUdI
VH0pCisgICAgLnBvaW50ZXJVcCh7YnV0dG9uOiBhY3Rpb25zLkJ1dHRvblR5cGUuUklHSFR9KTsK
KyAgfSBlbHNlIGlmIChldmVudFR5cGUgPT09ICdkYmxjbGljaycpIHsKKyAgICBhY3Rpb25zLnBv
aW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRhcmdldH0pCisgICAgLnBvaW50ZXJEb3duKCkKKyAg
ICAucG9pbnRlclVwKCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKQorICAg
IC8vIFJlc2V0IGJ5IGNsaWNraW5nIG91dHNpZGUgb2YgdGhlIHRhcmdldC4KKyAgICAucG9pbnRl
ck1vdmUoMCwgMCkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2ludGVyVXAoKTsKKyAgfSBl
bHNlIGlmIChldmVudFR5cGUgPT09ICdtb3VzZWVudGVyJyB8fCBldmVudFR5cGUgPT09ICdtb3Vz
ZW92ZXInCisgICAgICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVyZW50ZXInIHx8IGV2ZW50VHlw
ZSA9PT0gJ3BvaW50ZXJvdmVyJykgeworICAgIC8vIE1vdmUgb3V0c2lkZSBvZiB0aGUgdGFyZ2V0
IGFuZCB0aGVuIGJhY2sgaW5zaWRlLgorICAgIGFjdGlvbnMucG9pbnRlck1vdmUoMCwgMCkKKyAg
ICAucG9pbnRlck1vdmUoMCwgMCwge29yaWdpbjogdGFyZ2V0fSk7CisgIH0gZWxzZSBpZiAoZXZl
bnRUeXBlID09PSAnbW91c2VsZWF2ZScgfHwgZXZlbnRUeXBlID09PSAnbW91c2VvdXQnCisgICAg
ICB8fCBldmVudFR5cGUgPT09ICdwb2ludGVybGVhdmUnIHx8IGV2ZW50VHlwZSA9PT0gJ3BvaW50
ZXJvdXQnKSB7CisgICAgYWN0aW9ucy5wb2ludGVyTW92ZSgwLCAwLCB7b3JpZ2luOiB0YXJnZXR9
KQorICAgIC5wb2ludGVyTW92ZSgwLCAwKTsKKyAgfSBlbHNlIHsKKyAgICBhc3NlcnRfdW5yZWFj
aGVkKCdUaGUgZXZlbnQgdHlwZSAnICsgZXZlbnRUeXBlICsgJyBpcyBub3Qgc3VwcG9ydGVkLicp
OworICB9CisgIHJldHVybiBhY3Rpb25zLnNlbmQoKTsKK30KKworZnVuY3Rpb24gcmVxdWlyZXNM
aXN0ZW5lcihldmVudFR5cGUpIHsKKyAgcmV0dXJuIFsnbW91c2VlbnRlcicsCisgICAgICAgICAg
J21vdXNlbGVhdmUnLAorICAgICAgICAgICdwb2ludGVyZG93bicsCisgICAgICAgICAgJ3BvaW50
ZXJlbnRlcicsCisgICAgICAgICAgJ3BvaW50ZXJsZWF2ZScsCisgICAgICAgICAgJ3BvaW50ZXJv
dXQnLAorICAgICAgICAgICdwb2ludGVyb3ZlcicsCisgICAgICAgICAgJ3BvaW50ZXJ1cCcKKyAg
ICAgICAgXS5pbmNsdWRlcyhldmVudFR5cGUpOworfQorCitmdW5jdGlvbiBub3RDYW5jZWxhYmxl
KGV2ZW50VHlwZSkgeworICByZXR1cm4gWydtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnLCAncG9p
bnRlcmVudGVyJywgJ3BvaW50ZXJsZWF2ZSddLmluY2x1ZGVzKGV2ZW50VHlwZSk7Cit9CisKKy8v
IFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBlfCdzIHBlcmZvcm1hbmNlLmV2ZW50Q291bnRzIHZh
bHVlLiBTaW5jZSB0aGlzIGlzIHBvcHVsYXRlZCBvbmx5IHdoZW4KKy8vIHRoZSBldmVudCBpcyBw
cm9jZXNzZWQsIHdlIGNoZWNrIGV2ZXJ5IDEwIG1zIHVudGlsIHdlJ3ZlIGZvdW5kIHRoZSB8ZXhw
ZWN0ZWRDb3VudHwuCitmdW5jdGlvbiB0ZXN0Q291bnRzKHQsIHJlc29sdmUsIGxvb3NlQ291bnQs
IGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCkgeworICBjb25zdCBjb3VudHMgPSBwZXJmb3JtYW5j
ZS5ldmVudENvdW50cy5nZXQoZXZlbnRUeXBlKTsKKyAgaWYgKGNvdW50cyA8IGV4cGVjdGVkQ291
bnQpIHsKKyAgICB0LnN0ZXBfdGltZW91dCgoKSA9PiB7CisgICAgICB0ZXN0Q291bnRzKHQsIHJl
c29sdmUsIGxvb3NlQ291bnQsIGV2ZW50VHlwZSwgZXhwZWN0ZWRDb3VudCk7CisgICAgfSwgMTAp
OworICAgIHJldHVybjsKKyAgfQorICBpZiAobG9vc2VDb3VudCkgeworICAgIGFzc2VydF9ncmVh
dGVyX3RoYW5fZXF1YWwocGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSksIGV4
cGVjdGVkQ291bnQsCisgICAgICAgIGBTaG91bGQgaGF2ZSBhdCBsZWFzdCAke2V4cGVjdGVkQ291
bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNgKQorICB9IGVsc2UgeworICAgIGFzc2VydF9lcXVhbHMo
cGVyZm9ybWFuY2UuZXZlbnRDb3VudHMuZ2V0KGV2ZW50VHlwZSksIGV4cGVjdGVkQ291bnQsCisg
ICAgICAgIGBTaG91bGQgaGF2ZSAke2V4cGVjdGVkQ291bnR9ICR7ZXZlbnRUeXBlfSBldmVudHNg
KTsKKyAgfQorICByZXNvbHZlKCk7Cit9CisKKy8vIFRlc3RzIHRoZSBnaXZlbiB8ZXZlbnRUeXBl
fCBieSBjcmVhdGluZyBldmVudHMgd2hvc2UgdGFyZ2V0IGFyZSB0aGUgZWxlbWVudCB3aXRoIGlk
CisvLyAndGFyZ2V0Jy4gVGhlIHRlc3QgYXNzdW1lcyB0aGF0IHN1Y2ggZWxlbWVudCBhbHJlYWR5
IGV4aXN0cy4gfGxvb3NlQ291bnR8IGlzIHNldCBmb3IKKy8vIGV2ZW50VHlwZXMgZm9yIHdoaWNo
IGV2ZW50cyB3b3VsZCBvY2N1ciBmb3Igb3RoZXIgaW50ZXJhY3Rpb25zIG90aGVyIHRoYW4gdGhl
IG9uZXMgYmVpbmcKKy8vIHNwZWNpZmllZCBmb3IgdGhlIHRhcmdldCwgc28gdGhlIGNvdW50cyBj
b3VsZCBiZSBsYXJnZXIuCithc3luYyBmdW5jdGlvbiB0ZXN0RXZlbnRUeXBlKHQsIGV2ZW50VHlw
ZSwgbG9vc2VDb3VudD1mYWxzZSkgeworICBhc3NlcnRfaW1wbGVtZW50cyh3aW5kb3cuRXZlbnRD
b3VudHMsICJFdmVudCBDb3VudHMgaXNuJ3Qgc3VwcG9ydGVkIik7CisgIGNvbnN0IHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgaWYgKHJlcXVpcmVzTGlzdGVu
ZXIoZXZlbnRUeXBlKSkgeworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwg
KCkgPT57fSk7CisgIH0KKyAgY29uc3QgaW5pdGlhbENvdW50ID0gcGVyZm9ybWFuY2UuZXZlbnRD
b3VudHMuZ2V0KGV2ZW50VHlwZSk7CisgIGlmICghbG9vc2VDb3VudCkgeworICAgIGFzc2VydF9l
cXVhbHMoaW5pdGlhbENvdW50LCAwLCAnTm8gZXZlbnRzIHlldC4nKTsKKyAgfQorICAvLyBUcmln
Z2VyIHR3byAnZmFzdCcgZXZlbnRzIG9mIHRoZSB0eXBlLgorICBhd2FpdCBhcHBseUFjdGlvbihl
dmVudFR5cGUsIHRhcmdldCk7CisgIGF3YWl0IGFwcGx5QWN0aW9uKGV2ZW50VHlwZSwgdGFyZ2V0
KTsKKyAgYXdhaXQgbmV3IFByb21pc2UodC5zdGVwX2Z1bmMocmVzb2x2ZSA9PiB7CisgICAgdGVz
dENvdW50cyh0LCByZXNvbHZlLCBsb29zZUNvdW50LCBldmVudFR5cGUsIGluaXRpYWxDb3VudCAr
IDIpOworICB9KSk7CisgIC8vIFRoZSBkdXJhdGlvblRocmVzaG9sZCB1c2VkIGJ5IHRoZSBvYnNl
cnZlci4gQSBzbG93IGV2ZW50cyBuZWVkcyB0byBiZSBzbG93ZXIgdGhhbiB0aGF0LgorICBjb25z
dCBkdXJhdGlvblRocmVzaG9sZCA9IDE2OworICAvLyBOb3cgYWRkIGFuIGV2ZW50IGhhbmRsZXIg
dG8gY2F1c2UgYSBzbG93IGV2ZW50LgorICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5
cGUsICgpID0+IHsKKyAgICBtYWluVGhyZWFkQnVzeShkdXJhdGlvblRocmVzaG9sZCArIDQpOwor
ICB9KTsKKyAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2
ZSA9PiB7CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0
ID0+IHsKKyAgICAgIGxldCBldmVudFR5cGVFbnRyaWVzID0gZW50cnlMaXN0LmdldEVudHJpZXNC
eU5hbWUoZXZlbnRUeXBlKTsKKyAgICAgIGlmIChldmVudFR5cGVFbnRyaWVzLmxlbmd0aCA9PT0g
MCkKKyAgICAgICAgcmV0dXJuOworCisgICAgICBsZXQgZW50cnkgPSBudWxsOworICAgICAgaWYg
KCFsb29zZUNvdW50KSB7CisgICAgICAgIGVudHJ5ID0gZXZlbnRUeXBlRW50cmllc1swXTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudFR5cGVFbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9
IGVsc2UgeworICAgICAgICAvLyBUaGUgb3RoZXIgZXZlbnRzIGNvdWxkIGFsc28gYmUgY29uc2lk
ZXJlZCBzbG93LiBGaW5kIHRoZSBvbmUgd2l0aCB0aGUgY29ycmVjdAorICAgICAgICAvLyB0YXJn
ZXQuCisgICAgICAgIGV2ZW50VHlwZUVudHJpZXMuZm9yRWFjaChlID0+IHsKKyAgICAgICAgICBp
ZiAoZS50YXJnZXQgPT09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKSkKKyAgICAg
ICAgICAgIGVudHJ5ID0gZTsKKyAgICAgICAgfSk7CisgICAgICAgIGlmICghZW50cnkpCisgICAg
ICAgICAgcmV0dXJuOworICAgICAgfQorICAgICAgdmVyaWZ5RXZlbnQoZW50cnksCisgICAgICAg
ICAgICAgICAgICBldmVudFR5cGUsCisgICAgICAgICAgICAgICAgICAndGFyZ2V0JywKKyAgICAg
ICAgICAgICAgICAgIGZhbHNlIC8qIGlzRmlyc3QgKi8sCisgICAgICAgICAgICAgICAgICBkdXJh
dGlvblRocmVzaG9sZCwKKyAgICAgICAgICAgICAgICAgIG5vdENhbmNlbGFibGUoZXZlbnRUeXBl
KSk7CisgICAgICAvLyBTaG91bGRuJ3QgbmVlZCBhc3luYyB0ZXN0aW5nIGhlcmUgc2luY2Ugd2Ug
YWxyZWFkeSBnb3QgdGhlIG9ic2VydmVyIGVudHJ5LCBidXQgbWlnaHQgYXMKKyAgICAgIC8vIHdl
bGwgcmV1c2UgdGhlIG1ldGhvZC4KKyAgICAgIHRlc3RDb3VudHModCwgcmVzb2x2ZSwgbG9vc2VD
b3VudCwgZXZlbnRUeXBlLCBpbml0aWFsQ291bnQgKyAzKTsKKyAgICB9KSkub2JzZXJ2ZSh7dHlw
ZTogJ2V2ZW50JywgZHVyYXRpb25UaHJlc2hvbGQ6IGR1cmF0aW9uVGhyZXNob2xkfSk7CisgIH0p
OworICAvLyBDYXVzZSBhIHNsb3cgZXZlbnQuCisgIGxldCBhY3Rpb25Qcm9taXNlID0gYXBwbHlB
Y3Rpb24oZXZlbnRUeXBlLCB0YXJnZXQpOworICByZXR1cm4gUHJvbWlzZS5hbGwoW2FjdGlvblBy
b21pc2UsIG9ic2VydmVyUHJvbWlzZV0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3Nsb3ct
aW1hZ2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXNvdXJjZXMvc2xvdy1pbWFnZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMmY5MTY1NWNm
MzlmNThiNzk0MGYyYmVkYjRjNThiOGQ2OTlmMDFiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3Vy
Y2VzL3Nsb3ctaW1hZ2UucHkKQEAgLTAsMCArMSw3IEBACitpbXBvcnQgdGltZQorCitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgIyBTbGVlcCBmb3IgNTAwbXMgdG8gZGVsYXkgb25s
b2FkLgorICAgIHRpbWUuc2xlZXAoMC41KQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ2Fj
aGUtQ29udHJvbCIsIGIibm8tY2FjaGUsIG11c3QtcmV2YWxpZGF0ZSIpOworICAgIHJlc3BvbnNl
LmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBiImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0Rs
aEFRQUJBSkFBQU1qSXlBQUFBQ3dBQUFBQUFRQUJBQUFDQWdRQkFEcyUzRCIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQwMGYwMDBhZjM5ZGExZDZjNmVlYTNjZmEyYTI0YmYxYmUyN2NmNGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOSBAQAor
VGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJl
cG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4K
K0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRw
czovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9v
bHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBO
T1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVy
dGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJl
cXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2Yg
ZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmVzb3VyY2VzL2Nyb3NzaWZyYW1lLWNoaWxkZnJhbWUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNl
cy9ldmVudC10aW1pbmctdGVzdC11dGlscy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Jlc291cmNlcy9zbG93LWltYWdlLnB5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0eS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJlN2ZiODk5MDViNTlmNzI4YzU5NDk3ZWVjOWRmNGE3
NTNlNzI5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2NsaWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRp
bWluZzogbWFrZSBzdXJlIGV2ZW50LXRpbWluZyBlbnRyaWVzIGFyZSBub3QgcmV0cmlldmFibGUg
YnkgcGVyZm9ybWFuY2UuZ2V0RW50cmllcyouIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2YWJpbGl0
eS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVu
dC10aW1pbmcvcmV0cmlldmFiaWxpdHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYjQ3NWZjNTI5NzRmZTJh
ZmRlMzU1MzMyNjUzYzgwMmM3YzVmMTZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmFiaWxp
dHkuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5FdmVudCBUaW1pbmc6IG1ha2Ugc3VyZSAnZXZlbnQnIGVu
dHJpZXMgYXJlIG5vdCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKiBBUElz
LjwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24g
aWQ9J2J1dHRvbic+R2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50PC9idXR0b24+Cis8c2NyaXB0IHNy
Yz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJj
ZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGRy
aXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPXJlc291cmNlcy9ldmVudC10
aW1pbmctdGVzdC11dGlscy5qcz48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgZnVuY3Rpb24gdmFs
aWRhdGVFbnRyaWVzKCkgeworICAgIGNvbnN0IGVudHJpZXNCeU5hbWUgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCdtb3VzZWRvd24nLCAnZXZlbnQnKTsKKyAgICBjb25zdCBlbnRyaWVz
QnlUeXBlID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZXZlbnQnKTsKKyAgICBjb25z
dCBhbGxFbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllcygpOworICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc0J5TmFtZS5sZW5ndGgsIDAsICdFdmVudCBUaW1pbmcgZW50cnkgc2hvdWxkIG5v
dCBiZSByZXRyaWV2YWJsZSBieSBnZXRFbnRyaWVzQnlOYW1lJyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzQnlUeXBlLmxlbmd0aCwgMCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90
IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVudHJpZXNCeVR5cGUnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGFsbEVudHJpZXMuZmlsdGVyKGUgPT4gZS5lbnRyeVR5cGUgPT09ICdldmVudCcpLmxlbmd0aCwg
MCwgJ0V2ZW50IFRpbWluZyBlbnRyeSBzaG91bGQgbm90IGJlIHJldHJpZXZhYmxlIGJ5IGdldEVu
dHJpZXMnKTsKKyAgfQorCisgIC8qIFRpbWVsaW5lOgorICAgICBCZWdpbiBCdXN5IExvb3AKKyAg
ICAgQ2xpY2sgMSBhcnJpdmVzCisgICAgIEVuZCBCdXN5IExvb3AKKyAgICAgKERpc3BhdGNoIGFu
ZCBQcm9jZXNzIENsaWNrIDEgLSBidWZmZXJlZCkKKyAgICAgT25sb2FkIEV2ZW50IEZpcmVzCisg
ICAgIFZhbGlkYXRlIGVudHJpZXMKKyAgKi8KKyAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgYXNzZXJ0X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVu
dCBUaW1pbmcgaXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4geworICAgICAgaWYgKGVudHJ5TGlzdC5nZXRFbnRy
aWVzQnlOYW1lKCdtb3VzZWRvd24nKS5sZW5ndGggPiAwKSB7CisgICAgICAgIHZhbGlkYXRlRW50
cmllcygpOworICAgICAgICB0LmRvbmUoKTsKKyAgICAgIH0KKyAgICB9KSkub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWydldmVudCddfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOwor
ICB9LCAiRXZlbnQgVGltaW5nOiBtYWtlIHN1cmUgZXZlbnQtdGltaW5nIGVudHJpZXMgYXJlIG5v
dCByZXRyaWV2YWJsZSBieSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzKi4iKTsKKworPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5n
L3JldHJpZXZlLWZpcnN0SW5wdXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzOWNkZjNiZjYx
YmVkZmM3OWVhYjAzMzNlMWI3OGY3NDU5NWI4NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2
ZS1maXJzdElucHV0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0dlbmVyYXRlIGEgJ2Ns
aWNrJyBldmVudAorCitQQVNTIEV2ZW50IFRpbWluZzogY2hlY2sgZmlyc3QtaW5wdXQgYWZ0ZXIg
b25sb2FkLCBvYnNlcnZlciwgY2xpY2ssIGNsaWNrLiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUt
Zmlyc3RJbnB1dC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvcmV0cmlldmUtZmlyc3RJbnB1dC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3
YjE3Y2QxODE2NWY5NzVmYmJkOThlN2RlMDdkYWQ3MTI1MWMxZmEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9yZXRyaWV2ZS1maXJzdElucHV0Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTggLz4KKzx0aXRsZT5FdmVudCBUaW1pbmc6
IGZpcnN0LWlucHV0IGVudHJ5IHNob3VsZCBiZSBidWZmZXJlZCBldmVuIHdpdGhvdXQgb2JzZXJ2
ZXI8L3RpdGxlPgorPGJ1dHRvbiBpZD0nYnV0dG9uJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8
L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorCis8c2Ny
aXB0PgorICBhc3luY190ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBhc3NlcnRfaW1wbGVtZW50cyh3
aW5kb3cuUGVyZm9ybWFuY2VFdmVudFRpbWluZywgJ0V2ZW50IFRpbWluZyBpcyBub3Qgc3VwcG9y
dGVkLicpOworICAgIGZ1bmN0aW9uIHRlc3RFbnRyaWVzKCkgeworICAgICAgLy8gRmlyc3QgY2Fs
bGJhY2sgaXMgbm90IGVuc3VyZWQgdG8gaGF2ZSB0aGUgZW50cnkuCisgICAgICBpZiAocGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgnZmlyc3QtaW5wdXQnKS5sZW5ndGggPT09IDApIHsKKyAg
ICAgICAgdC5zdGVwX3RpbWVvdXQodGVzdEVudHJpZXMsIDEwKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgICAgfQorICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBl
KCdmaXJzdC1pbnB1dCcpLmxlbmd0aCwgMSwKKyAgICAgICAgIlRoZXJlIHNob3VsZCBiZSBhIGZp
cnN0LWlucHV0IGVudHJ5IGluIHRoZSBwZXJmb3JtYW5jZSB0aW1lbGluZSIpOworICAgICAgY29u
c3QgZW50cnkgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdmaXJzdC1pbnB1dCcpWzBd
OworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5uYW1lLCAnbW91c2Vkb3duJyk7CisgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5LmVudHJ5VHlwZSwgJ2ZpcnN0LWlucHV0Jyk7CisgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAxMDQsCisgICAgICAgICJUaGUg
Zmlyc3QgaW5wdXQgd2FzIGEgbG9uZyBvbmUuIik7CisgICAgICB0LmRvbmUoKTsKKyAgICB9Cisg
ICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpLnRoZW4od2FpdCkudGhlbih0LnN0ZXBfZnVu
Yyh0ZXN0RW50cmllcykpOworICB9LAorICAiRXZlbnQgVGltaW5nOiBjaGVjayBmaXJzdC1pbnB1
dCBhZnRlciBvbmxvYWQsIG9ic2VydmVyLCBjbGljaywgY2xpY2suIgorICApOworPC9zY3JpcHQ+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmODU4
MDZmN2Y0MjFjZGYxZjkzMGYwNGIyZmIwZjkyZjZkYTkyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9z
dXBwb3J0ZWQtdHlwZXMud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFT
UyBzdXBwb3J0ZWRFbnRyeVR5cGVzIGNvbnRhaW5zICdldmVudCcgYW5kICdmaXJzdC1pbnB1dCcu
IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQt
dHlwZXMud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0
NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3N1cHBvcnRlZC10eXBlcy53aW5kb3cu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10
aW1pbmcvc3VwcG9ydGVkLXR5cGVzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2M0MzQ5NWMwOTZm
ZDBjZDU2OGZhNTk4MzA1NWMwMzkwZjk0ZDQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvc3VwcG9ydGVk
LXR5cGVzLndpbmRvdy5qcwpAQCAtMCwwICsxLDEyIEBACit0ZXN0KCgpID0+IHsKKyAgYXNzZXJ0
X2ltcGxlbWVudHMod2luZG93LlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcsICdFdmVudCBUaW1pbmcg
aXMgbm90IHN1cHBvcnRlZC4nKTsKKyAgYXNzZXJ0X2ltcGxlbWVudHModHlwZW9mIFBlcmZvcm1h
bmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcyAhPT0gInVuZGVmaW5lZCIsCisgICAgICAn
c3VwcG9ydGVkRW50cnlUeXBlcyBpcyBub3Qgc3VwcG9ydGVkJyk7CisgIGNvbnN0IHR5cGVzID0g
UGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzOworICBhc3NlcnRfdHJ1ZSh0
eXBlcy5pbmNsdWRlcygiZmlyc3QtaW5wdXQiKSwKKyAgICAiVGhlcmUgc2hvdWxkIGJlICdmaXJz
dC1pbnB1dCcgaW4gUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzIik7Cisg
IGFzc2VydF90cnVlKHR5cGVzLmluY2x1ZGVzKCJldmVudCIpLAorICAgICJUaGVyZSBzaG91bGQg
YmUgJ2V2ZW50JyBpbiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMiKTsK
KyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbih0eXBlcy5pbmRleE9mKCJmaXJzdC1pbnB1dCIpLCB0eXBl
cy5pbmRleE9mKCdldmVudCcpLAorICAgICJUaGUgJ2ZpcnN0LWlucHV0JyBlbnRyeSBzaG91bGQg
YXBwZWFyIGFmdGVyIHRoZSAnZXZlbnQnIGVudHJ5Iik7Cit9LCAic3VwcG9ydGVkRW50cnlUeXBl
cyBjb250YWlucyAnZXZlbnQnIGFuZCAnZmlyc3QtaW5wdXQnLiIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGlt
aW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZjY2OTE1MzI2YmUwODZiMzUwNDZhMjQzODliNWYxZmQ2MzRmYjViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitHZW5lcmF0ZSBhICdjbGljaycgZXZlbnQKKworUEFTUyBFdmVudCBUaW1pbmcgb25s
eSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90
aW1pbmdjb25kaXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy90aW1pbmdjb25kaXRpb25zLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWY0NDQ4YzJhMTAzYTg1MTE1NDRmYmU3YmJmZDA3NjA3NzM3YTkwYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL3RpbWluZ2NvbmRpdGlvbnMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPG1ldGEgY2hhcnNldD11dGYtOCAvPgorPHRpdGxlPkV2ZW50IFRpbWluZyBv
bmx5IHRpbWVzIGNlcnRhaW4gdHlwZXMgb2YgdHJ1c3RlZCBldmVudC4KKzwvdGl0bGU+Cis8bWV0
YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KKzxidXR0b24gaWQ9J2J1dHRvbicgb25t
b3VzZWRvd249J21haW5UaHJlYWRCdXN5KDYwKScKKyAgb25mb2N1cz0nbWFpblRocmVhZEJ1c3ko
NjApJz5HZW5lcmF0ZSBhICdjbGljaycgZXZlbnQ8L2J1dHRvbj4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0
ZHJpdmVyLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZl
bmRvci5qcz48L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9cmVzb3VyY2VzL2V2ZW50LXRpbWluZy10
ZXN0LXV0aWxzLmpzPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgbGV0IHRydXN0ZWRDbGlja1N0YXJ0
OworICBmdW5jdGlvbiB0cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oaWQpIHsKKyAgICB0cnVzdGVk
Q2xpY2tTdGFydCA9IHBlcmZvcm1hbmNlLm5vdygpOworICAgIHJldHVybiBjbGlja0FuZEJsb2Nr
TWFpbihpZCk7CisgIH0KKworICBmdW5jdGlvbiB1bnRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbihp
ZCkgeworICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKKyAg
ICAvLyBCbG9jayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgYXMgZGlzcGF0Y2hFdmVudCgp
IGlzIGEgc3luYyBjYWxsLgorICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50
KCdtb3VzZWRvd24nKSk7CisgIH0KKworICBmdW5jdGlvbiB0cnVzdGVkRm9jdXNBbmRCbG9ja01h
aW4oaWQpIHsKKyAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7
CisgICAgdHJ1c3RlZEZvY3VzU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTsKKyAgICAvLyBCbG9j
ayBtYWludGhyZWFkIGluIHRoZSBjYWxsYmFjaywgIGFzIGZvY3VzKCkgaXMgYSBzeW5jIGNhbGwu
CisgICAgdGFyZ2V0LmZvY3VzKCk7CisgIH0KKworICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24odCkg
eworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3JtYW5jZUV2ZW50VGltaW5nLCAn
RXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAgbGV0IG9ic2VydmVkTW91c2VE
b3duID0gZmFsc2U7CisgICAgY29uc3Qgb2JzZXJ2ZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRy
eUxpc3QgPT4geworICAgICAgICBjb25zdCBvYnNlcnZlckNhbGxiYWNrVGltZSA9IHBlcmZvcm1h
bmNlLm5vdygpOworICAgICAgICBjb25zdCBtb3VzZURvd25zID0gZW50cnlMaXN0LmdldEVudHJp
ZXNCeU5hbWUoJ21vdXNlZG93bicpOworICAgICAgICAvLyBJZ25vcmUgY2FzZXMgaW4gd2hpY2gg
dGhlcmUgaXMgbm8gbW91c2Vkb3duLgorICAgICAgICBpZiAobW91c2VEb3ducy5sZW5ndGggPT09
IDApCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGFzc2VydF9mYWxzZShvYnNlcnZlZE1v
dXNlRG93biwgJ0dvdCBtb3JlIHRoYW4gb25lIGNhbGxiYWNrIHdpdGggbW91c2Vkb3duLicpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKG1vdXNlRG93bnMubGVuZ3RoLCAxLAorICAgICAgICAgICAg
IlNob3VsZCBvbmx5IG9ic2VydmUgb25lIG1vdXNlZG93biBlbnRyeS4gSW5zdGVhZCwgZ290IHRo
ZXNlOiAiICsKKyAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG1vdXNlRG93bnMpICsgIi4iKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhtb3VzZURvd25zWzBdLm5hbWUsICdtb3VzZWRvd24nLAor
ICAgICAgICAgICAgIlRoZSBvYnNlcnZlZCBlbnRyeSBzaG91bGQgYmUgYSBtb3VzZWRvd24iKTsK
KyAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbihtb3VzZURvd25zWzBdLnN0YXJ0VGltZSwgb2JzZXJ2
ZXJDYWxsYmFja1RpbWUsCisgICAgICAgICAgICAiVGhlIHN0YXJ0VGltZSBzaG91bGQgYmUgYmVm
b3JlIG9ic2VydmVyQ2FsbGJhY2tUaW1lIik7CisgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4o
bW91c2VEb3duc1swXS5zdGFydFRpbWUsIHRydXN0ZWRDbGlja1N0YXJ0LAorICAgICAgICAgICAg
IlRoZSBzdGFydFRpbWUgc2hvdWxkIGJlIGFmdGVyIHRydXN0ZWRDbGlja1N0YXJ0Iik7CisgICAg
ICAgIG9ic2VydmVkTW91c2VEb3duID0gdHJ1ZTsKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAg
fSkpLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBbJ2V2ZW50J10gfSk7CisgICAgfSk7CisgICAgLy8g
VW50cnVzdGVkIGV2ZW50IG9mIGEgdHlwZSBldmVudCB0aW1pbmcgY2FyZXMgYWJvdXQuCisgICAg
dW50cnVzdGVkQ2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICAgIC8vIFRydXN0ZWQgZXZl
bnQgb2YgYSB0eXBlIGV2ZW50IHRpbWluZyBkb2Vzbid0IGNhcmVzIGFib3V0LgorICAgIHRydXN0
ZWRGb2N1c0FuZEJsb2NrTWFpbignYnV0dG9uJyk7CisgICAgLy8gVHJ1c3RlZCBldmVudCBvZiBh
IHR5cGUgZXZlbnQgdGltaW5nIGNhcmVzIGFib3V0LgorICAgIGNvbnN0IGNsaWNrUHJvbWlzZSA9
IHRydXN0ZWRDbGlja0FuZEJsb2NrTWFpbignYnV0dG9uJykudGhlbih3YWl0KTsKKyAgICByZXR1
cm4gUHJvbWlzZS5hbGwoW29ic2VydmVyUHJvbWlzZSwgY2xpY2tQcm9taXNlXSk7CisgIH0sICJF
dmVudCBUaW1pbmcgb25seSB0aW1lcyBjZXJ0YWluIHR5cGVzIG9mIHRydXN0ZWQgZXZlbnQuIik7
Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90
b0pTT04tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhOTdjNmViMTg4ZDRmYWRlMjdjMDY5NWZj
N2UwMTExMDYyNjFhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy90b0pTT04tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorR2VuZXJhdGUgYSAnY2xpY2snIGV2ZW50CisKK0ZBSUwgVGVzdCB0b0pT
T04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLiBhc3NlcnRfZXF1YWxzOiBQZXJmb3JtYW5j
ZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMgdG9KU09OIHZhbHVl
IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8YnV0dG9uIGlkPSJidXR0b24iPkdlbmVy
YXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy90b0pTT04uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3RvSlNPTi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIy
ZGU0NzY3YzQyYTVkM2ZlOGE4NGNkZWY3YzUzNGFmYmNkNDRlMWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy90b0pTT04uaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgSFRNTD4KKzxtZXRhIGNo
YXJzZXQ9dXRmLTg+Cis8dGl0bGU+RXZlbnQgVGltaW5nOiB0b0pTT048L3RpdGxlPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPS9yZXNvdXJjZXMvdGVzdGRyaXZlci5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGRyaXZlci12ZW5kb3IuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz1yZXNvdXJj
ZXMvZXZlbnQtdGltaW5nLXRlc3QtdXRpbHMuanM+PC9zY3JpcHQ+Cis8YnV0dG9uIGlkPSdidXR0
b24nPkdlbmVyYXRlIGEgJ2NsaWNrJyBldmVudDwvYnV0dG9uPgorPHNjcmlwdD4KKyAgYXN5bmNf
dGVzdChmdW5jdGlvbiAodCkgeworICAgIGFzc2VydF9pbXBsZW1lbnRzKHdpbmRvdy5QZXJmb3Jt
YW5jZUV2ZW50VGltaW5nLCAnRXZlbnQgVGltaW5nIGlzIG5vdCBzdXBwb3J0ZWQuJyk7CisgICAg
Y29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigKKyAgICAgIHQuc3RlcF9m
dW5jX2RvbmUoZnVuY3Rpb24oZW50cnlMaXN0KSB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50
cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoZW50
cnkudG9KU09OKSwgJ2Z1bmN0aW9uJyk7CisgICAgICAgIGNvbnN0IGpzb24gPSBlbnRyeS50b0pT
T04oKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyh0eXBlb2YoanNvbiksICdvYmplY3QnKTsKKyAg
ICAgICAgY29uc3Qga2V5cyA9IFsKKyAgICAgICAgICAvLyBQZXJmb3JtYW5jZUVudHJ5CisgICAg
ICAgICAgJ25hbWUnLAorICAgICAgICAgICdlbnRyeVR5cGUnLAorICAgICAgICAgICdzdGFydFRp
bWUnLAorICAgICAgICAgICdkdXJhdGlvbicsCisgICAgICAgICAgLy8gUGVyZm9ybWFuY2VFdmVu
dFRpbWluZworICAgICAgICAgICdwcm9jZXNzaW5nU3RhcnQnLAorICAgICAgICAgICdwcm9jZXNz
aW5nRW5kJywKKyAgICAgICAgICAnY2FuY2VsYWJsZScsCisgICAgICAgICAgJ3RhcmdldCcsCisg
ICAgICAgIF07CisgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGpzb25ba2V5XSwgZW50cnlba2V5XSwKKyAgICAgICAgICAgICdQZXJmb3Jt
YW5jZUV2ZW50VGltaW5nICR7a2V5fSBlbnRyeSBkb2VzIG5vdCBtYXRjaCBpdHMgdG9KU09OIHZh
bHVlJyk7CisgICAgICAgIH0KKyAgICAgIH0pCisgICAgKTsKKyAgICBvYnNlcnZlci5vYnNlcnZl
KHt0eXBlOiAnZXZlbnQnfSk7CisgICAgY2xpY2tBbmRCbG9ja01haW4oJ2J1dHRvbicpOworICB9
LCAnVGVzdCB0b0pTT04oKSBpbiBQZXJmb3JtYW5jZUV2ZW50VGltaW5nLicpOworPC9zY3JpcHQ+
Cis8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3czYy1pbXBvcnQubG9nCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmRiMjg4NjdmZGYyNzUwYmRkNzU1YmRhZGIzNmJjZDYwZDE0YjQ5MGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2V2ZW50LXRpbWluZy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDUzIEBACitUaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
K0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHVi
LmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9N
RVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZl
bnQtdGltaW5nL2F1eGNsaWNrLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9idWZmZXJlZC1hbmQtZHVyYXRpb24tdGhyZXNob2xk
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9idWZmZXJlZC1mbGFnLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9jbGljay10aW1pbmcuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2NsaWNrLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRp
bWluZy9jb250ZXh0bWVudS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY3Jvc3NpZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2RibGNsaWNrLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWlu
Zy9kaXNjb25uZWN0LXRhcmdldC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtY2xpY2stY291bnRzLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9ldmVu
dC1jb3VudHMtemVyby5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9ldmVudC10aW1pbmcvZXZlbnQtcmV0YXJnZXQuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL2ZpcnN0LWlucHV0LXNo
YWRvdy1kb20uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL2lkbGhhcm5lc3MuYW55LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvbGFyZ2UtZHVyYXRpb24tdGhyZXNo
b2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2
ZW50LXRpbWluZy9tZWRpdW0tZHVyYXRpb24tdGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9taW4tZHVyYXRpb24t
dGhyZXNob2xkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9tb3VzZWRvd24uaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNlZW50ZXIuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNl
bGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZXZlbnQtdGltaW5nL21vdXNlb3V0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9tb3VzZW92ZXIuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL21vdXNldXAuaHRt
bAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGlt
aW5nL29ubHktb2JzZXJ2ZS1maXJzdElucHV0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9wb2ludGVyZG93bi5odG1sCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcG9p
bnRlcmVudGVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVybGVhdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3BvaW50ZXJvdXQuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Bv
aW50ZXJvdmVyLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2V2ZW50LXRpbWluZy9wb2ludGVydXAuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnQtdGltaW5nL3Byb2dyYW1tYXRpYy1jbGljay1ub3Qt
b2JzZXJ2ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZXZlbnQtdGltaW5nL3JldHJpZXZhYmlsaXR5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50LXRpbWluZy9yZXRyaWV2ZS1maXJzdElucHV0
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50
LXRpbWluZy9zdXBwb3J0ZWQtdHlwZXMud2luZG93LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5odG1s
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1p
bmcvdG9KU09OLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNv
biBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgppbmRleCA0YmU2MWU2NzA5YzNmODEz
N2QyNWE1MzkyMjZjODg5MTRkMzg4OWYyLi43N2FhMWQ0MDc5NzE5MGRiYWVjYWFjNzk1ZDk2NWE0
MWU1ZDUzMDExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KKysr
IGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCkBAIC0xMzU4LDYgKzEzNTgsMjEgQEAK
ICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvZHJt
LXRlbXBvcmFyeS1saWNlbnNlLXR5cGUuaHR0cHMuaHRtbCI6IFsKICAgICAgICAgInNsb3ciCiAg
ICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcv
Y3Jvc3NpZnJhbWUuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvY2xpY2suaHRtbCI6IFsKKyAg
ICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9ldmVudC10aW1pbmcvcG9pbnRlcmRvd24uaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAg
XSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvcmV0
cmlldmFiaWxpdHkuaHRtbCI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKKyAgICAiaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudC10aW1pbmcvdGltaW5nY29uZGl0aW9ucy5o
dG1sIjogWworICAgICAgICAic2xvdyIKKyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL2RlZGljYXRlZC13b3JrZXIvZXZlbnRzb3VyY2UtY29u
c3RydWN0b3Itbm9uLXNhbWUtb3JpZ2luLmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
QEAgLTMwNzcsNCArMzA5Miw0IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMveGhyL3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtd29ya2VyLXR3aWNlLmh0bWwiOiBbCiAgICAg
ICAgICJzbG93IgogICAgIF0KLX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>