<?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>99793</bug_id>
          
          <creation_ts>2012-10-18 18:49:38 -0700</creation_ts>
          <short_desc>make move_overwritten_baselines_to work again while rebaselining</short_desc>
          <delta_ts>2012-10-18 22:45:17 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745874</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 18:49:38 -0700</bug_when>
    <thetext>make move_overwritten_baselines_to work again while rebaselining</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745876</commentid>
    <comment_count>1</comment_count>
      <attachid>169530</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 18:51:32 -0700</bug_when>
    <thetext>Created attachment 169530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745881</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 18:58:26 -0700</bug_when>
    <thetext>It looks like this code broke at some point (possibly at least partially in r121706 / bug 90396, but probably partially in other patches as well).

Since I need to bring up the new Chromium Mountain Lion baselines, it would be nice to make this work again in garden-o-matic.

This patch, I believe restores the previous functionality, and I think we should land it as-is before trying something else.

However, two ideas ...

1) It is kinda inconvenient to have to locally modify builders.js to take advantage of this functionality. I&apos;m thinking it might make more sense to also support a command line flag to garden-o-matic, like &quot;webkit-patch garden-o-matic --move-overwritten-baselines-to &apos;WebKit Mac10.8=chromium-mac-lion&apos;&quot; or something. I don&apos;t think the syntax needs to be terribly elegant.

2) Obviously better would be to just make garden-o-matic handle this rebaselining case better. Namely, when updating a baseline, we should check to see if this will potentially alter the results for any other builder that might use that baseline and, if so, and if not already also planning to rebaseline that builder, copy the overwritten result down. I think, since we rebaseline a test for all bots at once with rebaseline-json, this should be pretty straightforward, and I&apos;m not sure that this strategy has any flaws. But obviously I&apos;d want to do this in a separate patch .

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745968</commentid>
    <comment_count>3</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-18 22:02:28 -0700</bug_when>
    <thetext>I strongly prefer 2. But for unexpected failures, I think we decided on keeping the current behavior since the common case is that the test hasn&apos;t run on all the bots yet, but that they will share results (e.g. all the mac bots will have the same result). This minimized churn and waiting on bots to cycle for unexpected failures, but gets 100% correctness for expected failures or new bots. So, for new bots (e.g. the mtlion bot), I think we still want a way to mark it as doing this fallback behavior, just not needing to hard-code the fallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745973</commentid>
    <comment_count>4</comment_count>
      <attachid>169530</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-18 22:18:38 -0700</bug_when>
    <thetext>Comment on attachment 169530
Patch

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

&gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:44
&gt; +#      FIXME: When do you need this?

This is a workaround for ports that don&apos;t have full bot coverage, e.g. win-7sp1 actualy corresponds to platform/win, but there&apos;s no win-7sp1 bot, so we hack the win-7sp0 bot to put baselines in platform/win and qt-linux is th eonly qt bot on the webkit.org waterfall to run tests. I&apos;m not sure at the moment, why mac-mountainlion needs this though. That might be a bug.

It&apos;s a total hack. Not sure what else we could do. I suppose we could try to encourage ports to get better coverage, except platform/qt is like platform/chromium (i.e. there&apos;s no such thing as a plain qt bot). So they would need full coverage for every platform/qt-* directory before we could remove it for them.

There&apos;s probably a better way to do all this, but it hasn&apos;t yet occurred to me. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745976</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 22:23:49 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 169530 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169530&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/layout_tests/port/builders.py:44
&gt; &gt; +#      FIXME: When do you need this?
&gt; 
&gt; This is a workaround for ports that don&apos;t have full bot coverage, e.g. win-7sp1 actualy corresponds to platform/win, but there&apos;s no win-7sp1 bot, so we hack the win-7sp0 bot to put baselines in platform/win and qt-linux is th eonly qt bot on the webkit.org waterfall to run tests. I&apos;m not sure at the moment, why mac-mountainlion needs this though. That might be a bug.
&gt; 
&gt; It&apos;s a total hack. Not sure what else we could do. I suppose we could try to encourage ports to get better coverage, except platform/qt is like platform/chromium (i.e. there&apos;s no such thing as a plain qt bot). So they would need full coverage for every platform/qt-* directory before we could remove it for them.
&gt; 
&gt; There&apos;s probably a better way to do all this, but it hasn&apos;t yet occurred to me. :)

Okay, I&apos;ll add something about this to the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745977</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 22:26:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I strongly prefer 2. But for unexpected failures, I think we decided on keeping the current behavior since the common case is that the test hasn&apos;t run on all the bots yet, but that they will share results (e.g. all the mac bots will have the same result). 

I think you&apos;ve convinced me that we shouldn&apos;t move overwritten baselines by default for unexpected failures. I&apos;m not sure that it&apos;s worth providing a way to choose to move overwritten baselines in the UI; it might be sufficient to never move unexpected and always move expected?

&gt; This minimized churn and waiting on bots to cycle for unexpected failures, but gets 100% correctness for expected failures or new bots. 

Is there a difference between expected failures and new bots here?

&gt;So, for new bots (e.g. the mtlion bot), I think we still want a way to mark it as doing this fallback behavior, just not needing to hard-code the fallback.

I&apos;m not sure what you mean by this sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745980</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 22:32:27 -0700</bug_when>
    <thetext>Committed r131856: &lt;http://trac.webkit.org/changeset/131856&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745982</commentid>
    <comment_count>8</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-18 22:34:14 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #3)
&gt; &gt; I strongly prefer 2. But for unexpected failures, I think we decided on keeping the current behavior since the common case is that the test hasn&apos;t run on all the bots yet, but that they will share results (e.g. all the mac bots will have the same result). 
&gt; 
&gt; I think you&apos;ve convinced me that we shouldn&apos;t move overwritten baselines by default for unexpected failures. I&apos;m not sure that it&apos;s worth providing a way to choose to move overwritten baselines in the UI; it might be sufficient to never move unexpected and always move expected?

