<?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>178200</bug_id>
          
          <creation_ts>2017-10-11 18:27:35 -0700</creation_ts>
          <short_desc>Layout Test http/tests/cache-storage/cache-clearing.https.html is failing</short_desc>
          <delta_ts>2017-10-12 17:37:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jlewis3</cc>
    
    <cc>lforschler</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1359501</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-10-11 18:27:35 -0700</bug_when>
    <thetext>The following layout test is failing on Windows:

http/tests/cache-storage/cache-clearing.https.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359747</commentid>
    <comment_count>1</comment_count>
      <attachid>323567</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-12 14:41:34 -0700</bug_when>
    <thetext>Created attachment 323567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359761</commentid>
    <comment_count>2</comment_count>
      <attachid>323573</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-12 15:04:18 -0700</bug_when>
    <thetext>Created attachment 323573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359794</commentid>
    <comment_count>3</comment_count>
      <attachid>323588</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-12 16:10:14 -0700</bug_when>
    <thetext>Created attachment 323588
Fixing mac32bit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359800</commentid>
    <comment_count>4</comment_count>
      <attachid>323588</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-10-12 16:17:31 -0700</bug_when>
    <thetext>Comment on attachment 323588
Fixing mac32bit

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

&gt; LayoutTests/TestExpectations:470
&gt; +webkit.org/b/178034 http/tests/cache-storage/cache-clearing-all.https.html [ Pass Timeout ]

Eh.. isn&apos;t this patch supposed to fix the flakiness?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359805</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-10-12 16:22:30 -0700</bug_when>
    <thetext>Yes, but I was not able to reproduce the time out locally, so I would prefer to land it like this and remove the expectation after confirming this through the dashboard</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359847</commentid>
    <comment_count>6</comment_count>
      <attachid>323588</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-12 17:36:11 -0700</bug_when>
    <thetext>Comment on attachment 323588
Fixing mac32bit

Clearing flags on attachment: 323588

Committed r223265: &lt;https://trac.webkit.org/changeset/223265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359848</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-12 17:36:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359849</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-12 17:37:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/34968087&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323567</attachid>
            <date>2017-10-12 14:41:34 -0700</date>
            <delta_ts>2017-10-12 15:04:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178200-20171012144133.patch</filename>
            <type>text/plain</type>
            <size>24530</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY4N2UyMjM1ZmFhOGQwYjE1
