<?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>213663</bug_id>
          
          <creation_ts>2020-06-26 15:29:41 -0700</creation_ts>
          <short_desc>Update web-platform-tests/beacon from upstream</short_desc>
          <delta_ts>2020-07-16 09:10:52 -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>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1666644</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 15:29:41 -0700</bug_when>
    <thetext>Update web-platform-tests/beacon from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666645</commentid>
    <comment_count>1</comment_count>
      <attachid>402914</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 15:31:09 -0700</bug_when>
    <thetext>Created attachment 402914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666662</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-26 16:07:43 -0700</bug_when>
    <thetext>Committed r263595: &lt;https://trac.webkit.org/changeset/263595&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402914.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666663</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-26 16:08:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/64826448&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402914</attachid>
            <date>2020-06-26 15:31:09 -0700</date>
            <delta_ts>2020-06-26 16:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213663-20200626153108.patch</filename>
            <type>text/plain</type>
            <size>41032</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTg4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAwNDhlNWM5NTgzMTRmYWQ4ZThiZWNjY2Q4OTIyNjE5MGJjY2QzOTA0Li5jNWI3Y2EyNzk0
OTk0NDI0MmM3MTQ5N2ZiYzg5ZGJmOTYwYmYyNzI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uIGZy
b20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMzY2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uIGZyb20gdXBzdHJlYW0gYjA3NmMz
MDVhMjU2ZTdmYjcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uLyo6IFVw
ZGF0ZWQuCisKIDIwMjAtMDYtMjQgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBVbnJldmlld2VkIGdhcmRlbmluZy4gVXBkYXRlZCBl
eHBlY3RhdGlvbnMgYW5kIG5ldyBwYXNzaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWNvbW1vbi5z
dWIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9iZWFjb24tY29tbW9uLnN1Yi5qcwppbmRleCBhZTJmMTY5ZjI3MmU5ZWZiYmVhM2I3NDY0ZWE3
N2MzNGZlNjVjNmUxLi4zNjM1ZGE3M2I3NTQwMGVkMzY5OTU3NmUyZWFjNjMyOWMzOWJiYTFiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9iZWFjb24tY29tbW9uLnN1Yi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tY29tbW9uLnN1Yi5qcwpAQCAtMTYsMzMg
KzE2LDMzIEBAIHZhciBsYXJnZVBheWxvYWQgPSBsYXJnZVBheWxvYWRTaXplICsgIjoiICsgQXJy
YXkobGFyZ2VQYXlsb2FkU2l6ZSkuZmlsbCgnKicpLmpvCiB2YXIgbWF4UGF5bG9hZCA9IChtYXhQ
YXlsb2FkU2l6ZSAtIDYpICsgIjoiICsgQXJyYXkobWF4UGF5bG9hZFNpemUgLSA2KS5maWxsKCcq
Jykuam9pbigiIikKIAogLy8gVGVzdCBjYXNlIGRlZmluaXRpb25zLgotLy8gICAgICBpZDogU3Ry
aW5nIGNvbnRhaW5pbmcgdGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSB0ZXN0IGNhc2UuCisvLyAgICAg
IG5hbWU6IFN0cmluZyBjb250YWluaW5nIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdGVzdCBjYXNl
LgogLy8gICAgICBkYXRhOiBQYXlsb2FkIG9iamVjdCB0byBzZW5kIHRocm91Z2ggc2VuZGJlYWNv
bi4KLXZhciBub0RhdGFUZXN0ID0geyBpZDogIk5vRGF0YSIgfTsKLXZhciBudWxsRGF0YVRlc3Qg
PSB7IGlkOiAiTnVsbERhdGEiLCBkYXRhOiBudWxsIH07Ci12YXIgdW5kZWZpbmVkRGF0YVRlc3Qg
PSB7IGlkOiAiVW5kZWZpbmVkRGF0YSIsIGRhdGE6IHVuZGVmaW5lZCB9OwotdmFyIHNtYWxsU3Ry
aW5nVGVzdCA9IHsgaWQ6ICJTbWFsbFN0cmluZyIsIGRhdGE6IHNtYWxsUGF5bG9hZCB9OwotdmFy
IG1lZGl1bVN0cmluZ1Rlc3QgPSB7IGlkOiAiTWVkaXVtU3RyaW5nIiwgZGF0YTogbWVkaXVtUGF5
bG9hZCB9OwotdmFyIGxhcmdlU3RyaW5nVGVzdCA9IHsgaWQ6ICJMYXJnZVN0cmluZyIsIGRhdGE6
IGxhcmdlUGF5bG9hZCB9OwotdmFyIG1heFN0cmluZ1Rlc3QgPSB7IGlkOiAiTWF4U3RyaW5nIiwg
ZGF0YTogbWF4UGF5bG9hZCB9OwotdmFyIGVtcHR5QmxvYlRlc3QgPSB7IGlkOiAiRW1wdHlCbG9i
IiwgZGF0YTogbmV3IEJsb2IoKSB9OwotdmFyIHNtYWxsQmxvYlRlc3QgPSB7IGlkOiAiU21hbGxC
bG9iIiwgZGF0YTogbmV3IEJsb2IoW3NtYWxsUGF5bG9hZF0pIH07Ci12YXIgbWVkaXVtQmxvYlRl
c3QgPSB7IGlkOiAiTWVkaXVtQmxvYiIsIGRhdGE6IG5ldyBCbG9iKFttZWRpdW1QYXlsb2FkXSkg
fTsKLXZhciBsYXJnZUJsb2JUZXN0ID0geyBpZDogIkxhcmdlQmxvYiIsIGRhdGE6IG5ldyBCbG9i
KFtsYXJnZVBheWxvYWRdKSB9OwotdmFyIG1heEJsb2JUZXN0ID0geyBpZDogIk1heEJsb2IiLCBk
YXRhOiBuZXcgQmxvYihbbWF4UGF5bG9hZF0pIH07Ci12YXIgZW1wdHlCdWZmZXJTb3VyY2VUZXN0
ID0geyBpZDogIkVtcHR5QnVmZmVyU291cmNlIiwgZGF0YTogbmV3IFVpbnQ4QXJyYXkoKSB9Owot
dmFyIHNtYWxsQnVmZmVyU291cmNlVGVzdCA9IHsgaWQ6ICJTbWFsbEJ1ZmZlclNvdXJjZSIsIGRh
dGE6IENyZWF0ZUFycmF5QnVmZmVyRnJvbVBheWxvYWQoc21hbGxQYXlsb2FkKSB9OwotdmFyIG1l
ZGl1bUJ1ZmZlclNvdXJjZVRlc3QgPSB7IGlkOiAiTWVkaXVtQnVmZmVyU291cmNlIiwgZGF0YTog
Q3JlYXRlQXJyYXlCdWZmZXJGcm9tUGF5bG9hZChtZWRpdW1QYXlsb2FkKSB9OwotdmFyIGxhcmdl
QnVmZmVyU291cmNlVGVzdCA9IHsgaWQ6ICJMYXJnZUJ1ZmZlclNvdXJjZSIsIGRhdGE6IENyZWF0
ZUFycmF5QnVmZmVyRnJvbVBheWxvYWQobGFyZ2VQYXlsb2FkKSB9OwotdmFyIG1heEJ1ZmZlclNv
dXJjZVRlc3QgPSB7IGlkOiAiTWF4QnVmZmVyU291cmNlIiwgZGF0YTogQ3JlYXRlQXJyYXlCdWZm
ZXJGcm9tUGF5bG9hZChtYXhQYXlsb2FkKSB9OwotdmFyIGVtcHR5Rm9ybURhdGFUZXN0ID0geyBp
ZDogIkVtcHR5Rm9ybURhdGEiLCBkYXRhOiBDcmVhdGVFbXB0eUZvcm1EYXRhUGF5bG9hZCgpIH07
Ci12YXIgc21hbGxGb3JtRGF0YVRlc3QgPSB7IGlkOiAiU21hbGxGb3JtRGF0YSIsIGRhdGE6IENy
ZWF0ZUZvcm1EYXRhRnJvbVBheWxvYWQoc21hbGxQYXlsb2FkKSB9OwotdmFyIG1lZGl1bUZvcm1E
YXRhVGVzdCA9IHsgaWQ6ICJNZWRpdW1Gb3JtRGF0YSIsIGRhdGE6IENyZWF0ZUZvcm1EYXRhRnJv
bVBheWxvYWQobWVkaXVtUGF5bG9hZCkgfTsKLXZhciBsYXJnZUZvcm1EYXRhVGVzdCA9IHsgaWQ6
ICJMYXJnZUZvcm1EYXRhIiwgZGF0YTogQ3JlYXRlRm9ybURhdGFGcm9tUGF5bG9hZChsYXJnZVBh
eWxvYWQpIH07Ci12YXIgc21hbGxTYWZlQ29udGVudFR5cGVFbmNvZGVkVGVzdCA9IHsgaWQ6ICJT
bWFsbFNhZmVDb250ZW50VHlwZUVuY29kZWQiLCBkYXRhOiBuZXcgQmxvYihbc21hbGxQYXlsb2Fk
XSwgeyB0eXBlOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyB9KSB9OwotdmFy
IHNtYWxsU2FmZUNvbnRlbnRUeXBlRm9ybVRlc3QgPSB7IGlkOiAiU21hbGxTYWZlQ29udGVudFR5
cGVGb3JtIiwgZGF0YTogbmV3IEZvcm1EYXRhKCkgfTsKLXZhciBzbWFsbFNhZmVDb250ZW50VHlw
ZVRleHRUZXN0ID0geyBpZDogIlNtYWxsU2FmZUNvbnRlbnRUeXBlVGV4dCIsIGRhdGE6IG5ldyBC
bG9iKFtzbWFsbFBheWxvYWRdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KSB9OwotdmFyIHNtYWxs
Q09SU0NvbnRlbnRUeXBlVGV4dFRlc3QgPSB7IGlkOiAiU21hbGxDT1JTQ29udGVudFR5cGVUZXh0
IiwgZGF0YTogbmV3IEJsb2IoW3NtYWxsUGF5bG9hZF0sIHsgdHlwZTogJ3RleHQvaHRtbCcgfSkg
fTsKK3ZhciBub0RhdGFUZXN0ID0geyBuYW1lOiAiTm9EYXRhIiB9OwordmFyIG51bGxEYXRhVGVz
dCA9IHsgbmFtZTogIk51bGxEYXRhIiwgZGF0YTogbnVsbCB9OwordmFyIHVuZGVmaW5lZERhdGFU
ZXN0ID0geyBuYW1lOiAiVW5kZWZpbmVkRGF0YSIsIGRhdGE6IHVuZGVmaW5lZCB9OwordmFyIHNt
YWxsU3RyaW5nVGVzdCA9IHsgbmFtZTogIlNtYWxsU3RyaW5nIiwgZGF0YTogc21hbGxQYXlsb2Fk
IH07Cit2YXIgbWVkaXVtU3RyaW5nVGVzdCA9IHsgbmFtZTogIk1lZGl1bVN0cmluZyIsIGRhdGE6
IG1lZGl1bVBheWxvYWQgfTsKK3ZhciBsYXJnZVN0cmluZ1Rlc3QgPSB7IG5hbWU6ICJMYXJnZVN0
cmluZyIsIGRhdGE6IGxhcmdlUGF5bG9hZCB9OwordmFyIG1heFN0cmluZ1Rlc3QgPSB7IG5hbWU6
ICJNYXhTdHJpbmciLCBkYXRhOiBtYXhQYXlsb2FkIH07Cit2YXIgZW1wdHlCbG9iVGVzdCA9IHsg
bmFtZTogIkVtcHR5QmxvYiIsIGRhdGE6IG5ldyBCbG9iKCkgfTsKK3ZhciBzbWFsbEJsb2JUZXN0
ID0geyBuYW1lOiAiU21hbGxCbG9iIiwgZGF0YTogbmV3IEJsb2IoW3NtYWxsUGF5bG9hZF0pIH07
Cit2YXIgbWVkaXVtQmxvYlRlc3QgPSB7IG5hbWU6ICJNZWRpdW1CbG9iIiwgZGF0YTogbmV3IEJs
b2IoW21lZGl1bVBheWxvYWRdKSB9OwordmFyIGxhcmdlQmxvYlRlc3QgPSB7IG5hbWU6ICJMYXJn
ZUJsb2IiLCBkYXRhOiBuZXcgQmxvYihbbGFyZ2VQYXlsb2FkXSkgfTsKK3ZhciBtYXhCbG9iVGVz
dCA9IHsgbmFtZTogIk1heEJsb2IiLCBkYXRhOiBuZXcgQmxvYihbbWF4UGF5bG9hZF0pIH07Cit2
YXIgZW1wdHlCdWZmZXJTb3VyY2VUZXN0ID0geyBuYW1lOiAiRW1wdHlCdWZmZXJTb3VyY2UiLCBk
YXRhOiBuZXcgVWludDhBcnJheSgpIH07Cit2YXIgc21hbGxCdWZmZXJTb3VyY2VUZXN0ID0geyBu
YW1lOiAiU21hbGxCdWZmZXJTb3VyY2UiLCBkYXRhOiBDcmVhdGVBcnJheUJ1ZmZlckZyb21QYXls
b2FkKHNtYWxsUGF5bG9hZCkgfTsKK3ZhciBtZWRpdW1CdWZmZXJTb3VyY2VUZXN0ID0geyBuYW1l
OiAiTWVkaXVtQnVmZmVyU291cmNlIiwgZGF0YTogQ3JlYXRlQXJyYXlCdWZmZXJGcm9tUGF5bG9h
ZChtZWRpdW1QYXlsb2FkKSB9OwordmFyIGxhcmdlQnVmZmVyU291cmNlVGVzdCA9IHsgbmFtZTog
IkxhcmdlQnVmZmVyU291cmNlIiwgZGF0YTogQ3JlYXRlQXJyYXlCdWZmZXJGcm9tUGF5bG9hZChs
YXJnZVBheWxvYWQpIH07Cit2YXIgbWF4QnVmZmVyU291cmNlVGVzdCA9IHsgbmFtZTogIk1heEJ1
ZmZlclNvdXJjZSIsIGRhdGE6IENyZWF0ZUFycmF5QnVmZmVyRnJvbVBheWxvYWQobWF4UGF5bG9h
ZCkgfTsKK3ZhciBlbXB0eUZvcm1EYXRhVGVzdCA9IHsgbmFtZTogIkVtcHR5Rm9ybURhdGEiLCBk
YXRhOiBDcmVhdGVFbXB0eUZvcm1EYXRhUGF5bG9hZCgpIH07Cit2YXIgc21hbGxGb3JtRGF0YVRl
c3QgPSB7IG5hbWU6ICJTbWFsbEZvcm1EYXRhIiwgZGF0YTogQ3JlYXRlRm9ybURhdGFGcm9tUGF5
bG9hZChzbWFsbFBheWxvYWQpIH07Cit2YXIgbWVkaXVtRm9ybURhdGFUZXN0ID0geyBuYW1lOiAi
TWVkaXVtRm9ybURhdGEiLCBkYXRhOiBDcmVhdGVGb3JtRGF0YUZyb21QYXlsb2FkKG1lZGl1bVBh
eWxvYWQpIH07Cit2YXIgbGFyZ2VGb3JtRGF0YVRlc3QgPSB7IG5hbWU6ICJMYXJnZUZvcm1EYXRh
IiwgZGF0YTogQ3JlYXRlRm9ybURhdGFGcm9tUGF5bG9hZChsYXJnZVBheWxvYWQpIH07Cit2YXIg
c21hbGxTYWZlQ29udGVudFR5cGVFbmNvZGVkVGVzdCA9IHsgbmFtZTogIlNtYWxsU2FmZUNvbnRl
bnRUeXBlRW5jb2RlZCIsIGRhdGE6IG5ldyBCbG9iKFtzbWFsbFBheWxvYWRdLCB7IHR5cGU6ICdh
cHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnIH0pIH07Cit2YXIgc21hbGxTYWZlQ29u
dGVudFR5cGVGb3JtVGVzdCA9IHsgbmFtZTogIlNtYWxsU2FmZUNvbnRlbnRUeXBlRm9ybSIsIGRh
dGE6IG5ldyBGb3JtRGF0YSgpIH07Cit2YXIgc21hbGxTYWZlQ29udGVudFR5cGVUZXh0VGVzdCA9
IHsgbmFtZTogIlNtYWxsU2FmZUNvbnRlbnRUeXBlVGV4dCIsIGRhdGE6IG5ldyBCbG9iKFtzbWFs
bFBheWxvYWRdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KSB9OwordmFyIHNtYWxsQ09SU0NvbnRl
bnRUeXBlVGV4dFRlc3QgPSB7IG5hbWU6ICJTbWFsbENPUlNDb250ZW50VHlwZVRleHQiLCBkYXRh
OiBuZXcgQmxvYihbc21hbGxQYXlsb2FkXSwgeyB0eXBlOiAndGV4dC9odG1sJyB9KSB9OwogLy8g
V2UgZG9uJ3QgdGVzdCBtYXhGb3JtRGF0YSBiZWNhdXNlIHRoZSBleHRyYSBtdWx0aXBhcnQgc2Vw
YXJhdG9ycyBtYWtlIGl0IGRpZmZpY3VsdCB0bwogLy8gY2FsY3VsYXRlIGEgbWF4UGF5bG9hZC4K
IApAQCAtNjYsMTMgKzY2LDYgQEAgdmFyIHNhbXBsZVRlc3RzID0gW25vRGF0YVRlc3QsIG51bGxE
YXRhVGVzdCwgdW5kZWZpbmVkRGF0YVRlc3QsIHNtYWxsU3RyaW5nVGVzdCwKIAogdmFyIHByZWZs
aWdodFRlc3RzID0gW3NtYWxsQ09SU0NvbnRlbnRUeXBlVGV4dFRlc3RdOwogCi0vLyBCdWlsZCBh
IHRlc3QgbG9va3VwIHRhYmxlLCB3aGljaCBpcyB1c2VmdWwgd2hlbiBpbnN0cnVjdGluZyBhIHdl
YiB3b3JrZXIgb3IgYW4gaWZyYW1lCi0vLyB0byBydW4gYSB0ZXN0LCBzbyB0aGF0IHdlIGRvbid0
IGhhdmUgdG8gbWFyc2hhbCB0aGUgZW50aXJlIHRlc3QgY2FzZSBhY3Jvc3MgYSBwcm9jZXNzIGJv
dW5kYXJ5LgotdmFyIHRlc3RMb29rdXAgPSB7fTsKLWFsbFRlc3RzLmZvckVhY2goZnVuY3Rpb24o
dGVzdENhc2UpIHsKLSAgICB0ZXN0TG9va3VwW3Rlc3RDYXNlLmlkXSA9IHRlc3RDYXNlOwotfSk7
Ci0KIC8vIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgYW4gQXJyYXlCdWZmZXIgcmVwcmVzZW50
YXRpb24gb2YgYSBzdHJpbmcuCiBmdW5jdGlvbiBDcmVhdGVBcnJheUJ1ZmZlckZyb21QYXlsb2Fk
KHBheWxvYWQpIHsKICAgICB2YXIgbGVuZ3RoID0gcGF5bG9hZC5sZW5ndGg7CkBAIC0xMDUsNzYg
Kzk4LDI3IEBAIGZ1bmN0aW9uIENyZWF0ZUZvcm1EYXRhRnJvbVBheWxvYWQocGF5bG9hZCkgewog
ICAgIHJldHVybiBmb3JtRGF0YTsKIH0KIAotLy8gSW5pdGlhbGl6ZXMgYSBzZXNzaW9uIHdpdGgg
YSBjbGllbnQtZ2VuZXJhdGVkIFNJRC4KLS8vIEEgInNlc3Npb24iIGlzIGEgcnVuIG9mIG9uZSBv
ciBtb3JlIHRlc3RzLiBJdCBpcyB1c2VkIHRvIGJhdGNoIHNldmVyYWwgYmVhY29uCi0vLyB0ZXN0
cyBpbiBhIHdheSB0aGF0IGlzb2xhdGVzIHRoZSBzZXJ2ZXItc2lkZSBzZXNzaW9uIHN0YXRlIGFu
ZCBtYWtlcyBpdCBlYXN5Ci0vLyB0byBwb2xsIHRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0cyBpbiBv
bmUgcmVxdWVzdC4KLS8vICAgICB0ZXN0Q2FzZXM6IFRoZSBhcnJheSBvZiB0ZXN0IGNhc2VzIHBh
cnRpY2lwYXRpbmcgaW4gdGhlIHNlc3Npb24uCi1mdW5jdGlvbiBpbml0U2Vzc2lvbih0ZXN0Q2Fz
ZXMpIHsKLSAgICByZXR1cm4gewotICAgICAgICAvLyBQcm92aWRlcyBhIHVuaXF1ZSBzZXNzaW9u
IGlkZW50aWZpZXIgdG8gcHJldmVudCBtaXhpbmcgc2VydmVyLXNpZGUgZGF0YQotICAgICAgICAv
LyB3aXRoIG90aGVyIHNlc3Npb25zLgotICAgICAgICBpZDogc2VsZi50b2tlbigpLAotICAgICAg
ICAvLyBEaWN0aW9uYXJ5IG9mIHRlc3QgbmFtZSB0byBsaXZlIHRlc3RDYXNlIG9iamVjdC4KLSAg
ICAgICAgdGVzdENhc2VMb29rdXA6IHt9LAotICAgICAgICAvLyBBcnJheSBvZiB0ZXN0Q2FzZSBv
YmplY3RzIGZvciBpdGVyYXRpb24uCi0gICAgICAgIHRlc3RDYXNlczogW10sCi0gICAgICAgIC8v
IFRyYWNrcyB0aGUgdG90YWwgbnVtYmVyIG9mIHRlc3RzIGluIHRoZSBzZXNzaW9uLgotICAgICAg
ICB0b3RhbENvdW50OiB0ZXN0Q2FzZXMubGVuZ3RoLAotICAgICAgICAvLyBUcmFja3MgdGhlIG51
bWJlciBvZiB0ZXN0cyBmb3Igd2hpY2ggd2UgaGF2ZSBzZW50IHRoZSBiZWFjb24uCi0gICAgICAg
IC8vIFdoZW4gaXQgcmVhY2hlcyB0b3RhbENvdW50LCB3ZSB3aWxsIHN0YXJ0IHBvbGxpbmcgZm9y
IHJlc3VsdHMuCi0gICAgICAgIHNlbnRDb3VudDogMCwKLSAgICAgICAgLy8gVHJhY2tzIHRoZSBu
dW1iZXIgb2YgdGVzdHMgZm9yIHdoaWNoIHdlIGhhdmUgdmVyaWZpZWQgdGhlIHJlc3VsdHMuCi0g
ICAgICAgIC8vIFdoZW4gaXQgcmVhY2hlcyBzZW50Q291bnQsIHdlIHdpbGwgc3RvcCBwb2xsaW5n
IGZvciByZXN1bHRzLgotICAgICAgICBkb25lQ291bnQ6IDAsCi0gICAgICAgIC8vIEhlbHBlciB0
byBhZGQgYSB0ZXN0Q2FzZSB0byB0aGUgc2Vzc2lvbi4KLSAgICAgICAgYWRkOiBmdW5jdGlvbiBh
ZGQodGVzdENhc2UpIHsKLSAgICAgICAgICAgIHRoaXMudGVzdENhc2VzLnB1c2godGVzdENhc2Up
OwotICAgICAgICAgICAgdGhpcy50ZXN0Q2FzZUxvb2t1cFt0ZXN0Q2FzZS5pZF0gPSB0ZXN0Q2Fz
ZTsKLSAgICAgICAgfQotICAgIH07Ci19Ci0KIC8vIFNjaGVkdWxlcyBhc3luY190ZXN0J3MgZm9y
IGVhY2ggb2YgdGhlIHRlc3QgY2FzZXMsIHRyZWF0aW5nIHRoZW0gYXMgYSBzaW5nbGUgc2Vzc2lv
biwKIC8vIGFuZCB3aXJlcyB1cCB0aGUgY29udGludWVBZnRlclNlbmRpbmdCZWFjb24oKSBhbmQg
d2FpdEZvclJlc3VsdHMoKSBjYWxscy4KLS8vIFRoZSBtZXRob2QgbG9va3MgZm9yIHNldmVyYWwg
ImV4dGVuc2lvbiIgZnVuY3Rpb25zIGluIHRoZSBnbG9iYWwgc2NvcGU6Ci0vLyAgIC0gc2VsZi5i
dWlsZEJhc2VVcmw6IGlmIHByZXNlbnQsIGNhbiBjaGFuZ2UgdGhlIGJhc2UgVVJMIG9mIGEgYmVh
Y29uIHRhcmdldCBVUkwgKHRoaXMKLS8vICAgICBpcyB0aGUgc2NoZW1lLCBob3N0bmFtZSwgYW5k
IHBvcnQpLgotLy8gICAtIHNlbGYuYnVpbGRUYXJnZXRVcmw6IGlmIHByZXNlbnQsIGNhbiBtb2Rp
ZnkgYSBiZWFjb24gdGFyZ2V0IFVSTCAoZm9yIGV4YW1wbGUgd3JhcCBpdCkuCiAvLyBQYXJhbWV0
ZXJzOgogLy8gICAgIHRlc3RDYXNlczogQW4gYXJyYXkgb2YgdGVzdCBjYXNlcy4KLS8vICAgICBz
ZW5kRGF0YSBbb3B0aW9uYWxdOiBBIGZ1bmN0aW9uIHRoYXQgc2VuZHMgdGhlIGJlYWNvbi4KLWZ1
bmN0aW9uIHJ1blRlc3RzKHRlc3RDYXNlcywgc2VuZERhdGEgPSBzZWxmLnNlbmREYXRhKSB7Ci0g
ICAgY29uc3Qgc2Vzc2lvbiA9IGluaXRTZXNzaW9uKHRlc3RDYXNlcyk7Ci0KLSAgICB0ZXN0Q2Fz
ZXMuZm9yRWFjaChmdW5jdGlvbih0ZXN0Q2FzZSwgdGVzdEluZGV4KSB7Ci0gICAgICAgIC8vIE1h
a2UgYSBjb3B5IG9mIHRoZSB0ZXN0IGNhc2UgYXMgd2UnbGwgYmUgc3RvcmluZyBzb21lIG1ldGFk
YXRhIG9uIGl0LAotICAgICAgICAvLyBzdWNoIGFzIHdoaWNoIHNlc3Npb24gaXQgYmVsb25ncyB0
by4KLSAgICAgICAgY29uc3QgdGVzdENhc2VDb3B5ID0gT2JqZWN0LmFzc2lnbih7IHNlc3Npb246
IHNlc3Npb24gfSwgdGVzdENhc2UpOwotCi0gICAgICAgIHRlc3RDYXNlQ29weS5pbmRleCA9IHRl
c3RJbmRleDsKLQorLy8gICAgIHN1ZmZpeCBbb3B0aW9uYWxdOiBBIHN0cmluZyB1c2VkIGZvciB0
aGUgc3VmZml4IGZvciBlYWNoIHRlc3QgY2FzZSBuYW1lLgorLy8gICAgIGJ1aWxkVXJsIFtvcHRp
b25hbF06IEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgYmVhY29uIFVSTCBnaXZlbiBhbiBpZC4K
Ky8vICAgICBzZW5kRGF0YSBbb3B0aW9uYWxdOiBBIGZ1bmN0aW9uIHRoYXQgc2VuZHMgdGhlIGJl
YWNvbiB3aXRoIGdpdmVuIGEgVVJMIGFuZCBwYXlsb2FkLgorZnVuY3Rpb24gcnVuVGVzdHModGVz
dENhc2VzLCBzdWZmaXggPSAnJywgYnVpbGRVcmwgPSBzZWxmLmJ1aWxkVXJsLCBzZW5kRGF0YSA9
IHNlbGYuc2VuZERhdGEpIHsKKyAgICBmb3IgKGNvbnN0IHRlc3RDYXNlIG9mIHRlc3RDYXNlcykg
eworICAgICAgICBjb25zdCBpZCA9IHRva2VuKCk7CiAgICAgICAgIGFzeW5jX3Rlc3QoKHRlc3Qp
ID0+IHsKLSAgICAgICAgICAgIC8vIFNhdmUgdGhlIHRlc3RoYXJuZXNzLmpzICd0ZXN0JyBvYmpl
Y3QsIHNvIHRoYXQgd2Ugb25seSBoYXZlIG9uZSBvYmplY3QKLSAgICAgICAgICAgIC8vIHRvIHBh
c3MgYXJvdW5kLgotICAgICAgICAgICAgdGVzdENhc2VDb3B5LnRlc3QgPSB0ZXN0OwotCi0gICAg
ICAgICAgICAvLyBFeHRlbnNpb24gcG9pbnQ6IGdlbmVyYXRlIHRoZSBiZWFjb24gVVJMLgotICAg
ICAgICAgICAgdmFyIGJhc2VVcmwgPSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMF19
fSI7Ci0gICAgICAgICAgICBpZiAoc2VsZi5idWlsZEJhc2VVcmwpIHsKLSAgICAgICAgICAgICAg
ICBiYXNlVXJsID0gc2VsZi5idWlsZEJhc2VVcmwoYmFzZVVybCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB2YXIgdGFyZ2V0VXJsID0gYCR7YmFzZVVybH0vYmVhY29uL3Jlc291cmNlcy9i
ZWFjb24ucHk/Y21kPXN0b3JlJnNpZD0ke3Nlc3Npb24uaWR9JnRpZD0ke3Rlc3RDYXNlQ29weS5p
ZH0mdGlkeD0ke3Rlc3RJbmRleH1gOwotICAgICAgICAgICAgaWYgKHNlbGYuYnVpbGRUYXJnZXRV
cmwpIHsKLSAgICAgICAgICAgICAgICB0YXJnZXRVcmwgPSBzZWxmLmJ1aWxkVGFyZ2V0VXJsKHRh
cmdldFVybCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBBdHRhY2ggdGhlIFVSTCB0
byB0aGUgdGVzdCBvYmplY3QgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KLSAgICAgICAgICAgIHRl
c3RDYXNlQ29weS51cmwgPSB0YXJnZXRVcmw7Ci0KLSAgICAgICAgICAgIGFzc2VydF90cnVlKHNl
bmREYXRhKHRlc3RDYXNlQ29weSksICdzZW5kQmVhY29uIHNob3VsZCBzdWNjZWVkJyk7Ci0gICAg
ICAgICAgICB3YWl0Rm9yUmVzdWx0KHRlc3RDYXNlQ29weSkudGhlbigoKSA9PiB0ZXN0LmRvbmUo
KSwgdGVzdC5zdGVwX2Z1bmMoKGUpID0+IHt0aHJvdyBlO30pKTsKLSAgICAgICAgfSwgYFZlcmlm
eSAnbmF2aWdhdG9yLnNlbmRiZWFjb24oKScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50
OiAke3Rlc3RDYXNlQ29weS5pZH1gKTsKLSAgICB9KTsKKyAgICAgICAgICAgIGNvbnN0IHVybCA9
IGJ1aWxkVXJsKGlkKTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKHNlbmREYXRhKHVybCwgdGVz
dENhc2UuZGF0YSksICdzZW5kQmVhY29uIHNob3VsZCBzdWNjZWVkJyk7CisgICAgICAgICAgICB3
YWl0Rm9yUmVzdWx0KGlkKS50aGVuKCgpID0+IHRlc3QuZG9uZSgpLCB0ZXN0LnN0ZXBfZnVuYygo
ZSkgPT4ge3Rocm93IGU7fSkpOworICAgICAgICB9LCBgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJl
YWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6ICR7dGVzdENhc2UubmFtZX0k
e3N1ZmZpeH1gKTsKKyAgICB9OworfQorCitmdW5jdGlvbiBidWlsZFVybChpZCkgeworICAgIGNv
bnN0IGJhc2VVcmwgPSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMF19fSI7CisgICAg
cmV0dXJuIGAke2Jhc2VVcmx9L2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5P2NtZD1zdG9yZSZp
ZD0ke2lkfWA7CiB9CiAKIC8vIFNlbmRzIHRoZSBiZWFjb24gZm9yIGEgc2luZ2xlIHRlc3QuIFRo
aXMgc3RlcCBpcyBmYWN0b3JlZCBpbnRvIGl0cyBvd24gZnVuY3Rpb24gc28gdGhhdApAQCAtMTgz
LDE1ICsxMjcsMTMgQEAgZnVuY3Rpb24gcnVuVGVzdHModGVzdENhc2VzLCBzZW5kRGF0YSA9IHNl
bGYuc2VuZERhdGEpIHsKIC8vIGZ1bGwgdGVzdGhhcm5lc3MuanMgdGVzdCBjb250ZXh0LiBJbnN0
ZWFkIHJldHVybiAnZmFsc2UnLCBhbmQgdGhlIG1haW4gc2NvcGUgd2lsbCBmYWlsCiAvLyB0aGUg
dGVzdC4KIC8vIFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgJ3NlbmRiZWFjb24oKScgZnVuY3Rp
b24gY2FsbCwgdHJ1ZSBvciBmYWxzZS4KLWZ1bmN0aW9uIHNlbmREYXRhKHRlc3RDYXNlKSB7Ci0g
ICAgcmV0dXJuIHNlbGYubmF2aWdhdG9yLnNlbmRCZWFjb24odGVzdENhc2UudXJsLCB0ZXN0Q2Fz
ZS5kYXRhKTsKK2Z1bmN0aW9uIHNlbmREYXRhKHVybCwgcGF5bG9hZCkgeworICAgIHJldHVybiBz
ZWxmLm5hdmlnYXRvci5zZW5kQmVhY29uKHVybCwgcGF5bG9hZCk7CiB9CiAKIC8vIFBvbGwgdGhl
IHNlcnZlciBmb3IgdGhlIHRlc3QgcmVzdWx0LgotYXN5bmMgZnVuY3Rpb24gd2FpdEZvclJlc3Vs
dCh0ZXN0Q2FzZSkgewotICAgIGNvbnN0IHNlc3Npb24gPSB0ZXN0Q2FzZS5zZXNzaW9uOwotICAg
IGNvbnN0IGluZGV4ID0gdGVzdENhc2UuaW5kZXg7Ci0gICAgY29uc3QgdXJsID0gYHJlc291cmNl
cy9iZWFjb24ucHk/Y21kPXN0YXQmc2lkPSR7c2Vzc2lvbi5pZH0mdGlkeF9taW49JHtpbmRleH0m
dGlkeF9tYXg9JHtpbmRleH1gOworYXN5bmMgZnVuY3Rpb24gd2FpdEZvclJlc3VsdChpZCkgewor
ICAgIGNvbnN0IHVybCA9IGByZXNvdXJjZXMvYmVhY29uLnB5P2NtZD1zdGF0JmlkPSR7aWR9YDsK
ICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDMwOyArK2kpIHsKICAgICAgICAgY29uc3QgcmVzcG9u
c2UgPSBhd2FpdCBmZXRjaCh1cmwpOwogICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzcG9u
c2UudGV4dCgpOwpAQCAtMjE4LDE2ICsxNjAsMTAgQEAgZnVuY3Rpb24gcnVuU2VuZEluSWZyYW1l
QW5kTmF2aWdhdGVUZXN0cygpIHsKICAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7CiAg
ICAgICAgIC8vIENsZWFyIG91ciBvbmxvYWQgaGFuZGxlciB0byBwcmV2ZW50IHJlLXJ1bm5pbmcg
dGhlIHRlc3RzIGFzIHdlIG5hdmlnYXRlIGF3YXkuCiAgICAgICAgIGlmcmFtZS5vbmxvYWQgPSBu
dWxsOwotICAgICAgICBmdW5jdGlvbiBzZW5kRGF0YSh0ZXN0Q2FzZSkgewotICAgICAgICAgICAg
cmV0dXJuIGlmcmFtZS5jb250ZW50V2luZG93Lm5hdmlnYXRvci5zZW5kQmVhY29uKHRlc3RDYXNl
LnVybCwgdGVzdENhc2UuZGF0YSk7Ci0gICAgICAgIH0KLSAgICAgICAgY29uc3QgdGVzdHMgPSBb
XTsKLSAgICAgICAgZm9yIChjb25zdCB0ZXN0IG9mIHNhbXBsZVRlc3RzKSB7Ci0gICAgICAgICAg
ICBjb25zdCBjb3B5ID0gT2JqZWN0LmFzc2lnbih7fSwgdGVzdCk7Ci0gICAgICAgICAgICBjb3B5
LmlkID0gYCR7dGVzdC5pZH0tTkFWSUdBVEVgOwotICAgICAgICAgICAgdGVzdHMucHVzaChjb3B5
KTsKKyAgICAgICAgZnVuY3Rpb24gc2VuZERhdGEodXJsLCBwYXlsb2FkKSB7CisgICAgICAgICAg
ICByZXR1cm4gaWZyYW1lLmNvbnRlbnRXaW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24odXJsLCBw
YXlsb2FkKTsKICAgICAgICAgfQotICAgICAgICBydW5UZXN0cyh0ZXN0cywgc2VuZERhdGEpOwor
ICAgICAgICBydW5UZXN0cyhzYW1wbGVUZXN0cywgJy1OQVZJR0FURScsIHNlbGYuYnVpbGRVcmws
IHNlbmREYXRhKTsKICAgICAgICAgLy8gTm93IG5hdmlnYXRlIG91cnNlbHZlcy4KICAgICAgICAg
aWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24gPSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNb
aHR0cF1bMF19fS8iOwogICAgIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tY29ycy5zdWIud2luZG93LmpzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29u
LWNvcnMuc3ViLndpbmRvdy5qcwppbmRleCA3OWFjZGUxZjAzNTAxOGJjY2NlZGI2MWI1ZDUwMzM1
M2JmNzY5ZTg5Li45YTk1YWNiYTliZTBlNGZiMDE2ZmMzOWE3ODA2MmE1ZWZiMTE2MGZmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNv
bi9iZWFjb24tY29ycy5zdWIud2luZG93LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1jb3JzLnN1Yi53aW5kb3cuanMKQEAg
LTgsMTUgKzgsOCBAQAogLy8gdGhlIGJlYWNvbiBoYW5kbGVyIHdpbGwgcmV0dXJuIENPUlMgaGVh
ZGVycy4gVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB0aGUKIC8vIHNlbmRCZWFjb24oKSBzdWNjZWVk
cyBpbiBlaXRoZXIgY2FzZS4KIFt0cnVlLCBmYWxzZV0uZm9yRWFjaChmdW5jdGlvbihhbGxvd0Nv
cnMpIHsKLSAgICAvLyBJbXBsZW1lbnQgdGhlIHNlbGYuYnVpbGRCYXNlVXJsIGFuZCBzZWxmLmJ1
aWxkVGFyZ2V0VXJsIGV4dGVuc2lvbnMKLSAgICAvLyB0byBjaGFuZ2UgdGhlIHRhcmdldCBVUkwg
dG8gdXNlIGEgY3Jvc3Mtb3JpZ2luIGRvbWFpbiBuYW1lLgotICAgIHNlbGYuYnVpbGRCYXNlVXJs
ID0gZnVuY3Rpb24oYmFzZVVybCkgewotICAgICAgICByZXR1cm4gImh0dHA6Ly97e2hvc3RzW2Fs
dF1bXX19Ont7cG9ydHNbaHR0cF1bMF19fSI7Ci0gICAgfTsKLSAgICAvLyBJbXBsZW1lbnQgdGhl
IHNlbGYuYnVpbGRUYXJnZXRVcmwgZXh0ZW5zaW9uIHRvIGFwcGVuZCBhIGRpcmVjdGl2ZQotICAg
IC8vIHRvIHRoZSBoYW5kbGVyLCB0aGF0IGl0IHNob3VsZCByZXR1cm4gQ09SUyBoZWFkZXJzLCBp
ZiAnYWxsb3dDb3JzJwotICAgIC8vIGlzIHRydWUuCi0gICAgc2VsZi5idWlsZFRhcmdldFVybCA9
IGZ1bmN0aW9uKHRhcmdldFVybCkgeworICAgIGZ1bmN0aW9uIGJ1aWxkVXJsKGlkKSB7CisgICAg
ICAgIGNvbnN0IGJhc2VVcmwgPSAiaHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRw
XVswXX19IjsKICAgICAgICAgLy8gTm90ZSB0aGF0ICdhbGxvd0NvcnM9dHJ1ZScgaXMgbm90IG5l
Y2Vzc2FyeSBmb3IgdGhlIHNlbmRCZWFjb24oKSB0byByZWFjaAogICAgICAgICAvLyB0aGUgc2Vy
dmVyLiBCZWFjb25zIHVzZSB0aGUgSFRUUCBQT1NUIG1ldGhvZCwgd2hpY2ggaXMgYSBDT1JTLXNh
ZmVsaXN0ZWQKICAgICAgICAgLy8gbWV0aG9kLCBhbmQgdGh1cyB0aGV5IGRvIG5vdCB0cmlnZ2Vy
IHByZWZsaWdodC4gSWYgdGhlIHNlcnZlciBkb2VzIG5vdApAQCAtMjcsMTYgKzIwLDEwIEBACiAg
ICAgICAgIC8vIHZhbHVlIG9mIHRoZSBzZW5kQmVhY29uKCkgY2FsbCwgYmVjYXVzZSB0aGUgdW5k
ZXJseWluZyBmZXRjaCBpcyBhc3luY2hyb25vdXMuCiAgICAgICAgIC8vIFRoZSAiQmVhY29uIENP
UlMiIHRlc3RzIGFyZSBtZXJlbHkgdGVzdGluZyB0aGF0IHNlbmRCZWFjb24oKSB0byBhIGNyb3Nz
LQogICAgICAgICAvLyBvcmlnaW4gVVJMICp3aWxsKiB3b3JrIHJlZ2FyZGxlc3MuCi0gICAgICAg
IHJldHVybiBhbGxvd0NvcnMgPyBgJHt0YXJnZXRVcmx9Jm9yaWdpbj1odHRwOi8ve3tob3N0fX06
e3twb3J0c1todHRwXVswXX19JmNyZWRlbnRpYWxzPXRydWVgIDogdGFyZ2V0VXJsOworICAgICAg
ICBjb25zdCBhZGRpdGlvbmFsUXVlcnkgPSBhbGxvd0NvcnMgPyAiJm9yaWdpbj1odHRwOi8ve3to
b3N0fX06e3twb3J0c1todHRwXVswXX19JmNyZWRlbnRpYWxzPXRydWUiIDogIiI7CisgICAgICAg
IHJldHVybiBgJHtiYXNlVXJsfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUm
aWQ9JHtpZH0ke2FkZGl0aW9uYWxRdWVyeX1gCiAgICAgfQotCi0gICAgY29uc3QgdGVzdHMgPSBb
XTsKLSAgICBmb3IgKGNvbnN0IHRlc3Qgb2Ygc2FtcGxlVGVzdHMpIHsKLSAgICAgICAgY29uc3Qg
Y29weSA9IE9iamVjdC5hc3NpZ24oe30sIHRlc3QpOwotICAgICAgICBjb3B5LmlkID0gYCR7dGVz
dC5pZH0tJHthbGxvd0NvcnMgPyAiQ09SUy1BTExPVyIgOiAiQ09SUy1GT1JCSUQifWA7Ci0gICAg
ICAgIHRlc3RzLnB1c2goY29weSk7Ci0gICAgfQotICAgIHJ1blRlc3RzKHRlc3RzKTsKKyAgICBy
dW5UZXN0cyhzYW1wbGVUZXN0cywgYWxsb3dDb3JzID8gIi1DT1JTLUFMTE9XIiA6ICItQ09SUy1G
T1JCSUQiLCBidWlsZFVybCk7CiB9KTsKIAogLy8gTm93IHRlc3QgYSBjcm9zcy1vcmlnaW4gcmVx
dWVzdCB0aGF0IGRvZXNuJ3QgdXNlIGEgc2FmZWxpc3RlZCBDb250ZW50LVR5cGUgYW5kIGVuc3Vy
ZQpAQCAtNDQsMjQgKzMxLDEyIEBACiAvLyBoZWFkZXIgaXMgdXNlZCB0aGVyZSBzaG91bGQgYmUg
YSBwcmVmbGlnaHQvb3B0aW9ucyByZXF1ZXN0IGFuZCB3ZSBzaG91bGQgb25seSBzdWNjZWVkCiAv
LyBzZW5kIHRoZSBwYXlsb2FkIGlmIHRoZSBwcm9wZXIgQ09SUyBoZWFkZXJzIGFyZSB1c2VkLgog
ewotICAgIC8vIEltcGxlbWVudCB0aGUgc2VsZi5idWlsZEJhc2VVcmwgYW5kIHNlbGYuYnVpbGRU
YXJnZXRVcmwgZXh0ZW5zaW9ucwotICAgIC8vIHRvIGNoYW5nZSB0aGUgdGFyZ2V0IFVSTCB0byB1
c2UgYSBjcm9zcy1vcmlnaW4gZG9tYWluIG5hbWUuCi0gICAgc2VsZi5idWlsZEJhc2VVcmwgPSBm
dW5jdGlvbiAoYmFzZVVybCkgewotICAgICAgICByZXR1cm4gImh0dHA6Ly97e2hvc3RzW2FsdF1b
XX19Ont7cG9ydHNbaHR0cF1bMF19fSI7Ci0gICAgfTsKLQotICAgIC8vIEltcGxlbWVudCB0aGUg
c2VsZi5idWlsZFRhcmdldFVybCBleHRlbnNpb24gdG8gYXBwZW5kIGEgZGlyZWN0aXZlCi0gICAg
Ly8gdG8gdGhlIGhhbmRsZXIsIHRoYXQgaXQgc2hvdWxkIHJldHVybiBDT1JTIGhlYWRlcnMgZm9y
IHRoZSBwcmVmbGlnaHQgd2UgZXhwZWN0LgotICAgIHNlbGYuYnVpbGRUYXJnZXRVcmwgPSBmdW5j
dGlvbiAodGFyZ2V0VXJsKSB7Ci0gICAgICAgIHJldHVybiBgJHt0YXJnZXRVcmx9Jm9yaWdpbj1o
dHRwOi8ve3tob3N0fX06e3twb3J0c1todHRwXVswXX19JmNyZWRlbnRpYWxzPXRydWUmcHJlZmxp
Z2h0RXhwZWN0ZWQ9dHJ1ZWA7Ci0gICAgfQotICAgIGNvbnN0IHRlc3RzID0gW107Ci0gICAgZm9y
IChjb25zdCB0ZXN0IG9mIHByZWZsaWdodFRlc3RzKSB7Ci0gICAgICAgIGNvbnN0IGNvcHkgPSBP
YmplY3QuYXNzaWduKHt9LCB0ZXN0KTsKLSAgICAgICAgY29weS5pZCA9IGAke3Rlc3QuaWR9LVBS
RUZMSUdIVC1BTExPV2A7Ci0gICAgICAgIHRlc3RzLnB1c2goY29weSk7CisgICAgZnVuY3Rpb24g
YnVpbGRVcmwoaWQpIHsKKyAgICAgICAgY29uc3QgYmFzZVVybCA9ICJodHRwOi8ve3tob3N0c1th
bHRdW119fTp7e3BvcnRzW2h0dHBdWzBdfX0iOworICAgICAgICBjb25zdCBhZGRpdGlvbmFsUXVl
cnkgPSAiJm9yaWdpbj1odHRwOi8ve3tob3N0fX06e3twb3J0c1todHRwXVswXX19JmNyZWRlbnRp
YWxzPXRydWUmcHJlZmxpZ2h0RXhwZWN0ZWQ9dHJ1ZSI7CisgICAgICAgIHJldHVybiBgJHtiYXNl
VXJsfS9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weT9jbWQ9c3RvcmUmaWQ9JHtpZH0ke2FkZGl0
aW9uYWxRdWVyeX1gCiAgICAgfQotICAgIHJ1blRlc3RzKHRlc3RzKTsKKyAgICBydW5UZXN0cyhw
cmVmbGlnaHRUZXN0cywgIi1QUkVGTElHSFQtQUxMT1ciLCBidWlsZFVybCk7CiB9CiAKIGRvbmUo
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvYmVhY29uL2JlYWNvbi1lcnJvci5zdWIud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1Yi53aW5kb3cu
anMKaW5kZXggZjJjNWU5NWEyNzZjMjU3Mzg3ZTFjZDg1YzJiY2I3MDA5MGQxMTMyYy4uNDk5ZmEz
YjI3MjEzZjJiNTk1OGMwYzkwY2Q3NmVhYTM4MmJiMGJlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1
Yi53aW5kb3cuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iZWFjb24vYmVhY29uLWVycm9yLnN1Yi53aW5kb3cuanMKQEAgLTEzLDEzICsxMywxMyBA
QCB0ZXN0KGZ1bmN0aW9uKCkgewogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZhciBpbnZhbGlk
VXJsID0gImh0dHA6Ly9pbnZhbGlkOnVybCI7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlwZUVy
cm9yKCksIGZ1bmN0aW9uKCkgeyBuYXZpZ2F0b3Iuc2VuZEJlYWNvbihpbnZhbGlkVXJsLCBzbWFs
bFBheWxvYWQpOyB9LAorICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlvbigp
IHsgbmF2aWdhdG9yLnNlbmRCZWFjb24oaW52YWxpZFVybCwgc21hbGxQYXlsb2FkKTsgfSwKICAg
ICAgICAgYGNhbGxpbmcgJ25hdmlnYXRvci5zZW5kQmVhY29uKCknIHdpdGggYW4gaW52YWxpZCBV
UkwgJyR7aW52YWxpZFVybH0nIG11c3QgdGhyb3cgYSBUeXBlRXJyb3JgKTsKIH0sICJWZXJpZnkg
Y2FsbGluZyAnbmF2aWdhdG9yLnNlbmRCZWFjb24oKScgd2l0aCBhbiBpbnZhbGlkIFVSTCB0aHJv
d3MgYW4gZXhjZXB0aW9uLiIpOwogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZhciBpbnZhbGlk
VXJsID0gIm5vdGh0dHA6Ly9pbnZhbGlkLnVybCI7Ci0gICAgYXNzZXJ0X3Rocm93cyhuZXcgVHlw
ZUVycm9yKCksIGZ1bmN0aW9uKCkgeyBuYXZpZ2F0b3Iuc2VuZEJlYWNvbihpbnZhbGlkVXJsLCBz
bWFsbFBheWxvYWQpOyB9LAorICAgIGFzc2VydF90aHJvd3NfanMoVHlwZUVycm9yLCBmdW5jdGlv
bigpIHsgbmF2aWdhdG9yLnNlbmRCZWFjb24oaW52YWxpZFVybCwgc21hbGxQYXlsb2FkKTsgfSwK
ICAgICAgICAgIGBjYWxsaW5nICduYXZpZ2F0b3Iuc2VuZEJlYWNvbigpJyB3aXRoIGEgbm9uLWh0
dHAocykgVVJMICcke2ludmFsaWRVcmx9JyBtdXN0IHRocm93IGEgVHlwZUVycm9yYCk7CiB9LCAi
VmVyaWZ5IGNhbGxpbmcgJ25hdmlnYXRvci5zZW5kQmVhY29uKCknIHdpdGggYSBVUkwgdGhhdCBp
cyBub3QgYSBodHRwKHMpIHNjaGVtZSB0aHJvd3MgYW4gZXhjZXB0aW9uLiIpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9i
ZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcHJlZmxp
Z2h0LWZhaWx1cmUuc3ViLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGViZTM2OWQ5
NjNiNmY2Mzg0YmQ3ZGM3MTA0Y2Y1MWFjZTY2ZjY2MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVm
bGlnaHQtZmFpbHVyZS5zdWIud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKwor
UEFTUyBiZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQt
ZmFpbHVyZS5zdWIud2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRvdy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9iZWFjb24tcHJlZmxpZ2h0LWZhaWx1cmUuc3ViLndpbmRvdy5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQtZmFpbHVyZS5zdWIud2luZG93
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24v
YmVhY29uLXByZWZsaWdodC1mYWlsdXJlLnN1Yi53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVhMmQ4
MTNmMTc2YWRjNDJkM2NlM2I2ZmVlZWEyYjZlMzRlOWM2OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1w
cmVmbGlnaHQtZmFpbHVyZS5zdWIud2luZG93LmpzCkBAIC0wLDAgKzEsMjggQEAKKy8vIE1FVEE6
IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCisvLyBNRVRBOiBzY3JpcHQ9L2NvbW1vbi9nZXQtaG9z
dC1pbmZvLnN1Yi5qcworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgY29uc3Qg
b3JpZ2luID0gZ2V0X2hvc3RfaW5mbygpLlJFTU9URV9PUklHSU47CisgIGNvbnN0IGlkID0gdG9r
ZW4oKTsKKyAgY29uc3Qgc3RvcmUgPSBgJHtvcmlnaW59L2JlYWNvbi9yZXNvdXJjZXMvYmVhY29u
LnB5P2NtZD1zdG9yZSZpZD0ke2lkfWA7CisgIGNvbnN0IG1vbml0b3IgPSBgL2JlYWNvbi9yZXNv
dXJjZXMvYmVhY29uLnB5P2NtZD1zdGF0JmlkPSR7aWR9YDsKKworICBhc3NlcnRfdHJ1ZShuYXZp
Z2F0b3Iuc2VuZEJlYWNvbihzdG9yZSwgbmV3IEJsb2IoW10sIHt0eXBlOiAneC95J30pKSk7CisK
KyAgbGV0IGFjdHVhbDsKKyAgZm9yIChsZXQgaSA9IDA7IGkgPCAzMDsgKytpKSB7CisgICAgYXdh
aXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMCkp
OworCisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChtb25pdG9yKTsKKyAgICBjb25z
dCBvYmogPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CisgICAgaWYgKG9iai5sZW5ndGggPiAwKSB7
CisgICAgICBhY3R1YWwgPSBKU09OLnN0cmluZ2lmeShvYmopOworICAgICAgYnJlYWs7CisgICAg
fQorICB9CisKKyAgY29uc3QgZXhwZWN0ZWQgPQorICAgIEpTT04uc3RyaW5naWZ5KFt7ZXJyb3I6
ICdQcmVmbGlnaHQgbm90IGV4cGVjdGVkLid9XSk7CisKKyAgYXNzZXJ0X2VxdWFscyhhY3R1YWws
IGV4cGVjdGVkKTsKK30pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNv
bi1yZWFkYWJsZXN0cmVhbS53aW5kb3cuanMKaW5kZXggZmM3ZjgxZjg4NGJkZjQ3YjZlYjc2ZjZk
OWIyMzdiYzM4NTU2ZWZhNC4uNDZlMzBmY2RhNWNjODVmOTRkMDhiNjEyMjM2ZDk1MmNiMzE2ZGZi
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9iZWFjb24vYmVhY29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVhZGFibGVz
dHJlYW0ud2luZG93LmpzCkBAIC0xLDMgKzEsMyBAQAogdGVzdCgoKSA9PiB7Ci0gIGFzc2VydF90
aHJvd3MobmV3IFR5cGVFcnJvcigpLCAoKSA9PiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbigiLi4uIiwg
bmV3IFJlYWRhYmxlU3RyZWFtKCkpKTsKKyAgYXNzZXJ0X3Rocm93c19qcyhUeXBlRXJyb3IsICgp
ID0+IG5hdmlnYXRvci5zZW5kQmVhY29uKCIuLi4iLCBuZXcgUmVhZGFibGVTdHJlYW0oKSkpOwog
fSwgInNlbmRCZWFjb24oKSB3aXRoIGEgc3RyZWFtIGRvZXMgbm90IHdvcmsgZHVlIHRvIHRoZSBr
ZWVwYWxpdmUgZmxhZyBiZWluZyBzZXQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC5zdWIud2lu
ZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC5zdWIud2luZG93LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kYjAyMDRlNzYwYzRlMzY1NTNkNzg5Nzk3ODUyYzc1MTNiN2NiMjgzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9i
ZWFjb24vYmVhY29uLXJlZGlyZWN0LnN1Yi53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjIgQEAKKworUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxs
eSBzZW5kcyBmb3IgdmFyaWFudDogTm9EYXRhLTMwNyAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iu
c2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IE51bGxEYXRhLTMw
NyAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2Vu
ZHMgZm9yIHZhcmlhbnQ6IFVuZGVmaW5lZERhdGEtMzA3IAorUEFTUyBWZXJpZnkgJ25hdmlnYXRv
ci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxTdHJp
bmctMzA3IAorUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxs
eSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxCbG9iLTMwNyAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0
b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsQnVm
ZmVyU291cmNlLTMwNyAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNj
ZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsRm9ybURhdGEtMzA3IAorUEFTUyBWZXJp
ZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFu
dDogU21hbGxTYWZlQ29udGVudFR5cGVFbmNvZGVkLTMwNyAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0
b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsU2Fm
ZUNvbnRlbnRUeXBlRm9ybS0zMDcgCitQQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24o
KScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbFNhZmVDb250ZW50VHlwZVRl
eHQtMzA3IAorUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxs
eSBzZW5kcyBmb3IgdmFyaWFudDogTm9EYXRhLTMwOCAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iu
c2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IE51bGxEYXRhLTMw
OCAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2Vu
ZHMgZm9yIHZhcmlhbnQ6IFVuZGVmaW5lZERhdGEtMzA4IAorUEFTUyBWZXJpZnkgJ25hdmlnYXRv
ci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxTdHJp
bmctMzA4IAorUEFTUyBWZXJpZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxs
eSBzZW5kcyBmb3IgdmFyaWFudDogU21hbGxCbG9iLTMwOCAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0
b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsQnVm
ZmVyU291cmNlLTMwOCAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0b3Iuc2VuZGJlYWNvbigpJyBzdWNj
ZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsRm9ybURhdGEtMzA4IAorUEFTUyBWZXJp
ZnkgJ25hdmlnYXRvci5zZW5kYmVhY29uKCknIHN1Y2Nlc3NmdWxseSBzZW5kcyBmb3IgdmFyaWFu
dDogU21hbGxTYWZlQ29udGVudFR5cGVFbmNvZGVkLTMwOCAKK1BBU1MgVmVyaWZ5ICduYXZpZ2F0
b3Iuc2VuZGJlYWNvbigpJyBzdWNjZXNzZnVsbHkgc2VuZHMgZm9yIHZhcmlhbnQ6IFNtYWxsU2Fm
ZUNvbnRlbnRUeXBlRm9ybS0zMDggCitQQVNTIFZlcmlmeSAnbmF2aWdhdG9yLnNlbmRiZWFjb24o
KScgc3VjY2Vzc2Z1bGx5IHNlbmRzIGZvciB2YXJpYW50OiBTbWFsbFNhZmVDb250ZW50VHlwZVRl
eHQtMzA4IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJlY3Quc3ViLndpbmRvdy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGly
ZWN0LnN1Yi53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYw
YTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGlyZWN0LnN1Yi53aW5kb3cu
aHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0
IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJlY3Quc3ViLndpbmRvdy5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2Jl
YWNvbi1yZWRpcmVjdC5zdWIud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMjNhNDVmODZiYWRmYzFk
NTQwZGU0MTRjYjM1MWM0ZTVlZjA2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tcmVkaXJlY3Quc3Vi
LndpbmRvdy5qcwpAQCAtMCwwICsxLDIwIEBACisvLyBNRVRBOiB0aW1lb3V0PWxvbmcKKy8vIE1F
VEE6IHNjcmlwdD0vY29tbW9uL3V0aWxzLmpzCisvLyBNRVRBOiBzY3JpcHQ9YmVhY29uLWNvbW1v
bi5zdWIuanMKKworInVzZSBzdHJpY3QiOworCisvLyBFeGVjdXRlIGVhY2ggc2FtcGxlIHRlc3Qg
cGVyIHJlZGlyZWN0IHN0YXR1cyBjb2RlLgorLy8gTm90ZSB0aGF0IHN0YXR1cyBjb2RlcyAzMDcg
YW5kIDMwOCBhcmUgdGhlIG9ubHkgY29kZXMgdGhhdCB3aWxsIG1haW50YWluIFBPU1QgZGF0YQor
Ly8gdGhyb3VnaCBhIHJlZGlyZWN0LgorWzMwNywgMzA4XS5mb3JFYWNoKGZ1bmN0aW9uKHN0YXR1
cykgeworICAgIGZ1bmN0aW9uIGJ1aWxkVXJsKGlkKSB7CisgICAgICAgIGNvbnN0IGJhc2VVcmwg
PSAiaHR0cDovL3t7aG9zdH19Ont7cG9ydHNbaHR0cF1bMF19fSI7CisgICAgICAgIGNvbnN0IHRh
cmdldFVybCA9IGAke2Jhc2VVcmx9L2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5P2NtZD1zdG9y
ZSZpZD0ke2lkfWA7CisKKyAgICAgICAgcmV0dXJuIGAvY29tbW9uL3JlZGlyZWN0LnB5P3N0YXR1
cz0ke3N0YXR1c30mbG9jYXRpb249JHtlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKX1gOwor
ICAgIH0KKyAgICBydW5UZXN0cyhzYW1wbGVUZXN0cywgYC0ke3N0YXR1c31gLCBidWlsZFVybCk7
Cit9KTsKKworZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGlyZWN0LndpbmRvdy5qcyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWRp
cmVjdC53aW5kb3cuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhOGFlZjNjNzQy
YjY4MzQ4ZmEyYzI3MzAzZTI5N2U4Mzg2NzY4YjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9iZWFjb24vYmVhY29uLXJlZGlyZWN0LndpbmRvdy5qcworKysgL2Rldi9udWxsCkBA
IC0xLDI1ICswLDAgQEAKLS8vIE1FVEE6IHRpbWVvdXQ9bG9uZwotLy8gTUVUQTogc2NyaXB0PS9j
b21tb24vdXRpbHMuanMKLS8vIE1FVEE6IHNjcmlwdD1iZWFjb24tY29tbW9uLnN1Yi5qcwotCi0i
dXNlIHN0cmljdCI7Ci0KLS8vIEV4ZWN1dGUgZWFjaCBzYW1wbGUgdGVzdCBwZXIgcmVkaXJlY3Qg
c3RhdHVzIGNvZGUuCi0vLyBOb3RlIHRoYXQgc3RhdHVzIGNvZGVzIDMwNyBhbmQgMzA4IGFyZSB0
aGUgb25seSBjb2RlcyB0aGF0IHdpbGwgbWFpbnRhaW4gUE9TVCBkYXRhCi0vLyB0aHJvdWdoIGEg
cmVkaXJlY3QuCi1bMzA3LCAzMDhdLmZvckVhY2goZnVuY3Rpb24oc3RhdHVzKSB7Ci0gICAgLy8g
SW1wbGVtZW50IHRoZSBzZWxmLmJ1aWxkVGFyZ2V0VXJsIGV4dGVuc2lvbiB0byBpbmplY3QgYSBy
ZWRpcmVjdCB0bwotICAgIC8vIHRoZSBzZW5kQmVhY29uIHRhcmdldC4KLSAgICBzZWxmLmJ1aWxk
VGFyZ2V0VXJsID0gZnVuY3Rpb24odGFyZ2V0VXJsKSB7Ci0gICAgICAgIHJldHVybiBgL2NvbW1v
bi9yZWRpcmVjdC5weT9zdGF0dXM9JHtzdGF0dXN9JmxvY2F0aW9uPSR7ZW5jb2RlVVJJQ29tcG9u
ZW50KHRhcmdldFVybCl9YDsKLSAgICB9OwotICAgIGNvbnN0IHRlc3RzID0gW107Ci0gICAgZm9y
IChjb25zdCB0ZXN0IG9mIHNhbXBsZVRlc3RzKSB7Ci0gICAgICAgIGNvbnN0IGNvcHkgPSBPYmpl
Y3QuYXNzaWduKHt9LCB0ZXN0KTsKLSAgICAgICAgY29weS5pZCA9IGAke3Rlc3QuaWR9LSR7c3Rh
dHVzfWA7Ci0gICAgICAgIHRlc3RzLnB1c2goY29weSk7Ci0gICAgfQotICAgIHJ1blRlc3RzKHRl
c3RzKTsKLX0pOwotCi1kb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9oZWFkZXJzL2hlYWRlci1yZWZlcnJlci1uby1y
ZWZlcnJlci13aGVuLWRvd25ncmFkZS5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vaGVhZGVycy9oZWFkZXItcmVmZXJyZXItbm8t
cmVmZXJyZXItd2hlbi1kb3duZ3JhZGUuaHR0cHMuaHRtbAppbmRleCBjNjViOWZkNjBmMjAwNjVk
NWVkNTkzMDg3ZmJmMTc1OTFhOTkxMzBkLi5kMDlkNGVhNTYwNjc1MWVkZWIwZTY3YTYzMTI1MGQy
NGU4ZDMxMzBjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9oZWFkZXJzL2hlYWRlci1yZWZlcnJlci1uby1yZWZlcnJlci13aGVu
LWRvd25ncmFkZS5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvYmVhY29uL2hlYWRlcnMvaGVhZGVyLXJlZmVycmVyLW5vLXJlZmVycmVy
LXdoZW4tZG93bmdyYWRlLmh0dHBzLmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAKICAgICAgIHZhciB0
ZXN0QmFzZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQU19PUklHSU4gKyBSRVNPVVJDRVNfRElSOwog
ICAgICAgdGVzdFJlZmVycmVySGVhZGVyKHRlc3RCYXNlLCByZWZlcnJlclVybCk7CiAgICAgICB0
ZXN0QmFzZSA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09SSUdJTiArIFJFU09VUkNFU19ESVI7Ci0g
ICAgICB0ZXN0UmVmZXJyZXJIZWFkZXIodGVzdEJhc2UsICIiKTsKKyAgICAgIHRlc3RSZWZlcnJl
ckhlYWRlcih0ZXN0QmFzZSwgIiIsIHRydWUpOwogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CiA8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL2JlYWNvbi5weQppbmRleCA1
ZjI1NTNkM2M0ZDUwNmY3ZTI5MmNmYjczZDgxOTMwYTgzYTEyZDc2Li5mNWNhYWY0YjhkM2Q2NGE4
MDE2YjA4MGMxMTA0MTRmOWNiMWViM2Y3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvYmVhY29uLnB5CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291
cmNlcy9iZWFjb24ucHkKQEAgLTEsNyArMSw2IEBACiBpbXBvcnQganNvbgogCi1kZWYgYnVpbGRf
c3Rhc2hfa2V5KHNlc3Npb25faWQsIHRlc3RfbnVtKToKLSAgICByZXR1cm4gIiVzXyVzIiAlIChz
ZXNzaW9uX2lkLCB0ZXN0X251bSkKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBo
aWNfZGVjb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAiIiJIZWxwZXIg
aGFuZGxlciBmb3IgQmVhY29uIHRlc3RzLgpAQCAtOSw2OSArOCw1NiBAQCBkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6CiAgICAgSXQgaGFuZGxlcyB0d28gZm9ybXMgb2YgcmVxdWVzdHM6CiAK
ICAgICBTVE9SRToKLSAgICAgICAgQSBVUkwgd2l0aCBhIHF1ZXJ5IHN0cmluZyBvZiB0aGUgZm9y
bSAnY21kPXN0b3JlJnNpZD08dG9rZW4+JnRpZHg9PHRlc3RfaW5kZXg+JnRpZD08dGVzdF9uYW1l
PicuCisgICAgICAgIEEgVVJMIHdpdGggYSBxdWVyeSBzdHJpbmcgb2YgdGhlIGZvcm0gJ2NtZD1z
dG9yZSZpZD08dG9rZW4+Jy4KIAotICAgICAgICBTdG9yZXMgdGhlIHJlY2VpcHQgb2YgYSBzZW5k
QmVhY29uKCkgcmVxdWVzdCBhbG9uZyB3aXRoIGl0cyB2YWxpZGF0aW9uIHJlc3VsdCwgcmV0dXJu
aW5nIEhUVFAgMjAwIE9LLgorICAgICAgICBTdG9yZXMgdGhlIHJlY2VpcHQgb2YgYSBzZW5kQmVh
Y29uKCkgcmVxdWVzdCBhbG9uZyB3aXRoIGl0cyB2YWxpZGF0aW9uCisgICAgICAgIHJlc3VsdCwg
cmV0dXJuaW5nIEhUVFAgMjAwIE9LLgogCi0gICAgICAgIFBhcmFtZXRlcnM6Ci0gICAgICAgICAg
ICB0aWR4IC0gdGhlIGludGVnZXIgaW5kZXggb2YgdGhlIHRlc3QuCi0gICAgICAgICAgICB0aWQg
LSBhIGZyaWVuZGx5IGlkZW50aWZpZXIgb3IgbmFtZSBmb3IgdGhlIHRlc3QsIHVzZWQgd2hlbiBy
ZXR1cm5pbmcgcmVzdWx0cy4KKyAgICAgICAgaWYgInByZWZsaWdodEV4cGVjdGVkIiAgZXhpc3Rz
IGluIHRoZSBxdWVyeSwgdGhpcyBoYW5kbGVyIHJlc3BvbmRzIHRvCisgICAgICAgIENPUlMgcHJl
ZmxpZ2h0cy4KIAogICAgIFNUQVQ6Ci0gICAgICAgIEEgVVJMIHdpdGggYSBxdWVyeSBzdHJpbmcg
b2YgdGhlIGZvcm0gJ2NtZD1zdGF0JnNpZD08dG9rZW4+JnRpZHhfbWluPTxtaW5fdGVzdF9pbmRl
eD4mdGlkeF9tYXg9PG1heF90ZXN0X2luZGV4PicuCisgICAgICAgIEEgVVJMIHdpdGggYSBxdWVy
eSBzdHJpbmcgb2YgdGhlIGZvcm0gJ2NtZD1zdGF0JmlkPTx0b2tlbj4nLgogCi0gICAgICAgIFJl
dHJpZXZlcyB0aGUgcmVzdWx0cyBvZiB0ZXN0IHdpdGggaW5kaWNlcyBbbWluX3Rlc3RfaW5kZXgs
IG1heF90ZXN0X2luZGV4XSBhbmQgcmV0dXJucyB0aGVtIGFzCi0gICAgICAgIGEgSlNPTiBhcnJh
eSBhbmQgSFRUUCAyMDAgT0sgc3RhdHVzIGNvZGUuIER1ZSB0byB0aGUgZXZlbnR1YWwgcmVhZC1v
bmNlIG5hdHVyZSBvZiB0aGUgc3Rhc2gsIHJlc3VsdHMgZm9yIGEgZ2l2ZW4gdGVzdAotICAgICAg
ICBhcmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJldHVybmVkIG9uY2UsIHRob3VnaCB0aGV5IG1h
eSBiZSByZXR1cm5lZCBtdWx0aXBsZSB0aW1lcy4KKyAgICAgICAgUmV0cmlldmVzIHRoZSByZXN1
bHRzIG9mIHRlc3QgZm9yIHRoZSBnaXZlbiBpZCBhbmQgcmV0dXJucyB0aGVtIGFzIGEKKyAgICAg
ICAgSlNPTiBhcnJheSBhbmQgSFRUUCAyMDAgT0sgc3RhdHVzIGNvZGUuIER1ZSB0byB0aGUgZXZl
bnR1YWwgcmVhZC1vbmNlCisgICAgICAgIG5hdHVyZSBvZiB0aGUgc3Rhc2gsIHJlc3VsdHMgZm9y
IGEgZ2l2ZW4gdGVzdCBhcmUgb25seSBndWFyYW50ZWVkIHRvIGJlCisgICAgICAgIHJldHVybmVk
IG9uY2UsIHRob3VnaCB0aGV5IG1heSBiZSByZXR1cm5lZCBtdWx0aXBsZSB0aW1lcy4KIAotICAg
ICAgICBQYXJhbWV0ZXJzOgotICAgICAgICAgICAgdGlkeF9taW4gLSB0aGUgbG93ZXItYm91bmRp
bmcgaW50ZWdlciB0ZXN0IGluZGV4LgotICAgICAgICAgICAgdGlkeF9tYXggLSB0aGUgdXBwZXIt
Ym91bmRpbmcgaW50ZWdlciB0ZXN0IGluZGV4LgotCi0gICAgICAgIEV4YW1wbGUgcmVzcG9uc2Ug
Ym9keToKLSAgICAgICAgICAgIFt7ImlkIjogIlRlc3QxIiwgZXJyb3I6IG51bGx9LCB7ImlkIjog
IlRlc3QyIiwgZXJyb3I6ICJzb21lIHZhbGlkYXRpb24gZGV0YWlscyJ9XQorICAgICAgICBFeGFt
cGxlIHJlc3BvbnNlIGJvZGllczoKKyAgICAgICAgICAgIC0gW3tlcnJvcjogbnVsbH1dCisgICAg
ICAgICAgICAtIFt7ZXJyb3I6ICJzb21lIHZhbGlkYXRpb24gZGV0YWlscyJ9XQorICAgICAgICAg
ICAgLSBbXQogCiAgICAgQ29tbW9uIHBhcmFtZXRlcnM6CiAgICAgICAgIGNtZCAtIHRoZSBjb21t
YW5kLCAnc3RvcmUnIG9yICdzdGF0Jy4KLSAgICAgICAgc2lkIC0gc2Vzc2lvbiBpZCB1c2VkIHRv
IHByb3ZpZGUgaXNvbGF0aW9uIHRvIGEgdGVzdCBydW4gY29tcHJpc2luZyBtdWx0aXBsZSBzZW5k
QmVhY29uKCkKLSAgICAgICAgICAgICAgdGVzdHMuCisgICAgICAgIGlkIC0gdGhlIHVuaXF1ZSBp
ZGVudGlmaWVyIG9mIHRoZSB0ZXN0LgogICAgICIiIgogCi0gICAgc2Vzc2lvbl9pZCA9IHJlcXVl
c3QuR0VULmZpcnN0KCJzaWQiKTsKLSAgICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmlyc3QoImNt
ZCIpLmxvd2VyKCk7Ci0KLSAgICAjIFdvcmthcm91bmQgdG8gY2lyY3VtdmVudCB0aGUgbGltaXRh
dGlvbiB0aGF0IGNhY2hlIGtleXMKLSAgICAjIGNhbiBvbmx5IGJlIFVVSUQncy4KLSAgICBkZWYg
d3JhcF9rZXkoa2V5LCBwYXRoKToKLSAgICAgICAgcmV0dXJuIChzdHIocGF0aCksIHN0cihrZXkp
KQotICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLl93cmFwX2tleSA9IHdyYXBfa2V5CisgICAgaWQg
PSByZXF1ZXN0LkdFVC5maXJzdChiImlkIikKKyAgICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmly
c3QoYiJjbWQiKS5sb3dlcigpCiAKICAgICAjIEFwcGVuZCBDT1JTIGhlYWRlcnMgaWYgbmVlZGVk
LgotICAgIGlmICJvcmlnaW4iIGluIHJlcXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3Qo
Im9yaWdpbiIpKQotICAgIGlmICJjcmVkZW50aWFscyIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIs
IHJlcXVlc3QuR0VULmZpcnN0KCJjcmVkZW50aWFscyIpKQorICAgIGlmIGIib3JpZ2luIiBpbiBy
ZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0LkdF
VC5maXJzdChiIm9yaWdpbiIpKQorICAgIGlmIGIiY3JlZGVudGlhbHMiIGluIHJlcXVlc3QuR0VU
OgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNy
ZWRlbnRpYWxzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5HRVQuZmly
c3QoYiJjcmVkZW50aWFscyIpKQogCiAgICAgIyBIYW5kbGUgdGhlICdzdG9yZScgYW5kICdzdGF0
JyBjb21tYW5kcy4KLSAgICBpZiBjb21tYW5kID09ICJzdG9yZSI6Ci0gICAgICAgICMgVGhlIHRl
c3QgaWQgaXMganVzdCB1c2VkIHRvIG1ha2UgdGhlIHJlc3VsdHMgbW9yZSBodW1hbi1yZWFkYWJs
ZS4KLSAgICAgICAgdGVzdF9pZCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0aWQiKQotICAgICAgICAj
IFRoZSB0ZXN0IGluZGV4IGlzIHVzZWQgdG8gYnVpbGQgYSBwcmVkaWN0YWJsZSBzdGFzaCBrZXks
IHRvZ2V0aGVyCi0gICAgICAgICMgd2l0aCB0aGUgdW5pcXVlIHNlc3Npb24gaWQsIGluIG9yZGVy
IHRvIHJldHJpZXZlIGEgcmFuZ2Ugb2YgcmVzdWx0cwotICAgICAgICAjIGxhdGVyIGtub3dpbmcg
dGhlIGluZGV4IHJhbmdlLgotICAgICAgICB0ZXN0X2lkeCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0
aWR4IikKLSAgICAgICAgdGVzdF9kYXRhID0geyAiaWQiOiB0ZXN0X2lkLCAiZXJyb3IiOiBOb25l
IH0KLQotICAgICAgICAjIE9ubHkgc3RvcmUgdGhlIGFjdHVhbCBQT1NUIHJlcXVlc3RzLCBub3Qg
YW55IHByZWZsaWdodC9PUFRJT05TIHJlcXVlc3RzIHdlIG1heSBnZXQuCi0gICAgICAgIGlmIHJl
cXVlc3QubWV0aG9kID09ICJQT1NUIjoKLSAgICAgICAgICAgIHRlc3RfZGF0YV9rZXkgPSBidWls
ZF9zdGFzaF9rZXkoc2Vzc2lvbl9pZCwgdGVzdF9pZHgpCi0KLSAgICAgICAgICAgIHBheWxvYWQg
PSAiIgotICAgICAgICAgICAgaWYgIkNvbnRlbnQtVHlwZSIgaW4gcmVxdWVzdC5oZWFkZXJzIGFu
ZCBcCi0gICAgICAgICAgICAgICAiZm9ybS1kYXRhIiBpbiByZXF1ZXN0LmhlYWRlcnNbIkNvbnRl
bnQtVHlwZSJdOgotICAgICAgICAgICAgICAgIGlmICJwYXlsb2FkIiBpbiByZXF1ZXN0LlBPU1Q6
CisgICAgaWYgY29tbWFuZCA9PSBiInN0b3JlIjoKKyAgICAgICAgZXJyb3IgPSBOb25lCisKKyAg
ICAgICAgIyBPbmx5IHN0b3JlIHRoZSBhY3R1YWwgUE9TVCByZXF1ZXN0cywgbm90IGFueSBwcmVm
bGlnaHQvT1BUSU9OUworICAgICAgICAjIHJlcXVlc3RzIHdlIG1heSBnZXQuCisgICAgICAgIGlm
IHJlcXVlc3QubWV0aG9kID09IHUiUE9TVCI6CisgICAgICAgICAgICBwYXlsb2FkID0gYiIiCisg
ICAgICAgICAgICBpZiBiIkNvbnRlbnQtVHlwZSIgaW4gcmVxdWVzdC5oZWFkZXJzIGFuZCBcCisg
ICAgICAgICAgICAgICBiImZvcm0tZGF0YSIgaW4gcmVxdWVzdC5oZWFkZXJzW2IiQ29udGVudC1U
eXBlIl06CisgICAgICAgICAgICAgICAgaWYgYiJwYXlsb2FkIiBpbiByZXF1ZXN0LlBPU1Q6CiAg
ICAgICAgICAgICAgICAgICAgICMgVGhlIHBheWxvYWQgd2FzIHNlbnQgYXMgYSBGb3JtRGF0YS4K
LSAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCA9IHJlcXVlc3QuUE9TVC5maXJzdCgicGF5bG9h
ZCIpCisgICAgICAgICAgICAgICAgICAgIHBheWxvYWQgPSByZXF1ZXN0LlBPU1QuZmlyc3QoYiJw
YXlsb2FkIikKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAjIEEg
Rm9ybURhdGEgd2FzIHNlbnQgd2l0aCBhbiBlbXB0eSBwYXlsb2FkLgogICAgICAgICAgICAgICAg
ICAgICBwYXNzCkBAIC03OSw0NiArNjUsNDIgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgogICAgICAgICAgICAgICAgICMgVGhlIHBheWxvYWQgd2FzIHNlbnQgYXMgZWl0aGVyIGEgc3Ry
aW5nLCBCbG9iLCBvciBCdWZmZXJTb3VyY2UuCiAgICAgICAgICAgICAgICAgcGF5bG9hZCA9IHJl
cXVlc3QuYm9keQogCi0gICAgICAgICAgICBwYXlsb2FkX3BhcnRzID0gZmlsdGVyKE5vbmUsIHBh
eWxvYWQuc3BsaXQoIjoiKSkKKyAgICAgICAgICAgIHBheWxvYWRfcGFydHMgPSBsaXN0KGZpbHRl
cihOb25lLCBwYXlsb2FkLnNwbGl0KGIiOiIpKSkKICAgICAgICAgICAgIGlmIGxlbihwYXlsb2Fk
X3BhcnRzKSA+IDA6CiAgICAgICAgICAgICAgICAgcGF5bG9hZF9zaXplID0gaW50KHBheWxvYWRf
cGFydHNbMF0pCiAKLSAgICAgICAgICAgICAgICAjIENvbmZpcm0gdGhlIHBheWxvYWQgc2l6ZSBz
ZW50IG1hdGNoZXMgd2l0aCB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgc2VudC4KKyAgICAgICAg
ICAgICAgICAjIENvbmZpcm0gdGhlIHBheWxvYWQgc2l6ZSBzZW50IG1hdGNoZXMgd2l0aCB0aGUg
bnVtYmVyIG9mCisgICAgICAgICAgICAgICAgIyBjaGFyYWN0ZXJzIHNlbnQuCiAgICAgICAgICAg
ICAgICAgaWYgcGF5bG9hZF9zaXplICE9IGxlbihwYXlsb2FkX3BhcnRzWzFdKToKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdF9kYXRhWyJlcnJvciJdID0gImV4cGVjdGVkICVkIGNoYXJhY3RlcnMg
YnV0IGdvdCAlZCIgJSAocGF5bG9hZF9zaXplLCBsZW4ocGF5bG9hZF9wYXJ0c1sxXSkpCisgICAg
ICAgICAgICAgICAgICAgIGVycm9yID0gdSJleHBlY3RlZCAlZCBjaGFyYWN0ZXJzIGJ1dCBnb3Qg
JWQiICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9hZF9zaXplLCBsZW4ocGF5bG9h
ZF9wYXJ0c1sxXSkpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAg
IyBDb25maXJtIHRoZSBwYXlsb2FkIGNvbnRhaW5zIHRoZSBjb3JyZWN0IGNoYXJhY3RlcnMuCiAg
ICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIHBheWxvYWRfc2l6ZSk6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBpZiBwYXlsb2FkX3BhcnRzWzFdW2ldICE9ICIqIjoKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2RhdGFbImVycm9yIl0gPSAiZXhwZWN0ZWQgJyon
IGF0IGluZGV4ICVkIGJ1dCBnb3QgJyVzJyciICUgKGksIHBheWxvYWRfcGFydHNbMV1baV0pCisg
ICAgICAgICAgICAgICAgICAgICAgICBpZiBwYXlsb2FkX3BhcnRzWzFdW2k6aSsxXSAhPSBiIioi
OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yID0gdSJleHBlY3RlZCAnKicgYXQg
aW5kZXggJWQgYnV0IGdvdCAnJXMnJyIgJSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGksIGlzb21vcnBoaWNfZGVjb2RlKHBheWxvYWRfcGFydHNbMV1baTppKzFdKSkKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhawogCiAgICAgICAgICAgICAjIFN0b3JlIHRoZSBy
ZXN1bHQgaW4gdGhlIHN0YXNoIHNvIHRoYXQgaXQgY2FuIGJlIHJldHJpZXZlZAogICAgICAgICAg
ICAgIyBsYXRlciB3aXRoIGEgJ3N0YXQnIGNvbW1hbmQuCi0gICAgICAgICAgICByZXF1ZXN0LnNl
cnZlci5zdGFzaC5wdXQodGVzdF9kYXRhX2tleSwgdGVzdF9kYXRhKQotICAgICAgICBlbGlmIHJl
cXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgICAgICMgSWYgd2UgZXhwZWN0IGEg
cHJlZmxpZ2h0LCB0aGVuIGFkZCB0aGUgY29ycyBoZWFkZXJzIHdlIGV4cGVjdCwgb3RoZXJ3aXNl
IGxvZyBhbiBlcnJvciBhcyB3ZSBzaG91bGRuJ3QKLSAgICAgICAgICAgICMgc2VuZCBhIHByZWZs
aWdodCBmb3IgYWxsIHJlcXVlc3RzLgotICAgICAgICAgICAgaWYgInByZWZsaWdodEV4cGVjdGVk
IiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJjb250ZW50LXR5cGUiKQotICAgICAgICAg
ICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2Rz
IiwgIlBPU1QiKQorICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KGlkLCB7dSJl
cnJvciI6IGVycm9yfSkKKyAgICAgICAgZWxpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMi
OgorICAgICAgICAgICAgIyBJZiB3ZSBleHBlY3QgYSBwcmVmbGlnaHQsIHRoZW4gYWRkIHRoZSBj
b3JzIGhlYWRlcnMgd2UgZXhwZWN0LAorICAgICAgICAgICAgIyBvdGhlcndpc2UgbG9nIGFuIGVy
cm9yIGFzIHdlIHNob3VsZG4ndCBzZW5kIGEgcHJlZmxpZ2h0IGZvciBhbGwKKyAgICAgICAgICAg
ICMgcmVxdWVzdHMuCisgICAgICAgICAgICBpZiBiInByZWZsaWdodEV4cGVjdGVkIiBpbiByZXF1
ZXN0LkdFVDoKKyAgICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LUhlYWRlcnMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGIiY29udGVudC10eXBlIikKKyAgICAgICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCBiIlBPU1QiKQogICAgICAgICAgICAg
ZWxzZToKLSAgICAgICAgICAgICAgICB0ZXN0X2RhdGFfa2V5ID0gYnVpbGRfc3Rhc2hfa2V5KHNl
c3Npb25faWQsIHRlc3RfaWR4KQotICAgICAgICAgICAgICAgIHRlc3RfZGF0YVsiZXJyb3IiXSA9
ICJQcmVmbGlnaHQgbm90IGV4cGVjdGVkLiIKLSAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQodGVzdF9kYXRhX2tleSwgdGVzdF9kYXRhKQotICAgIGVsaWYgY29tbWFuZCA9
PSAic3RhdCI6Ci0gICAgICAgIHRlc3RfaWR4X21pbiA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgi
dGlkeF9taW4iKSkKLSAgICAgICAgdGVzdF9pZHhfbWF4ID0gaW50KHJlcXVlc3QuR0VULmZpcnN0
KCJ0aWR4X21heCIpKQotCi0gICAgICAgICMgRm9yIGVhY2ggcmVzdWx0IHRoYXQgaGFzIGNvbWUg
aW4sIGFwcGVuZCBpdCB0byB0aGUgcmVzcG9uc2UuCi0gICAgICAgIHJlc3VsdHMgPSBbXQotICAg
ICAgICBmb3IgdGVzdF9pZHggaW4gcmFuZ2UodGVzdF9pZHhfbWluLCB0ZXN0X2lkeF9tYXgrMSk6
ICMgKzEgYmVjYXVzZSBlbmQgaXMgZXhjbHVzaXZlCi0gICAgICAgICAgICB0ZXN0X2RhdGFfa2V5
ID0gYnVpbGRfc3Rhc2hfa2V5KHNlc3Npb25faWQsIHRlc3RfaWR4KQotICAgICAgICAgICAgdGVz
dF9kYXRhID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0ZXN0X2RhdGFfa2V5KQotICAgICAg
ICAgICAgaWYgdGVzdF9kYXRhOgotICAgICAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHRlc3Rf
ZGF0YSkKLQotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgInRl
eHQvcGxhaW4iKQorICAgICAgICAgICAgICAgIGVycm9yID0gdSJQcmVmbGlnaHQgbm90IGV4cGVj
dGVkLiIKKyAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQoaWQsIHt1ImVy
cm9yIjogZXJyb3J9KQorICAgIGVsaWYgY29tbWFuZCA9PSBiInN0YXQiOgorICAgICAgICB0ZXN0
X2RhdGEgPSByZXF1ZXN0LnNlcnZlci5zdGFzaC50YWtlKGlkKQorICAgICAgICByZXN1bHRzID0g
W3Rlc3RfZGF0YV0gaWYgdGVzdF9kYXRhIGVsc2UgW10KKworICAgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCiAgICAgICAgIHJlc3BvbnNl
LmNvbnRlbnQgPSBqc29uLmR1bXBzKHJlc3VsdHMpCiAgICAgZWxzZToKLSAgICAgICAgcmVzcG9u
c2Uuc3RhdHVzID0gNDAwICMgQmFkUmVxdWVzdApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KyAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gNDAwICAjIEJhZFJlcXVlc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291
cmNlcy9jb250ZW50LXR5cGUucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvY29udGVudC10eXBlLnB5CmluZGV4IDJlYTE4ZDUx
MGEwY2Q0MTZjOGU2YTVmMzYzNmU1MzkyMjg2ZmQxODUuLmQzYmU3ZDRkYzEyNGFhNDMxNGRiOWNj
MmVjYjdhOTk0MDNjY2VkMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL3Jlc291cmNlcy9jb250ZW50LXR5cGUucHkKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3Vy
Y2VzL2NvbnRlbnQtdHlwZS5weQpAQCAtMSwxNCArMSwxNCBAQAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgotICBjb21tYW5kID0gcmVxdWVzdC5HRVQuZmlyc3QoImNtZCIpLmxvd2VyKCk7
Ci0gIHRlc3RfaWQgPSByZXF1ZXN0LkdFVC5maXJzdCgiaWQiKQotICBpZiBjb21tYW5kID09ICJw
dXQiOgotICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0ZXN0X2lkLCByZXF1ZXN0LmhlYWRl
cnMuZ2V0KCJDb250ZW50LVR5cGUiLCAiIikpCi0gICAgcmV0dXJuIFsoIkNvbnRlbnQtVHlwZSIs
ICJ0ZXh0L3BsYWluIildLCAiIgorICAgIGNvbW1hbmQgPSByZXF1ZXN0LkdFVC5maXJzdChiImNt
ZCIpLmxvd2VyKCkKKyAgICB0ZXN0X2lkID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJpZCIpCisgICAg
aWYgY29tbWFuZCA9PSBiInB1dCI6CisgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dCh0
ZXN0X2lkLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQ29udGVudC1UeXBlIiwgYiIiKSkKKyAgICAg
ICAgcmV0dXJuIFsoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKV0sIHUiIgogCi0gIGlm
IGNvbW1hbmQgPT0gImdldCI6Ci0gICAgc3Rhc2hlZF9oZWFkZXIgPSByZXF1ZXN0LnNlcnZlci5z
dGFzaC50YWtlKHRlc3RfaWQpCi0gICAgaWYgc3Rhc2hlZF9oZWFkZXIgaXMgbm90IE5vbmU6Ci0g
ICAgICByZXR1cm4gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0sIHN0YXNoZWRfaGVh
ZGVyCisgICAgaWYgY29tbWFuZCA9PSBiImdldCI6CisgICAgICAgIHN0YXNoZWRfaGVhZGVyID0g
cmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0ZXN0X2lkKQorICAgICAgICBpZiBzdGFzaGVkX2hl
YWRlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBbKGIiQ29udGVudC1UeXBlIiwg
YiJ0ZXh0L3BsYWluIildLCBzdGFzaGVkX2hlYWRlcgogCi0gIHJlc3BvbnNlLnNldF9lcnJvcig0
MDAsICJCYWQgQ29tbWFuZCIpCi0gIHJldHVybiAiRVJST1I6IEJhZCBDb21tYW5kISIKKyAgICBy
ZXNwb25zZS5zZXRfZXJyb3IoNDAwLCB1IkJhZCBDb21tYW5kIikKKyAgICByZXR1cm4gdSJFUlJP
UjogQmFkIENvbW1hbmQhIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2VzL2luc3BlY3QtaGVhZGVyLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vcmVzb3VyY2Vz
L2luc3BlY3QtaGVhZGVyLnB5CmluZGV4IGUwYjBlOTJjYjc4MjQ4ZDhhMDljODVhZjgxN2U2MDAw
MTg5OGZjNjMuLmY5MjZlZDQzZmM0NDc3YmNmN2ViNjNhM2QxZTEyMWI1Y2U1ZjExOGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29u
L3Jlc291cmNlcy9pbnNwZWN0LWhlYWRlci5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9yZXNvdXJjZXMvaW5zcGVjdC1oZWFkZXIucHkK
QEAgLTEsMTggKzEsMTggQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFk
ZXJzID0gWygiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKV0KLSAgICBjb21tYW5kID0gcmVx
dWVzdC5HRVQuZmlyc3QoImNtZCIpLmxvd2VyKCk7Ci0gICAgdGVzdF9pZCA9IHJlcXVlc3QuR0VU
LmZpcnN0KCJpZCIpCi0gICAgaGVhZGVyID0gcmVxdWVzdC5HRVQuZmlyc3QoImhlYWRlciIpCi0g
ICAgaWYgY29tbWFuZCA9PSAicHV0IjoKLSAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRlc3RfaWQsIHJlcXVlc3QuaGVhZGVycy5nZXQoaGVhZGVyLCAiIikpCisgICAgaGVhZGVycyA9
IFsoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKV0KKyAgICBjb21tYW5kID0gcmVxdWVz
dC5HRVQuZmlyc3QoYiJjbWQiKS5sb3dlcigpCisgICAgdGVzdF9pZCA9IHJlcXVlc3QuR0VULmZp
cnN0KGIiaWQiKQorICAgIGhlYWRlciA9IHJlcXVlc3QuR0VULmZpcnN0KGIiaGVhZGVyIikKKyAg
ICBpZiBjb21tYW5kID09IGIicHV0IjoKKyAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHRlc3RfaWQsIHJlcXVlc3QuaGVhZGVycy5nZXQoaGVhZGVyLCBiIiIpKQogCi0gICAgZWxpZiBj
b21tYW5kID09ICJnZXQiOgorICAgIGVsaWYgY29tbWFuZCA9PSBiImdldCI6CiAgICAgICAgIHN0
YXNoZWRfaGVhZGVyID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0ZXN0X2lkKQogICAgICAg
ICBpZiBzdGFzaGVkX2hlYWRlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGhlYWRlcnMuYXBw
ZW5kKCgieC1yZXF1ZXN0LSIgKyBoZWFkZXIsIHN0YXNoZWRfaGVhZGVyICkpCisgICAgICAgICAg
ICBoZWFkZXJzLmFwcGVuZCgoYiJ4LXJlcXVlc3QtIiArIGhlYWRlciwgc3Rhc2hlZF9oZWFkZXIp
KQogCiAgICAgZWxzZToKLSAgICAgICAgcmVzcG9uc2Uuc2V0X2Vycm9yKDQwMCwgIkJhZCBDb21t
YW5kIikKLSAgICAgICAgcmV0dXJuICJFUlJPUjogQmFkIENvbW1hbmQhIgorICAgICAgICByZXNw
b25zZS5zZXRfZXJyb3IoNDAwLCB1IkJhZCBDb21tYW5kIikKKyAgICAgICAgcmV0dXJuIHUiRVJS
T1I6IEJhZCBDb21tYW5kISIKIAotICAgIHJldHVybiBoZWFkZXJzLCAiIgorICAgIHJldHVybiBo
ZWFkZXJzLCB1IiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvYmVhY29uL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdzNjLWltcG9ydC5sb2cKaW5kZXggMDc0OWUx
OTM5NzBiOTQzNjYyYWM4ZmQxZTU4ZWU2NDJmNjY2NmQ4Yy4uN2ZmMDU3ODM3YTQyMzFlMGQzNDE3
YzQ0MDhhYjFiNGU5Yjc4NGNmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vdzNjLWltcG9ydC5sb2cK
QEAgLTI3LDYgKzI3LDcgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tY29ycy5zdWIud2luZG93LmpzCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9iZWFjb24vYmVhY29u
LWVycm9yLnN1Yi53aW5kb3cuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2JlYWNvbi9iZWFjb24tbmF2aWdhdGUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1wcmVmbGlnaHQtZmFpbHVy
ZS5zdWIud2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9iZWFjb24vYmVhY29uLXJlYWRhYmxlc3RyZWFtLndpbmRvdy5qcwotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2JlYWNvbi1yZWRpcmVjdC53
aW5kb3cuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Jl
YWNvbi9iZWFjb24tcmVkaXJlY3Quc3ViLndpbmRvdy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uL2lkbGhhcm5lc3MuYW55LmpzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>