The latter is what I&apos;m picturing.

&gt; &gt; This minimized churn and waiting on bots to cycle for unexpected failures, but gets 100% correctness for expected failures or new bots. 
&gt; 
&gt; Is there a difference between expected failures and new bots here?

No. 

&gt; &gt;So, for new bots (e.g. the mtlion bot), I think we still want a way to mark it as doing this fallback behavior, just not needing to hard-code the fallback.
&gt; 
&gt; I&apos;m not sure what you mean by this sentence.

All I meant is the above. We need some way to mark new bots as new so that we no know to treat their unexpected failures as expected failures. Oh, I suppose the way you have it now with a special TestExpectations file, they already all show up under expected failures, so there&apos;s no extra plumbing. That&apos;s seems better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745985</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 22:38:30 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; &gt;So, for new bots (e.g. the mtlion bot), I think we still want a way to mark it as doing this fallback behavior, just not needing to hard-code the fallback.
&gt; &gt; 
&gt; &gt; I&apos;m not sure what you mean by this sentence.
&gt; 
&gt; All I meant is the above. We need some way to mark new bots as new so that we no know to treat their unexpected failures as expected failures. Oh, I suppose the way you have it now with a special TestExpectations file, they already all show up under expected failures, so there&apos;s no extra plumbing. That&apos;s seems better.

Yeah, it&apos;s really easy to make unexpected failures expected at this point. I&apos;m not even sure that the separate TestExpectations file is worth it assuming the tools will just work (although I suppose for non-Chromium ports a separate file is kinda the default anyway).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745991</commentid>
    <comment_count>10</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-10-18 22:42:28 -0700</bug_when>
    <thetext>&gt; Yeah, it&apos;s really easy to make unexpected failures expected at this point. I&apos;m not even sure that the separate TestExpectations file is worth it assuming the tools will just work (although I suppose for non-Chromium ports a separate file is kinda the default anyway).

The only problem with this is the current garden-o-matic UI makes it hard to work through just the list of MtLion expected failures. With unexpected failures it groups them in a more convenient way for that specific use-case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745995</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-10-18 22:45:17 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Yeah, it&apos;s really easy to make unexpected failures expected at this point. I&apos;m not even sure that the separate TestExpectations file is worth it assuming the tools will just work (although I suppose for non-Chromium ports a separate file is kinda the default anyway).
&gt; 
&gt; The only problem with this is the current garden-o-matic UI makes it hard to work through just the list of MtLion expected failures. With unexpected failures it groups them in a more convenient way for that specific use-case.

Yeah, although at least this evening I was finding it really convenient to see the failures by name and just look to see if a given test was failing on ML or ML+other bots; the unexpected results page might not give you this context (although I need to look again).

Fortunately, I still have a few thousand tests to go so I&apos;ll have plenty more opportunity to think about what might work better than what we have now :).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169530</attachid>
            <date>2012-10-18 18:51:32 -0700</date>
            <delta_ts>2012-10-18 22:18:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99793-20121018185017.patch</filename>
            <type>text/plain</type>
            <size>13790</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODI3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGY0MTNhM2NmYjY3NGIxOTZkYzJlNjAyMjExNTdjZjll