OWFjZTY4MmQzZmY0NGExZmE2NTgzMmYuLjU5ODgxMGI1MDViZTUxMzU0MGM2ZTE1YmZhYzZlNGFj
ZTQ4OTM5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIG9u
bHkgdGhlIHBlci1vcmlnaW4gZm9sZGVycyBpbnNpZGUgdGhlIENhY2hlU3RvcmFnZSBlbmdpbmUg
cm9vdCBmb2xkZXIuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6Y2xl
YXJBbGxDYWNoZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNo
ZXMpOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZUZvck9yaWdp
bik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgor
CiAyMDE3LTEwLTEyICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dGcmFtZU5hdmlnYXRpb24oKSBzaG91bGQgdXNl
IHJlZGlyZWN0UmVzcG9uc2UudXJsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRleCBkMmE3ZWZjODRj
M2VhYWZiYzcyZjY3ZDNjZDRhZDFkOWU2ZWEzMjQzLi4yZTljYjI5ZTlkN2UzYjcxMGRkZjM2MzEy
MzRkZmU4MzRiMWM1MWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC0zNTMsOCArMzUzLDExIEBA
IHZvaWQgRW5naW5lOjpjbGVhckFsbENhY2hlcyhDYWxsYmFja0FnZ3JlZ2F0b3ImIHRhc2tIYW5k
bGVyKQogICAgIGlmICghc2hvdWxkUGVyc2lzdCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2lvUXVldWUtPmRpc3BhdGNoKFtmaWxlbmFtZSA9IG1fcm9vdFBhdGguaXNvbGF0ZWRDb3B5KCks
IHRhc2tIYW5kbGVyID0gbWFrZVJlZih0YXNrSGFuZGxlcildIHsKLSAgICAgICAgZGVsZXRlRGly
ZWN0b3J5UmVjdXJzaXZlbHkoZmlsZW5hbWUpOworICAgIG1faW9RdWV1ZS0+ZGlzcGF0Y2goW3Bh
dGggPSBtX3Jvb3RQYXRoLmlzb2xhdGVkQ29weSgpLCB0YXNrSGFuZGxlciA9IG1ha2VSZWYodGFz
a0hhbmRsZXIpXSB7CisgICAgICAgIGZvciAoYXV0byYgZmlsZW5hbWUgOiBXZWJDb3JlOjpsaXN0
RGlyZWN0b3J5KHBhdGgsICIqIikpIHsKKyAgICAgICAgICAgIGlmIChXZWJDb3JlOjpmaWxlSXNE
aXJlY3RvcnkoZmlsZW5hbWUsIFdlYkNvcmU6OlNob3VsZEZvbGxvd1N5bWJvbGljTGlua3M6Ok5v
KSkKKyAgICAgICAgICAgICAgICBkZWxldGVEaXJlY3RvcnlSZWN1cnNpdmVseShmaWxlbmFtZSk7
CisgICAgICAgIH0KICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKaW5kZXggYmEwNmUwYWI0MmI1
ZGNhYmUxYTRhZDAyZDdlZjg1YjVjZjE1ZWJhZC4uNDhmYTU0ODEwYmQ0NjRmYmUwOTEzNTExNGVh
ODQ1YTA4MWQxOGUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCkBAIC0zMjAsMjAgKzMyMCwyNCBAQCB2b2lk
IFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRvQ29uc2lzdGVudFN0YXRlKFdLV2Vi
c2l0ZURhdGFTdG9yZVJlZiBkYQogICAgIHN0b3JlLT5zY2hlZHVsZUNsZWFySW5NZW1vcnkoKTsK
IH0KIAotdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxGZXRjaENhY2hlcyhXS1dlYnNp
dGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmKQordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1v
dmVBbGxGZXRjaENhY2hlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCB2b2lk
KiBjb250ZXh0LCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0
aW9uIGNhbGxiYWNrKQogewogICAgIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4g
ZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU6OkRPTUNhY2hlOwotICAgIFdlYktp
dDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3RvcmUoKS5yZW1vdmVEYXRhKGRh
dGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludDo6bWluKCksIFtd
IHsgfSk7CisgICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+d2Vic2l0ZURhdGFTdG9y
ZSgpLnJlbW92ZURhdGEoZGF0YVR5cGVzLCBzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50OjptaW4oKSwgW2NvbnRleHQsIGNhbGxiYWNrXSB7CisgICAgICAgIGNhbGxiYWNrKGNv
bnRleHQpOworICAgIH0pOwogfQogCi12b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNo
Q2FjaGVGb3JPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTZWN1
cml0eU9yaWdpblJlZiBvcmlnaW4pCit2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNo
Q2FjaGVGb3JPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTZWN1
cml0eU9yaWdpblJlZiBvcmlnaW4sIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURhdGFTdG9yZVJl
bW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rpb24gY2FsbGJhY2spCiB7CiAgICAgV2ViS2l0OjpX
ZWJzaXRlRGF0YVJlY29yZCBkYXRhUmVjb3JkOwogICAgIGRhdGFSZWNvcmQuYWRkKFdlYktpdDo6
V2Vic2l0ZURhdGFUeXBlOjpET01DYWNoZSwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhOjpm
cm9tU2VjdXJpdHlPcmlnaW4oV2ViS2l0Ojp0b0ltcGwob3JpZ2luKS0+c2VjdXJpdHlPcmlnaW4o
KSkpOwogICAgIFZlY3RvcjxXZWJLaXQ6OldlYnNpdGVEYXRhUmVjb3JkPiBkYXRhUmVjb3JkcyA9
IHsgV1RGTW92ZShkYXRhUmVjb3JkKSB9OwogCiAgICAgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiBkYXRhVHlwZXMgPSBXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZTo6RE9NQ2FjaGU7
Ci0gICAgV2ViS2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+d2Vic2l0ZURhdGFTdG9yZSgpLnJl
bW92ZURhdGEoZGF0YVR5cGVzLCBkYXRhUmVjb3JkcywgW10geyB9KTsKKyAgICBXZWJLaXQ6OnRv
SW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVtb3ZlRGF0YShkYXRhVHlw
ZXMsIGRhdGFSZWNvcmRzLCBbY29udGV4dCwgY2FsbGJhY2tdIHsKKyAgICAgICAgY2FsbGJhY2so
Y29udGV4dCk7CisgICAgfSk7CiB9CiAKIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxs
SW5kZXhlZERhdGFiYXNlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3Jl
UmVmLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVS
ZWYuaAppbmRleCBmYWFjODQ1OTk0YWVjZmY0Yzk5ODkwZGFkYmMxNjJiNjA4YzdkMjNkLi41Mzgy
MzRiOWNmMDA4Yjc5Zjk4MTg4ZTE5Yjc2NGY5ZTAxYzY5NDEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuaApAQCAtNzAs
OCArNzAsMTEgQEAgV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlU3RhdGlzdGljc0Ns
ZWFySW5NZW1vcnlBbmRQZXJzaXN0ZW50U3RvcmVNb2RpZmkKIHR5cGVkZWYgdm9pZCAoKldLV2Vi
c2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5j
dGlvbikodm9pZCogZnVuY3Rpb25Db250ZXh0KTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURh
dGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWwoV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0
b3JlU3RhdGlzdGljc0NsZWFyVGhyb3VnaFdlYnNpdGVEYXRhUmVtb3ZhbEZ1bmN0aW9uIGNhbGxi
YWNrKTsKIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRpc3RpY3NSZXNldFRv
Q29uc2lzdGVudFN0YXRlKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOwotV0tf
RVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZUZvck9yaWdpbihX
S1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9y
aWdpbik7Ci1XS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxGZXRjaENh
Y2hlcyhXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVmKTsKKwordHlwZWRlZiB2b2lk
ICgqV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZVJlbW92YWxGdW5jdGlvbikodm9p
ZCogZnVuY3Rpb25Db250ZXh0KTsKK1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJl
bW92ZUZldGNoQ2FjaGVGb3JPcmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZiwgV0tTZWN1cml0eU9yaWdpblJlZiBvcmlnaW4sIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0ZURh
dGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rpb24gY2FsbGJhY2spOworV0tfRVhQ
T1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMoV0tXZWJzaXRl
RGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0
b3JlUmVtb3ZlRmV0Y2hDYWNoZVJlbW92YWxGdW5jdGlvbiBjYWxsYmFjayk7CisKIFdLX0VYUE9S
VCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUFsbEluZGV4ZWREYXRhYmFzZXMoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVE
YXRhU3RvcmVSZW1vdmVBbGxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucyhXS1dlYnNpdGVEYXRh
U3RvcmVSZWYgZGF0YVN0b3JlUmVmKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQwNzRlZmY2OGVjODM0NDg3YjRjZTU0MjZlYTVkOWNkOGFk
ZTEyZmMuLmFlNTg4NjQ5NzkxYmMyMDgzOGI0MzZmMTQ3NmY0ZDI1NjkyMzYzYmIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxNy0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLmh0
dHBzLmh0bWwgaXMgZmFpbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc4MjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFraW5nIGNsZWFyRE9NQ2FjaGUgd2FpdCBmb3IgcmVtb3ZhbCBjb21wbGV0
aW9uIHRvIGV4aXQuCisgICAgICAgIFRoaXMgcmVtb3ZlcyB0aGUgcmlzayB0byBpbnRlcmFjdCB3
aXRoIHRoZSBjYWNoZSB3aGlsZSBkZWxldGluZyBpdCB3aGljaCB3aWxsIGVuZCB1cCBiZSByYWN5
IGluIHRlc3RzLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6Y2xlYXJET01DYWNoZSk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChXVFI6OkNsZWFyRE9NQ2FjaGVDYWxsYmFja0NvbnRleHQ6OkNsZWFyRE9NQ2FjaGVDYWxsYmFj
a0NvbnRleHQpOgorICAgICAgICAoV1RSOjpjbGVhckRPTUNhY2hlQ2FsbGJhY2spOgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6Y2xlYXJET01DYWNoZSk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0
aW9uOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZSk6CisgICAgICAgIChXVFI6
OlRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKToKKwogMjAxNy0xMC0xMiAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nRnJhbWVOYXZpZ2F0aW9uKCkg
c2hvdWxkIHVzZSByZWRpcmVjdFJlc3BvbnNlLnVybCgpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCA2Mzk2OWZhODM3
YjE4NzlhZGEwYzY3OGI4MTc5ZGY4Nzg4N2QwMTYwLi5kNTM4YjcxNTY2MTc3ZDBlODczYzhiYTAw
YjY2YmRkNzdkODg4YjFhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTE4MzMsNyArMTgzMyw3IEBAIHZvaWQgVGVz
dFJ1bm5lcjo6Y2xlYXJET01DYWNoZShKU1N0cmluZ1JlZiBvcmlnaW4pCiB7CiAgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IG1lc3NhZ2VOYW1lKEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJDbGVhckRPTUNhY2hlIikpOwogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBtZXNzYWdlQm9keShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhKU1N0cmluZyhvcmln
aW4pKTsKLSAgICBXS0J1bmRsZVBhZ2VQb3N0TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2luZ2xl
dG9uKCkucGFnZSgpLT5wYWdlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQo
KSk7CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKEluamVjdGVkQnVuZGxlOjpz
aW5nbGV0b24oKS5idW5kbGUoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIG1lc3NhZ2VCb2R5LmdldCgp
LCBudWxscHRyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDExMDQzZTRmMzcwZWU5YzEzODc2NmRhYWQ2OGNl
NjNmZTdmYzkzMDIuLmI2OGEzODc2ZjU5NDVlNGUwMTBhZmFmZDJiMGIzMzBjMWQwM2Q5NGEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0yMjk5LDE4ICsy
Mjk5LDM3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlbW92ZUFsbFNlc3Npb25DcmVkZW50aWFs
cygpCiAKICNlbmRpZgogCitzdHJ1Y3QgQ2xlYXJET01DYWNoZUNhbGxiYWNrQ29udGV4dCB7Cisg
ICAgZXhwbGljaXQgQ2xlYXJET01DYWNoZUNhbGxiYWNrQ29udGV4dChUZXN0Q29udHJvbGxlciYg
Y29udHJvbGxlcikKKyAgICAgICAgOiB0ZXN0Q29udHJvbGxlcihjb250cm9sbGVyKQorICAgIHsK
KyAgICB9CisKKyAgICBUZXN0Q29udHJvbGxlciYgdGVzdENvbnRyb2xsZXI7CisgICAgYm9vbCBk
b25lIHsgZmFsc2UgfTsKK307CisKK3N0YXRpYyB2b2lkIGNsZWFyRE9NQ2FjaGVDYWxsYmFjayh2
b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBhdXRvKiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8Q2xlYXJE
T01DYWNoZUNhbGxiYWNrQ29udGV4dCo+KHVzZXJEYXRhKTsKKyAgICBjb250ZXh0LT5kb25lID0g
dHJ1ZTsKKyAgICBjb250ZXh0LT50ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKIHZv
aWQgVGVzdENvbnRyb2xsZXI6OmNsZWFyRE9NQ2FjaGUoV0tTdHJpbmdSZWYgb3JpZ2luKQogewog
I2lmIFdLX0FQSV9FTkFCTEVECiAgICAgYXV0byB3ZWJzaXRlRGF0YVN0b3JlID0gV0tDb250ZXh0
R2V0V2Vic2l0ZURhdGFTdG9yZShwbGF0Zm9ybUNvbnRleHQoKSk7CisgICAgQ2xlYXJET01DYWNo
ZUNhbGxiYWNrQ29udGV4dCBjb250ZXh0KCp0aGlzKTsKIAotICAgIGlmIChXS1N0cmluZ0lzRW1w
dHkob3JpZ2luKSkgewotICAgICAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxGZXRjaENh
Y2hlcyh3ZWJzaXRlRGF0YVN0b3JlKTsKLSAgICAgICAgcmV0dXJuOworICAgIGlmIChXS1N0cmlu
Z0lzRW1wdHkob3JpZ2luKSkKKyAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0
Y2hDYWNoZXMod2Vic2l0ZURhdGFTdG9yZSwgJmNvbnRleHQsIGNsZWFyRE9NQ2FjaGVDYWxsYmFj
ayk7CisgICAgZWxzZSB7CisgICAgICAgIGF1dG8gY2FjaGVPcmlnaW4gPSBhZG9wdFdLKFdLU2Vj
dXJpdHlPcmlnaW5DcmVhdGVGcm9tU3RyaW5nKG9yaWdpbikpOworICAgICAgICBXS1dlYnNpdGVE
YXRhU3RvcmVSZW1vdmVGZXRjaENhY2hlRm9yT3JpZ2luKHdlYnNpdGVEYXRhU3RvcmUsIGNhY2hl
T3JpZ2luLmdldCgpLCAmY29udGV4dCwgY2xlYXJET01DYWNoZUNhbGxiYWNrKTsKICAgICB9Ci0K
LSAgICBhdXRvIGNhY2hlT3JpZ2luID0gYWRvcHRXSyhXS1NlY3VyaXR5T3JpZ2luQ3JlYXRlRnJv
bVN0cmluZyhvcmlnaW4pKTsKLSAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVGZXRjaENhY2hl
Rm9yT3JpZ2luKHdlYnNpdGVEYXRhU3RvcmUsIGNhY2hlT3JpZ2luLmdldCgpKTsKKyAgICBpZiAo
IWNvbnRleHQuZG9uZSkKKyAgICAgICAgcnVuVW50aWwoY29udGV4dC5kb25lLCBtX2N1cnJlbnRJ
bnZvY2F0aW9uLT5zaG9ydFRpbWVvdXQoKSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCBhNDNlNmFiYzU1ZjNmZDBiM2I2MDU3ZTJi
NzM3OGYwMWU3ZmVkZGZjLi5jNzkzYTA0MjI1NDFlZmZkZWJhMWEyMGYwMzI1YjYwNzJkMjQzNDMz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtNzYzLDE0
ICs3NjMsNiBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21Jbmpl
Y3RlZEJ1bmRsZShXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZQogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJD
bGVhckRPTUNhY2hlIikpIHsKLSAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5
KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKLSAgICAgICAgV0tTdHJpbmdSZWYgb3JpZ2luID0g
c3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1lc3NhZ2VCb2R5KTsKLQotICAgICAgICBUZXN0Q29u
dHJvbGxlcjo6c2luZ2xldG9uKCkuY2xlYXJET01DYWNoZShvcmlnaW4pOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKQEAgLTEyMTAsNiAr
MTIwMiwxNCBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RJbnZvY2F0aW9uOjpkaWRSZWNl
aXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQgogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICB9CiAKKyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdl
TmFtZSwgIkNsZWFyRE9NQ2FjaGUiKSkgeworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVz
c2FnZUJvZHkpID09IFdLU3RyaW5nR2V0VHlwZUlEKCkpOworICAgICAgICBXS1N0cmluZ1JlZiBv
cmlnaW4gPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1JlZj4obWVzc2FnZUJvZHkpOworCisgICAgICAg
IFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5jbGVhckRPTUNhY2hlKG9yaWdpbik7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc2ZDNiN2VmYmUyMDgwN2EzN2QyZWNhYTdl
NDQzNzI4ZGQ5NTg4NTIuLmQ2MDFlMDhhYTZjMzZkMzM0ZGZkNjJjZGI1YWZlMWJjMGJhMzU2ZTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0xMC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9jYWNoZS1zdG9y
YWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWwgaXMgZmFpbGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjAwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BsaXR0aW5nIGNhY2hlLWNsZWFyaW5n
Lmh0dHBzLmh0bWwgaW4gdHdvIHN1YiB0ZXN0cyBhbmQgbWFya2luZyB0aGVtIGFzIFBhc3MvVGlt
ZW91dCBmb3IgdGhlIG1vbWVudC4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0
YXRpb25zOiBTa2lwcGluZyBjYWNoZS9zdyB0ZXN0cy4KKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5o
dHRwcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1jbGVhcmluZy1hbGwuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1v
cmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nh
Y2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctb3JpZ2luLmh0dHBzLmh0bWw6IEFkZGVkLgorCiAy
MDE3LTEwLTEyICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dGcmFtZU5hdmlnYXRpb24oKSBzaG91bGQgdXNlIHJl
ZGlyZWN0UmVzcG9uc2UudXJsKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVmOWI3NmI3MDU4MjFl
YTBjNmFlYzBmZGNlOWQzZjFmNGE1YWI4ZGYuLjFjYzMxZDU5Y2I1ZjRlYzM2ZTM1NWFkODdjZjZm
YzRmOGIyNTk0NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY3LDYgKzQ2Nyw5IEBAIHdlYmtp
dC5vcmcvYi8xNjg0NDggaHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LXNoYXJlZC1yZXNvdXJj
ZS1pbi1mcmFtZXMuaHRtbCBbCiB3ZWJraXQub3JnL2IvMTY4NDQ4IGh0dHAvd3B0L3Jlc291cmNl
LXRpbWluZy9ydC1zaGFyZWQtcmVzb3VyY2UtaW4td29ya2Vycy5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNzE1MTEgaHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LXJldmFs
aWRhdGUtcmVxdWVzdHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8xNzgw
MzQgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRwcy5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KK3dlYmtpdC5vcmcvYi8xNzgwMzQgaHR0cC90ZXN0cy9jYWNoZS1z
dG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
Kwogd2Via2l0Lm9yZy9iLzE2MTMxMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2RvY3VtZW50LW1ldGFkYXRhL3RoZS1saW5rLWVsZW1lbnQvZG9jdW1lbnQt
d2l0aG91dC1icm93c2luZy1jb250ZXh0Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NlbmQtY29uZGl0aW9uYWwt
Y29ycy5odG0gWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1hbGwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1hbGwuaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZDQ4YzdlZGIyNWU5MGI0NzAyZDE0YTNkZTA3YzA5MjUzNmE4MGUyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hl
LWNsZWFyaW5nLWFsbC5odHRwcy5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiB0ZXN0aW5nIENhY2hlIHBl
cnNpc3RlbmN5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3Qo
dGVzdCA9PiB7CisgICAgcmV0dXJuIHNlbGYuY2FjaGVzLmtleXMoKS50aGVuKGtleXMgPT4gewor
ICAgICAgICB2YXIgcGVuZGluZyA9IFtdOworICAgICAgICBmb3IgKGtleSBvZiBrZXlzKQorICAg
ICAgICAgICAgcGVuZGluZy5wdXNoKHNlbGYuY2FjaGVzLmRlbGV0ZShrZXlzWzBdKSk7CisgICAg
ICAgIHJldHVybiBQcm9taXNlLmFsbChwZW5kaW5nKTsKKyAgICB9KTsKK30sICJDbGVhbmluZyBl
eGlzdGluZyBjYWNoZXMiKTsKKworZnVuY3Rpb24gd2FpdEZvcihkZWxheSkKK3sKKyAgICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwg
ZGVsYXkpOworICAgIH0pOworfQorCithc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlc0VtcHR5
bmVzcyhleHBlY3RlZCwgY291bnRlcikKK3sKKyAgICB2YXIga2V5cyA9IGF3YWl0IHNlbGYuY2Fj
aGVzLmtleXMoKTsKKworICAgIHZhciBpc0VtcHR5ID0ga2V5cy5sZW5ndGggPT09IDA7CisgICAg
aWYgKGlzRW1wdHkgPT09IGV4cGVjdGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlm
IChjb3VudGVyID4gMTApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF3YWl0IHdhaXRG
b3IoMTAwKTsKKyAgICBpZiAoIWNvdW50ZXIpCisgICAgICAgIGNvdW50ZXIgPSAwOworICAgIHJl
dHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3RlZCwgKytjb3VudGVyKTsKK30KKwor
cHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICB2YXIgdGVzdF91cmwgPSAnaHR0cHM6Ly9leGFtcGxl
LmNvbS9mb28nOworICAgIHZhciBjYWNoZTsKKyAgICB2YXIgY2FjaGVfa2V5czsKKyAgICB2YXIg
Zmlyc3RfcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoIk9sZCBib2R5IiwgeyBzdGF0dXNUZXh0OiAn
T2xkIHN0YXR1cycgfSk7CisgICAgdmFyIGFsdGVybmF0ZV9yZXNwb25zZSA9IG5ldyBSZXNwb25z
ZSgiTmV3IGJvZHkiLCB7IHN0YXR1c1RleHQ6ICdOZXcgc3RhdHVzJyB9KTsKKyAgICByZXR1cm4g
c2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5IikudGhlbihj
ID0+IHsKKyAgICAgICAgY2FjaGUgPSBjOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICBy
ZXR1cm4gY2FjaGUucHV0KHRlc3RfdXJsLCBmaXJzdF9yZXNwb25zZSk7CisgICAgfSkudGhlbigo
KSA9PiB7CisgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICByZXR1
cm4gUHJvbWlzZS5yZWplY3QoInRlc3QgcnVubmVyIG5lZWRlZCIpOworICAgICAgICB0ZXN0UnVu
bmVyLmNsZWFyRE9NQ2FjaGUoKTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHlu
ZXNzKHRydWUpOworICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUo
cmVzdWx0LCAiY2FjaGVzIHNob3VsZCBiZSBlbXB0eSIpOworICAgICAgICByZXR1cm4gc2VsZi5j
YWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Iik7CisgICAgfSkudGhl
bihjYWNoZSA9PiB7CisgICAgICAgIHJldHVybiBjYWNoZS5rZXlzKCk7CisgICAgfSkudGhlbihr
ZXlzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhrZXlzLmxlbmd0aCwgMCwgInJlY29yZHMg
c2hvdWxkIGJlIGVtcHR5Iik7CisgICAgfSk7Cit9LCAnQ2xlYXJpbmcgYWxsIGRpc2sgY2FjaGUn
KTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmlu
Zy1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWI5MTczMGExY2ExMDExOGJiODI0OWJl
NDIyMjQyNmU5NmU2MzA2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy5odG1sCkBAIC0wLDAg
KzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DYWNoZSBT
dG9yYWdlOiB0ZXN0aW5nIENhY2hlIHBlcnNpc3RlbmN5PC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QodGVzdCA9PiB7CisgICAgcmV0dXJuIHNlbGYuY2FjaGVz
LmtleXMoKS50aGVuKGtleXMgPT4geworICAgICAgICB2YXIgcGVuZGluZyA9IFtdOworICAgICAg
ICBmb3IgKGtleSBvZiBrZXlzKQorICAgICAgICAgICAgcGVuZGluZy5wdXNoKHNlbGYuY2FjaGVz
LmRlbGV0ZShrZXlzWzBdKSk7CisgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwZW5kaW5nKTsK
KyAgICB9KTsKK30sICJDbGVhbmluZyBleGlzdGluZyBjYWNoZXMiKTsKKworZnVuY3Rpb24gd2Fp
dEZvcihkZWxheSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAg
ICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpOworICAgIH0pOworfQorCithc3luYyBmdW5j
dGlvbiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3RlZCwgY291bnRlcikKK3sKKyAgICB2
YXIga2V5cyA9IGF3YWl0IHNlbGYuY2FjaGVzLmtleXMoKTsKKworICAgIHZhciBpc0VtcHR5ID0g
a2V5cy5sZW5ndGggPT09IDA7CisgICAgaWYgKGlzRW1wdHkgPT09IGV4cGVjdGVkKQorICAgICAg
ICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChjb3VudGVyID4gMTApCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGF3YWl0IHdhaXRGb3IoMTAwKTsKKyAgICBpZiAoIWNvdW50ZXIpCisgICAg
ICAgIGNvdW50ZXIgPSAwOworICAgIHJldHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBl
Y3RlZCwgKytjb3VudGVyKTsKK30KKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICB2YXIgdGVz
dF91cmwgPSAnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nOworICAgIHZhciBjYWNoZTsKKyAgICB2
YXIgY2FjaGVfa2V5czsKKyAgICB2YXIgZmlyc3RfcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoIk9s
ZCBib2R5IiwgeyBzdGF0dXNUZXh0OiAnT2xkIHN0YXR1cycgfSk7CisgICAgdmFyIGFsdGVybmF0
ZV9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiTmV3IGJvZHkiLCB7IHN0YXR1c1RleHQ6ICdOZXcg
c3RhdHVzJyB9KTsKKyAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNv
cmRzLXBlcnNpc3RlbmN5IikudGhlbihjID0+IHsKKyAgICAgICAgY2FjaGUgPSBjOworICAgIH0p
LnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gY2FjaGUucHV0KHRlc3RfdXJsLCBmaXJzdF9y
ZXNwb25zZSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgIGlmICghd2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoInRlc3QgcnVubmVyIG5l
ZWRlZCIpOworICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9NQ2FjaGUoJ2h0dHBzOi8vbG9jYWxo
b3N0OjgwJyk7CisgICAgICAgIHJldHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhmYWxzZSk7
CisgICAgfSkudGhlbihyZXN1bHQgPT4geworICAgICAgICBhc3NlcnRfdHJ1ZShyZXN1bHQsICJj
YWNoZXMgc2hvdWxkIG5vdCBiZSBlbXB0eSIpOworICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9N
Q2FjaGUod2luZG93LmxvY2F0aW9uLm9yaWdpbik7CisgICAgICAgIHJldHVybiB2YWxpZGF0ZUNh
Y2hlc0VtcHR5bmVzcyh0cnVlKTsKKyAgICB9KS50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgIGFz
c2VydF90cnVlKHJlc3VsdCwgImNhY2hlcyBzaG91bGQgYmUgZW1wdHkiKTsKKyAgICAgICAgcmV0
dXJuIHNlbGYuY2FjaGVzLm9wZW4oInRlc3QtY2FjaGUtcmVjb3Jkcy1wZXJzaXN0ZW5jeSIpOwor
ICAgIH0pLnRoZW4oY2FjaGUgPT4geworICAgICAgICByZXR1cm4gY2FjaGUua2V5cygpOworICAg
IH0pLnRoZW4oa2V5cyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoa2V5cy5sZW5ndGgsIDAs
ICJyZWNvcmRzIHNob3VsZCBiZSBlbXB0eSIpOworICAgIH0pOworfSwgJ0NsZWFyaW5nIGRpc2sg
Y2FjaGUgb2YgYSBnaXZlbiBvcmlnaW4nKTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1jbGVhcmluZy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9y
YWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDRiYzczNzQ3YWYyNjU4NmNlMzc4NTFhYjFmOTc5ODdmOTczMzA5MWUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw5OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+
Q2FjaGUgU3RvcmFnZTogdGVzdGluZyBDYWNoZSBwZXJzaXN0ZW5jeTwvdGl0bGU+Ci08c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLSAgICA8c2NyaXB0PgotcHJvbWlzZV90ZXN0KHRlc3QgPT4gewotICAgIHJldHVybiBzZWxm
LmNhY2hlcy5rZXlzKCkudGhlbihrZXlzID0+IHsKLSAgICAgICAgdmFyIHBlbmRpbmcgPSBbXTsK
LSAgICAgICAgZm9yIChrZXkgb2Yga2V5cykKLSAgICAgICAgICAgIHBlbmRpbmcucHVzaChzZWxm
LmNhY2hlcy5kZWxldGUoa2V5c1swXSkpOwotICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocGVu
ZGluZyk7Ci0gICAgfSk7Ci19LCAiQ2xlYW5pbmcgZXhpc3RpbmcgY2FjaGVzIik7Ci0KLXZhciB0
ZXN0X3VybCA9ICdodHRwczovL2V4YW1wbGUuY29tL2Zvbyc7Ci12YXIgdGVzdF9ib2R5ID0gJ0hl
bGxvIHdvcmxkISc7Ci0KLWZ1bmN0aW9uIHdhaXRGb3IoZGVsYXkpCi17Ci0gICAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBzZXRUaW1lb3V0KHJlc29sdmUsIGRlbGF5
KTsKLSAgICB9KTsKLX0KLQotYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVDYWNoZXNFbXB0eW5lc3Mo
ZXhwZWN0ZWQsIGNvdW50ZXIpCi17Ci0gICAgdmFyIGtleXMgPSBhd2FpdCBzZWxmLmNhY2hlcy5r
ZXlzKCk7Ci0KLSAgICB2YXIgaXNFbXB0eSA9IGtleXMubGVuZ3RoID09PSAwOwotICAgIGlmIChp
c0VtcHR5ID09PSBleHBlY3RlZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAoY291
bnRlciA+IDEwKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBhd2FpdCB3YWl0Rm9yKDEw
MCk7Ci0gICAgaWYgKCFjb3VudGVyKQotICAgICAgICBjb3VudGVyID0gMDsKLSAgICByZXR1cm4g
dmFsaWRhdGVDYWNoZXNFbXB0eW5lc3MoZXhwZWN0ZWQsICsrY291bnRlcik7Ci19Ci0KLXByb21p
c2VfdGVzdCgoKSA9PiB7Ci0gICAgdmFyIGNhY2hlOwotICAgIHZhciBjYWNoZV9rZXlzOwotICAg
IHZhciBmaXJzdF9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiT2xkIGJvZHkiLCB7IHN0YXR1c1Rl
eHQ6ICdPbGQgc3RhdHVzJyB9KTsKLSAgICB2YXIgYWx0ZXJuYXRlX3Jlc3BvbnNlID0gbmV3IFJl
c3BvbnNlKCJOZXcgYm9keSIsIHsgc3RhdHVzVGV4dDogJ05ldyBzdGF0dXMnIH0pOwotICAgIHJl
dHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0LWNhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kiKS50
aGVuKGMgPT4gewotICAgICAgICBjYWNoZSA9IGM7Ci0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAg
ICAgIHJldHVybiBjYWNoZS5wdXQodGVzdF91cmwsIGZpcnN0X3Jlc3BvbnNlKTsKLSAgICB9KS50
aGVuKCgpID0+IHsKLSAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
IHJldHVybiBQcm9taXNlLnJlamVjdCgidGVzdCBydW5uZXIgbmVlZGVkIik7Ci0gICAgICAgIHRl
c3RSdW5uZXIuY2xlYXJET01DYWNoZSgnaHR0cHM6Ly9sb2NhbGhvc3Q6ODAnKTsKLSAgICAgICAg
cmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKGZhbHNlKTsKLSAgICB9KS50aGVuKHJlc3Vs
dCA9PiB7Ci0gICAgICAgIGFzc2VydF90cnVlKHJlc3VsdCwgImNhY2hlcyBzaG91bGQgbm90IGJl
IGVtcHR5Iik7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJET01DYWNoZSh3aW5kb3cubG9jYXRp
b24ub3JpZ2luKTsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKHRydWUp
OwotICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsKLSAgICAgICAgYXNzZXJ0X3RydWUocmVzdWx0LCAi
Y2FjaGVzIHNob3VsZCBiZSBlbXB0eSIpOwotICAgICAgICByZXR1cm4gc2VsZi5jYWNoZXMub3Bl
bigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Iik7Ci0gICAgfSkudGhlbihjYWNoZSA9
PiB7Ci0gICAgICAgIHJldHVybiBjYWNoZS5rZXlzKCk7Ci0gICAgfSkudGhlbihrZXlzID0+IHsK
LSAgICAgICAgYXNzZXJ0X2VxdWFscyhrZXlzLmxlbmd0aCwgMCwgInJlY29yZHMgc2hvdWxkIGJl
IGVtcHR5Iik7Ci0gICAgfSk7Ci19LCAnQ2xlYXJpbmcgZGlzayBjYWNoZSBvZiBhIGdpdmVuIG9y
aWdpbicpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIHZhciBjYWNoZTsKLSAgICB2YXIg
Y2FjaGVfa2V5czsKLSAgICB2YXIgZmlyc3RfcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoIk9sZCBi
b2R5IiwgeyBzdGF0dXNUZXh0OiAnT2xkIHN0YXR1cycgfSk7Ci0gICAgdmFyIGFsdGVybmF0ZV9y
ZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiTmV3IGJvZHkiLCB7IHN0YXR1c1RleHQ6ICdOZXcgc3Rh
dHVzJyB9KTsKLSAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRz
LXBlcnNpc3RlbmN5IikudGhlbihjID0+IHsKLSAgICAgICAgY2FjaGUgPSBjOwotICAgIH0pLnRo
ZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY2FjaGUucHV0KHRlc3RfdXJsLCBmaXJzdF9yZXNw
b25zZSk7Ci0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoInRlc3QgcnVubmVyIG5lZWRl
ZCIpOwotICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9NQ2FjaGUoKTsKLSAgICAgICAgcmV0dXJu
IHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKHRydWUpOwotICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsK
LSAgICAgICAgYXNzZXJ0X3RydWUocmVzdWx0LCAiY2FjaGVzIHNob3VsZCBiZSBlbXB0eSIpOwot
ICAgICAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNp
c3RlbmN5Iik7Ci0gICAgfSkudGhlbihjYWNoZSA9PiB7Ci0gICAgICAgIHJldHVybiBjYWNoZS5r
ZXlzKCk7Ci0gICAgfSkudGhlbihrZXlzID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhrZXlz
Lmxlbmd0aCwgMCwgInJlY29yZHMgc2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgfSk7Ci19LCAnQ2xl
YXJpbmcgYWxsIGRpc2sgY2FjaGUnKTsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZTg5ZGE5MDY5
MDk5MmJkODVkNTkzYThlOWMwOGI1NzA0ZmZkZTNhNC4uNmY3MWJiMDhmN2M5NmZlYTEzZTYwNWJi
NmE5MGVlNDA1MTkyNGQ2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTM2MjYsMTcgKzM2MjYsNiBAQCBqcy9kb20vYnVpbHRpbi1nZXR0ZXItbmFtZS5o
dG1sIFsgRmFpbHVyZSBdCiBmYXN0L3RleHQvdmFyaWF0aW9ucy9mb250LXNlbGVjdGlvbi1mb250
LXdlaWdodC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L2Zvcm1zL2ZpbGUvZW50cmll
cy1hcGkvd2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRtbCBbIFNraXAgXQogCi0jIEZhaWxp
bmcgY2FjaGUgc3RvcmFnZSB0ZXN0cwotd2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3Rlc3RzL2Nh
Y2hlLXN0b3JhZ2UvY2FjaGUtb3JpZ2lucy5odHRwcy5odG1sIFsgU2tpcCBdCi13ZWJraXQub3Jn
L2IvMTc2OTk5IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1wZXJzaXN0ZW5jeS5odHRw
cy5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTc2OTk5IGh0dHAvdGVzdHMvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Lmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8xNzY5OTkgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXJlcHJlc2Vu
dGF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNzY5OTkgaHR0cC93cHQv
Y2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5hbnkuaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1rZXlz
Lmh0dHBzLmFueS53b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE3Njk5OSBo
dHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1zdHJlYW0uaHR0cHMuYW55Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNzY5OTkgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1wdXQtc3RyZWFtLmh0dHBzLmFueS53b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXJlbW92ZS10d2ljZS5odG1s
IFsgRmFpbHVyZSBdCi0KICMgaHRtbC9zeW50YXggd2ViIHBsYXRmb3JtIHRlc3RzIGFyZSBmYWls
aW5nIG9uIFdpbmRvd3MuCiB3ZWJraXQub3JnL2IvMTYyNDE1IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zeW50YXggWyBTa2lwIF0KIApAQCAtMzcwOSw2ICszNjk4LDkgQEAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJy
ZXItb3JpZ2luLXdoZW4tY3Jvc3Mtb3IKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLXVuc2FmZS11cmwtc2VydmljZS13b3JrZXIuaHR0
cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3dl
YmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi9pbnRlZ3JhdGlvbi13aXRoLXRo
ZS1qYXZhc2NyaXB0LWFnZW50LWZvcm1hbGlzbS9jYW5ibG9jay1zZXJ2aWNld29ya2VyLmh0dHBz
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzIFsgU2tpcCBdCitodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UgWyBTa2lwIF0KK2h0dHAv
d3B0L2NhY2hlLXN0b3JhZ2UgWyBTa2lwIF0KKwogCiAjIEZsYWt5IHRlc3RzIG9uIFdpbmRvd3M6
CiB3ZWJraXQub3JnL2IvMTc2NTY0IGh0dHAvdGVzdHMvbWlzYy9kZWxldGUtZnJhbWUtZHVyaW5n
LXJlYWR5c3RhdGVjaGFuZ2UuaHRtbCBbIFBhc3MgQ3Jhc2ggXQpAQCAtMzc3OCwxMSArMzc3MCw3
IEBAIHdlYmtpdC5vcmcvYi8xNzc2MjYgZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWNvbm5l
Y3Qtc3VwcG9ydC5odG1sICBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NzYyNiBodHRwL3Rlc3Rz
L3ByZWNvbm5lY3QvbGluay1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi8xNzc2MjYgaHR0cC90ZXN0cy9wcmVjb25uZWN0L2xpbmstcmVsLXByZWNvbm5lY3Qt
aHR0cHMuaHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMTc3ODkxIGh0dHAvd3B0L2NhY2hl
LXN0b3JhZ2UvY2FjaGUtcXVvdGEuYW55Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3ZWJraXQu
b3JnL2IvMTc3OTY0IGZhc3QvdGV4dC9sb2FkaW5nLWJsb2NrLW5vZmluaXNoLmh0bWwgWyBQYXNz
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3Nzk2NCBmYXN0L3RleHQvbG9hZGlu
Zy1mYWlsdXJlLWZpbmlzaC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xNzc5NjQgZmFzdC90ZXh0L2xvYWRpbmctZmFpbHVyZS1ub2ZpbmlzaC5odG1sIFsgUGFz
cyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNzc5NjQgZmFzdC90ZXh0L2xvYWRp
bmctc3dhcC1ub2ZpbmlzaC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KLQotd2Via2l0
Lm9yZy9iLzE3ODIwMCBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmcuaHR0
cHMuaHRtbCBbIEZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323573</attachid>
            <date>2017-10-12 15:04:18 -0700</date>
            <delta_ts>2017-10-12 16:10:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178200-20171012150418.patch</filename>
            <type>text/plain</type>
            <size>25665</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMxMjk1Y2RhY2I3ZDMzMzNl
