<?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>232222</bug_id>
          
          <creation_ts>2021-10-24 16:27:01 -0700</creation_ts>
          <short_desc>webkitpy: have diff_image() return a ImageDiffResult</short_desc>
          <delta_ts>2021-10-25 08:28:19 -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>232225</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>jbedard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1808275</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-24 16:27:01 -0700</bug_when>
    <thetext>webkitpy: have diff_image() return a ImageDiffResult</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808276</commentid>
    <comment_count>1</comment_count>
      <attachid>442329</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-24 16:28:52 -0700</bug_when>
    <thetext>Created attachment 442329
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808411</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-25 08:27:01 -0700</bug_when>
    <thetext>Committed r284785 (243494@main): &lt;https://commits.webkit.org/243494@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442329.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808412</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-25 08:28:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/84615284&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442329</attachid>
            <date>2021-10-24 16:28:52 -0700</date>
            <delta_ts>2021-10-25 08:27:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232222-20211024162851.patch</filename>
            <type>text/plain</type>
            <size>20405</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzY0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGZkZjEzYmUzYmUwOTBiZTAxY2U3OTA0ODI5ZDVkYmRk
MzhiNWYzZS4uZjEzYTk4N2VlYmE3NDljYzNiZWYwM2RkYWY2MTQwZjJhOWNmMzU2OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDIxLTEwLTI0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgor
CisgICAgICAgIHdlYmtpdHB5OiBoYXZlIGRpZmZfaW1hZ2UoKSByZXR1cm4gYSBJbWFnZURpZmZS
ZXN1bHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjIyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGRp
ZmZfaW1hZ2UoKSByZXR1cm5lZCBhIGxpc3Qgd2hpY2ggcmVzdWx0ZWQgaW4gaGFyZCB0byByZWFk
IGNvZGUuIEluIGFkZGl0aW9uLCB0aGUKKyAgICAgICAgcHJlc2VuY2Ugb2YgYSBkaWZmX2ltYWdl
IGlzIHVzZWQgdG8gaW5kaWNhdGUgZmFpbHVyZTsgZnV0dXJlIHBhdGNoZXMgd2lsbCBjaGFuZ2Ug
dGhpcywKKyAgICAgICAgc28gaGF2aW5nIGRpZmZfaW1hZ2UoKSByZXR1cm4gYSBjbGFzcyBtYWtl
cyB0aGF0IGVhc2llci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weToKKyAgICAgICAgKFNpbmdsZVRlc3RS
dW5uZXIuX2NvbXBhcmVfaW1hZ2UpOgorICAgICAgICAoU2luZ2xlVGVzdFJ1bm5lci5fY29tcGFy
ZV9vdXRwdXRfd2l0aF9yZWZlcmVuY2UpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3RfcmVzdWx0X3dyaXRlcl91bml0dGVzdC5weToKKyAg
ICAgICAgKFRlc3RSZXN1bHRXcml0ZXJUZXN0LnRlc3RfcmVmdGVzdF9kaWZmX2ltYWdlLkltYWdl
RGlmZlRlc3RQb3J0LmRpZmZfaW1hZ2UpOgorICAgICAgICAoVGVzdFJlc3VsdFdyaXRlclRlc3Qp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21vZGVscy90ZXN0X2Zh
aWx1cmVzLnB5OgorICAgICAgICAoRmFpbHVyZVJlZnRlc3RNaXNtYXRjaC53cml0ZV9mYWlsdXJl
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzX2ludGVncmF0aW9udGVzdC5weToKKyAgICAgICAgKFJ1blRlc3QudGVzdF90b2xlcmFuY2Uu
SW1hZ2VEaWZmVGVzdFBvcnQuZGlmZl9pbWFnZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0LmRpZmZfaW1hZ2UpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC9pbWFnZV9kaWZmLnB5OgorICAgICAgICAoSW1hZ2VEaWZmUmVz
dWx0KToKKyAgICAgICAgKEltYWdlRGlmZlJlc3VsdC5fX2luaXRfXyk6CisgICAgICAgIChJbWFn
ZURpZmZSZXN1bHQuX19lcV9fKToKKyAgICAgICAgKEltYWdlRGlmZlJlc3VsdC5fX25lX18pOgor
ICAgICAgICAoSW1hZ2VEaWZmUmVzdWx0Ll9fcmVwcl9fKToKKyAgICAgICAgKEltYWdlRGlmZmVy
Ll9yZWFkKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5w
eToKKyAgICAgICAgKFBvcnRUZXN0Q2FzZS5pbnRlZ3JhdGlvbl90ZXN0X2ltYWdlX2RpZmYpOgor
ICAgICAgICAoUG9ydFRlc3RDYXNlLnRlc3RfZGlmZl9pbWFnZV9fbWlzc2luZ19ib3RoKToKKyAg
ICAgICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2RpZmZfaW1hZ2VfX21pc3NpbmdfYWN0dWFsKToKKyAg
ICAgICAgKFBvcnRUZXN0Q2FzZS50ZXN0X2RpZmZfaW1hZ2VfX21pc3NpbmdfZXhwZWN0ZWQpOgor
ICAgICAgICAoUG9ydFRlc3RDYXNlLnRlc3RfZGlmZl9pbWFnZSk6CisgICAgICAgIChQb3J0VGVz
dENhc2UudGVzdF9kaWZmX2ltYWdlX3Bhc3NlZCk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVz
dF9kaWZmX2ltYWdlX2ZhaWxlZCk6CisgICAgICAgIChQb3J0VGVzdENhc2UudGVzdF9kaWZmX2lt
YWdlX2NyYXNoZWQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5Ogor
CiAyMDIxLTEwLTIzICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBhbiBJbWFnZURpZmYgb3B0aW9uIHRvIHByaW50IG91dCBXUFQtc3R5bGUgcGl4
ZWwgZGlmZmVyZW5jZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3NpbmdsZV90ZXN0X3J1bm5lci5weQpp
bmRleCBkMTdhY2ZkMDE4OWU4NDUxZTg4ZjY2ZTNiNmI2NmNlNTdmN2Y2NTFiLi5jZmU2YTcwY2Rh
YmZlOGJhYTI0NzFjODE2MGI1OTgyMzhjYmVjNjc3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9zaW5nbGVfdGVzdF9ydW5uZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvc2lu
Z2xlX3Rlc3RfcnVubmVyLnB5CkBAIC0yOTQsMTUgKzI5NCwxNCBAQCBjbGFzcyBTaW5nbGVUZXN0
UnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJl
cy5GYWlsdXJlTWlzc2luZ0ltYWdlSGFzaCgpKQogICAgICAgICBlbGlmIGRyaXZlcl9vdXRwdXQu
aW1hZ2VfaGFzaCAhPSBleHBlY3RlZF9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2g6CiAgICAgICAg
ICAgICBkaWZmX3Jlc3VsdCA9IHNlbGYuX3BvcnQuZGlmZl9pbWFnZShleHBlY3RlZF9kcml2ZXJf
b3V0cHV0LmltYWdlLCBkcml2ZXJfb3V0cHV0LmltYWdlKQotICAgICAgICAgICAgZXJyb3Jfc3Ry
aW5nID0gZGlmZl9yZXN1bHRbMl0KLSAgICAgICAgICAgIGlmIGVycm9yX3N0cmluZzoKLSAgICAg
ICAgICAgICAgICBfbG9nLndhcm5pbmcoJyAgJXMgOiAlcycgJSAoc2VsZi5fdGVzdF9uYW1lLCBl
cnJvcl9zdHJpbmcpKQorICAgICAgICAgICAgaWYgZGlmZl9yZXN1bHQuZXJyb3Jfc3RyaW5nOgor
ICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygnICAlcyA6ICVzJyAlIChzZWxmLl90ZXN0X25h
bWUsIGRpZmZfcmVzdWx0LmVycm9yX3N0cmluZykpCiAgICAgICAgICAgICAgICAgZmFpbHVyZXMu
YXBwZW5kKHRlc3RfZmFpbHVyZXMuRmFpbHVyZUltYWdlSGFzaE1pc21hdGNoKCkpCi0gICAgICAg
ICAgICAgICAgZHJpdmVyX291dHB1dC5lcnJvciA9IChkcml2ZXJfb3V0cHV0LmVycm9yIG9yICcn
KSArIGVycm9yX3N0cmluZworICAgICAgICAgICAgICAgIGRyaXZlcl9vdXRwdXQuZXJyb3IgPSAo
ZHJpdmVyX291dHB1dC5lcnJvciBvciAnJykgKyBkaWZmX3Jlc3VsdC5lcnJvcl9zdHJpbmcKICAg
ICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZHJpdmVyX291dHB1dC5pbWFnZV9kaWZm
ID0gZGlmZl9yZXN1bHRbMF0KKyAgICAgICAgICAgICAgICBkcml2ZXJfb3V0cHV0LmltYWdlX2Rp
ZmYgPSBkaWZmX3Jlc3VsdC5kaWZmX2ltYWdlCiAgICAgICAgICAgICAgICAgaWYgZHJpdmVyX291
dHB1dC5pbWFnZV9kaWZmOgotICAgICAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVz
dF9mYWlsdXJlcy5GYWlsdXJlSW1hZ2VIYXNoTWlzbWF0Y2goZGlmZl9yZXN1bHRbMV0pKQorICAg
ICAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJlcy5GYWlsdXJlSW1h
Z2VIYXNoTWlzbWF0Y2goZGlmZl9yZXN1bHQuZGlmZl9wZXJjZW50KSkKICAgICAgICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njk0NDQgZm9yIHdoeSB0aGlzIGlzbid0IGEgZnVsbCBmYWlsdXJl
LgogICAgICAgICAgICAgICAgICAgICBfbG9nLndhcm5pbmcoJyAgJXMgLT4gcGl4ZWwgaGFzaCBm
YWlsZWQgKGJ1dCBkaWZmIHBhc3NlZCknICUgc2VsZi5fdGVzdF9uYW1lKQpAQCAtMzU4LDEyICsz
NTcsMTEgQEAgY2xhc3MgU2luZ2xlVGVzdFJ1bm5lcihvYmplY3QpOgogICAgICAgICBlbGlmIHJl
ZmVyZW5jZV9kcml2ZXJfb3V0cHV0LmltYWdlX2hhc2ggIT0gYWN0dWFsX2RyaXZlcl9vdXRwdXQu
aW1hZ2VfaGFzaDoKICAgICAgICAgICAgICMgSW1hZ2VEaWZmIGhhcyBhIGhhcmQgY29kZWQgY29s
b3IgZGlzdGFuY2UgdGhyZXNob2xkIGV2ZW4gdGhvdWdoIHRvbGVyYW5jZT0wIGlzIHNwZWNpZmll
ZC4KICAgICAgICAgICAgIGRpZmZfcmVzdWx0ID0gc2VsZi5fcG9ydC5kaWZmX2ltYWdlKHJlZmVy
ZW5jZV9kcml2ZXJfb3V0cHV0LmltYWdlLCBhY3R1YWxfZHJpdmVyX291dHB1dC5pbWFnZSwgdG9s
ZXJhbmNlPTApCi0gICAgICAgICAgICBlcnJvcl9zdHJpbmcgPSBkaWZmX3Jlc3VsdFsyXQotICAg
ICAgICAgICAgaWYgZXJyb3Jfc3RyaW5nOgotICAgICAgICAgICAgICAgIF9sb2cud2FybmluZygn
ICAlcyA6ICVzJyAlIChzZWxmLl90ZXN0X25hbWUsIGVycm9yX3N0cmluZykpCisgICAgICAgICAg
ICBpZiBkaWZmX3Jlc3VsdC5lcnJvcl9zdHJpbmc6CisgICAgICAgICAgICAgICAgX2xvZy53YXJu
aW5nKCcgICVzIDogJXMnICUgKHNlbGYuX3Rlc3RfbmFtZSwgZGlmZl9yZXN1bHQuZXJyb3Jfc3Ry
aW5nKSkKICAgICAgICAgICAgICAgICBmYWlsdXJlcy5hcHBlbmQodGVzdF9mYWlsdXJlcy5GYWls
dXJlUmVmdGVzdE1pc21hdGNoKHJlZmVyZW5jZV9maWxlbmFtZSkpCi0gICAgICAgICAgICAgICAg
YWN0dWFsX2RyaXZlcl9vdXRwdXQuZXJyb3IgPSAoYWN0dWFsX2RyaXZlcl9vdXRwdXQuZXJyb3Ig
b3IgJycpICsgZXJyb3Jfc3RyaW5nCi0gICAgICAgICAgICBlbGlmIGRpZmZfcmVzdWx0WzBdOgor
ICAgICAgICAgICAgICAgIGFjdHVhbF9kcml2ZXJfb3V0cHV0LmVycm9yID0gKGFjdHVhbF9kcml2
ZXJfb3V0cHV0LmVycm9yIG9yICcnKSArIGRpZmZfcmVzdWx0LmVycm9yX3N0cmluZworICAgICAg
ICAgICAgZWxpZiBkaWZmX3Jlc3VsdC5kaWZmX2ltYWdlOgogICAgICAgICAgICAgICAgIGZhaWx1
cmVzLmFwcGVuZCh0ZXN0X2ZhaWx1cmVzLkZhaWx1cmVSZWZ0ZXN0TWlzbWF0Y2gocmVmZXJlbmNl
X2ZpbGVuYW1lKSkKIAogICAgICAgICByZXR1cm4gVGVzdFJlc3VsdChzZWxmLl90ZXN0X2lucHV0
LCBmYWlsdXJlcywgdG90YWxfdGVzdF90aW1lLCBoYXNfc3RkZXJyLCBwaWQ9YWN0dWFsX2RyaXZl
cl9vdXRwdXQucGlkKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3JpdGVyX3VuaXR0ZXN0LnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvdGVzdF9yZXN1bHRfd3Jp
dGVyX3VuaXR0ZXN0LnB5CmluZGV4IDY0ZjNiYzgyMTdkMThkZjRmMDM0ZTI2NzU4MmVmYWY4ODI5
NTY0MzAuLmQzNTRmMWYxNTg3MzZkZGIwNzk2ZWNmYjA0YzJiMWY3OGRjM2IxM2EgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3Rlc3Rf
cmVzdWx0X3dyaXRlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9jb250cm9sbGVycy90ZXN0X3Jlc3VsdF93cml0ZXJfdW5pdHRlc3QucHkKQEAg
LTMwLDYgKzMwLDcgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuY29udHJvbGxlcnMgaW1w
b3J0IHRlc3RfcmVzdWx0X3dyaXRlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxz
IGltcG9ydCB0ZXN0X2ZhaWx1cmVzCiBmcm9tIHdlYmtpdHB5LnBvcnQuZHJpdmVyIGltcG9ydCBE
cml2ZXJPdXRwdXQKIGZyb20gd2Via2l0cHkucG9ydC50ZXN0IGltcG9ydCBUZXN0UG9ydAorZnJv
bSB3ZWJraXRweS5wb3J0LmltYWdlX2RpZmYgaW1wb3J0IEltYWdlRGlmZlJlc3VsdAogCiAKIGNs
YXNzIFRlc3RSZXN1bHRXcml0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTQxLDcgKzQy
LDcgQEAgY2xhc3MgVGVzdFJlc3VsdFdyaXRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBjbGFzcyBJbWFnZURpZmZUZXN0UG9ydChUZXN0UG9ydCk6CiAgICAgICAgICAgICBkZWYg
ZGlmZl9pbWFnZShzZWxmLCBleHBlY3RlZF9jb250ZW50cywgYWN0dWFsX2NvbnRlbnRzLCB0b2xl
cmFuY2U9Tm9uZSk6CiAgICAgICAgICAgICAgICAgdXNlZF90b2xlcmFuY2VfdmFsdWVzLmFwcGVu
ZCh0b2xlcmFuY2UpCi0gICAgICAgICAgICAgICAgcmV0dXJuIChUcnVlLCAxLCBOb25lKQorICAg
ICAgICAgICAgICAgIHJldHVybiBJbWFnZURpZmZSZXN1bHQoVHJ1ZSwgMSwgTm9uZSkKIAogICAg
ICAgICBob3N0ID0gTW9ja0hvc3QoKQogICAgICAgICBwb3J0ID0gSW1hZ2VEaWZmVGVzdFBvcnQo
aG9zdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL21v
ZGVscy90ZXN0X2ZhaWx1cmVzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXMucHkKaW5kZXggNzhmZjQ0YmY0MzYwNTEzMGUzMmQ4NGJl
NDZjZDY4NDQ3YjQyMThhNC4uNGY2MTFkMDEwODcxMGEzZmYwYzVjODQyZDYzMjVhYzc0NjczZmM5
NCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbW9kZWxz
L3Rlc3RfZmFpbHVyZXMucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvbW9kZWxzL3Rlc3RfZmFpbHVyZXMucHkKQEAgLTIzMiwxMCArMjMyLDEwIEBAIGNsYXNzIEZh
aWx1cmVSZWZ0ZXN0TWlzbWF0Y2goVGVzdEZhaWx1cmUpOgogICAgICAgICAjIEZJWE1FOiBUaGlz
IHdvcmsgc2hvdWxkIGJlIGRvbmUgZWFybGllciBpbiB0aGUgcGlwZWxpbmUgKGUuZy4sIHdoZW4g
d2UgY29tcGFyZSBpbWFnZXMgZm9yIG5vbi1yZWYgdGVzdHMpLgogICAgICAgICAjIEZJWE1FOiBX
ZSBzaG91bGQgYWx3YXlzIGhhdmUgMiBpbWFnZXMgaGVyZS4KICAgICAgICAgaWYgZHJpdmVyX291
dHB1dC5pbWFnZSBhbmQgZXhwZWN0ZWRfZHJpdmVyX291dHB1dC5pbWFnZToKLSAgICAgICAgICAg
IGRpZmZfaW1hZ2UsIGRpZmZfcGVyY2VudCwgZXJyX3N0ciA9IHBvcnQuZGlmZl9pbWFnZShleHBl
Y3RlZF9kcml2ZXJfb3V0cHV0LmltYWdlLCBkcml2ZXJfb3V0cHV0LmltYWdlLCB0b2xlcmFuY2U9
MCkKLSAgICAgICAgICAgIGlmIGRpZmZfaW1hZ2U6Ci0gICAgICAgICAgICAgICAgd3JpdGVyLndy
aXRlX2ltYWdlX2RpZmZfZmlsZXMoZGlmZl9pbWFnZSkKLSAgICAgICAgICAgICAgICBzZWxmLmRp
ZmZfcGVyY2VudCA9IGRpZmZfcGVyY2VudAorICAgICAgICAgICAgZGlmZl9yZXN1bHQgPSBwb3J0
LmRpZmZfaW1hZ2UoZXhwZWN0ZWRfZHJpdmVyX291dHB1dC5pbWFnZSwgZHJpdmVyX291dHB1dC5p
bWFnZSwgdG9sZXJhbmNlPTApCisgICAgICAgICAgICBpZiBkaWZmX3Jlc3VsdC5kaWZmX2ltYWdl
OgorICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZV9pbWFnZV9kaWZmX2ZpbGVzKGRpZmZfcmVz
dWx0LmRpZmZfaW1hZ2UpCisgICAgICAgICAgICAgICAgc2VsZi5kaWZmX3BlcmNlbnQgPSBkaWZm
X3Jlc3VsdC5kaWZmX3BlcmNlbnQKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAg
X2xvZy53YXJuKCdyZWYgdGVzdCBtaXNtYXRjaCBkaWQgbm90IHByb2R1Y2UgYW4gaW1hZ2UgZGlm
Zi4nKQogICAgICAgICB3cml0ZXIud3JpdGVfcmVmdGVzdChzZWxmLnJlZmVyZW5jZV9maWxlbmFt
ZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93
ZWJraXRfdGVzdHNfaW50ZWdyYXRpb250ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKaW5kZXggZTY3
ZWNlNTA3ZDQwYTM5ODA3OWYzMjNlZTdhNTdjZWY5NmZjYjQ0Ny4uZjMxOGMxN2JhMDNkMzk0MzA4
ZGVmYjE2ZjczNDQwNzExYmJmOGNkYiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRlZ3JhdGlvbnRlc3QucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0c19pbnRl
Z3JhdGlvbnRlc3QucHkKQEAgLTQyLDYgKzQyLDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uaG9z
dF9tb2NrIGltcG9ydCBNb2NrSG9zdAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMgaW1wb3J0
IHJ1bl93ZWJraXRfdGVzdHMKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0
X3J1bl9yZXN1bHRzIGltcG9ydCBJTlRFUlJVUFRFRF9FWElUX1NUQVRVUwogZnJvbSB3ZWJraXRw
eS5wb3J0IGltcG9ydCB0ZXN0Citmcm9tIHdlYmtpdHB5LnBvcnQuaW1hZ2VfZGlmZiBpbXBvcnQg
SW1hZ2VEaWZmUmVzdWx0CiBmcm9tIHdlYmtpdHB5Lnhjb2RlLmRldmljZV90eXBlIGltcG9ydCBE
ZXZpY2VUeXBlCiAKIApAQCAtNzUxLDcgKzc1Miw3IEBAIGNsYXNzIFJ1blRlc3QodW5pdHRlc3Qu
VGVzdENhc2UsIFN0cmVhbVRlc3RpbmdNaXhpbik6CiAgICAgICAgIGNsYXNzIEltYWdlRGlmZlRl
c3RQb3J0KHRlc3QuVGVzdFBvcnQpOgogICAgICAgICAgICAgZGVmIGRpZmZfaW1hZ2Uoc2VsZiwg
ZXhwZWN0ZWRfY29udGVudHMsIGFjdHVhbF9jb250ZW50cywgdG9sZXJhbmNlPU5vbmUpOgogICAg
ICAgICAgICAgICAgIHNlbGYudG9sZXJhbmNlX3VzZWRfZm9yX2RpZmZfaW1hZ2UgPSBzZWxmLl9v
cHRpb25zLnRvbGVyYW5jZQotICAgICAgICAgICAgICAgIHJldHVybiAoVHJ1ZSwgMSwgTm9uZSkK
KyAgICAgICAgICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KFRydWUsIDEsIE5vbmUpCiAK
ICAgICAgICAgZGVmIGdldF9wb3J0X2Zvcl9ydW4oYXJncyk6CiAgICAgICAgICAgICBvcHRpb25z
LCBwYXJzZWRfYXJncyA9IHJ1bl93ZWJraXRfdGVzdHMucGFyc2VfYXJncyhhcmdzKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCA2NjRlOGE0ZjU2OTMxNDY0YzliYjAxMzAyMGE0
MzE3ZGZkMzMwYTIwLi4zNTY0MDAxOGMzM2QwNTIxM2NiMDZiODgxYzQyNDUzMjFkYjc5Y2VhIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpAQCAtNTYsNiArNTYsNyBAQCBmcm9tIHdl
YmtpdHB5LnBvcnQgaW1wb3J0IGRyaXZlcgogZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBpbWFn
ZV9kaWZmCiBmcm9tIHdlYmtpdHB5LnBvcnQgaW1wb3J0IHNlcnZlcl9wcm9jZXNzCiBmcm9tIHdl
YmtpdHB5LnBvcnQuZmFjdG9yeSBpbXBvcnQgUG9ydEZhY3RvcnkKK2Zyb20gd2Via2l0cHkucG9y
dC5pbWFnZV9kaWZmIGltcG9ydCBJbWFnZURpZmZSZXN1bHQKIGZyb20gd2Via2l0cHkubGF5b3V0
X3Rlc3RzLnNlcnZlcnMgaW1wb3J0IGFwYWNoZV9odHRwX3NlcnZlciwgaHR0cF9zZXJ2ZXIsIGh0
dHBfc2VydmVyX2Jhc2UKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnNlcnZlcnMgaW1wb3J0
IHdlYl9wbGF0Zm9ybV90ZXN0X3NlcnZlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMuc2Vy
dmVycyBpbXBvcnQgd2Vic29ja2V0X3NlcnZlcgpAQCAtMzA2LDExICszMDcsMTQgQEAgY2xhc3Mg
UG9ydChvYmplY3QpOgogICAgICAgICBJZiBhbiBlcnJvciBvY2N1cnMgKGxpa2UgSW1hZ2VEaWZm
IGlzbid0IGZvdW5kLCBvciBjcmFzaGVzLCB3ZSBsb2cgYW4gZXJyb3IgYW5kIHJldHVybiBUcnVl
IChmb3IgYSBkaWZmKS4KICAgICAgICAgIiIiCiAgICAgICAgIGlmIG5vdCBhY3R1YWxfY29udGVu
dHMgYW5kIG5vdCBleHBlY3RlZF9jb250ZW50czoKLSAgICAgICAgICAgIHJldHVybiAoTm9uZSwg
MCwgTm9uZSkKKyAgICAgICAgICAgIHJldHVybiBJbWFnZURpZmZSZXN1bHQoTm9uZSwgMCwgTm9u
ZSkKKwogICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIG9yIG5vdCBleHBlY3RlZF9jb250
ZW50czoKLSAgICAgICAgICAgIHJldHVybiAoVHJ1ZSwgMCwgTm9uZSkKKyAgICAgICAgICAgIHJl
dHVybiBJbWFnZURpZmZSZXN1bHQoVHJ1ZSwgMCwgTm9uZSkKKwogICAgICAgICBpZiBub3Qgc2Vs
Zi5faW1hZ2VfZGlmZmVyOgogICAgICAgICAgICAgc2VsZi5faW1hZ2VfZGlmZmVyID0gaW1hZ2Vf
ZGlmZi5JbWFnZURpZmZlcihzZWxmKQorCiAgICAgICAgIHNlbGYuc2V0X29wdGlvbl9kZWZhdWx0
KCd0b2xlcmFuY2UnLCAwLjEpCiAgICAgICAgIGlmIHRvbGVyYW5jZSBpcyBOb25lOgogICAgICAg
ICAgICAgdG9sZXJhbmNlID0gc2VsZi5nZXRfb3B0aW9uKCd0b2xlcmFuY2UnKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2ltYWdlX2RpZmYucHkgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQppbmRleCAwMDIxODZjMzhhMGVkOWNiYmRl
MTU1ODlhZWQ5YmY0NzgwYmYxNjhhLi42MzNiMWUzMDNiMDljYmIyMjg2NGRjMmMzOTdjOGQ3NGU5
MTBiNmVlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlm
Zi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW1hZ2VfZGlmZi5weQpAQCAt
MzYsMTAgKzM2LDI5IEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0Y29yZXB5IGltcG9ydCBC
eXRlc0lPLCBzdHJpbmdfdXRpbHMKIAotCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCiAKIAorY2xhc3MgSW1hZ2VEaWZmUmVzdWx0KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9f
KHNlbGYsIGRpZmZfaW1hZ2UsIGRpZmZlcmVuY2UsIGVycm9yX3N0cmluZyk6CisgICAgICAgIHNl
bGYuZGlmZl9pbWFnZSA9IGRpZmZfaW1hZ2UKKyAgICAgICAgc2VsZi5kaWZmX3BlcmNlbnQgPSBk
aWZmZXJlbmNlCisgICAgICAgIHNlbGYuZXJyb3Jfc3RyaW5nID0gZXJyb3Jfc3RyaW5nCisKKyAg
ICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwg
c2VsZi5fX2NsYXNzX18pOgorICAgICAgICAgICAgcmV0dXJuIChzZWxmLmRpZmZfaW1hZ2UgPT0g
b3RoZXIuZGlmZl9pbWFnZSBhbmQKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5kaWZmX3BlcmNl
bnQgPT0gb3RoZXIuZGlmZl9wZXJjZW50IGFuZAorICAgICAgICAgICAgICAgICAgICBzZWxmLmVy
cm9yX3N0cmluZyA9PSBvdGhlci5lcnJvcl9zdHJpbmcpCisKKyAgICAgICAgcmV0dXJuIEZhbHNl
CisKKyAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxm
Ll9fZXFfXyhvdGhlcikKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJu
ICdJbWFnZURpZmZSZXN1bHQoe30ge30ge30pJy5mb3JtYXQoc2VsZi5kaWZmX2ltYWdlLCBzZWxm
LmRpZmZfcGVyY2VudCwgc2VsZi5lcnJvcl9zdHJpbmcpCisKIGNsYXNzIEltYWdlRGlmZmVyKG9i
amVjdCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnQpOgogICAgICAgICBzZWxmLl9wb3J0
ID0gcG9ydApAQCAtMTA5LDEwICsxMjgsMTAgQEAgY2xhc3MgSW1hZ2VEaWZmZXIob2JqZWN0KToK
ICAgICAgICAgaWYgb3V0cHV0IGFuZCBvdXRwdXQuc3RhcnRzd2l0aChiJ2RpZmYnKToKICAgICAg
ICAgICAgIG0gPSByZS5tYXRjaChiJ2RpZmY6ICguKyklIChwYXNzZWR8ZmFpbGVkKScsIG91dHB1
dCkKICAgICAgICAgICAgIGlmIG0uZ3JvdXAoMikgPT0gYidwYXNzZWQnOgotICAgICAgICAgICAg
ICAgIHJldHVybiAoTm9uZSwgMCwgTm9uZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gSW1hZ2VE
aWZmUmVzdWx0KE5vbmUsIDAsIE5vbmUpCiAgICAgICAgICAgICBkaWZmX3BlcmNlbnQgPSBmbG9h
dChzdHJpbmdfdXRpbHMuZGVjb2RlKG0uZ3JvdXAoMSksIHRhcmdldF90eXBlPXN0cikpCiAKLSAg
ICAgICAgcmV0dXJuIChvdXRwdXRfaW1hZ2UsIGRpZmZfcGVyY2VudCwgZXJyX3N0ciBvciBOb25l
KQorICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KG91dHB1dF9pbWFnZSwgZGlmZl9wZXJj
ZW50LCBlcnJfc3RyIG9yIE5vbmUpCiAKICAgICBkZWYgc3RvcChzZWxmKToKICAgICAgICAgaWYg
c2VsZi5fcHJvY2VzczoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9w
b3J0X3Rlc3RjYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNh
c2UucHkKaW5kZXggZTVhOTZjZDgwNTQxNDA2ZGJjZTA2OWZjYmVkYmIwMWQyMDhhNjQwOS4uODcx
N2M5YTZjMGIwYWIwOTI2ZTVjYWJkNmQ2MGU0YWM3ZmE0YWM2OSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L3BvcnRfdGVzdGNhc2UucHkKQEAgLTQ1LDcgKzQ1LDcgQEAgZnJvbSB3
ZWJraXRweS5jb21tb24uc3lzdGVtLnN5c3RlbWhvc3RfbW9jayBpbXBvcnQgTW9ja1N5c3RlbUhv
c3QKIGZyb20gd2Via2l0cHkuY29tbW9uLnZlcnNpb25fbmFtZV9tYXAgaW1wb3J0IElOVEVSTkFM
X1RBQkxFCiBmcm9tIHdlYmtpdHB5LnBvcnQuYmFzZSBpbXBvcnQgUG9ydAogZnJvbSB3ZWJraXRw
eS5wb3J0LmNvbmZpZyBpbXBvcnQgYXBwbGVfYWRkaXRpb25zLCBjbGVhcl9jYWNoZWRfY29uZmln
dXJhdGlvbgotZnJvbSB3ZWJraXRweS5wb3J0LmltYWdlX2RpZmYgaW1wb3J0IEltYWdlRGlmZmVy
Citmcm9tIHdlYmtpdHB5LnBvcnQuaW1hZ2VfZGlmZiBpbXBvcnQgSW1hZ2VEaWZmZXIsIEltYWdl
RGlmZlJlc3VsdAogZnJvbSB3ZWJraXRweS5wb3J0LnNlcnZlcl9wcm9jZXNzX21vY2sgaW1wb3J0
IE1vY2tTZXJ2ZXJQcm9jZXNzCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5zZXJ2ZXJzIGlt
cG9ydCBodHRwX3NlcnZlcl9iYXNlCiBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0
IE1vY2tPcHRpb25zCkBAIC0yNTUsMzAgKzI1NSwzMCBAQCBjbGFzcyBQb3J0VGVzdENhc2UodW5p
dHRlc3QuVGVzdENhc2UpOgogICAgICAgICB0bXBmZCwgdG1wZmlsZSA9IHBvcnQuX2ZpbGVzeXN0
ZW0ub3Blbl9iaW5hcnlfdGVtcGZpbGUoJycpCiAgICAgICAgIHRtcGZkLmNsb3NlKCkKIAotICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuZGlmZl9pbWFnZShjb250ZW50czEsIGNvbnRlbnRz
MSlbMF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LmRpZmZfaW1hZ2UoY29udGVudHMx
LCBjb250ZW50czIpWzBdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuZGlmZl9pbWFn
ZShjb250ZW50czEsIGNvbnRlbnRzMSkuZGlmZl9pbWFnZSkKKyAgICAgICAgc2VsZi5hc3NlcnRU
cnVlKHBvcnQuZGlmZl9pbWFnZShjb250ZW50czEsIGNvbnRlbnRzMikuZGlmZl9pbWFnZSkKIAot
ICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5kaWZmX2ltYWdlKGNvbnRlbnRzMSwgY29udGVu
dHMyLCB0bXBmaWxlKVswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuZGlmZl9pbWFn
ZShjb250ZW50czEsIGNvbnRlbnRzMiwgdG1wZmlsZSkuZGlmZl9pbWFnZSkKIAogICAgICAgICBw
b3J0Ll9maWxlc3lzdGVtLnJlbW92ZSh0bXBmaWxlKQogCiAgICAgZGVmIHRlc3RfZGlmZl9pbWFn
ZV9fbWlzc2luZ19ib3RoKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQoKQot
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuZGlmZl9pbWFnZShOb25lLCBOb25lKVswXSkK
LSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LmRpZmZfaW1hZ2UoTm9uZSwgYicnKVswXSkK
LSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LmRpZmZfaW1hZ2UoYicnLCBOb25lKVswXSkK
KyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LmRpZmZfaW1hZ2UoTm9uZSwgTm9uZSkuZGlm
Zl9pbWFnZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0LmRpZmZfaW1hZ2UoTm9uZSwg
YicnKS5kaWZmX2ltYWdlKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQuZGlmZl9pbWFn
ZShiJycsIE5vbmUpLmRpZmZfaW1hZ2UpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3J0
LmRpZmZfaW1hZ2UoYicnLCBiJycpWzBdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBvcnQu
ZGlmZl9pbWFnZShiJycsIGInJykuZGlmZl9pbWFnZSkKIAogICAgIGRlZiB0ZXN0X2RpZmZfaW1h
Z2VfX21pc3NpbmdfYWN0dWFsKHNlbGYpOgogICAgICAgICBwb3J0ID0gc2VsZi5tYWtlX3BvcnQo
KQotICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5kaWZmX2ltYWdlKE5vbmUsIGInZm9vJylb
MF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LmRpZmZfaW1hZ2UoYicnLCBiJ2Zvbycp
WzBdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5kaWZmX2ltYWdlKE5vbmUsIGInZm9v
JykuZGlmZl9pbWFnZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuZGlmZl9pbWFnZShi
JycsIGInZm9vJykuZGlmZl9pbWFnZSkKIAogICAgIGRlZiB0ZXN0X2RpZmZfaW1hZ2VfX21pc3Np
bmdfZXhwZWN0ZWQoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCi0gICAg
ICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBOb25lKVswXSkKLSAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInJylbMF0pCisg
ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBOb25lKS5kaWZm
X2ltYWdlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocG9ydC5kaWZmX2ltYWdlKGInZm9vJywg
YicnKS5kaWZmX2ltYWdlKQogCiAgICAgZGVmIHRlc3RfZGlmZl9pbWFnZShzZWxmKToKICAgICAg
ICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKQEAgLTI5OCwyMiArMjk4LDIyIEBAIGNsYXNzIFBv
cnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICMgRmlyc3QgdGVzdCB0aGUg
Y2FzZSBvZiBub3QgdXNpbmcgdGhlIEpIQnVpbGQgd3JhcHBlci4KICAgICAgICAgc2VsZi5hc3Nl
cnRGYWxzZShwb3J0Ll9zaG91bGRfdXNlX2poYnVpbGQoKSkKIAotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJyksIChiJycsIDEwMC4wLCBOb25l
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2Jh
cicpLCBJbWFnZURpZmZSZXN1bHQoYicnLCAxMDAuMCwgTm9uZSkpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc2VsZi5wcm9jLmNtZCwgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS10
b2xlcmFuY2UiLCAiMC4xIl0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2lt
YWdlKGInZm9vJywgYidiYXInLCBOb25lKSwgKGInJywgMTAwLjAsIE5vbmUpKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgTm9uZSksIElt
YWdlRGlmZlJlc3VsdChiJycsIDEwMC4wLCBOb25lKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLnByb2MuY21kLCBbcG9ydC5fcGF0aF90b19pbWFnZV9kaWZmKCksICItLXRvbGVyYW5j
ZSIsICIwLjEiXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0LmRpZmZfaW1hZ2UoYidm
b28nLCBiJ2JhcicsIDApLCAoYicnLCAxMDAuMCwgTm9uZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywgYidiYXInLCAwKSwgSW1hZ2VEaWZmUmVzdWx0
KGInJywgMTAwLjAsIE5vbmUpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvYy5j
bWQsIFtwb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tdG9sZXJhbmNlIiwgIjAiXSkKIAog
ICAgICAgICAjIE5vdyB0ZXN0IHRoZSBjYXNlIG9mIHVzaW5nIEpIQnVpbGQgd3JhcHBlci4KICAg
ICAgICAgcG9ydC5fZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShwb3J0LnBhdGhfZnJv
bV93ZWJraXRfYmFzZSgnV2ViS2l0QnVpbGQnLCAnRGVwZW5kZW5jaWVzJXMnICUgcG9ydC5wb3J0
X25hbWUudXBwZXIoKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3J0Ll9zaG91bGRfdXNl
X2poYnVpbGQoKSkKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShi
J2ZvbycsIGInYmFyJyksIChiJycsIDEwMC4wLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicpLCBJbWFnZURpZmZSZXN1bHQoYicn
LCAxMDAuMCwgTm9uZSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9jLmNtZCwg
cG9ydC5famhidWlsZF93cmFwcGVyICsgW3BvcnQuX3BhdGhfdG9faW1hZ2VfZGlmZigpLCAiLS10
b2xlcmFuY2UiLCAiMC4xIl0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2lt
YWdlKGInZm9vJywgYidiYXInLCBOb25lKSwgKGInJywgMTAwLjAsIE5vbmUpKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgTm9uZSksIElt
YWdlRGlmZlJlc3VsdChiJycsIDEwMC4wLCBOb25lKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzZWxmLnByb2MuY21kLCBwb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBbcG9ydC5fcGF0aF90b19p
bWFnZV9kaWZmKCksICItLXRvbGVyYW5jZSIsICIwLjEiXSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChwb3J0LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicsIDApLCAoYicnLCAxMDAuMCwgTm9u
ZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9ydC5kaWZmX2ltYWdlKGInZm9vJywgYidi
YXInLCAwKSwgSW1hZ2VEaWZmUmVzdWx0KGInJywgMTAwLjAsIE5vbmUpKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHNlbGYucHJvYy5jbWQsIHBvcnQuX2poYnVpbGRfd3JhcHBlciArIFtwb3J0
Ll9wYXRoX3RvX2ltYWdlX2RpZmYoKSwgIi0tdG9sZXJhbmNlIiwgIjAiXSkKIAogICAgICAgICBw
b3J0LmNsZWFuX3VwX3Rlc3RfcnVuKCkKQEAgLTMyNCwxMyArMzI0LDEzIEBAIGNsYXNzIFBvcnRU
ZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9y
dCgpCiAgICAgICAgIHBvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9yID0gbGFtYmRhIHBv
cnQsIG5tLCBjbWQsIGVudiwgY3Jhc2hfbWVzc2FnZT1Ob25lOiBNb2NrU2VydmVyUHJvY2Vzcyhs
aW5lcz1bJ2RpZmY6IDAlIHBhc3NlZFxuJ10pCiAgICAgICAgIGltYWdlX2RpZmZlciA9IEltYWdl
RGlmZmVyKHBvcnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW1hZ2VfZGlmZmVyLmRpZmZf
aW1hZ2UoYidmb28nLCBiJ2JhcicsIDAuMSksIChOb25lLCAwLCBOb25lKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChpbWFnZV9kaWZmZXIuZGlmZl9pbWFnZShiJ2ZvbycsIGInYmFyJywgMC4x
KSwgSW1hZ2VEaWZmUmVzdWx0KE5vbmUsIDAsIE5vbmUpKQogCiAgICAgZGVmIHRlc3RfZGlmZl9p
bWFnZV9mYWlsZWQoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCiAgICAg
ICAgIHBvcnQuX3NlcnZlcl9wcm9jZXNzX2NvbnN0cnVjdG9yID0gbGFtYmRhIHBvcnQsIG5tLCBj
bWQsIGVudiwgY3Jhc2hfbWVzc2FnZT1Ob25lOiBNb2NrU2VydmVyUHJvY2VzcyhsaW5lcz1bJ2Rp
ZmY6IDEwMCUgZmFpbGVkXG4nXSkKICAgICAgICAgaW1hZ2VfZGlmZmVyID0gSW1hZ2VEaWZmZXIo
cG9ydCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbWFnZV9kaWZmZXIuZGlmZl9pbWFnZShi
J2ZvbycsIGInYmFyJywgMC4xKSwgKGInJywgMTAwLjAsIE5vbmUpKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGltYWdlX2RpZmZlci5kaWZmX2ltYWdlKGInZm9vJywgYidiYXInLCAwLjEpLCBJ
bWFnZURpZmZSZXN1bHQoYicnLCAxMDAuMCwgTm9uZSkpCiAKICAgICBkZWYgdGVzdF9kaWZmX2lt
YWdlX2NyYXNoZWQoc2VsZik6CiAgICAgICAgIHBvcnQgPSBzZWxmLm1ha2VfcG9ydCgpCkBAIC0z
NDYsNyArMzQ2LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAog
ICAgICAgICBwb3J0Ll9zZXJ2ZXJfcHJvY2Vzc19jb25zdHJ1Y3RvciA9IG1ha2VfcHJvYwogICAg
ICAgICBwb3J0LnNldHVwX3Rlc3RfcnVuKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3J0
LmRpZmZfaW1hZ2UoYidmb28nLCBiJ2JhcicpLCAoYicnLCAwLCAnSW1hZ2VEaWZmIGNyYXNoZWRc
bicpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvcnQuZGlmZl9pbWFnZShiJ2ZvbycsIGIn
YmFyJyksIEltYWdlRGlmZlJlc3VsdChiJycsIDAsICdJbWFnZURpZmYgY3Jhc2hlZFxuJykpCiAg
ICAgICAgIHBvcnQuY2xlYW5fdXBfdGVzdF9ydW4oKQogCiAgICAgQHNsb3cKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3Rlc3QucHkKaW5kZXggZjJjZTg3M2VhMTM3OGExYWIzMTMzMjJjM2RiOTQwY2E5
YmI4OWVlZS4uZTJjOTY4YTcwNmM5OWI2YjIyYzM0ZTE4YjVmMDQ0MTExNGY5MzRjZCAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkKKysrIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkKQEAgLTM0LDYgKzM0LDcgQEAgZnJvbSB3ZWJraXRw
eS5wb3J0IGltcG9ydCBQb3J0LCBEcml2ZXIsIERyaXZlck91dHB1dAogZnJvbSB3ZWJraXRweS5s
YXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfY29uZmlndXJhdGlvbiBpbXBvcnQgVGVzdENvbmZpZ3Vy
YXRpb24KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5jcmFzaGxvZ3MgaW1wb3J0IENyYXNo
TG9ncwogZnJvbSB3ZWJraXRweS5jb21tb24udmVyc2lvbl9uYW1lX21hcCBpbXBvcnQgUFVCTElD
X1RBQkxFLCBWZXJzaW9uTmFtZU1hcAorZnJvbSB3ZWJraXRweS5wb3J0LmltYWdlX2RpZmYgaW1w
b3J0IEltYWdlRGlmZlJlc3VsdAogCiAKICMgVGhpcyBzZXRzIGJhc2ljIGV4cGVjdGF0aW9ucyBm
b3IgYSB0ZXN0LiBFYWNoIGluZGl2aWR1YWwgZXhwZWN0YXRpb24KQEAgLTQwNywxNyArNDA4LDIw
IEBAIGNsYXNzIFRlc3RQb3J0KFBvcnQpOgogICAgICAgICBhY3R1YWxfY29udGVudHMgPSBzdHJp
bmdfdXRpbHMuZW5jb2RlKGFjdHVhbF9jb250ZW50cykKICAgICAgICAgZGlmZmVkID0gYWN0dWFs
X2NvbnRlbnRzICE9IGV4cGVjdGVkX2NvbnRlbnRzCiAgICAgICAgIGlmIG5vdCBhY3R1YWxfY29u
dGVudHMgYW5kIG5vdCBleHBlY3RlZF9jb250ZW50czoKLSAgICAgICAgICAgIHJldHVybiAoTm9u
ZSwgMCwgTm9uZSkKKyAgICAgICAgICAgIHJldHVybiBJbWFnZURpZmZSZXN1bHQoTm9uZSwgMCwg
Tm9uZSkKKwogICAgICAgICBpZiBub3QgYWN0dWFsX2NvbnRlbnRzIG9yIG5vdCBleHBlY3RlZF9j
b250ZW50czoKLSAgICAgICAgICAgIHJldHVybiAoVHJ1ZSwgMCwgTm9uZSkKKyAgICAgICAgICAg
IHJldHVybiBJbWFnZURpZmZSZXN1bHQoVHJ1ZSwgMCwgTm9uZSkKKwogICAgICAgICBpZiBiJ3Jl
ZicgaW4gZXhwZWN0ZWRfY29udGVudHM6CiAgICAgICAgICAgICBhc3NlcnQgdG9sZXJhbmNlID09
IDAKICAgICAgICAgaWYgZGlmZmVkOgotICAgICAgICAgICAgcmV0dXJuICgiPCB7fVxuLS0tXG4+
IHt9XG4iLmZvcm1hdCgKKyAgICAgICAgICAgIHJldHVybiBJbWFnZURpZmZSZXN1bHQoIjwge31c
bi0tLVxuPiB7fVxuIi5mb3JtYXQoCiAgICAgICAgICAgICAgICAgc3RyaW5nX3V0aWxzLmRlY29k
ZShleHBlY3RlZF9jb250ZW50cywgdGFyZ2V0X3R5cGU9c3RyKSwKICAgICAgICAgICAgICAgICBz
dHJpbmdfdXRpbHMuZGVjb2RlKGFjdHVhbF9jb250ZW50cywgdGFyZ2V0X3R5cGU9c3RyKSwKICAg
ICAgICAgICAgICksIDEsIE5vbmUpCi0gICAgICAgIHJldHVybiAoTm9uZSwgMCwgTm9uZSkKKwor
ICAgICAgICByZXR1cm4gSW1hZ2VEaWZmUmVzdWx0KE5vbmUsIDAsIE5vbmUpCiAKICAgICBkZWYg
bGF5b3V0X3Rlc3RzX2RpcihzZWxmKToKICAgICAgICAgcmV0dXJuIExBWU9VVF9URVNUX0RJUgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>