MGE0MjNiOS4uMTI2NDljNjU0ZGJmZWFiNWVmNThmOGQxYTA3ZTcyNzIyMzVlNjhhMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1
IEBACiAyMDEyLTEwLTE4ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgogCisg
ICAgICAgIG1ha2UgbW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG8gd29yayBhZ2FpbiB3aGls
ZSByZWJhc2VsaW5pbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk5NzkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2UgdXNlZCB0byBoYXZlIGNvZGUgdGhhdCB3b3VsZCBoZWxwIHdoZW4gcmViYXNlbGlu
aW5nIHJlc3VsdHMKKyAgICAgICAgZm9yIG5ldyBwb3J0cyAoZS5nLiwgd2hlbiBtb3ZpbmcgZnJv
bSBMaW9uIHRvIE1vdW50YWluIExpb24pIGJ1dAorICAgICAgICBpdCBhcHBlYXJzIHRoYXQgY29k
ZSBiaXRyb3R0ZWQgZHVyaW5nIGFsbCB0aGUgcmVmYWN0b3Jpbmcgc2luY2UKKyAgICAgICAgdGhl
IGxhc3QgdGltZSB3ZSBuZWVkZWQgdGhpcy4gVGhpcyBwYXRjaCBtYWtlcyB0aGluZ3Mgd29yawor
ICAgICAgICBhZ2FpbiwgYWRkcyBtb3JlIHRlc3RzIHRoYXQgd2lsbCBob3BlZnVsbHkgbWFrZSBj
bGVhcmVyIHdoYXQKKyAgICAgICAgaXMgc3VwcG9zZWQgdG8gd29yaywgYW5kIHJlbmFtZXMgdmFy
aW91cyBwYXJhbWV0ZXJzIHRvIGJlCisgICAgICAgIGNvbnNpc3RlbnQuCisKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5OgorICAgICAgICAo
bW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG8pOgorICAgICAgICAoYnVpbGRlcl9wYXRoX2Zv
cl9wb3J0X25hbWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9y
ZWJhc2VsaW5lLnB5OgorICAgICAgICAoUmViYXNlbGluZVRlc3QuX19pbml0X18pOgorICAgICAg
ICAoUmViYXNlbGluZVRlc3QuX2NvcHlfZXhpc3RpbmdfYmFzZWxpbmUpOgorICAgICAgICAoUmVi
YXNlbGluZVRlc3QuX3JlYmFzZWxpbmVfdGVzdCk6CisgICAgICAgIChSZWJhc2VsaW5lVGVzdC5l
eGVjdXRlKToKKyAgICAgICAgKEFic3RyYWN0UGFyYWxsZWxSZWJhc2VsaW5lQ29tbWFuZC5fcmVi
YXNlbGluZV9jb21tYW5kcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL3JlYmFzZWxpbmVfdW5pdHRlc3QucHk6CisgICAgICAgICh0ZXN0X3JlYmFzZWxpbmVfanNv
bl93aXRoX21vdmVfb3ZlcndyaXR0ZW5fYmFzZWxpbmVzX3RvKToKKyAgICAgICAgKHRlc3RfcmVi
YXNlbGluZV90ZXN0X2ludGVybmFsX3dpdGhfbW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG8p
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2dhcmRlbmluZ3NlcnZl
cl91bml0dGVzdC5weToKKyAgICAgICAgKEdhcmRlbmluZ1NlcnZlclRlc3QudGVzdF9yZWJhc2Vs
aW5lYWxsKToKKworMjAxMi0xMC0xOCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9y
Zz4KKwogICAgICAgICBbY2hyb21pdW1dIGdhcmRlbi1vLW1hdGljIHNob3VsZCBpZ25vcmUgdGhl
IDEwLjggVGVzdHMgYm90CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05OTc2NQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9wb3J0L2J1aWxkZXJzLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvcG9ydC9idWlsZGVycy5weQppbmRleCA0MTc1MzM5NzdhZThhNmJlNzc5ZGE0NmVkYWI0
NzQyMGE4MDVlNTIzLi5lNDFmMzQ3MjkxNDljMjJkYmNlYTBhODkwMDY2NDgyMzk0MTYwYmViIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9wb3J0L2J1aWxk
ZXJzLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3BvcnQvYnVp
bGRlcnMucHkKQEAgLTM1LDYgKzM1LDE0IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLm1lbW9pemVk
IGltcG9ydCBtZW1vaXplZAogIyBJbiB0aGlzIGRpY3Rpb25hcnksIGVhY2ggaXRlbSBzdG9yZXM6
CiAjICogcG9ydF9uYW1lIC0tIGEgZnVsbHkgcXVhbGlmaWVkIHBvcnQgbmFtZQogIyAqIHNwZWNp
ZmllcnMgLS0gYSBzZXQgb2Ygc3BlY2lmaWVycywgcmVwcmVzZW50aW5nIGNvbmZpZ3VyYXRpb25z
IGNvdmVyZWQgYnkgdGhpcyBidWlsZGVyLgorIyAqIG1vdmVfb3ZlcndyaXR0ZW5fYmFzZWxpbmVz
X3RvIC0tIChvcHRpb25hbCkgbGlzdCBvZiBwbGF0Zm9ybSBkaXJlY3RvcmllcyB0aGF0IHdlIHdp
bGwgY29weSBhbiBleGlzdGluZworIyAgICAgIGJhc2VsaW5lIHRvIGJlZm9yZSBwdWxsaW5nIGRv
d24gYSBuZXcgYmFzZWxpbmUgZHVyaW5nIHJlYmFzZWxpbmluZy4gVGhpcyBpcyB1c2VmdWwKKyMg
ICAgICBmb3IgYnJpbmdpbmcgdXAgYSBuZXcgcG9ydCwgZm9yIGV4YW1wbGUgd2hlbiBhZGRpbmcg
YSBMaW9uIHdhcyB0aGUgbW9zdCByZWNlbnQgTWFjIHZlcnNpb24gYW5kCisjICAgICAgd2Ugd2Fu
dGVkIHRvIGJyaW5nIHVwIE1vdW50YWluIExpb24sIHdlIHdvdWxkIHdhbnQgdG8gY29weSBhbiBl
eGlzdGluZyBiYXNlbGluZSBpbiBwbGF0Zm9ybS9tYWMKKyMgICAgICB0byBwbGF0Zm9ybS9tYWMt
bW91bnRhaW5saW9uIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxhdGZvcm0vbWFjIGVudHJ5LgorIyAq
IHJlYmFzZWxpbmVfb3ZlcnJpZGVfZGlyIC0tIChvcHRpb25hbCkgZGlyZWN0b3J5IHRvIHB1dCBi
YXNlbGluZXMgaW4gaW5zdGVhZCBvZiB3aGVyZSB5b3Ugd291bGQgbm9ybWFsbHkgcHV0IHRoZW0u
CisjICAgICAgRklYTUU6IFdoZW4gZG8geW91IG5lZWQgdGhpcz8KKwogX2V4YWN0X21hdGNoZXMg
PSB7CiAgICAgIyBUaGVzZSBidWlsZGVycyBhcmUgb24gYnVpbGQuY2hyb21pdW0ub3JnLgogICAg
ICJXZWJLaXQgWFAiOiB7InBvcnRfbmFtZSI6ICJjaHJvbWl1bS13aW4teHAiLCAic3BlY2lmaWVy
cyI6IHNldChbInhwIiwgInJlbGVhc2UiXSl9LApAQCAtMTE4LDYgKzEyNiwxMCBAQCBkZWYgcmVi
YXNlbGluZV9vdmVycmlkZV9kaXIoYnVpbGRlcl9uYW1lKToKICAgICByZXR1cm4gX2V4YWN0X21h
dGNoZXNbYnVpbGRlcl9uYW1lXS5nZXQoInJlYmFzZWxpbmVfb3ZlcnJpZGVfZGlyIiwgTm9uZSkK
IAogCitkZWYgbW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG8oYnVpbGRlcl9uYW1lKToKKyAg
ICByZXR1cm4gX2V4YWN0X21hdGNoZXNbYnVpbGRlcl9uYW1lXS5nZXQoIm1vdmVfb3ZlcndyaXR0
ZW5fYmFzZWxpbmVzX3RvIiwgW10pCisKKwogZGVmIHBvcnRfbmFtZV9mb3JfYnVpbGRlcl9uYW1l
KGJ1aWxkZXJfbmFtZSk6CiAgICAgaWYgYnVpbGRlcl9uYW1lIGluIF9leGFjdF9tYXRjaGVzOgog
ICAgICAgICByZXR1cm4gX2V4YWN0X21hdGNoZXNbYnVpbGRlcl9uYW1lXVsicG9ydF9uYW1lIl0K
QEAgLTEzNiw3ICsxNDgsMyBAQCBkZWYgYnVpbGRlcl9uYW1lX2Zvcl9wb3J0X25hbWUodGFyZ2V0
X3BvcnRfbmFtZSk6CiAKIGRlZiBidWlsZGVyX3BhdGhfZm9yX3BvcnRfbmFtZShwb3J0X25hbWUp
OgogICAgIGJ1aWxkZXJfcGF0aF9mcm9tX25hbWUoYnVpbGRlcl9uYW1lX2Zvcl9wb3J0X25hbWUo
cG9ydF9uYW1lKSkKLQotCi1kZWYgZmFsbGJhY2tfcG9ydF9uYW1lc19mb3JfbmV3X3BvcnQoYnVp
bGRlcl9uYW1lKToKLSAgICByZXR1cm4gX2V4YWN0X21hdGNoZXNbYnVpbGRlcl9uYW1lXS5nZXQo
Im1vdmVfb3ZlcndyaXR0ZW5fYmFzZWxpbmVzX3RvIiwgW10pCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZS5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lLnB5CmluZGV4IGNiOGZhMDAxZjQy
YWVlZWUzYTc5MjJjMGFmM2NjNzI4MTI2MWNiYmQuLjg1OTk2MzI2MWNkMWQyMjBmMDI2NjBkMmNi
YmNjODBmNThkYzAxMTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9yZWJhc2VsaW5lLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9yZWJhc2VsaW5lLnB5CkBAIC03NCw3ICs3NCw4IEBAIGNsYXNzIFJlYmFzZWxpbmVU
ZXN0KEFic3RyYWN0UmViYXNlbGluaW5nQ29tbWFuZCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYp
OgogICAgICAgICBvcHRpb25zID0gWwogICAgICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24o
Ii0tYnVpbGRlciIsIGhlbHA9IkJ1aWxkZXIgdG8gcHVsbCBuZXcgYmFzZWxpbmVzIGZyb20iKSwK
LSAgICAgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLXBsYXRmb3JtLXRvLW1vdmUtdG8i
LCBoZWxwPSJQbGF0Zm9ybSB0byBtb3ZlIGV4aXN0aW5nIGJhc2VsaW5lcyB0byBiZWZvcmUgcmVi
YXNlbGluaW5nLiBUaGlzIGlzIGZvciBkZWFsaW5nIHdpdGggYnJpbmdpbmcgdXAgbmV3IHBvcnRz
IHRoYXQgaW50ZXJhY3Qgd2l0aCBub24tdHJlZSBwb3J0aW9ucyBvZiB0aGUgZmFsbGJhY2sgZ3Jh
cGguIiksCisgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1tb3ZlLW92ZXJ3cml0
dGVuLWJhc2VsaW5lcy10byIsIGFjdGlvbj0iYXBwZW5kIiwgZGVmYXVsdD1bXSwKKyAgICAgICAg
ICAgICAgICBoZWxwPSJQbGF0Zm9ybSB0byBtb3ZlIGV4aXN0aW5nIGJhc2VsaW5lcyB0byBiZWZv
cmUgcmViYXNlbGluaW5nLiBUaGlzIGlzIGZvciBicmluZ2luZyB1cCBuZXcgcG9ydHMuIiksCiAg
ICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS10ZXN0IiwgaGVscD0iVGVzdCB0byBy
ZWJhc2VsaW5lIiksCiAgICAgICAgIF0KICAgICAgICAgQWJzdHJhY3RSZWJhc2VsaW5pbmdDb21t
YW5kLl9faW5pdF9fKHNlbGYsIG9wdGlvbnM9b3B0aW9ucykKQEAgLTkwLDEzICs5MSwxMyBAQCBj
bGFzcyBSZWJhc2VsaW5lVGVzdChBYnN0cmFjdFJlYmFzZWxpbmluZ0NvbW1hbmQpOgogICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuX3Rvb2wuZmlsZXN5c3RlbS5qb2luKHBvcnQubGF5b3V0X3Rlc3Rz
X2RpcigpLCAncGxhdGZvcm0nLCBvdmVycmlkZV9kaXIpCiAgICAgICAgIHJldHVybiBwb3J0LmJh
c2VsaW5lX3ZlcnNpb25fZGlyKCkKIAotICAgIGRlZiBfY29weV9leGlzdGluZ19iYXNlbGluZShz
ZWxmLCBwbGF0Zm9ybXNfdG9fbW92ZV9leGlzdGluZ19iYXNlbGluZXNfdG8sIHRlc3RfbmFtZSwg
c3VmZml4KToKKyAgICBkZWYgX2NvcHlfZXhpc3RpbmdfYmFzZWxpbmUoc2VsZiwgbW92ZV9vdmVy
d3JpdHRlbl9iYXNlbGluZXNfdG8sIHRlc3RfbmFtZSwgc3VmZml4KToKICAgICAgICAgb2xkX2Jh
c2VsaW5lcyA9IFtdCiAgICAgICAgIG5ld19iYXNlbGluZXMgPSBbXQogCiAgICAgICAgICMgTmVl
ZCB0byBnYXRoZXIgYWxsIHRoZSBiYXNlbGluZSBwYXRocyBiZWZvcmUgbW9kaWZ5aW5nIHRoZSBm
aWxlc3lzdGVtIHNpbmNlCiAgICAgICAgICMgdGhlIG1vZGlmaWNhdGlvbnMgY2FuIGFmZmVjdCB0
aGUgcmVzdWx0cyBvZiBwb3J0LmV4cGVjdGVkX2ZpbGVuYW1lLgotICAgICAgICBmb3IgcGxhdGZv
cm0gaW4gcGxhdGZvcm1zX3RvX21vdmVfZXhpc3RpbmdfYmFzZWxpbmVzX3RvOgorICAgICAgICBm
b3IgcGxhdGZvcm0gaW4gbW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG86CiAgICAgICAgICAg
ICBwb3J0ID0gc2VsZi5fdG9vbC5wb3J0X2ZhY3RvcnkuZ2V0KHBsYXRmb3JtKQogICAgICAgICAg
ICAgb2xkX2Jhc2VsaW5lID0gcG9ydC5leHBlY3RlZF9maWxlbmFtZSh0ZXN0X25hbWUsICIuIiAr
IHN1ZmZpeCkKICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl90b29sLmZpbGVzeXN0ZW0uZXhpc3Rz
KG9sZF9iYXNlbGluZSk6CkBAIC0xNTIsMTUgKzE1MywxNSBAQCBjbGFzcyBSZWJhc2VsaW5lVGVz
dChBYnN0cmFjdFJlYmFzZWxpbmluZ0NvbW1hbmQpOgogICAgIGRlZiBfZmlsZV9uYW1lX2Zvcl9l
eHBlY3RlZF9yZXN1bHQoc2VsZiwgdGVzdF9uYW1lLCBzdWZmaXgpOgogICAgICAgICByZXR1cm4g
IiVzLWV4cGVjdGVkLiVzIiAlIChzZWxmLl90ZXN0X3Jvb3QodGVzdF9uYW1lKSwgc3VmZml4KQog
Ci0gICAgZGVmIF9yZWJhc2VsaW5lX3Rlc3Qoc2VsZiwgYnVpbGRlcl9uYW1lLCB0ZXN0X25hbWUs
IHBsYXRmb3Jtc190b19tb3ZlX2V4aXN0aW5nX2Jhc2VsaW5lc190bywgc3VmZml4KToKKyAgICBk
ZWYgX3JlYmFzZWxpbmVfdGVzdChzZWxmLCBidWlsZGVyX25hbWUsIHRlc3RfbmFtZSwgbW92ZV9v
dmVyd3JpdHRlbl9iYXNlbGluZXNfdG8sIHN1ZmZpeCk6CiAgICAgICAgIHJlc3VsdHNfdXJsID0g
c2VsZi5fcmVzdWx0c191cmwoYnVpbGRlcl9uYW1lKQogICAgICAgICBiYXNlbGluZV9kaXJlY3Rv
cnkgPSBzZWxmLl9iYXNlbGluZV9kaXJlY3RvcnkoYnVpbGRlcl9uYW1lKQogCiAgICAgICAgIHNv
dXJjZV9iYXNlbGluZSA9ICIlcy8lcyIgJSAocmVzdWx0c191cmwsIHNlbGYuX2ZpbGVfbmFtZV9m
b3JfYWN0dWFsX3Jlc3VsdCh0ZXN0X25hbWUsIHN1ZmZpeCkpCiAgICAgICAgIHRhcmdldF9iYXNl
bGluZSA9IHNlbGYuX3Rvb2wuZmlsZXN5c3RlbS5qb2luKGJhc2VsaW5lX2RpcmVjdG9yeSwgc2Vs
Zi5fZmlsZV9uYW1lX2Zvcl9leHBlY3RlZF9yZXN1bHQodGVzdF9uYW1lLCBzdWZmaXgpKQogCi0g
ICAgICAgIGlmIHBsYXRmb3Jtc190b19tb3ZlX2V4aXN0aW5nX2Jhc2VsaW5lc190bzoKLSAgICAg
ICAgICAgIHNlbGYuX2NvcHlfZXhpc3RpbmdfYmFzZWxpbmUocGxhdGZvcm1zX3RvX21vdmVfZXhp
c3RpbmdfYmFzZWxpbmVzX3RvLCB0ZXN0X25hbWUsIHN1ZmZpeCkKKyAgICAgICAgaWYgbW92ZV9v
dmVyd3JpdHRlbl9iYXNlbGluZXNfdG86CisgICAgICAgICAgICBzZWxmLl9jb3B5X2V4aXN0aW5n
X2Jhc2VsaW5lKG1vdmVfb3ZlcndyaXR0ZW5fYmFzZWxpbmVzX3RvLCB0ZXN0X25hbWUsIHN1ZmZp
eCkKIAogICAgICAgICBfbG9nLmluZm8oIlJldHJpZXZpbmcgJXMuIiAlIHNvdXJjZV9iYXNlbGlu
ZSkKICAgICAgICAgc2VsZi5fc2F2ZV9iYXNlbGluZShzZWxmLl90b29sLndlYi5nZXRfYmluYXJ5
KHNvdXJjZV9iYXNlbGluZSwgY29udmVydF80MDRfdG9fTm9uZT1UcnVlKSwgdGFyZ2V0X2Jhc2Vs
aW5lKQpAQCAtMTcyLDcgKzE3Myw3IEBAIGNsYXNzIFJlYmFzZWxpbmVUZXN0KEFic3RyYWN0UmVi
YXNlbGluaW5nQ29tbWFuZCk6CiAKICAgICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBhcmdz
LCB0b29sKToKICAgICAgICAgc2VsZi5fYmFzZWxpbmVfc3VmZml4X2xpc3QgPSBvcHRpb25zLnN1
ZmZpeGVzLnNwbGl0KCcsJykKLSAgICAgICAgc2VsZi5fcmViYXNlbGluZV90ZXN0X2FuZF91cGRh
dGVfZXhwZWN0YXRpb25zKG9wdGlvbnMuYnVpbGRlciwgb3B0aW9ucy50ZXN0LCBvcHRpb25zLnBs
YXRmb3JtX3RvX21vdmVfdG8pCisgICAgICAgIHNlbGYuX3JlYmFzZWxpbmVfdGVzdF9hbmRfdXBk
YXRlX2V4cGVjdGF0aW9ucyhvcHRpb25zLmJ1aWxkZXIsIG9wdGlvbnMudGVzdCwgb3B0aW9ucy5t
b3ZlX292ZXJ3cml0dGVuX2Jhc2VsaW5lc190bykKICAgICAgICAgcHJpbnQganNvbi5kdW1wcyhz
ZWxmLl9zY21fY2hhbmdlcykKIAogCkBAIC0yNjksNiArMjcwLDkgQEAgY2xhc3MgQWJzdHJhY3RQ
YXJhbGxlbFJlYmFzZWxpbmVDb21tYW5kKEFic3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAg
ICAgICAgICAgIGZvciBidWlsZGVyIGluIHNlbGYuX2J1aWxkZXJzX3RvX2ZldGNoX2Zyb20odGVz
dF9saXN0W3Rlc3RdKToKICAgICAgICAgICAgICAgICBzdWZmaXhlcyA9ICcsJy5qb2luKHRlc3Rf
bGlzdFt0ZXN0XVtidWlsZGVyXSkKICAgICAgICAgICAgICAgICBjbWRfbGluZSA9IFtwYXRoX3Rv
X3dlYmtpdF9wYXRjaCwgJ3JlYmFzZWxpbmUtdGVzdC1pbnRlcm5hbCcsICctLXN1ZmZpeGVzJywg
c3VmZml4ZXMsICctLWJ1aWxkZXInLCBidWlsZGVyLCAnLS10ZXN0JywgdGVzdF0KKyAgICAgICAg
ICAgICAgICBtb3ZlX292ZXJ3cml0dGVuX2Jhc2VsaW5lc190byA9IGJ1aWxkZXJzLm1vdmVfb3Zl
cndyaXR0ZW5fYmFzZWxpbmVzX3RvKGJ1aWxkZXIpCisgICAgICAgICAgICAgICAgZm9yIHBsYXRm
b3JtIGluIG1vdmVfb3ZlcndyaXR0ZW5fYmFzZWxpbmVzX3RvOgorICAgICAgICAgICAgICAgICAg
ICBjbWRfbGluZS5leHRlbmQoWyctLW1vdmUtb3ZlcndyaXR0ZW4tYmFzZWxpbmVzLXRvJywgcGxh
dGZvcm1dKQogICAgICAgICAgICAgICAgIGNvbW1hbmRzLmFwcGVuZCh0dXBsZShbY21kX2xpbmUs
IGN3ZF0pKQogICAgICAgICByZXR1cm4gY29tbWFuZHMKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmVfdW5pdHRlc3QucHkgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZV91bml0dGVzdC5weQpp
bmRleCA2OGYxOWY2ZmFjODE4NmUwMGI1ZmJkZGI4YTZlZjVlOGYyMzdmMTAzLi4zNTM5NDI0NWZj
N2RiZmI0ZDI0NDdkNTNkNDljNzI3NTVjZDRhYmJmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZV91bml0dGVzdC5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZV91bml0dGVzdC5weQpA
QCAtNDU2LDMgKzQ1Niw2MCBAQCBNT0NLIHJ1bl9jb21tYW5kOiBbJ2VjaG8nLCAnb3B0aW1pemUt
YmFzZWxpbmVzJywgJy0tc3VmZml4ZXMnLCAnd2F2LHR4dCxwbmcnLCAnbQogCiAgICAgICAgIGZp
bmFsbHk6CiAgICAgICAgICAgICBidWlsZGVycy5fZXhhY3RfbWF0Y2hlcyA9IG9sZF9leGFjdF9t
YXRjaGVzCisKKyAgICBkZWYgdGVzdF9yZWJhc2VsaW5lX2pzb25fd2l0aF9tb3ZlX292ZXJ3cml0
dGVuX2Jhc2VsaW5lc190byhzZWxmKToKKyAgICAgICAgb2xkX2V4YWN0X21hdGNoZXMgPSBidWls
ZGVycy5fZXhhY3RfbWF0Y2hlcworICAgICAgICB0cnk6CisgICAgICAgICAgICBidWlsZGVycy5f
ZXhhY3RfbWF0Y2hlcyA9IHsKKyAgICAgICAgICAgICAgICAiTU9DSyBidWlsZGVyIjogeyJwb3J0
X25hbWUiOiAidGVzdC1tYWMtbGVvcGFyZCIsICJzcGVjaWZpZXJzIjogc2V0KFsibW9jay1zcGVj
aWZpZXIiXSl9LAorICAgICAgICAgICAgICAgICJNT0NLIGJ1aWxkZXIyIjogeyJwb3J0X25hbWUi
OiAidGVzdC1tYWMtc25vd2xlb3BhcmQiLCAic3BlY2lmaWVycyI6IHNldChbIm1vY2stc3BlY2lm
aWVyMiJdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW92ZV9vdmVyd3Jp
dHRlbl9iYXNlbGluZXNfdG8iOiBbInRlc3QtbWFjLWxlb3BhcmQiXX0sCisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGNvbW1hbmQgPSBSZWJhc2VsaW5lKCkKKyAgICAgICAgICAgIHRvb2wg
PSBNb2NrVG9vbCgpCisgICAgICAgICAgICB0b29sLmV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUo
c2hvdWxkX2xvZz1UcnVlKQorICAgICAgICAgICAgY29tbWFuZC5iaW5kX3RvX3Rvb2wodG9vbCkK
KworICAgICAgICAgICAgZXhwZWN0ZWRfc3Rkb3V0ID0gIiIicmViYXNlbGluZS1qc29uOiB7J21v
Y2svcGF0aC90by90ZXN0Lmh0bWwnOiB7J01PQ0sgYnVpbGRlcjInOiBbJ3R4dCcsICdwbmcnXX19
XG4iIiIKKyAgICAgICAgICAgIGV4cGVjdGVkX3N0ZGVyciA9ICIiIk1PQ0sgcnVuX2NvbW1hbmQ6
IFsnZWNobycsICdyZWJhc2VsaW5lLXRlc3QtaW50ZXJuYWwnLCAnLS1zdWZmaXhlcycsICd0eHQs
cG5nJywgJy0tYnVpbGRlcicsICdNT0NLIGJ1aWxkZXIyJywgJy0tdGVzdCcsICdtb2NrL3BhdGgv
dG8vdGVzdC5odG1sJywgJy0tbW92ZS1vdmVyd3JpdHRlbi1iYXNlbGluZXMtdG8nLCAndGVzdC1t
YWMtbGVvcGFyZCddLCBjd2Q9L21vY2stY2hlY2tvdXQKK01PQ0sgcnVuX2NvbW1hbmQ6IFsnZWNo
bycsICdvcHRpbWl6ZS1iYXNlbGluZXMnLCAnLS1zdWZmaXhlcycsICd0eHQscG5nJywgJ21vY2sv
cGF0aC90by90ZXN0Lmh0bWwnXSwgY3dkPS9tb2NrLWNoZWNrb3V0CisiIiIKKworICAgICAgICAg
ICAgb3B0aW9ucyA9IE1vY2tPcHRpb25zKG9wdGltaXplPVRydWUsIGJ1aWxkZXJzPVsiTU9DSyBi
dWlsZGVyMiJdLCBzdWZmaXhlcz1bInR4dCxwbmciXSwgdmVyYm9zZT1UcnVlKQorICAgICAgICAg
ICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIGNvbW1hbmQuZXhlY3V0ZSwg
W29wdGlvbnMsIFsibW9jay9wYXRoL3RvL3Rlc3QuaHRtbCJdLCB0b29sXSwKKyAgICAgICAgICAg
ICAgICBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rkb3V0LCBleHBlY3RlZF9zdGRlcnI9ZXhw
ZWN0ZWRfc3RkZXJyKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgYnVpbGRlcnMuX2V4
YWN0X21hdGNoZXMgPSBvbGRfZXhhY3RfbWF0Y2hlcworCisgICAgZGVmIHRlc3RfcmViYXNlbGlu
ZV90ZXN0X2ludGVybmFsX3dpdGhfbW92ZV9vdmVyd3JpdHRlbl9iYXNlbGluZXNfdG8oc2VsZik6
CisgICAgICAgIG9sZF9leGFjdF9tYXRjaGVzID0gYnVpbGRlcnMuX2V4YWN0X21hdGNoZXMKKyAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgYnVpbGRlcnMuX2V4YWN0X21hdGNoZXMgPSB7CisgICAg
ICAgICAgICAgICAgIk1PQ0sgTGVvcGFyZCI6IHsicG9ydF9uYW1lIjogInRlc3QtbWFjLWxlb3Bh
cmQiLCAic3BlY2lmaWVycyI6IHNldChbIm1vY2stc3BlY2lmaWVyIl0pfSwKKyAgICAgICAgICAg
ICAgICAiTU9DSyBTbm93TGVvcGFyZCI6IHsicG9ydF9uYW1lIjogInRlc3QtbWFjLXNub3dsZW9w
YXJkIiwgInNwZWNpZmllcnMiOiBzZXQoWyJtb2NrLXNwZWNpZmllciJdKX0sCisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGNvbW1hbmQgPSBSZWJhc2VsaW5lVGVzdCgpCisgICAgICAgICAg
ICB0b29sID0gTW9ja1Rvb2woKQorICAgICAgICAgICAgdG9vbC5leGVjdXRpdmUgPSBNb2NrRXhl
Y3V0aXZlKHNob3VsZF9sb2c9VHJ1ZSkKKyAgICAgICAgICAgIGNvbW1hbmQuYmluZF90b190b29s
KHRvb2wpCisKKyAgICAgICAgICAgIHBvcnQgPSB0b29sLnBvcnRfZmFjdG9yeS5nZXQoJ3Rlc3Qt
bWFjLXNub3dsZW9wYXJkJykKKyAgICAgICAgICAgIHRvb2wuZmlsZXN5c3RlbS53cml0ZV90ZXh0
X2ZpbGUodG9vbC5maWxlc3lzdGVtLmpvaW4ocG9ydC5iYXNlbGluZV92ZXJzaW9uX2RpcigpLCAn
ZmFpbHVyZXMnLCAnZXhwZWN0ZWQnLCAnaW1hZ2UtZXhwZWN0ZWQudHh0JyksICcnKQorCisgICAg
ICAgICAgICBvcHRpb25zID0gTW9ja09wdGlvbnMob3B0aW1pemU9VHJ1ZSwgYnVpbGRlcj0iTU9D
SyBTbm93TGVvcGFyZCIsIHN1ZmZpeGVzPSJ0eHQiLAorICAgICAgICAgICAgICAgIG1vdmVfb3Zl
cndyaXR0ZW5fYmFzZWxpbmVzX3RvPVsidGVzdC1tYWMtbGVvcGFyZCJdLCB2ZXJib3NlPVRydWUs
IHRlc3Q9ImZhaWx1cmVzL2V4cGVjdGVkL2ltYWdlLmh0bWwiKQorCisgICAgICAgICAgICBvYyA9
IE91dHB1dENhcHR1cmUoKQorICAgICAgICAgICAgb2MuY2FwdHVyZV9vdXRwdXQoKQorICAgICAg
ICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGxvZ3MgPSAnJworICAgICAgICAgICAgICAgIGNv
bW1hbmQuZXhlY3V0ZShvcHRpb25zLCBbXSwgdG9vbCkKKyAgICAgICAgICAgIGZpbmFsbHk6Cisg
ICAgICAgICAgICAgICAgXywgXywgbG9ncyA9IG9jLnJlc3RvcmVfb3V0cHV0KCkKKworICAgICAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKCJDb3B5aW5nIGJhc2VsaW5lIGZyb20gL3Rlc3QuY2hlY2tv
dXQvTGF5b3V0VGVzdHMvcGxhdGZvcm0vdGVzdC1tYWMtc25vd2xlb3BhcmQvZmFpbHVyZXMvZXhw
ZWN0ZWQvaW1hZ2UtZXhwZWN0ZWQudHh0IHRvIC90ZXN0LmNoZWNrb3V0L0xheW91dFRlc3RzL3Bs
YXRmb3JtL3Rlc3QtbWFjLWxlb3BhcmQvZmFpbHVyZXMvZXhwZWN0ZWQvaW1hZ2UtZXhwZWN0ZWQu
dHh0LlxuIiBpbiBsb2dzKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBidWlsZGVy
cy5fZXhhY3RfbWF0Y2hlcyA9IG9sZF9leGFjdF9tYXRjaGVzCmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9nYXJkZW5pbmdzZXJ2ZXJfdW5pdHRlc3QucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvc2VydmVycy9nYXJkZW5pbmdzZXJ2ZXJfdW5p
dHRlc3QucHkKaW5kZXggMjEyMzdiNDhhODA4MzY1YzEzM2Q4NTAwZDQxNjkzNTUwZDIxMTA1MC4u
YTJmM2ZhYmM4ZDc3YzBhMGRiNmRjYWU5ZjQ5NmFkN2M1MjRmYjlmNyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL3NlcnZlcnMvZ2FyZGVuaW5nc2VydmVyX3VuaXR0ZXN0
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9zZXJ2ZXJzL2dhcmRlbmluZ3Nl
cnZlcl91bml0dGVzdC5weQpAQCAtMTIxLDkgKzEyMSwzIEBAIGNsYXNzIEdhcmRlbmluZ1NlcnZl
clRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxmLl9wb3N0X3RvX3BhdGgoIi9y
ZWJhc2VsaW5lYWxsIiwgYm9keT0neyJ1c2VyLXNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwiOnsi
TU9DSyBidWlsZGVyIjogWyJ0eHQiLCJwbmciXX19JywgZXhwZWN0ZWRfc3RkZXJyPWV4cGVjdGVk
X3N0ZGVyciAlICgnTU9DSyBidWlsZGVyJywgJyJ0eHQiLCJwbmciJyksIGV4cGVjdGVkX3N0ZG91
dD1leHBlY3RlZF9zdGRvdXQsIHNlcnZlcj1zZXJ2ZXIpCiAKICAgICAgICAgc2VsZi5fcG9zdF90
b19wYXRoKCIvcmViYXNlbGluZWFsbCIsIGJvZHk9J3sidXNlci1zY3JpcHRzL2Fub3RoZXItdGVz
dC5odG1sIjp7Ik1PQ0sgYnVpbGRlciAoRGVidWcpIjogWyJ0eHQiLCJwbmciXX19JywgZXhwZWN0
ZWRfc3RkZXJyPWV4cGVjdGVkX3N0ZGVyciAlICgnTU9DSyBidWlsZGVyIChEZWJ1ZyknLCAnInR4
dCIsInBuZyInKSwgZXhwZWN0ZWRfc3Rkb3V0PWV4cGVjdGVkX3N0ZG91dCkKLQotICAgIGRlZiB0
ZXN0X3JlYmFzZWxpbmVfbmV3X3BvcnQoc2VsZik6Ci0gICAgICAgIGJ1aWxkZXJzLl9leGFjdF9t
YXRjaGVzID0geyJNT0NLIGJ1aWxkZXIiOiB7InBvcnRfbmFtZSI6ICJ0ZXN0LW1hYy1sZW9wYXJk
IiwgInNwZWNpZmllcnMiOiBzZXQoWyJtb2NrLXNwZWNpZmllciJdKSwgIm1vdmVfb3ZlcndyaXR0
ZW5fYmFzZWxpbmVzX3RvIjogWyJtb2NrLXBvcnQtZmFsbGJhY2siLCAibW9jay1wb3J0LWZhbGxi
YWNrMiJdfX0KLSAgICAgICAgZXhwZWN0ZWRfc3RkZXJyID0gJ01PQ0sgcnVuX2NvbW1hbmQ6IFtc
J2VjaG9cJywgXCdyZWJhc2VsaW5lLWpzb25cJ10sIGN3ZD0vbW9jay1jaGVja291dCwgaW5wdXQ9
eyJ1c2VyLXNjcmlwdHMvYW5vdGhlci10ZXN0Lmh0bWwiOnsiTU9DSyBidWlsZGVyIjogWyJ0eHQi
LCJwbmciXX19XG4nCi0gICAgICAgIGV4cGVjdGVkX3N0ZG91dCA9ICI9PSBCZWdpbiBSZXNwb25z
ZSA9PVxuc3VjY2Vzc1xuPT0gRW5kIFJlc3BvbnNlID09XG4iCi0gICAgICAgIHNlbGYuX3Bvc3Rf
dG9fcGF0aCgiL3JlYmFzZWxpbmVhbGwiLCBib2R5PSd7InVzZXItc2NyaXB0cy9hbm90aGVyLXRl
c3QuaHRtbCI6eyJNT0NLIGJ1aWxkZXIiOiBbInR4dCIsInBuZyJdfX0nLCBleHBlY3RlZF9zdGRl
cnI9ZXhwZWN0ZWRfc3RkZXJyLCBleHBlY3RlZF9zdGRvdXQ9ZXhwZWN0ZWRfc3Rkb3V0KQo=
</data>
<flag name="review"
          id="182866"
          type_id="1"
          status="+"
          setter="ojan"
    />
          </attachment>
      

    </bug>

</bugzilla>