ZWVlYjk0ZWExYTM1MGY1Yzk1YWIxNDIuLmZlZTFhYTM2MmM4NWRmZjE3YTBlNTM4NzMwMzYxYjY3
ZTk0ZDg0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIG9u
bHkgdGhlIHBlci1vcmlnaW4gZm9sZGVycyBpbnNpZGUgdGhlIENhY2hlU3RvcmFnZSBlbmdpbmUg
cm9vdCBmb2xkZXIuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6Y2xl
YXJBbGxDYWNoZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNo
ZXMpOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZUZvck9yaWdp
bik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgor
CiAyMDE3LTEwLTEyICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gRml4IC1XdW51c2VkLWxhbWJkYS1jYXB0dXJlIHdhcm5pbmdzIGluIFdlYkNvcmUv
V2ViS2l0IHdpdGggbmV3IGNsYW5nIGNvbXBpbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggZDJh
N2VmYzg0YzNlYWFmYmM3MmY2N2QzY2Q0YWQxZDllNmVhMzI0My4uMmU5Y2IyOWU5ZDdlM2I3MTBk
ZGYzNjMxMjM0ZGZlODM0YjFjNTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtMzUzLDggKzM1
MywxMSBAQCB2b2lkIEVuZ2luZTo6Y2xlYXJBbGxDYWNoZXMoQ2FsbGJhY2tBZ2dyZWdhdG9yJiB0
YXNrSGFuZGxlcikKICAgICBpZiAoIXNob3VsZFBlcnNpc3QoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbZmlsZW5hbWUgPSBtX3Jvb3RQYXRoLmlzb2xhdGVk
Q29weSgpLCB0YXNrSGFuZGxlciA9IG1ha2VSZWYodGFza0hhbmRsZXIpXSB7Ci0gICAgICAgIGRl
bGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5KGZpbGVuYW1lKTsKKyAgICBtX2lvUXVldWUtPmRpc3Bh
dGNoKFtwYXRoID0gbV9yb290UGF0aC5pc29sYXRlZENvcHkoKSwgdGFza0hhbmRsZXIgPSBtYWtl
UmVmKHRhc2tIYW5kbGVyKV0geworICAgICAgICBmb3IgKGF1dG8mIGZpbGVuYW1lIDogV2ViQ29y
ZTo6bGlzdERpcmVjdG9yeShwYXRoLCAiKiIpKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6
ZmlsZUlzRGlyZWN0b3J5KGZpbGVuYW1lLCBXZWJDb3JlOjpTaG91bGRGb2xsb3dTeW1ib2xpY0xp
bmtzOjpObykpCisgICAgICAgICAgICAgICAgZGVsZXRlRGlyZWN0b3J5UmVjdXJzaXZlbHkoZmls
ZW5hbWUpOworICAgICAgICB9CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IGJhMDZl
MGFiNDJiNWRjYWJlMWE0YWQwMmQ3ZWY4NWI1Y2YxNWViYWQuLjQ4ZmE1NDgxMGJkNDY0ZmJlMDkx
MzUxMTRlYTg0NWEwODFkMThlMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtMzIwLDIwICszMjAsMjQg
QEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGEKICAgICBzdG9yZS0+c2NoZWR1bGVDbGVhckluTWVt
b3J5KCk7CiB9CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZikKK3ZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
Ziwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZVJlbW92
YWxGdW5jdGlvbiBjYWxsYmFjaykKIHsKICAgICBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0
YVR5cGU+IGRhdGFUeXBlcyA9IFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlOjpET01DYWNoZTsKLSAg
ICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVtb3Zl
RGF0YShkYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ6Om1p
bigpLCBbXSB7IH0pOworICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVE
YXRhU3RvcmUoKS5yZW1vdmVEYXRhKGRhdGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9j
azo6dGltZV9wb2ludDo6bWluKCksIFtjb250ZXh0LCBjYWxsYmFja10geworICAgICAgICBjYWxs
YmFjayhjb250ZXh0KTsKKyAgICB9KTsKIH0KIAotdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1v
dmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYs
IFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luKQordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1v
dmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYs
IFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRh
U3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKQogewogICAgIFdl
YktpdDo6V2Vic2l0ZURhdGFSZWNvcmQgZGF0YVJlY29yZDsKICAgICBkYXRhUmVjb3JkLmFkZChX
ZWJLaXQ6OldlYnNpdGVEYXRhVHlwZTo6RE9NQ2FjaGUsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKFdlYktpdDo6dG9JbXBsKG9yaWdpbiktPnNlY3VyaXR5
T3JpZ2luKCkpKTsKICAgICBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gZGF0YVJl
Y29yZHMgPSB7IFdURk1vdmUoZGF0YVJlY29yZCkgfTsKIAogICAgIE9wdGlvblNldDxXZWJLaXQ6
OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU6OkRP
TUNhY2hlOwotICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3Rv
cmUoKS5yZW1vdmVEYXRhKGRhdGFUeXBlcywgZGF0YVJlY29yZHMsIFtdIHsgfSk7CisgICAgV2Vi
S2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+d2Vic2l0ZURhdGFTdG9yZSgpLnJlbW92ZURhdGEo
ZGF0YVR5cGVzLCBkYXRhUmVjb3JkcywgW2NvbnRleHQsIGNhbGxiYWNrXSB7CisgICAgICAgIGNh
bGxiYWNrKGNvbnRleHQpOworICAgIH0pOwogfQogCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJl
bW92ZUFsbEluZGV4ZWREYXRhYmFzZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0
YVN0b3JlUmVmLmgKaW5kZXggZmFhYzg0NTk5NGFlY2ZmNGM5OTg5MGRhZGJjMTYyYjYwOGM3ZDIz
ZC4uNTM4MjM0YjljZjAwOGI3OWY5ODE4OGUxOWI3NjRmOWUwMWM2OTQxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgK
QEAgLTcwLDggKzcwLDExIEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRp
c3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpCiB0eXBlZGVmIHZvaWQg
KCpXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1v
dmFsRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0
ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5jdGlv
biBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVm
KTsKLVdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVGb3JP
cmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTZWN1cml0eU9yaWdp
blJlZiBvcmlnaW4pOwotV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxs
RmV0Y2hDYWNoZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CisKK3R5cGVk
ZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rp
b24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVSZW1vdmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCB2b2lkKiBjb250ZXh0LCBXS1dl
YnNpdGVEYXRhU3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKTsK
K1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUFsbEZldGNoQ2FjaGVzKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0
ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rpb24gY2FsbGJhY2spOworCiBX
S19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxJbmRleGVkRGF0YWJhc2Vz
KFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tX
ZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMDc0ZWZmNjhlYzgzNDQ4N2I0Y2U1NDI2ZWE1
ZDljZDhhZGUxMmZjLi5hZTU4ODY0OTc5MWJjMjA4MzhiNDM2ZjE0NzZmNGQyNTY5MjM2M2JiIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVh
cmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2luZyBjbGVhckRPTUNhY2hlIHdhaXQgZm9yIHJlbW92YWwg
Y29tcGxldGlvbiB0byBleGl0LgorICAgICAgICBUaGlzIHJlbW92ZXMgdGhlIHJpc2sgdG8gaW50
ZXJhY3Qgd2l0aCB0aGUgY2FjaGUgd2hpbGUgZGVsZXRpbmcgaXQgd2hpY2ggd2lsbCBlbmQgdXAg
YmUgcmFjeSBpbiB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmNsZWFyRE9N
Q2FjaGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpDbGVhckRPTUNhY2hlQ2FsbGJhY2tDb250ZXh0OjpDbGVhckRPTUNhY2hl
Q2FsbGJhY2tDb250ZXh0KToKKyAgICAgICAgKFdUUjo6Y2xlYXJET01DYWNoZUNhbGxiYWNrKToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNsZWFyRE9NQ2FjaGUpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAg
ICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZSk6CisKIDIwMTctMTAtMTIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ0ZyYW1lTmF2aWdh
dGlvbigpIHNob3VsZCB1c2UgcmVkaXJlY3RSZXNwb25zZS51cmwoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggNjM5
NjlmYTgzN2IxODc5YWRhMGM2NzhiODE3OWRmODc4ODdkMDE2MC4uZDUzOGI3MTU2NjE3N2QwZTg3
M2M4YmEwMGI2NmJkZDc3ZDg4OGIxYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xODMzLDcgKzE4MzMsNyBAQCB2
b2lkIFRlc3RSdW5uZXI6OmNsZWFyRE9NQ2FjaGUoSlNTdHJpbmdSZWYgb3JpZ2luKQogewogICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiQ2xlYXJET01DYWNoZSIpKTsKICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJp
bmcob3JpZ2luKSk7Ci0gICAgV0tCdW5kbGVQYWdlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJv
ZHkuZ2V0KCkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1
bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9k
eS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAxMTA0M2U0ZjM3MGVlOWMxMzg3NjZk
YWFkNjhjZTYzZmU3ZmM5MzAyLi5iNjhhMzg3NmY1OTQ1ZTRlMDEwYWZhZmQyYjBiMzMwYzFkMDNk
OTRhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjI5
OSwxOCArMjI5OSwzNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZW1vdmVBbGxTZXNzaW9uQ3Jl
ZGVudGlhbHMoKQogCiAjZW5kaWYKIAorc3RydWN0IENsZWFyRE9NQ2FjaGVDYWxsYmFja0NvbnRl
eHQgeworICAgIGV4cGxpY2l0IENsZWFyRE9NQ2FjaGVDYWxsYmFja0NvbnRleHQoVGVzdENvbnRy
b2xsZXImIGNvbnRyb2xsZXIpCisgICAgICAgIDogdGVzdENvbnRyb2xsZXIoY29udHJvbGxlcikK
KyAgICB7CisgICAgfQorCisgICAgVGVzdENvbnRyb2xsZXImIHRlc3RDb250cm9sbGVyOworICAg
IGJvb2wgZG9uZSB7IGZhbHNlIH07Cit9OworCitzdGF0aWMgdm9pZCBjbGVhckRPTUNhY2hlQ2Fs
bGJhY2sodm9pZCogdXNlckRhdGEpCit7CisgICAgYXV0byogY29udGV4dCA9IHN0YXRpY19jYXN0
PENsZWFyRE9NQ2FjaGVDYWxsYmFja0NvbnRleHQqPih1c2VyRGF0YSk7CisgICAgY29udGV4dC0+
ZG9uZSA9IHRydWU7CisgICAgY29udGV4dC0+dGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpjbGVhckRPTUNhY2hlKFdLU3RyaW5nUmVmIG9yaWdp
bikKIHsKICNpZiBXS19BUElfRU5BQkxFRAogICAgIGF1dG8gd2Vic2l0ZURhdGFTdG9yZSA9IFdL
Q29udGV4dEdldFdlYnNpdGVEYXRhU3RvcmUocGxhdGZvcm1Db250ZXh0KCkpOworICAgIENsZWFy
RE9NQ2FjaGVDYWxsYmFja0NvbnRleHQgY29udGV4dCgqdGhpcyk7CiAKLSAgICBpZiAoV0tTdHJp
bmdJc0VtcHR5KG9yaWdpbikpIHsKLSAgICAgICAgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxs
RmV0Y2hDYWNoZXMod2Vic2l0ZURhdGFTdG9yZSk7Ci0gICAgICAgIHJldHVybjsKKyAgICBpZiAo
V0tTdHJpbmdJc0VtcHR5KG9yaWdpbikpCisgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92
ZUFsbEZldGNoQ2FjaGVzKHdlYnNpdGVEYXRhU3RvcmUsICZjb250ZXh0LCBjbGVhckRPTUNhY2hl
Q2FsbGJhY2spOworICAgIGVsc2UgeworICAgICAgICBhdXRvIGNhY2hlT3JpZ2luID0gYWRvcHRX
SyhXS1NlY3VyaXR5T3JpZ2luQ3JlYXRlRnJvbVN0cmluZyhvcmlnaW4pKTsKKyAgICAgICAgV0tX
ZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZUZvck9yaWdpbih3ZWJzaXRlRGF0YVN0b3Jl
LCBjYWNoZU9yaWdpbi5nZXQoKSwgJmNvbnRleHQsIGNsZWFyRE9NQ2FjaGVDYWxsYmFjayk7CiAg
ICAgfQotCi0gICAgYXV0byBjYWNoZU9yaWdpbiA9IGFkb3B0V0soV0tTZWN1cml0eU9yaWdpbkNy
ZWF0ZUZyb21TdHJpbmcob3JpZ2luKSk7Ci0gICAgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0
Y2hDYWNoZUZvck9yaWdpbih3ZWJzaXRlRGF0YVN0b3JlLCBjYWNoZU9yaWdpbi5nZXQoKSk7Cisg
ICAgaWYgKCFjb250ZXh0LmRvbmUpCisgICAgICAgIHJ1blVudGlsKGNvbnRleHQuZG9uZSwgbV9j
dXJyZW50SW52b2NhdGlvbi0+c2hvcnRUaW1lb3V0KCkpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggYTQzZTZhYmM1NWYzZmQwYjNi
NjA1N2UyYjczNzhmMDFlN2ZlZGRmYy4uYzc5M2EwNDIyNTQxZWZmZGViYTFhMjBmMDMyNWI2MDcy
ZDI0MzQzMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlv
bi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAg
LTc2MywxNCArNzYzLDYgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VG
cm9tSW5qZWN0ZWRCdW5kbGUoV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiQ2xlYXJET01DYWNoZSIpKSB7Ci0gICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNz
YWdlQm9keSkgPT0gV0tTdHJpbmdHZXRUeXBlSUQoKSk7Ci0gICAgICAgIFdLU3RyaW5nUmVmIG9y
aWdpbiA9IHN0YXRpY19jYXN0PFdLU3RyaW5nUmVmPihtZXNzYWdlQm9keSk7Ci0KLSAgICAgICAg
VGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLmNsZWFyRE9NQ2FjaGUob3JpZ2luKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCkBAIC0x
MjEwLDYgKzEyMDIsMTQgQEAgV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0SW52b2NhdGlvbjo6
ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21JbmplY3RlZEIKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgfQogCisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmco
bWVzc2FnZU5hbWUsICJDbGVhckRPTUNhY2hlIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlw
ZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS1N0cmluZ0dldFR5cGVJRCgpKTsKKyAgICAgICAgV0tTdHJp
bmdSZWYgb3JpZ2luID0gc3RhdGljX2Nhc3Q8V0tTdHJpbmdSZWY+KG1lc3NhZ2VCb2R5KTsKKwor
ICAgICAgICBUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuY2xlYXJET01DYWNoZShvcmlnaW4p
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0Y2I4NTU5NmNjYmFlNDYyYTkw
YWE5ZjEzMGY0ODA1MWMyZTU0NGM4Li5iMjg4OGY0NDc4M2E0ZWQ5Yzg2MGVmMjgzNDdkMDI3OGJm
OGRkZDJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVzdHMvY2Fj
aGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwbGl0dGluZyBjYWNoZS1j
bGVhcmluZy5odHRwcy5odG1sIGluIHR3byBzdWIgdGVzdHMgYW5kIG1hcmtpbmcgdGhlbSBhcyBQ
YXNzL1RpbWVvdXQgZm9yIHRoZSBtb21lbnQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9uczogU2tpcHBpbmcgY2FjaGUvc3cgdGVzdHMuCisgICAgICAgICogVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xl
YXJpbmcuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlLXN0
b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRwcy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xl
YXJpbmctb3JpZ2luLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy5odG1sOiBBZGRl
ZC4KKwogMjAxNy0xMC0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTWFyayBzb21lIHhodG1sIHRlc3RzIGFzIGZhaWxpbmcgb24gV2luZG93cy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDVmOWI3NmI3MDU4MjFlYTBjNmFlYzBmZGNlOWQzZjFmNGE1YWI4
ZGYuLjFjYzMxZDU5Y2I1ZjRlYzM2ZTM1NWFkODdjZjZmYzRmOGIyNTk0NWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDY3LDYgKzQ2Nyw5IEBAIHdlYmtpdC5vcmcvYi8xNjg0NDggaHR0cC93cHQv
cmVzb3VyY2UtdGltaW5nL3J0LXNoYXJlZC1yZXNvdXJjZS1pbi1mcmFtZXMuaHRtbCBbCiB3ZWJr
aXQub3JnL2IvMTY4NDQ4IGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1zaGFyZWQtcmVzb3Vy
Y2UtaW4td29ya2Vycy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNzE1MTEg
aHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LXJldmFsaWRhdGUtcmVxdWVzdHMuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8xNzgwMzQgaHR0cC90ZXN0cy9jYWNoZS1zdG9y
YWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRwcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK3dlYmtp
dC5vcmcvYi8xNzgwMzQgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9y
aWdpbi5odHRwcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0KKwogd2Via2l0Lm9yZy9iLzE2MTMxMiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2RvY3VtZW50LW1l
dGFkYXRhL3RoZS1saW5rLWVsZW1lbnQvZG9jdW1lbnQtd2l0aG91dC1icm93c2luZy1jb250ZXh0
Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L1hNTEh0dHBSZXF1ZXN0L3NlbmQtY29uZGl0aW9uYWwtY29ycy5odG0gWyBGYWlsdXJlIF0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVh
cmluZy1hbGwuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGIxNjczOGFiODk3ZmIwMThlNDg3NjEwM2RjMTFiZTI2MGQ5YTI2YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmlu
Zy1hbGwuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIENsZWFuaW5n
IGV4aXN0aW5nIGNhY2hlcyAKK1BBU1MgQ2xlYXJpbmcgYWxsIGRpc2sgY2FjaGUgCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmlu
Zy1hbGwuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1jbGVhcmluZy1hbGwuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDQ4YzdlZGIyNWU5MGI0
NzAyZDE0YTNkZTA3YzA5MjUzNmE4MGUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRwcy5odG1sCkBA
IC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5D
YWNoZSBTdG9yYWdlOiB0ZXN0aW5nIENhY2hlIHBlcnNpc3RlbmN5PC90aXRsZT4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QodGVzdCA9PiB7CisgICAgcmV0dXJuIHNlbGYu
Y2FjaGVzLmtleXMoKS50aGVuKGtleXMgPT4geworICAgICAgICB2YXIgcGVuZGluZyA9IFtdOwor
ICAgICAgICBmb3IgKGtleSBvZiBrZXlzKQorICAgICAgICAgICAgcGVuZGluZy5wdXNoKHNlbGYu
Y2FjaGVzLmRlbGV0ZShrZXlzWzBdKSk7CisgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwZW5k
aW5nKTsKKyAgICB9KTsKK30sICJDbGVhbmluZyBleGlzdGluZyBjYWNoZXMiKTsKKworZnVuY3Rp
b24gd2FpdEZvcihkZWxheSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
CisgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpOworICAgIH0pOworfQorCithc3lu
YyBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3RlZCwgY291bnRlcikKK3sK
KyAgICB2YXIga2V5cyA9IGF3YWl0IHNlbGYuY2FjaGVzLmtleXMoKTsKKworICAgIHZhciBpc0Vt
cHR5ID0ga2V5cy5sZW5ndGggPT09IDA7CisgICAgaWYgKGlzRW1wdHkgPT09IGV4cGVjdGVkKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChjb3VudGVyID4gMTApCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGF3YWl0IHdhaXRGb3IoMTAwKTsKKyAgICBpZiAoIWNvdW50ZXIp
CisgICAgICAgIGNvdW50ZXIgPSAwOworICAgIHJldHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVz
cyhleHBlY3RlZCwgKytjb3VudGVyKTsKK30KKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICB2
YXIgdGVzdF91cmwgPSAnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nOworICAgIHZhciBjYWNoZTsK
KyAgICB2YXIgY2FjaGVfa2V5czsKKyAgICB2YXIgZmlyc3RfcmVzcG9uc2UgPSBuZXcgUmVzcG9u
c2UoIk9sZCBib2R5IiwgeyBzdGF0dXNUZXh0OiAnT2xkIHN0YXR1cycgfSk7CisgICAgdmFyIGFs
dGVybmF0ZV9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiTmV3IGJvZHkiLCB7IHN0YXR1c1RleHQ6
ICdOZXcgc3RhdHVzJyB9KTsKKyAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNo
ZS1yZWNvcmRzLXBlcnNpc3RlbmN5IikudGhlbihjID0+IHsKKyAgICAgICAgY2FjaGUgPSBjOwor
ICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gY2FjaGUucHV0KHRlc3RfdXJsLCBm
aXJzdF9yZXNwb25zZSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAgICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoInRlc3QgcnVu
bmVyIG5lZWRlZCIpOworICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9NQ2FjaGUoKTsKKyAgICAg
ICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKHRydWUpOworICAgIH0pLnRoZW4ocmVz
dWx0ID0+IHsKKyAgICAgICAgYXNzZXJ0X3RydWUocmVzdWx0LCAiY2FjaGVzIHNob3VsZCBiZSBl
bXB0eSIpOworICAgICAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNv
cmRzLXBlcnNpc3RlbmN5Iik7CisgICAgfSkudGhlbihjYWNoZSA9PiB7CisgICAgICAgIHJldHVy
biBjYWNoZS5rZXlzKCk7CisgICAgfSkudGhlbihrZXlzID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhrZXlzLmxlbmd0aCwgMCwgInJlY29yZHMgc2hvdWxkIGJlIGVtcHR5Iik7CisgICAgfSk7
Cit9LCAnQ2xlYXJpbmcgYWxsIGRpc2sgY2FjaGUnKTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFn
ZS9jYWNoZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjc4NTUxMTM1NDk4MGQ3NzkzNTAwOTJhNDIzOWNjMzYwOTY4
ZGRkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorCitQQVNTIENsZWFuaW5nIGV4aXN0aW5nIGNhY2hlcyAKK1BBU1MgQ2xlYXJpbmcgZGlz
ayBjYWNoZSBvZiBhIGdpdmVuIG9yaWdpbiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdp
bi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYjkxNzMwYTFjYTEwMTE4YmI4MjQ5YmU0MjIyNDI2
ZTk2ZTYzMDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
LXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctb3JpZ2luLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw3MyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNhY2hlIFN0b3JhZ2U6
IHRlc3RpbmcgQ2FjaGUgcGVyc2lzdGVuY3k8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHNjcmlw
dD4KK3Byb21pc2VfdGVzdCh0ZXN0ID0+IHsKKyAgICByZXR1cm4gc2VsZi5jYWNoZXMua2V5cygp
LnRoZW4oa2V5cyA9PiB7CisgICAgICAgIHZhciBwZW5kaW5nID0gW107CisgICAgICAgIGZvciAo
a2V5IG9mIGtleXMpCisgICAgICAgICAgICBwZW5kaW5nLnB1c2goc2VsZi5jYWNoZXMuZGVsZXRl
KGtleXNbMF0pKTsKKyAgICAgICAgcmV0dXJuIFByb21pc2UuYWxsKHBlbmRpbmcpOworICAgIH0p
OworfSwgIkNsZWFuaW5nIGV4aXN0aW5nIGNhY2hlcyIpOworCitmdW5jdGlvbiB3YWl0Rm9yKGRl
bGF5KQoreworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgc2V0
VGltZW91dChyZXNvbHZlLCBkZWxheSk7CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHZh
bGlkYXRlQ2FjaGVzRW1wdHluZXNzKGV4cGVjdGVkLCBjb3VudGVyKQoreworICAgIHZhciBrZXlz
ID0gYXdhaXQgc2VsZi5jYWNoZXMua2V5cygpOworCisgICAgdmFyIGlzRW1wdHkgPSBrZXlzLmxl
bmd0aCA9PT0gMDsKKyAgICBpZiAoaXNFbXB0eSA9PT0gZXhwZWN0ZWQpCisgICAgICAgIHJldHVy
biB0cnVlOworCisgICAgaWYgKGNvdW50ZXIgPiAxMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYXdhaXQgd2FpdEZvcigxMDApOworICAgIGlmICghY291bnRlcikKKyAgICAgICAgY291
bnRlciA9IDA7CisgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKGV4cGVjdGVkLCAr
K2NvdW50ZXIpOworfQorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAgIHZhciB0ZXN0X3VybCA9
ICdodHRwczovL2V4YW1wbGUuY29tL2Zvbyc7CisgICAgdmFyIGNhY2hlOworICAgIHZhciBjYWNo
ZV9rZXlzOworICAgIHZhciBmaXJzdF9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiT2xkIGJvZHki
LCB7IHN0YXR1c1RleHQ6ICdPbGQgc3RhdHVzJyB9KTsKKyAgICB2YXIgYWx0ZXJuYXRlX3Jlc3Bv
bnNlID0gbmV3IFJlc3BvbnNlKCJOZXcgYm9keSIsIHsgc3RhdHVzVGV4dDogJ05ldyBzdGF0dXMn
IH0pOworICAgIHJldHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0LWNhY2hlLXJlY29yZHMtcGVy
c2lzdGVuY3kiKS50aGVuKGMgPT4geworICAgICAgICBjYWNoZSA9IGM7CisgICAgfSkudGhlbigo
KSA9PiB7CisgICAgICAgIHJldHVybiBjYWNoZS5wdXQodGVzdF91cmwsIGZpcnN0X3Jlc3BvbnNl
KTsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgidGVzdCBydW5uZXIgbmVlZGVkIik7
CisgICAgICAgIHRlc3RSdW5uZXIuY2xlYXJET01DYWNoZSgnaHR0cHM6Ly9sb2NhbGhvc3Q6ODAn
KTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKGZhbHNlKTsKKyAgICB9
KS50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKHJlc3VsdCwgImNhY2hlcyBz
aG91bGQgbm90IGJlIGVtcHR5Iik7CisgICAgICAgIHRlc3RSdW5uZXIuY2xlYXJET01DYWNoZSh3
aW5kb3cubG9jYXRpb24ub3JpZ2luKTsKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1w
dHluZXNzKHRydWUpOworICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsKKyAgICAgICAgYXNzZXJ0X3Ry
dWUocmVzdWx0LCAiY2FjaGVzIHNob3VsZCBiZSBlbXB0eSIpOworICAgICAgICByZXR1cm4gc2Vs
Zi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Iik7CisgICAgfSku
dGhlbihjYWNoZSA9PiB7CisgICAgICAgIHJldHVybiBjYWNoZS5rZXlzKCk7CisgICAgfSkudGhl
bihrZXlzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhrZXlzLmxlbmd0aCwgMCwgInJlY29y
ZHMgc2hvdWxkIGJlIGVtcHR5Iik7CisgICAgfSk7Cit9LCAnQ2xlYXJpbmcgZGlzayBjYWNoZSBv
ZiBhIGdpdmVuIG9yaWdpbicpOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFy
aW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2Fj
aGUtY2xlYXJpbmcuaHR0cHMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJj
NzM3NDdhZjI2NTg2Y2UzNzg1MWFiMWY5Nzk4N2Y5NzMzMDkxZS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hl
LXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmcuaHR0cHMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk5
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTx0aXRsZT5DYWNoZSBT
dG9yYWdlOiB0ZXN0aW5nIENhY2hlIHBlcnNpc3RlbmN5PC90aXRsZT4KLTxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotICAg
IDxzY3JpcHQ+Ci1wcm9taXNlX3Rlc3QodGVzdCA9PiB7Ci0gICAgcmV0dXJuIHNlbGYuY2FjaGVz
LmtleXMoKS50aGVuKGtleXMgPT4gewotICAgICAgICB2YXIgcGVuZGluZyA9IFtdOwotICAgICAg
ICBmb3IgKGtleSBvZiBrZXlzKQotICAgICAgICAgICAgcGVuZGluZy5wdXNoKHNlbGYuY2FjaGVz
LmRlbGV0ZShrZXlzWzBdKSk7Ci0gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChwZW5kaW5nKTsK
LSAgICB9KTsKLX0sICJDbGVhbmluZyBleGlzdGluZyBjYWNoZXMiKTsKLQotdmFyIHRlc3RfdXJs
ID0gJ2h0dHBzOi8vZXhhbXBsZS5jb20vZm9vJzsKLXZhciB0ZXN0X2JvZHkgPSAnSGVsbG8gd29y
bGQhJzsKLQotZnVuY3Rpb24gd2FpdEZvcihkZWxheSkKLXsKLSAgICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpOwotICAg
IH0pOwotfQotCi1hc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3Rl
ZCwgY291bnRlcikKLXsKLSAgICB2YXIga2V5cyA9IGF3YWl0IHNlbGYuY2FjaGVzLmtleXMoKTsK
LQotICAgIHZhciBpc0VtcHR5ID0ga2V5cy5sZW5ndGggPT09IDA7Ci0gICAgaWYgKGlzRW1wdHkg
PT09IGV4cGVjdGVkKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGlmIChjb3VudGVyID4g
MTApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGF3YWl0IHdhaXRGb3IoMTAwKTsKLSAg
ICBpZiAoIWNvdW50ZXIpCi0gICAgICAgIGNvdW50ZXIgPSAwOwotICAgIHJldHVybiB2YWxpZGF0
ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3RlZCwgKytjb3VudGVyKTsKLX0KLQotcHJvbWlzZV90ZXN0
KCgpID0+IHsKLSAgICB2YXIgY2FjaGU7Ci0gICAgdmFyIGNhY2hlX2tleXM7Ci0gICAgdmFyIGZp
cnN0X3Jlc3BvbnNlID0gbmV3IFJlc3BvbnNlKCJPbGQgYm9keSIsIHsgc3RhdHVzVGV4dDogJ09s
ZCBzdGF0dXMnIH0pOwotICAgIHZhciBhbHRlcm5hdGVfcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2Uo
Ik5ldyBib2R5IiwgeyBzdGF0dXNUZXh0OiAnTmV3IHN0YXR1cycgfSk7Ci0gICAgcmV0dXJuIHNl
bGYuY2FjaGVzLm9wZW4oInRlc3QtY2FjaGUtcmVjb3Jkcy1wZXJzaXN0ZW5jeSIpLnRoZW4oYyA9
PiB7Ci0gICAgICAgIGNhY2hlID0gYzsKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgcmV0
dXJuIGNhY2hlLnB1dCh0ZXN0X3VybCwgZmlyc3RfcmVzcG9uc2UpOwotICAgIH0pLnRoZW4oKCkg
PT4gewotICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgcmV0dXJu
IFByb21pc2UucmVqZWN0KCJ0ZXN0IHJ1bm5lciBuZWVkZWQiKTsKLSAgICAgICAgdGVzdFJ1bm5l
ci5jbGVhckRPTUNhY2hlKCdodHRwczovL2xvY2FsaG9zdDo4MCcpOwotICAgICAgICByZXR1cm4g
dmFsaWRhdGVDYWNoZXNFbXB0eW5lc3MoZmFsc2UpOwotICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsK
LSAgICAgICAgYXNzZXJ0X3RydWUocmVzdWx0LCAiY2FjaGVzIHNob3VsZCBub3QgYmUgZW1wdHki
KTsKLSAgICAgICAgdGVzdFJ1bm5lci5jbGVhckRPTUNhY2hlKHdpbmRvdy5sb2NhdGlvbi5vcmln
aW4pOwotICAgICAgICByZXR1cm4gdmFsaWRhdGVDYWNoZXNFbXB0eW5lc3ModHJ1ZSk7Ci0gICAg
fSkudGhlbihyZXN1bHQgPT4gewotICAgICAgICBhc3NlcnRfdHJ1ZShyZXN1bHQsICJjYWNoZXMg
c2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgICAgIHJldHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0
LWNhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3kiKTsKLSAgICB9KS50aGVuKGNhY2hlID0+IHsKLSAg
ICAgICAgcmV0dXJuIGNhY2hlLmtleXMoKTsKLSAgICB9KS50aGVuKGtleXMgPT4gewotICAgICAg
ICBhc3NlcnRfZXF1YWxzKGtleXMubGVuZ3RoLCAwLCAicmVjb3JkcyBzaG91bGQgYmUgZW1wdHki
KTsKLSAgICB9KTsKLX0sICdDbGVhcmluZyBkaXNrIGNhY2hlIG9mIGEgZ2l2ZW4gb3JpZ2luJyk7
Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgdmFyIGNhY2hlOwotICAgIHZhciBjYWNoZV9r
ZXlzOwotICAgIHZhciBmaXJzdF9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiT2xkIGJvZHkiLCB7
IHN0YXR1c1RleHQ6ICdPbGQgc3RhdHVzJyB9KTsKLSAgICB2YXIgYWx0ZXJuYXRlX3Jlc3BvbnNl
ID0gbmV3IFJlc3BvbnNlKCJOZXcgYm9keSIsIHsgc3RhdHVzVGV4dDogJ05ldyBzdGF0dXMnIH0p
OwotICAgIHJldHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0LWNhY2hlLXJlY29yZHMtcGVyc2lz
dGVuY3kiKS50aGVuKGMgPT4gewotICAgICAgICBjYWNoZSA9IGM7Ci0gICAgfSkudGhlbigoKSA9
PiB7Ci0gICAgICAgIHJldHVybiBjYWNoZS5wdXQodGVzdF91cmwsIGZpcnN0X3Jlc3BvbnNlKTsK
LSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgidGVzdCBydW5uZXIgbmVlZGVkIik7Ci0g
ICAgICAgIHRlc3RSdW5uZXIuY2xlYXJET01DYWNoZSgpOwotICAgICAgICByZXR1cm4gdmFsaWRh
dGVDYWNoZXNFbXB0eW5lc3ModHJ1ZSk7Ci0gICAgfSkudGhlbihyZXN1bHQgPT4gewotICAgICAg
ICBhc3NlcnRfdHJ1ZShyZXN1bHQsICJjYWNoZXMgc2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgICAg
IHJldHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0LWNhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3ki
KTsKLSAgICB9KS50aGVuKGNhY2hlID0+IHsKLSAgICAgICAgcmV0dXJuIGNhY2hlLmtleXMoKTsK
LSAgICB9KS50aGVuKGtleXMgPT4gewotICAgICAgICBhc3NlcnRfZXF1YWxzKGtleXMubGVuZ3Ro
LCAwLCAicmVjb3JkcyBzaG91bGQgYmUgZW1wdHkiKTsKLSAgICB9KTsKLX0sICdDbGVhcmluZyBh
bGwgZGlzayBjYWNoZScpOwotICAgIDwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1OWYwMGVkZDllY2FiM2Ex
NzdmZmI5ZTQ0ZGQzMjcwYjNiMmY2ZTUwLi43OTM1NjczMmMwN2M2N2ZhYzkzZDFmNGVmNjYzNzll
MmFlYWM5NDFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzYyNiwxNyArMzYyNiw2IEBAIGpzL2RvbS9idWlsdGluLWdldHRlci1uYW1lLmh0bWwgWyBG
YWlsdXJlIF0KIGZhc3QvdGV4dC92YXJpYXRpb25zL2ZvbnQtc2VsZWN0aW9uLWZvbnQtd2VpZ2h0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvZm9ybXMvZmlsZS9lbnRyaWVzLWFwaS93
ZWJraXRkaXJlY3Rvcnktb3Blbi1wYW5lbC5odG1sIFsgU2tpcCBdCiAKLSMgRmFpbGluZyBjYWNo
ZSBzdG9yYWdlIHRlc3RzCi13ZWJraXQub3JnL2IvMTc2OTk5IGh0dHAvdGVzdHMvY2FjaGUtc3Rv
cmFnZS9jYWNoZS1vcmlnaW5zLmh0dHBzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNzY5
OTkgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXBlcnNpc3RlbmN5Lmh0dHBzLmh0bWwg
WyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xNzY5OTkgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2Nh
Y2hlLXJlY29yZHMtcGVyc2lzdGVuY3kuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE3Njk5OSBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVwcmVzZW50YXRpb24u
aHR0cHMuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQu
b3JnL2IvMTc2OTk5IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LWtleXMuaHR0cHMu
YW55Lndvcmtlci5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc2OTk5IGh0dHAvd3B0
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcHV0LXN0cmVhbS5odHRwcy5hbnkuaHRtbCBbIEZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1z
dHJlYW0uaHR0cHMuYW55Lndvcmtlci5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc2
OTk5IGh0dHAvd3B0L2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVtb3ZlLXR3aWNlLmh0bWwgWyBGYWls
dXJlIF0KLQogIyBodG1sL3N5bnRheCB3ZWIgcGxhdGZvcm0gdGVzdHMgYXJlIGZhaWxpbmcgb24g
V2luZG93cy4KIHdlYmtpdC5vcmcvYi8xNjI0MTUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3N5bnRheCBbIFNraXAgXQogCkBAIC0zNzA5LDYgKzM2OTgsOSBAQCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmln
aW4td2hlbi1jcm9zcy1vcgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItdW5zYWZlLXVybC1zZXJ2aWNlLXdvcmtlci5odHRwcy5odG1s
IFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvd2ViYXBwYXBp
cy9zY3JpcHRpbmcvcHJvY2Vzc2luZy1tb2RlbC0yL2ludGVncmF0aW9uLXdpdGgtdGhlLWphdmFz
Y3JpcHQtYWdlbnQtZm9ybWFsaXNtL2NhbmJsb2NrLXNlcnZpY2V3b3JrZXIuaHR0cHMuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMg
WyBTa2lwIF0KK2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZSBbIFNraXAgXQoraHR0cC93cHQvY2Fj
aGUtc3RvcmFnZSBbIFNraXAgXQorCiAKICMgRmxha3kgdGVzdHMgb24gV2luZG93czoKIHdlYmtp
dC5vcmcvYi8xNzY1NjQgaHR0cC90ZXN0cy9taXNjL2RlbGV0ZS1mcmFtZS1kdXJpbmctcmVhZHlz
dGF0ZWNoYW5nZS5odG1sIFsgUGFzcyBDcmFzaCBdCkBAIC0zNzc4LDE1ICszNzcwLDExIEBAIHdl
YmtpdC5vcmcvYi8xNzc2MjYgZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3ByZWNvbm5lY3Qtc3Vw
cG9ydC5odG1sICBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE3NzYyNiBodHRwL3Rlc3RzL3ByZWNv
bm5lY3QvbGluay1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xNzc2MjYgaHR0cC90ZXN0cy9wcmVjb25uZWN0L2xpbmstcmVsLXByZWNvbm5lY3QtaHR0cHMu
aHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMTc3ODkxIGh0dHAvd3B0L2NhY2hlLXN0b3Jh
Z2UvY2FjaGUtcXVvdGEuYW55Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotCiB3ZWJraXQub3JnL2Iv
MTc3OTY0IGZhc3QvdGV4dC9sb2FkaW5nLWJsb2NrLW5vZmluaXNoLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3Nzk2NCBmYXN0L3RleHQvbG9hZGluZy1mYWls
dXJlLWZpbmlzaC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
Nzc5NjQgZmFzdC90ZXh0L2xvYWRpbmctZmFpbHVyZS1ub2ZpbmlzaC5odG1sIFsgUGFzcyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNzc5NjQgZmFzdC90ZXh0L2xvYWRpbmctc3dh
cC1ub2ZpbmlzaC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9i
LzE3ODIwMCBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmcuaHR0cHMuaHRt
bCBbIEZhaWx1cmUgXQotCiAjIHhodG1sIHRlc3RzIGFyZSBmYWlsaW5nIG9uIHNvbWUgb2YgdGhl
IEVXUyBib3RzLgogd2Via2l0Lm9yZy9iLzE3ODIzMCBmYXN0L3htbGh0dHByZXF1ZXN0L3htbGh0
dHByZXF1ZXN0LWdldC54aHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3ODIzMCBkb20v
eGh0bWwvbGV2ZWwzL2NvcmUvZG9jdW1lbnRnZXRpbnB1dGVuY29kaW5nMDMueGh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323588</attachid>
            <date>2017-10-12 16:10:14 -0700</date>
            <delta_ts>2017-10-12 17:36:11 -0700</delta_ts>
            <desc>Fixing mac32bit</desc>
            <filename>bug-178200-20171012161013.patch</filename>
            <type>text/plain</type>
            <size>25693</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzMjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMxMjk1Y2RhY2I3ZDMzMzNl
ZWVlYjk0ZWExYTM1MGY1Yzk1YWIxNDIuLmZlZTFhYTM2MmM4NWRmZjE3YTBlNTM4NzMwMzYxYjY3
ZTk0ZDg0MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlbGV0aW5nIG9u
bHkgdGhlIHBlci1vcmlnaW4gZm9sZGVycyBpbnNpZGUgdGhlIENhY2hlU3RvcmFnZSBlbmdpbmUg
cm9vdCBmb2xkZXIuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6Y2xl
YXJBbGxDYWNoZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3Rv
cmVSZWYuY3BwOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNo
ZXMpOgorICAgICAgICAoV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZUZvck9yaWdp
bik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oOgor
CiAyMDE3LTEwLTEyICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gRml4IC1XdW51c2VkLWxhbWJkYS1jYXB0dXJlIHdhcm5pbmdzIGluIFdlYkNvcmUv
V2ViS2l0IHdpdGggbmV3IGNsYW5nIGNvbXBpbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggZDJh
N2VmYzg0YzNlYWFmYmM3MmY2N2QzY2Q0YWQxZDllNmVhMzI0My4uMmU5Y2IyOWU5ZDdlM2I3MTBk
ZGYzNjMxMjM0ZGZlODM0YjFjNTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtMzUzLDggKzM1
MywxMSBAQCB2b2lkIEVuZ2luZTo6Y2xlYXJBbGxDYWNoZXMoQ2FsbGJhY2tBZ2dyZWdhdG9yJiB0
YXNrSGFuZGxlcikKICAgICBpZiAoIXNob3VsZFBlcnNpc3QoKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgbV9pb1F1ZXVlLT5kaXNwYXRjaChbZmlsZW5hbWUgPSBtX3Jvb3RQYXRoLmlzb2xhdGVk
Q29weSgpLCB0YXNrSGFuZGxlciA9IG1ha2VSZWYodGFza0hhbmRsZXIpXSB7Ci0gICAgICAgIGRl
bGV0ZURpcmVjdG9yeVJlY3Vyc2l2ZWx5KGZpbGVuYW1lKTsKKyAgICBtX2lvUXVldWUtPmRpc3Bh
dGNoKFtwYXRoID0gbV9yb290UGF0aC5pc29sYXRlZENvcHkoKSwgdGFza0hhbmRsZXIgPSBtYWtl
UmVmKHRhc2tIYW5kbGVyKV0geworICAgICAgICBmb3IgKGF1dG8mIGZpbGVuYW1lIDogV2ViQ29y
ZTo6bGlzdERpcmVjdG9yeShwYXRoLCAiKiIpKSB7CisgICAgICAgICAgICBpZiAoV2ViQ29yZTo6
ZmlsZUlzRGlyZWN0b3J5KGZpbGVuYW1lLCBXZWJDb3JlOjpTaG91bGRGb2xsb3dTeW1ib2xpY0xp
bmtzOjpObykpCisgICAgICAgICAgICAgICAgZGVsZXRlRGlyZWN0b3J5UmVjdXJzaXZlbHkoZmls
ZW5hbWUpOworICAgICAgICB9CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1dlYnNpdGVEYXRhU3RvcmVSZWYuY3BwCmluZGV4IGJhMDZl
MGFiNDJiNWRjYWJlMWE0YWQwMmQ3ZWY4NWI1Y2YxNWViYWQuLjQ4ZmE1NDgxMGJkNDY0ZmJlMDkx
MzUxMTRlYTg0NWEwODFkMThlMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmNwcApAQCAtMzIwLDIwICszMjAsMjQg
QEAgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzUmVzZXRUb0NvbnNpc3RlbnRTdGF0
ZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGEKICAgICBzdG9yZS0+c2NoZWR1bGVDbGVhckluTWVt
b3J5KCk7CiB9CiAKLXZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMo
V0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZikKK3ZvaWQgV0tXZWJzaXRlRGF0YVN0
b3JlUmVtb3ZlQWxsRmV0Y2hDYWNoZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
Ziwgdm9pZCogY29udGV4dCwgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlRmV0Y2hDYWNoZVJlbW92
YWxGdW5jdGlvbiBjYWxsYmFjaykKIHsKICAgICBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0
YVR5cGU+IGRhdGFUeXBlcyA9IFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlOjpET01DYWNoZTsKLSAg
ICBXZWJLaXQ6OnRvSW1wbChkYXRhU3RvcmVSZWYpLT53ZWJzaXRlRGF0YVN0b3JlKCkucmVtb3Zl
RGF0YShkYXRhVHlwZXMsIHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ6Om1p
bigpLCBbXSB7IH0pOworICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVE
YXRhU3RvcmUoKS5yZW1vdmVEYXRhKGRhdGFUeXBlcywgc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9j
azo6dGltZV9wb2ludDo6bWluKCksIFtjb250ZXh0LCBjYWxsYmFja10geworICAgICAgICBjYWxs
YmFjayhjb250ZXh0KTsKKyAgICB9KTsKIH0KIAotdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1v
dmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYs
IFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luKQordm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1v
dmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYs
IFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCB2b2lkKiBjb250ZXh0LCBXS1dlYnNpdGVEYXRh
U3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKQogewogICAgIFdl
YktpdDo6V2Vic2l0ZURhdGFSZWNvcmQgZGF0YVJlY29yZDsKICAgICBkYXRhUmVjb3JkLmFkZChX
ZWJLaXQ6OldlYnNpdGVEYXRhVHlwZTo6RE9NQ2FjaGUsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKFdlYktpdDo6dG9JbXBsKG9yaWdpbiktPnNlY3VyaXR5
T3JpZ2luKCkpKTsKICAgICBWZWN0b3I8V2ViS2l0OjpXZWJzaXRlRGF0YVJlY29yZD4gZGF0YVJl
Y29yZHMgPSB7IFdURk1vdmUoZGF0YVJlY29yZCkgfTsKIAogICAgIE9wdGlvblNldDxXZWJLaXQ6
OldlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzID0gV2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU6OkRP
TUNhY2hlOwotICAgIFdlYktpdDo6dG9JbXBsKGRhdGFTdG9yZVJlZiktPndlYnNpdGVEYXRhU3Rv
cmUoKS5yZW1vdmVEYXRhKGRhdGFUeXBlcywgZGF0YVJlY29yZHMsIFtdIHsgfSk7CisgICAgV2Vi
S2l0Ojp0b0ltcGwoZGF0YVN0b3JlUmVmKS0+d2Vic2l0ZURhdGFTdG9yZSgpLnJlbW92ZURhdGEo
ZGF0YVR5cGVzLCBkYXRhUmVjb3JkcywgW2NvbnRleHQsIGNhbGxiYWNrXSB7CisgICAgICAgIGNh
bGxiYWNrKGNvbnRleHQpOworICAgIH0pOwogfQogCiB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJl
bW92ZUFsbEluZGV4ZWREYXRhYmFzZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJl
ZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLV2Vic2l0ZURh
dGFTdG9yZVJlZi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0
YVN0b3JlUmVmLmgKaW5kZXggZmFhYzg0NTk5NGFlY2ZmNGM5OTg5MGRhZGJjMTYyYjYwOGM3ZDIz
ZC4uNTM4MjM0YjljZjAwOGI3OWY5ODE4OGUxOWI3NjRmOWUwMWM2OTQxMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmgK
QEAgLTcwLDggKzcwLDExIEBAIFdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVN0YXRp
c3RpY3NDbGVhckluTWVtb3J5QW5kUGVyc2lzdGVudFN0b3JlTW9kaWZpCiB0eXBlZGVmIHZvaWQg
KCpXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1v
dmFsRnVuY3Rpb24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CiBXS19FWFBPUlQgdm9pZCBXS1dl
YnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNzQ2xlYXJUaHJvdWdoV2Vic2l0ZURhdGFSZW1vdmFsKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0
ZURhdGFTdG9yZVN0YXRpc3RpY3NDbGVhclRocm91Z2hXZWJzaXRlRGF0YVJlbW92YWxGdW5jdGlv
biBjYWxsYmFjayk7CiBXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVTdGF0aXN0aWNz
UmVzZXRUb0NvbnNpc3RlbnRTdGF0ZShXS1dlYnNpdGVEYXRhU3RvcmVSZWYgZGF0YVN0b3JlUmVm
KTsKLVdLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVGb3JP
cmlnaW4oV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZiwgV0tTZWN1cml0eU9yaWdp
blJlZiBvcmlnaW4pOwotV0tfRVhQT1JUIHZvaWQgV0tXZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxs
RmV0Y2hDYWNoZXMoV0tXZWJzaXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CisKK3R5cGVk
ZWYgdm9pZCAoKldLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rp
b24pKHZvaWQqIGZ1bmN0aW9uQ29udGV4dCk7CitXS19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRh
U3RvcmVSZW1vdmVGZXRjaENhY2hlRm9yT3JpZ2luKFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRh
U3RvcmVSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYgb3JpZ2luLCB2b2lkKiBjb250ZXh0LCBXS1dl
YnNpdGVEYXRhU3RvcmVSZW1vdmVGZXRjaENhY2hlUmVtb3ZhbEZ1bmN0aW9uIGNhbGxiYWNrKTsK
K1dLX0VYUE9SVCB2b2lkIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUFsbEZldGNoQ2FjaGVzKFdL
V2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYsIHZvaWQqIGNvbnRleHQsIFdLV2Vic2l0
ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVSZW1vdmFsRnVuY3Rpb24gY2FsbGJhY2spOworCiBX
S19FWFBPUlQgdm9pZCBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxJbmRleGVkRGF0YWJhc2Vz
KFdLV2Vic2l0ZURhdGFTdG9yZVJlZiBkYXRhU3RvcmVSZWYpOwogV0tfRVhQT1JUIHZvaWQgV0tX
ZWJzaXRlRGF0YVN0b3JlUmVtb3ZlQWxsU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbnMoV0tXZWJz
aXRlRGF0YVN0b3JlUmVmIGRhdGFTdG9yZVJlZik7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMDc0ZWZmNjhlYzgzNDQ4N2I0Y2U1NDI2ZWE1
ZDljZDhhZGUxMmZjLi5hZTU4ODY0OTc5MWJjMjA4MzhiNDM2ZjE0NzZmNGQyNTY5MjM2M2JiIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjMgQEAKKzIwMTctMTAtMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgor
CisgICAgICAgIExheW91dCBUZXN0IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVh
cmluZy5odHRwcy5odG1sIGlzIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3ODIwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2luZyBjbGVhckRPTUNhY2hlIHdhaXQgZm9yIHJlbW92YWwg
Y29tcGxldGlvbiB0byBleGl0LgorICAgICAgICBUaGlzIHJlbW92ZXMgdGhlIHJpc2sgdG8gaW50
ZXJhY3Qgd2l0aCB0aGUgY2FjaGUgd2hpbGUgZGVsZXRpbmcgaXQgd2hpY2ggd2lsbCBlbmQgdXAg
YmUgcmFjeSBpbiB0ZXN0cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmNsZWFyRE9N
Q2FjaGUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpDbGVhckRPTUNhY2hlQ2FsbGJhY2tDb250ZXh0OjpDbGVhckRPTUNhY2hl
Q2FsbGJhY2tDb250ZXh0KToKKyAgICAgICAgKFdUUjo6Y2xlYXJET01DYWNoZUNhbGxiYWNrKToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNsZWFyRE9NQ2FjaGUpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAgICAg
ICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21J
bmplY3RlZEJ1bmRsZSk6CisKIDIwMTctMTAtMTIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ0ZyYW1lTmF2aWdh
dGlvbigpIHNob3VsZCB1c2UgcmVkaXJlY3RSZXNwb25zZS51cmwoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggNjM5
NjlmYTgzN2IxODc5YWRhMGM2NzhiODE3OWRmODc4ODdkMDE2MC4uZDUzOGI3MTU2NjE3N2QwZTg3
M2M4YmEwMGI2NmJkZDc3ZDg4OGIxYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0xODMzLDcgKzE4MzMsNyBAQCB2
b2lkIFRlc3RSdW5uZXI6OmNsZWFyRE9NQ2FjaGUoSlNTdHJpbmdSZWYgb3JpZ2luKQogewogICAg
IFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiQ2xlYXJET01DYWNoZSIpKTsKICAgICBXS1JldGFpblB0cjxX
S1N0cmluZ1JlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJp
bmcob3JpZ2luKSk7Ci0gICAgV0tCdW5kbGVQYWdlUG9zdE1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJv
ZHkuZ2V0KCkpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZShJbmplY3RlZEJ1
bmRsZTo6c2luZ2xldG9uKCkuYnVuZGxlKCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9k
eS5nZXQoKSwgbnVsbHB0cik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAxMTA0M2U0ZjM3MGVlOWMxMzg3NjZk
YWFkNjhjZTYzZmU3ZmM5MzAyLi5lZjBlNWNlMzBiYzc5NzFlODQ3MWY0NWU2MDg1YmQ2ZjQ3ZmM1
Y2EzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMjI5
OSwxOCArMjI5OSwzOSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpyZW1vdmVBbGxTZXNzaW9uQ3Jl
ZGVudGlhbHMoKQogCiAjZW5kaWYKIAorI2lmIFdLX0FQSV9FTkFCTEVECitzdHJ1Y3QgQ2xlYXJE
T01DYWNoZUNhbGxiYWNrQ29udGV4dCB7CisgICAgZXhwbGljaXQgQ2xlYXJET01DYWNoZUNhbGxi
YWNrQ29udGV4dChUZXN0Q29udHJvbGxlciYgY29udHJvbGxlcikKKyAgICAgICAgOiB0ZXN0Q29u
dHJvbGxlcihjb250cm9sbGVyKQorICAgIHsKKyAgICB9CisKKyAgICBUZXN0Q29udHJvbGxlciYg
dGVzdENvbnRyb2xsZXI7CisgICAgYm9vbCBkb25lIHsgZmFsc2UgfTsKK307CisKK3N0YXRpYyB2
b2lkIGNsZWFyRE9NQ2FjaGVDYWxsYmFjayh2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBhdXRvKiBj
b250ZXh0ID0gc3RhdGljX2Nhc3Q8Q2xlYXJET01DYWNoZUNhbGxiYWNrQ29udGV4dCo+KHVzZXJE
YXRhKTsKKyAgICBjb250ZXh0LT5kb25lID0gdHJ1ZTsKKyAgICBjb250ZXh0LT50ZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Cit9CisjZW5kaWYKKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6Y2xl
YXJET01DYWNoZShXS1N0cmluZ1JlZiBvcmlnaW4pCiB7CiAjaWYgV0tfQVBJX0VOQUJMRUQKICAg
ICBhdXRvIHdlYnNpdGVEYXRhU3RvcmUgPSBXS0NvbnRleHRHZXRXZWJzaXRlRGF0YVN0b3JlKHBs
YXRmb3JtQ29udGV4dCgpKTsKKyAgICBDbGVhckRPTUNhY2hlQ2FsbGJhY2tDb250ZXh0IGNvbnRl
eHQoKnRoaXMpOwogCi0gICAgaWYgKFdLU3RyaW5nSXNFbXB0eShvcmlnaW4pKSB7Ci0gICAgICAg
IFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUFsbEZldGNoQ2FjaGVzKHdlYnNpdGVEYXRhU3RvcmUp
OwotICAgICAgICByZXR1cm47CisgICAgaWYgKFdLU3RyaW5nSXNFbXB0eShvcmlnaW4pKQorICAg
ICAgICBXS1dlYnNpdGVEYXRhU3RvcmVSZW1vdmVBbGxGZXRjaENhY2hlcyh3ZWJzaXRlRGF0YVN0
b3JlLCAmY29udGV4dCwgY2xlYXJET01DYWNoZUNhbGxiYWNrKTsKKyAgICBlbHNlIHsKKyAgICAg
ICAgYXV0byBjYWNoZU9yaWdpbiA9IGFkb3B0V0soV0tTZWN1cml0eU9yaWdpbkNyZWF0ZUZyb21T
dHJpbmcob3JpZ2luKSk7CisgICAgICAgIFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2Fj
aGVGb3JPcmlnaW4od2Vic2l0ZURhdGFTdG9yZSwgY2FjaGVPcmlnaW4uZ2V0KCksICZjb250ZXh0
LCBjbGVhckRPTUNhY2hlQ2FsbGJhY2spOwogICAgIH0KLQotICAgIGF1dG8gY2FjaGVPcmlnaW4g
PSBhZG9wdFdLKFdLU2VjdXJpdHlPcmlnaW5DcmVhdGVGcm9tU3RyaW5nKG9yaWdpbikpOwotICAg
IFdLV2Vic2l0ZURhdGFTdG9yZVJlbW92ZUZldGNoQ2FjaGVGb3JPcmlnaW4od2Vic2l0ZURhdGFT
dG9yZSwgY2FjaGVPcmlnaW4uZ2V0KCkpOworICAgIGlmICghY29udGV4dC5kb25lKQorICAgICAg
ICBydW5VbnRpbChjb250ZXh0LmRvbmUsIG1fY3VycmVudEludm9jYXRpb24tPnNob3J0VGltZW91
dCgpKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwCmluZGV4IGE0M2U2YWJjNTVmM2ZkMGIzYjYwNTdlMmI3Mzc4ZjAxZTdmZWRkZmMuLmM3OTNh
MDQyMjU0MWVmZmRlYmExYTIwZjAzMjViNjA3MmQyNDM0MzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC03NjMsMTQgKzc2Myw2IEBAIHZvaWQgVGVzdElu
dm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKFdLU3RyaW5nUmVm
IG1lc3NhZ2VOYW1lCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoV0tTdHJpbmdJ
c0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkNsZWFyRE9NQ2FjaGUiKSkgewotICAg
ICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLU3RyaW5nR2V0VHlwZUlE
KCkpOwotICAgICAgICBXS1N0cmluZ1JlZiBvcmlnaW4gPSBzdGF0aWNfY2FzdDxXS1N0cmluZ1Jl
Zj4obWVzc2FnZUJvZHkpOwotCi0gICAgICAgIFRlc3RDb250cm9sbGVyOjpzaW5nbGV0b24oKS5j
bGVhckRPTUNhY2hlKG9yaWdpbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIH0KIApAQCAtMTIxMCw2ICsxMjAyLDE0IEBAIFdLUmV0YWluUHRy
PFdLVHlwZVJlZj4gVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VG
cm9tSW5qZWN0ZWRCCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAorICAgIGlmIChX
S1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VOYW1lLCAiQ2xlYXJET01DYWNoZSIp
KSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9keSkgPT0gV0tTdHJpbmdH
ZXRUeXBlSUQoKSk7CisgICAgICAgIFdLU3RyaW5nUmVmIG9yaWdpbiA9IHN0YXRpY19jYXN0PFdL
U3RyaW5nUmVmPihtZXNzYWdlQm9keSk7CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNpbmds
ZXRvbigpLmNsZWFyRE9NQ2FjaGUob3JpZ2luKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNGNiODU1OTZjY2JhZTQ2MmE5MGFhOWYxMzBmNDgwNTFjMmU1NDRjOC4uYjI4ODhm
NDQ3ODNhNGVkOWM4NjBlZjI4MzQ3ZDAyNzhiZjhkZGQyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDE3LTEwLTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBMYXlvdXQgVGVzdCBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmcuaHR0
cHMuaHRtbCBpcyBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzgyMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTcGxpdHRpbmcgY2FjaGUtY2xlYXJpbmcuaHR0cHMuaHRtbCBpbiB0d28gc3Vi
IHRlc3RzIGFuZCBtYXJraW5nIHRoZW0gYXMgUGFzcy9UaW1lb3V0IGZvciB0aGUgbW9tZW50Lgor
CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwaW5nIGNhY2hl
L3N3IHRlc3RzLgorICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLWFsbC5odHRw
cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFn
ZS9jYWNoZS1jbGVhcmluZy1hbGwuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdpbi5odHRwcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVh
cmluZy1vcmlnaW4uaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMTctMTAtMTIgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgc29tZSB4aHRtbCB0ZXN0
cyBhcyBmYWlsaW5nIG9uIFdpbmRvd3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA1ZjliNzZiNzA1
ODIxZWEwYzZhZWMwZmRjZTlkM2YxZjRhNWFiOGRmLi4xY2MzMWQ1OWNiNWY0ZWMzNmUzNTVhZDg3
Y2Y2ZmM0ZjhiMjU5NDVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2Nyw2ICs0NjcsOSBAQCB3
ZWJraXQub3JnL2IvMTY4NDQ4IGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1zaGFyZWQtcmVz
b3VyY2UtaW4tZnJhbWVzLmh0bWwgWwogd2Via2l0Lm9yZy9iLzE2ODQ0OCBodHRwL3dwdC9yZXNv
dXJjZS10aW1pbmcvcnQtc2hhcmVkLXJlc291cmNlLWluLXdvcmtlcnMuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMTcxNTExIGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1y
ZXZhbGlkYXRlLXJlcXVlc3RzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCit3ZWJraXQub3JnL2Iv
MTc4MDM0IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1hbGwuaHR0cHMu
aHRtbCBbIFBhc3MgVGltZW91dCBdCit3ZWJraXQub3JnL2IvMTc4MDM0IGh0dHAvdGVzdHMvY2Fj
aGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMuaHRtbCBbIFBhc3MgVGltZW91
dCBdCisKIHdlYmtpdC5vcmcvYi8xNjEzMTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9kb2N1bWVudC1tZXRhZGF0YS90aGUtbGluay1lbGVtZW50L2RvY3Vt
ZW50LXdpdGhvdXQtYnJvd3NpbmctY29udGV4dC5odG1sIFsgRmFpbHVyZSBQYXNzIF0KIAogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9zZW5kLWNvbmRpdGlv
bmFsLWNvcnMuaHRtIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy1hbGwu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiMTY3MzhhYjg5N2ZiMDE4ZTQ4NzYxMDNk
YzExYmUyNjBkOWEyNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKKworUEFTUyBDbGVhbmluZyBleGlzdGluZyBjYWNoZXMgCitQQVNTIENsZWFy
aW5nIGFsbCBkaXNrIGNhY2hlIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctYWxsLmh0dHBzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWQ0OGM3ZWRiMjVlOTBiNDcwMmQxNGEzZGUwN2MwOTI1MzZhODBlMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1jbGVhcmluZy1hbGwuaHR0cHMuaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q2FjaGUgU3RvcmFnZTogdGVzdGluZyBDYWNoZSBw
ZXJzaXN0ZW5jeTwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c2NyaXB0PgorcHJvbWlzZV90ZXN0
KHRlc3QgPT4geworICAgIHJldHVybiBzZWxmLmNhY2hlcy5rZXlzKCkudGhlbihrZXlzID0+IHsK
KyAgICAgICAgdmFyIHBlbmRpbmcgPSBbXTsKKyAgICAgICAgZm9yIChrZXkgb2Yga2V5cykKKyAg
ICAgICAgICAgIHBlbmRpbmcucHVzaChzZWxmLmNhY2hlcy5kZWxldGUoa2V5c1swXSkpOworICAg
ICAgICByZXR1cm4gUHJvbWlzZS5hbGwocGVuZGluZyk7CisgICAgfSk7Cit9LCAiQ2xlYW5pbmcg
ZXhpc3RpbmcgY2FjaGVzIik7CisKK2Z1bmN0aW9uIHdhaXRGb3IoZGVsYXkpCit7CisgICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgICBzZXRUaW1lb3V0KHJlc29sdmUs
IGRlbGF5KTsKKyAgICB9KTsKK30KKworYXN5bmMgZnVuY3Rpb24gdmFsaWRhdGVDYWNoZXNFbXB0
eW5lc3MoZXhwZWN0ZWQsIGNvdW50ZXIpCit7CisgICAgdmFyIGtleXMgPSBhd2FpdCBzZWxmLmNh
Y2hlcy5rZXlzKCk7CisKKyAgICB2YXIgaXNFbXB0eSA9IGtleXMubGVuZ3RoID09PSAwOworICAg
IGlmIChpc0VtcHR5ID09PSBleHBlY3RlZCkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBp
ZiAoY291bnRlciA+IDEwKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhd2FpdCB3YWl0
Rm9yKDEwMCk7CisgICAgaWYgKCFjb3VudGVyKQorICAgICAgICBjb3VudGVyID0gMDsKKyAgICBy
ZXR1cm4gdmFsaWRhdGVDYWNoZXNFbXB0eW5lc3MoZXhwZWN0ZWQsICsrY291bnRlcik7Cit9CisK
K3Byb21pc2VfdGVzdCgoKSA9PiB7CisgICAgdmFyIHRlc3RfdXJsID0gJ2h0dHBzOi8vZXhhbXBs
ZS5jb20vZm9vJzsKKyAgICB2YXIgY2FjaGU7CisgICAgdmFyIGNhY2hlX2tleXM7CisgICAgdmFy
IGZpcnN0X3Jlc3BvbnNlID0gbmV3IFJlc3BvbnNlKCJPbGQgYm9keSIsIHsgc3RhdHVzVGV4dDog
J09sZCBzdGF0dXMnIH0pOworICAgIHZhciBhbHRlcm5hdGVfcmVzcG9uc2UgPSBuZXcgUmVzcG9u
c2UoIk5ldyBib2R5IiwgeyBzdGF0dXNUZXh0OiAnTmV3IHN0YXR1cycgfSk7CisgICAgcmV0dXJu
IHNlbGYuY2FjaGVzLm9wZW4oInRlc3QtY2FjaGUtcmVjb3Jkcy1wZXJzaXN0ZW5jeSIpLnRoZW4o
YyA9PiB7CisgICAgICAgIGNhY2hlID0gYzsKKyAgICB9KS50aGVuKCgpID0+IHsKKyAgICAgICAg
cmV0dXJuIGNhY2hlLnB1dCh0ZXN0X3VybCwgZmlyc3RfcmVzcG9uc2UpOworICAgIH0pLnRoZW4o
KCkgPT4geworICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgcmV0
dXJuIFByb21pc2UucmVqZWN0KCJ0ZXN0IHJ1bm5lciBuZWVkZWQiKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5jbGVhckRPTUNhY2hlKCk7CisgICAgICAgIHJldHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5
bmVzcyh0cnVlKTsKKyAgICB9KS50aGVuKHJlc3VsdCA9PiB7CisgICAgICAgIGFzc2VydF90cnVl
KHJlc3VsdCwgImNhY2hlcyBzaG91bGQgYmUgZW1wdHkiKTsKKyAgICAgICAgcmV0dXJuIHNlbGYu
Y2FjaGVzLm9wZW4oInRlc3QtY2FjaGUtcmVjb3Jkcy1wZXJzaXN0ZW5jeSIpOworICAgIH0pLnRo
ZW4oY2FjaGUgPT4geworICAgICAgICByZXR1cm4gY2FjaGUua2V5cygpOworICAgIH0pLnRoZW4o
a2V5cyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoa2V5cy5sZW5ndGgsIDAsICJyZWNvcmRz
IHNob3VsZCBiZSBlbXB0eSIpOworICAgIH0pOworfSwgJ0NsZWFyaW5nIGFsbCBkaXNrIGNhY2hl
Jyk7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctb3JpZ2luLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNo
ZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ODU1MTEz
NTQ5ODBkNzc5MzUwMDkyYTQyMzljYzM2MDk2OGRkZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtY2xlYXJpbmctb3JpZ2luLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBDbGVhbmluZyBleGlzdGlu
ZyBjYWNoZXMgCitQQVNTIENsZWFyaW5nIGRpc2sgY2FjaGUgb2YgYSBnaXZlbiBvcmlnaW4gCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1j
bGVhcmluZy1vcmlnaW4uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUt
c3RvcmFnZS9jYWNoZS1jbGVhcmluZy1vcmlnaW4uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWI5
MTczMGExY2ExMDExOGJiODI0OWJlNDIyMjQyNmU5NmU2MzA2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLW9yaWdp
bi5odHRwcy5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5DYWNoZSBTdG9yYWdlOiB0ZXN0aW5nIENhY2hlIHBlcnNpc3RlbmN5PC90
aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rlc3QodGVzdCA9PiB7Cisg
ICAgcmV0dXJuIHNlbGYuY2FjaGVzLmtleXMoKS50aGVuKGtleXMgPT4geworICAgICAgICB2YXIg
cGVuZGluZyA9IFtdOworICAgICAgICBmb3IgKGtleSBvZiBrZXlzKQorICAgICAgICAgICAgcGVu
ZGluZy5wdXNoKHNlbGYuY2FjaGVzLmRlbGV0ZShrZXlzWzBdKSk7CisgICAgICAgIHJldHVybiBQ
cm9taXNlLmFsbChwZW5kaW5nKTsKKyAgICB9KTsKK30sICJDbGVhbmluZyBleGlzdGluZyBjYWNo
ZXMiKTsKKworZnVuY3Rpb24gd2FpdEZvcihkZWxheSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpOworICAg
IH0pOworfQorCithc3luYyBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3Rl
ZCwgY291bnRlcikKK3sKKyAgICB2YXIga2V5cyA9IGF3YWl0IHNlbGYuY2FjaGVzLmtleXMoKTsK
KworICAgIHZhciBpc0VtcHR5ID0ga2V5cy5sZW5ndGggPT09IDA7CisgICAgaWYgKGlzRW1wdHkg
PT09IGV4cGVjdGVkKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChjb3VudGVyID4g
MTApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF3YWl0IHdhaXRGb3IoMTAwKTsKKyAg
ICBpZiAoIWNvdW50ZXIpCisgICAgICAgIGNvdW50ZXIgPSAwOworICAgIHJldHVybiB2YWxpZGF0
ZUNhY2hlc0VtcHR5bmVzcyhleHBlY3RlZCwgKytjb3VudGVyKTsKK30KKworcHJvbWlzZV90ZXN0
KCgpID0+IHsKKyAgICB2YXIgdGVzdF91cmwgPSAnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nOwor
ICAgIHZhciBjYWNoZTsKKyAgICB2YXIgY2FjaGVfa2V5czsKKyAgICB2YXIgZmlyc3RfcmVzcG9u
c2UgPSBuZXcgUmVzcG9uc2UoIk9sZCBib2R5IiwgeyBzdGF0dXNUZXh0OiAnT2xkIHN0YXR1cycg
fSk7CisgICAgdmFyIGFsdGVybmF0ZV9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiTmV3IGJvZHki
LCB7IHN0YXR1c1RleHQ6ICdOZXcgc3RhdHVzJyB9KTsKKyAgICByZXR1cm4gc2VsZi5jYWNoZXMu
b3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5IikudGhlbihjID0+IHsKKyAgICAg
ICAgY2FjaGUgPSBjOworICAgIH0pLnRoZW4oKCkgPT4geworICAgICAgICByZXR1cm4gY2FjaGUu
cHV0KHRlc3RfdXJsLCBmaXJzdF9yZXNwb25zZSk7CisgICAgfSkudGhlbigoKSA9PiB7CisgICAg
ICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5y
ZWplY3QoInRlc3QgcnVubmVyIG5lZWRlZCIpOworICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9N
Q2FjaGUoJ2h0dHBzOi8vbG9jYWxob3N0OjgwJyk7CisgICAgICAgIHJldHVybiB2YWxpZGF0ZUNh
Y2hlc0VtcHR5bmVzcyhmYWxzZSk7CisgICAgfSkudGhlbihyZXN1bHQgPT4geworICAgICAgICBh
c3NlcnRfdHJ1ZShyZXN1bHQsICJjYWNoZXMgc2hvdWxkIG5vdCBiZSBlbXB0eSIpOworICAgICAg
ICB0ZXN0UnVubmVyLmNsZWFyRE9NQ2FjaGUod2luZG93LmxvY2F0aW9uLm9yaWdpbik7CisgICAg
ICAgIHJldHVybiB2YWxpZGF0ZUNhY2hlc0VtcHR5bmVzcyh0cnVlKTsKKyAgICB9KS50aGVuKHJl
c3VsdCA9PiB7CisgICAgICAgIGFzc2VydF90cnVlKHJlc3VsdCwgImNhY2hlcyBzaG91bGQgYmUg
ZW1wdHkiKTsKKyAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVzLm9wZW4oInRlc3QtY2FjaGUtcmVj
b3Jkcy1wZXJzaXN0ZW5jeSIpOworICAgIH0pLnRoZW4oY2FjaGUgPT4geworICAgICAgICByZXR1
cm4gY2FjaGUua2V5cygpOworICAgIH0pLnRoZW4oa2V5cyA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoa2V5cy5sZW5ndGgsIDAsICJyZWNvcmRzIHNob3VsZCBiZSBlbXB0eSIpOworICAgIH0p
OworfSwgJ0NsZWFyaW5nIGRpc2sgY2FjaGUgb2YgYSBnaXZlbiBvcmlnaW4nKTsKKyAgICA8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1jbGVhcmluZy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYzczNzQ3YWYyNjU4NmNlMzc4NTFhYjFmOTc5ODdm
OTczMzA5MWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBz
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGhlYWQ+Ci08dGl0bGU+Q2FjaGUgU3RvcmFnZTogdGVzdGluZyBDYWNoZSBwZXJzaXN0
ZW5jeTwvdGl0bGU+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Ci08c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8c2NyaXB0PgotcHJvbWlzZV90ZXN0KHRlc3Qg
PT4gewotICAgIHJldHVybiBzZWxmLmNhY2hlcy5rZXlzKCkudGhlbihrZXlzID0+IHsKLSAgICAg
ICAgdmFyIHBlbmRpbmcgPSBbXTsKLSAgICAgICAgZm9yIChrZXkgb2Yga2V5cykKLSAgICAgICAg
ICAgIHBlbmRpbmcucHVzaChzZWxmLmNhY2hlcy5kZWxldGUoa2V5c1swXSkpOwotICAgICAgICBy
ZXR1cm4gUHJvbWlzZS5hbGwocGVuZGluZyk7Ci0gICAgfSk7Ci19LCAiQ2xlYW5pbmcgZXhpc3Rp
bmcgY2FjaGVzIik7Ci0KLXZhciB0ZXN0X3VybCA9ICdodHRwczovL2V4YW1wbGUuY29tL2Zvbyc7
Ci12YXIgdGVzdF9ib2R5ID0gJ0hlbGxvIHdvcmxkISc7Ci0KLWZ1bmN0aW9uIHdhaXRGb3IoZGVs
YXkpCi17Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBzZXRU
aW1lb3V0KHJlc29sdmUsIGRlbGF5KTsKLSAgICB9KTsKLX0KLQotYXN5bmMgZnVuY3Rpb24gdmFs
aWRhdGVDYWNoZXNFbXB0eW5lc3MoZXhwZWN0ZWQsIGNvdW50ZXIpCi17Ci0gICAgdmFyIGtleXMg
PSBhd2FpdCBzZWxmLmNhY2hlcy5rZXlzKCk7Ci0KLSAgICB2YXIgaXNFbXB0eSA9IGtleXMubGVu
Z3RoID09PSAwOwotICAgIGlmIChpc0VtcHR5ID09PSBleHBlY3RlZCkKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0KLSAgICBpZiAoY291bnRlciA+IDEwKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICBhd2FpdCB3YWl0Rm9yKDEwMCk7Ci0gICAgaWYgKCFjb3VudGVyKQotICAgICAgICBjb3Vu
dGVyID0gMDsKLSAgICByZXR1cm4gdmFsaWRhdGVDYWNoZXNFbXB0eW5lc3MoZXhwZWN0ZWQsICsr
Y291bnRlcik7Ci19Ci0KLXByb21pc2VfdGVzdCgoKSA9PiB7Ci0gICAgdmFyIGNhY2hlOwotICAg
IHZhciBjYWNoZV9rZXlzOwotICAgIHZhciBmaXJzdF9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgi
T2xkIGJvZHkiLCB7IHN0YXR1c1RleHQ6ICdPbGQgc3RhdHVzJyB9KTsKLSAgICB2YXIgYWx0ZXJu
YXRlX3Jlc3BvbnNlID0gbmV3IFJlc3BvbnNlKCJOZXcgYm9keSIsIHsgc3RhdHVzVGV4dDogJ05l
dyBzdGF0dXMnIH0pOwotICAgIHJldHVybiBzZWxmLmNhY2hlcy5vcGVuKCJ0ZXN0LWNhY2hlLXJl
Y29yZHMtcGVyc2lzdGVuY3kiKS50aGVuKGMgPT4gewotICAgICAgICBjYWNoZSA9IGM7Ci0gICAg
fSkudGhlbigoKSA9PiB7Ci0gICAgICAgIHJldHVybiBjYWNoZS5wdXQodGVzdF91cmwsIGZpcnN0
X3Jlc3BvbnNlKTsKLSAgICB9KS50aGVuKCgpID0+IHsKLSAgICAgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCgidGVzdCBydW5uZXIg
bmVlZGVkIik7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJET01DYWNoZSgnaHR0cHM6Ly9sb2Nh
bGhvc3Q6ODAnKTsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKGZhbHNl
KTsKLSAgICB9KS50aGVuKHJlc3VsdCA9PiB7Ci0gICAgICAgIGFzc2VydF90cnVlKHJlc3VsdCwg
ImNhY2hlcyBzaG91bGQgbm90IGJlIGVtcHR5Iik7Ci0gICAgICAgIHRlc3RSdW5uZXIuY2xlYXJE
T01DYWNoZSh3aW5kb3cubG9jYXRpb24ub3JpZ2luKTsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRl
Q2FjaGVzRW1wdHluZXNzKHRydWUpOwotICAgIH0pLnRoZW4ocmVzdWx0ID0+IHsKLSAgICAgICAg
YXNzZXJ0X3RydWUocmVzdWx0LCAiY2FjaGVzIHNob3VsZCBiZSBlbXB0eSIpOwotICAgICAgICBy
ZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Iik7
Ci0gICAgfSkudGhlbihjYWNoZSA9PiB7Ci0gICAgICAgIHJldHVybiBjYWNoZS5rZXlzKCk7Ci0g
ICAgfSkudGhlbihrZXlzID0+IHsKLSAgICAgICAgYXNzZXJ0X2VxdWFscyhrZXlzLmxlbmd0aCwg
MCwgInJlY29yZHMgc2hvdWxkIGJlIGVtcHR5Iik7Ci0gICAgfSk7Ci19LCAnQ2xlYXJpbmcgZGlz
ayBjYWNoZSBvZiBhIGdpdmVuIG9yaWdpbicpOwotCi1wcm9taXNlX3Rlc3QoKCkgPT4gewotICAg
IHZhciBjYWNoZTsKLSAgICB2YXIgY2FjaGVfa2V5czsKLSAgICB2YXIgZmlyc3RfcmVzcG9uc2Ug
PSBuZXcgUmVzcG9uc2UoIk9sZCBib2R5IiwgeyBzdGF0dXNUZXh0OiAnT2xkIHN0YXR1cycgfSk7
Ci0gICAgdmFyIGFsdGVybmF0ZV9yZXNwb25zZSA9IG5ldyBSZXNwb25zZSgiTmV3IGJvZHkiLCB7
IHN0YXR1c1RleHQ6ICdOZXcgc3RhdHVzJyB9KTsKLSAgICByZXR1cm4gc2VsZi5jYWNoZXMub3Bl
bigidGVzdC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5IikudGhlbihjID0+IHsKLSAgICAgICAg
Y2FjaGUgPSBjOwotICAgIH0pLnRoZW4oKCkgPT4gewotICAgICAgICByZXR1cm4gY2FjaGUucHV0
KHRlc3RfdXJsLCBmaXJzdF9yZXNwb25zZSk7Ci0gICAgfSkudGhlbigoKSA9PiB7Ci0gICAgICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWpl
Y3QoInRlc3QgcnVubmVyIG5lZWRlZCIpOwotICAgICAgICB0ZXN0UnVubmVyLmNsZWFyRE9NQ2Fj
aGUoKTsKLSAgICAgICAgcmV0dXJuIHZhbGlkYXRlQ2FjaGVzRW1wdHluZXNzKHRydWUpOwotICAg
IH0pLnRoZW4ocmVzdWx0ID0+IHsKLSAgICAgICAgYXNzZXJ0X3RydWUocmVzdWx0LCAiY2FjaGVz
IHNob3VsZCBiZSBlbXB0eSIpOwotICAgICAgICByZXR1cm4gc2VsZi5jYWNoZXMub3BlbigidGVz
dC1jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Iik7Ci0gICAgfSkudGhlbihjYWNoZSA9PiB7Ci0g
ICAgICAgIHJldHVybiBjYWNoZS5rZXlzKCk7Ci0gICAgfSkudGhlbihrZXlzID0+IHsKLSAgICAg
ICAgYXNzZXJ0X2VxdWFscyhrZXlzLmxlbmd0aCwgMCwgInJlY29yZHMgc2hvdWxkIGJlIGVtcHR5
Iik7Ci0gICAgfSk7Ci19LCAnQ2xlYXJpbmcgYWxsIGRpc2sgY2FjaGUnKTsKLSAgICA8L3Njcmlw
dD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggNTlmMDBlZGQ5ZWNhYjNhMTc3ZmZiOWU0NGRkMzI3MGIzYjJmNmU1MC4uNzkz
NTY3MzJjMDdjNjdmYWM5M2QxZjRlZjY2Mzc5ZTJhZWFjOTQxYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM2MjYsMTcgKzM2MjYsNiBAQCBqcy9kb20v
YnVpbHRpbi1nZXR0ZXItbmFtZS5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L3RleHQvdmFyaWF0aW9u
cy9mb250LXNlbGVjdGlvbi1mb250LXdlaWdodC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBm
YXN0L2Zvcm1zL2ZpbGUvZW50cmllcy1hcGkvd2Via2l0ZGlyZWN0b3J5LW9wZW4tcGFuZWwuaHRt
bCBbIFNraXAgXQogCi0jIEZhaWxpbmcgY2FjaGUgc3RvcmFnZSB0ZXN0cwotd2Via2l0Lm9yZy9i
LzE3Njk5OSBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtb3JpZ2lucy5odHRwcy5odG1s
IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTc2OTk5IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9j
YWNoZS1wZXJzaXN0ZW5jeS5odHRwcy5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTc2OTk5
IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZS9jYWNoZS1yZWNvcmRzLXBlcnNpc3RlbmN5Lmh0dHBz
Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNzY5OTkgaHR0cC90ZXN0cy9jYWNoZS1z
dG9yYWdlL2NhY2hlLXJlcHJlc2VudGF0aW9uLmh0dHBzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5v
cmcvYi8xNzY5OTkgaHR0cC93cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQta2V5cy5odHRwcy5h
bnkuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1z
dG9yYWdlL2NhY2hlLXB1dC1rZXlzLmh0dHBzLmFueS53b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQot
d2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXB1dC1zdHJl
YW0uaHR0cHMuYW55Lmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNzY5OTkgaHR0cC93
cHQvY2FjaGUtc3RvcmFnZS9jYWNoZS1wdXQtc3RyZWFtLmh0dHBzLmFueS53b3JrZXIuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE3Njk5OSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2Nh
Y2hlLXJlbW92ZS10d2ljZS5odG1sIFsgRmFpbHVyZSBdCi0KICMgaHRtbC9zeW50YXggd2ViIHBs
YXRmb3JtIHRlc3RzIGFyZSBmYWlsaW5nIG9uIFdpbmRvd3MuCiB3ZWJraXQub3JnL2IvMTYyNDE1
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zeW50YXggWyBTa2lwIF0KIApA
QCAtMzcwOSw2ICszNjk4LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdoZW4tY3Jvc3Mtb3IKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLXVuc2FmZS11
cmwtc2VydmljZS13b3JrZXIuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwt
Mi9pbnRlZ3JhdGlvbi13aXRoLXRoZS1qYXZhc2NyaXB0LWFnZW50LWZvcm1hbGlzbS9jYW5ibG9j
ay1zZXJ2aWNld29ya2VyLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzIFsgU2tpcCBdCitodHRwL3Rlc3RzL2NhY2hlLXN0
b3JhZ2UgWyBTa2lwIF0KK2h0dHAvd3B0L2NhY2hlLXN0b3JhZ2UgWyBTa2lwIF0KKwogCiAjIEZs
YWt5IHRlc3RzIG9uIFdpbmRvd3M6CiB3ZWJraXQub3JnL2IvMTc2NTY0IGh0dHAvdGVzdHMvbWlz
Yy9kZWxldGUtZnJhbWUtZHVyaW5nLXJlYWR5c3RhdGVjaGFuZ2UuaHRtbCBbIFBhc3MgQ3Jhc2gg
XQpAQCAtMzc3OCwxNSArMzc3MCwxMSBAQCB3ZWJraXQub3JnL2IvMTc3NjI2IGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9wcmVjb25uZWN0LXN1cHBvcnQuaHRtbCAgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8xNzc2MjYgaHR0cC90ZXN0cy9wcmVjb25uZWN0L2xpbmstcmVsLXByZWNvbm5lY3QtaHR0
cC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTc3NjI2IGh0dHAvdGVzdHMvcHJlY29ubmVj
dC9saW5rLXJlbC1wcmVjb25uZWN0LWh0dHBzLmh0bWwgWyBTa2lwIF0KIAotd2Via2l0Lm9yZy9i
LzE3Nzg5MSBodHRwL3dwdC9jYWNoZS1zdG9yYWdlL2NhY2hlLXF1b3RhLmFueS5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzE3Nzk2NCBmYXN0L3RleHQvbG9hZGluZy1ibG9j
ay1ub2ZpbmlzaC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
Nzc5NjQgZmFzdC90ZXh0L2xvYWRpbmctZmFpbHVyZS1maW5pc2guaHRtbCBbIFBhc3MgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTY0IGZhc3QvdGV4dC9sb2FkaW5nLWZhaWx1
cmUtbm9maW5pc2guaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTc3OTY0IGZhc3QvdGV4dC9sb2FkaW5nLXN3YXAtbm9maW5pc2guaHRtbCBbIFBhc3MgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xNzgyMDAgaHR0cC90ZXN0cy9jYWNoZS1zdG9y
YWdlL2NhY2hlLWNsZWFyaW5nLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KLQogIyB4aHRtbCB0ZXN0
cyBhcmUgZmFpbGluZyBvbiBzb21lIG9mIHRoZSBFV1MgYm90cy4KIHdlYmtpdC5vcmcvYi8xNzgy
MzAgZmFzdC94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1nZXQueGh0bWwgWyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNzgyMzAgZG9tL3hodG1sL2xldmVsMy9jb3JlL2RvY3VtZW50Z2V0
aW5wdXRlbmNvZGluZzAzLnhodG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>