<?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>38027</bug_id>
          
          <creation_ts>2010-04-22 20:16:12 -0700</creation_ts>
          <short_desc>check-webkit-style complains about non-utf8 data in layout test result</short_desc>
          <delta_ts>2010-04-24 00:03: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>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Tony Chang">tony</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>cjerdonek</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>216243</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2010-04-22 20:16:12 -0700</bug_when>
    <thetext>The error is here:
https://bugs.webkit.org/show_bug.cgi?id=37981#c6

I have non-utf8 data in a layout test result (0xa0, a whitespace character).  I think this is quite common.

I&apos;m not sure what the right fix is here.  You could also imagine layout tests that are not utf8.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216520</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-23 13:00:07 -0700</bug_when>
    <thetext>The right fix is to treat patch files a binary data, since I now realize they have no encoding.

I&apos;ll fix the callers and post a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216559</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-23 14:29:51 -0700</bug_when>
    <thetext>This seems wrong.  I agree with you that patch files are binary.  But in this patch, it appears the -expected.txt file is not utf-8?

All output from DumpRenderTree is utf-8 as far as I know.  So how did you generate this expected.txt file and why wouldn&apos;t it be utf-8?

https://bug-37981-attachments.webkit.org/attachment.cgi?id=54123</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216596</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-23 15:31:49 -0700</bug_when>
    <thetext>I have a patch to fix our handling of patch files.  Finishing testing now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216671</commentid>
    <comment_count>4</comment_count>
      <attachid>54210</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-23 19:10:51 -0700</bug_when>
    <thetext>Created attachment 54210
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216676</commentid>
    <comment_count>5</comment_count>
      <attachid>54210</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-23 20:15:55 -0700</bug_when>
    <thetext>Comment on attachment 54210
Patch

WebKitTools/Scripts/webkitpy/common/checkout/scm.py:503
 +          # as we&apos;re passing --name-status which does not output any data.
This comment seems gratuitously different than the others.  Also, technically, file names (on unix) might not be UTF8 because they are just bytes.  I don&apos;t think we should worry about that here though.  Just more background for the trail of tears.

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216688</commentid>
    <comment_count>6</comment_count>
      <attachid>54210</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-23 21:26:04 -0700</bug_when>
    <thetext>Comment on attachment 54210
Patch

Rejecting patch 54210 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/test-webkitpy&apos;]&quot; exit_code: 1
Last 500 characters of output:
cripts/webkitpy/common/prettypatch.py&quot;, line 42, in pretty_diff_file
    pretty_diff = self.pretty_diff(diff)
  File &quot;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/webkitpy/common/prettypatch.py&quot;, line 60, in pretty_diff
    return self._executive.run_command(args, input=diff, decode_output=False)
TypeError: run_command() got an unexpected keyword argument &apos;decode_output&apos;

----------------------------------------------------------------------
Ran 385 tests in 5.007s

FAILED (errors=3)

Full output: http://webkit-commit-queue.appspot.com/results/1856073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216706</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-24 00:03:52 -0700</bug_when>
    <thetext>Committed r58210: &lt;http://trac.webkit.org/changeset/58210&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54210</attachid>
            <date>2010-04-23 19:10:51 -0700</date>
            <delta_ts>2010-04-23 21:26:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38027-20100423191050.patch</filename>
            <type>text/plain</type>
            <size>23778</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAxN2QwZjgzLi5hYzNjZTA5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTAtMDQt
MjMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNoZWNrLXdlYmtpdC1zdHlsZSBjb21wbGFpbnMg
YWJvdXQgbm9uLXV0ZjggZGF0YSBpbiBsYXlvdXQgdGVzdCByZXN1bHQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MDI3CisKKyAgICAgICAgVGhlIHBy
b2JsZW0gd2FzIHdlIHdlcmUgYXNzdW1pbmcgcGF0Y2ggZmlsZXMvZGlmZiBvdXRwdXQgYXMgdXRm
LTguCisgICAgICAgIFR1cm5zIG91dCB0aGV5J3JlIG5vdC4gIFdlIGhhdmUgdG8gdHJlYXQgdGhl
bSBhcyBiaW5hcnkgZGF0YSBiZWNhdXNlCisgICAgICAgIGEgc2luZ2xlIHBhdGNoIG1heSBoYXZl
IG11bHRpcGxlIHRleHQgZmlsZXMgaW4gaXQgd2l0aCBjb25mbGljdGluZyBlbmNvZGluZ3MhCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9hcGkucHk6CisgICAg
ICAgICAtIGNvbnRlbnRzX2F0X3JldmlzaW9uIHJldHVybnMgYSBieXRlIGFycmF5LCBzbyBkZWNv
ZGUgaXQgdG8gdW5pY29kZQorICAgICAgICAgICBiZWZvcmUgcGFzc2luZyBpdCB0byBwYXJzZV9s
YXRlc3RfZW50cnlfZnJvbV9maWxlCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24v
Y2hlY2tvdXQvYXBpX3VuaXR0ZXN0LnB5OgorICAgICAgICAgLSBVcGRhdGUgb3VyIG1vY2sgbW9j
a19jb250ZW50c19hdF9yZXZpc2lvbiB0byBtYXRjaCB0aGUgZW5jb2RpbmcKKyAgICAgICAgICAg
c2VtYW50aWNzIG9mIHRoZSByZWFsIG9uZS4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9zY20ucHk6CisgICAgICAgICAtIEJlIGNhcmVmdWwgbm90IHRvIGRlY29k
ZSBvdXRwdXQgd2hpY2ggbWF5IGNvbnRhaW4gZmlsZSBjb250ZW50cworICAgICAgICAgICAobGlr
ZSBkaWZmLCBjYXQgb3Igc2hvdykgYXMgdGhlIGVuY29kaW5nIGZvciB0aGF0IGNvbnRlbnQgaXMg
dW5rbm93bi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY21f
dW5pdHRlc3QucHk6CisgICAgICAgICAtIFVwZGF0ZSBvdXIgdGVzdHMgdG8gdXNlIGJvdGggbGF0
aW4xIGFuZCB1dGYtOCBlbmNvZGVkIGRhdGEuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2J1Z3ppbGxhLnB5OgorICAgICAgICAgLSBfZmlsbF9hdHRhY2htZW50X2Zvcm0g
c2hvdWxkIG5vdCBhc3N1bWUgdW5pY29kZSBkYXRhLiAgQ2FsbGVycworICAgICAgICAgICBtYXkg
d2lzaCB0byBhdHRhY2ggb3RoZXIgdHlwZXMgb2YgZmlsZXMgdG8gYnVncy4KKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaC5weToKKyAgICAgICAgIC0gRGlmZnMg
YXJlIGJ5dGUgYXJyYXlzLCBkZWFsIHdpdGggdGhlbSBhcyBzdWNoLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvY29tbW9uL3ByZXR0eXBhdGNoX3VuaXR0ZXN0LnB5OgorICAgICAgICAgLSBU
ZXN0IHRvIG1ha2Ugc3VyZSB3ZSBoYW5kbGUgZGlmZnMgd2l0aCBtdWx0aXBsZSBjb25mbGljdGlu
ZyBlbmNvZGluZ3MuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZV91bml0dGVzdC5weToKKyAgICAgICAgIC0gTWFrZSBzdXJlIHRoYXQgb3VyIHVuaWNv
ZGUgc3VwcG9ydCBkb2VzIG5vdCBicmVhayBvdXIKKyAgICAgICAgICAgYnl0ZSBhcnJheSBpbnB1
dCBzdXBwb3J0IGZvciBydW5fY29tbWFuZC4KKwogMjAxMC0wNC0xOSAgRGlyayBQcmFua2UgIDxk
cHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQv
YXBpLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvYXBp
LnB5CmluZGV4IDc2MGVjY2YuLjdiNDg3MDggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2FwaS5weQorKysgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9hcGkucHkKQEAgLTUwLDcgKzUwLDExIEBAIGNs
YXNzIENoZWNrb3V0KG9iamVjdCk6CiAKICAgICBkZWYgX2xhdGVzdF9lbnRyeV9mb3JfY2hhbmdl
bG9nX2F0X3JldmlzaW9uKHNlbGYsIGNoYW5nZWxvZ19wYXRoLCByZXZpc2lvbik6CiAgICAgICAg
IGNoYW5nZWxvZ19jb250ZW50cyA9IHNlbGYuX3NjbS5jb250ZW50c19hdF9yZXZpc2lvbihjaGFu
Z2Vsb2dfcGF0aCwgcmV2aXNpb24pCi0gICAgICAgIHJldHVybiBDaGFuZ2VMb2cucGFyc2VfbGF0
ZXN0X2VudHJ5X2Zyb21fZmlsZShTdHJpbmdJTy5TdHJpbmdJTyhjaGFuZ2Vsb2dfY29udGVudHMp
KQorICAgICAgICAjIGNvbnRlbnRzX2F0X3JldmlzaW9uIHJldHVybnMgYSBieXRlIGFycmF5IChz
dHIoKSksIGJ1dCB3ZSBrbm93CisgICAgICAgICMgdGhhdCBDaGFuZ2VMb2cgZmlsZXMgYXJlIHV0
Zi04LiAgcGFyc2VfbGF0ZXN0X2VudHJ5X2Zyb21fZmlsZQorICAgICAgICAjIGV4cGVjdHMgYSBm
aWxlLWxpa2Ugb2JqZWN0IHdoaWNoIHZlbmRzIHVuaWNvZGUoKSwgc28gd2UgZGVjb2RlIGhlcmUu
CisgICAgICAgIGNoYW5nZWxvZ19maWxlID0gU3RyaW5nSU8uU3RyaW5nSU8oY2hhbmdlbG9nX2Nv
bnRlbnRzLmRlY29kZSgidXRmLTgiKSkKKyAgICAgICAgcmV0dXJuIENoYW5nZUxvZy5wYXJzZV9s
YXRlc3RfZW50cnlfZnJvbV9maWxlKGNoYW5nZWxvZ19maWxlKQogCiAgICAgZGVmIGNoYW5nZWxv
Z19lbnRyaWVzX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CiAgICAgICAgIGNoYW5nZWRf
ZmlsZXMgPSBzZWxmLl9zY20uY2hhbmdlZF9maWxlc19mb3JfcmV2aXNpb24ocmV2aXNpb24pCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9h
cGlfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9hcGlfdW5pdHRlc3QucHkKaW5kZXggNWViMTQ2OS4uMmY4MzQyMSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvYXBpX3VuaXR0ZXN0
LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L2Fw
aV91bml0dGVzdC5weQpAQCAtMTI3LDcgKzEyNyw5IEBAIGNsYXNzIENoZWNrb3V0VGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIGRlZiBtb2NrX2NvbnRlbnRzX2F0X3JldmlzaW9uKGNo
YW5nZWxvZ19wYXRoLCByZXZpc2lvbik6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNo
YW5nZWxvZ19wYXRoLCAiZm9vIikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV2aXNp
b24sICJiYXIiKQotICAgICAgICAgICAgcmV0dXJuIF9jaGFuZ2Vsb2cxCisgICAgICAgICAgICAj
IGNvbnRlbnRzX2F0X3JldmlzaW9uIGlzIGV4cGVjdGVkIHRvIHJldHVybiBhIGJ5dGUgYXJyYXkg
KHN0cikKKyAgICAgICAgICAgICMgc28gd2UgZW5jb2RlIG91ciB1bmljb2RlIENoYW5nZUxvZyBk
b3duIHRvIGEgdXRmLTggc3RyZWFtLgorICAgICAgICAgICAgcmV0dXJuIF9jaGFuZ2Vsb2cxLmVu
Y29kZSgidXRmLTgiKQogICAgICAgICBzY20uY29udGVudHNfYXRfcmV2aXNpb24gPSBtb2NrX2Nv
bnRlbnRzX2F0X3JldmlzaW9uCiAgICAgICAgIGNoZWNrb3V0ID0gQ2hlY2tvdXQoc2NtKQogICAg
ICAgICBlbnRyeSA9IGNoZWNrb3V0Ll9sYXRlc3RfZW50cnlfZm9yX2NoYW5nZWxvZ19hdF9yZXZp
c2lvbigiZm9vIiwgImJhciIpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9jaGVja291dC9zY20ucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20ucHkKaW5kZXggODcwN2YyZS4uZDA2YmNhOSAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS5weQpA
QCAtMzA4LDcgKzMwOCw3IEBAIGNsYXNzIFNWTihTQ00pOgogICAgICAgICByZXR1cm4gc2VsZi5j
YWNoZWRfdmVyc2lvbgogCiAgICAgZGVmIHdvcmtpbmdfZGlyZWN0b3J5X2lzX2NsZWFuKHNlbGYp
OgotICAgICAgICByZXR1cm4gcnVuX2NvbW1hbmQoWyJzdm4iLCAiZGlmZiJdLCBjd2Q9c2VsZi5j
aGVja291dF9yb290KSA9PSAiIgorICAgICAgICByZXR1cm4gcnVuX2NvbW1hbmQoWyJzdm4iLCAi
ZGlmZiJdLCBjd2Q9c2VsZi5jaGVja291dF9yb290LCBkZWNvZGVfb3V0cHV0PUZhbHNlKSA9PSAi
IgogCiAgICAgZGVmIGNsZWFuX3dvcmtpbmdfZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICAjIHN2
biByZXZlcnQgLVIgaXMgbm90IGFzIGF3ZXNvbWUgYXMgZ2l0IHJlc2V0IC0taGFyZC4KQEAgLTM0
NCw2ICszNDQsNyBAQCBjbGFzcyBTVk4oU0NNKToKIAogICAgIGRlZiBjaGFuZ2VkX2ZpbGVzX2Zv
cl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6CiAgICAgICAgICMgQXMgZmFyIGFzIEkgY2FuIHRl
bGwgc3ZuIGRpZmYgLS1zdW1tYXJpemUgb3V0cHV0IGxvb2tzIGp1c3QgbGlrZSBzdm4gc3RhdHVz
IG91dHB1dC4KKyAgICAgICAgIyBObyBmaWxlIGNvbnRlbnRzIHByaW50ZWQsIHRodXMgdXRmLTgg
YXV0by1kZWNvZGluZyBpbiBydW5fY29tbWFuZCBpcyBmaW5lLgogICAgICAgICBzdGF0dXNfY29t
bWFuZCA9IFsic3ZuIiwgImRpZmYiLCAiLS1zdW1tYXJpemUiLCAiLWMiLCByZXZpc2lvbl0KICAg
ICAgICAgcmV0dXJuIHNlbGYucnVuX3N0YXR1c19hbmRfZXh0cmFjdF9maWxlbmFtZXMoc3RhdHVz
X2NvbW1hbmQsIHNlbGYuX3N0YXR1c19yZWdleHAoIkFDRE1SIikpCiAKQEAgLTM2MSwxNCArMzYy
LDIxIEBAIGNsYXNzIFNWTihTQ00pOgogICAgICAgICByZXR1cm4gInN2biIKIAogICAgIGRlZiBj
cmVhdGVfcGF0Y2goc2VsZik6Ci0gICAgICAgIHJldHVybiBydW5fY29tbWFuZChbc2VsZi5zY3Jp
cHRfcGF0aCgic3ZuLWNyZWF0ZS1wYXRjaCIpXSwgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdCwgcmV0
dXJuX3N0ZGVycj1GYWxzZSkKKyAgICAgICAgIiIiUmV0dXJucyBhIGJ5dGUgYXJyYXkgKHN0cigp
KSByZXByZXNlbnRpbmcgdGhlIHBhdGNoIGZpbGUuCisgICAgICAgIFBhdGNoIGZpbGVzIGFyZSBl
ZmZlY3RpdmVseSBiaW5hcnkgc2luY2UgdGhleSBtYXkgY29udGFpbgorICAgICAgICBmaWxlcyBv
ZiBtdWx0aXBsZSBkaWZmZXJlbnQgZW5jb2RpbmdzLiIiIgorICAgICAgICByZXR1cm4gcnVuX2Nv
bW1hbmQoW3NlbGYuc2NyaXB0X3BhdGgoInN2bi1jcmVhdGUtcGF0Y2giKV0sCisgICAgICAgICAg
ICBjd2Q9c2VsZi5jaGVja291dF9yb290LCByZXR1cm5fc3RkZXJyPUZhbHNlLAorICAgICAgICAg
ICAgZGVjb2RlX291dHB1dD1GYWxzZSkKIAogICAgIGRlZiBjb21taXR0ZXJfZW1haWxfZm9yX3Jl
dmlzaW9uKHNlbGYsIHJldmlzaW9uKToKICAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsic3Zu
IiwgInByb3BnZXQiLCAic3ZuOmF1dGhvciIsICItLXJldnByb3AiLCAiLXIiLCByZXZpc2lvbl0p
LnJzdHJpcCgpCiAKICAgICBkZWYgY29udGVudHNfYXRfcmV2aXNpb24oc2VsZiwgcGF0aCwgcmV2
aXNpb24pOgorICAgICAgICAiIiJSZXR1cm5zIGEgYnl0ZSBhcnJheSAoc3RyKCkpIGNvbnRhaW5p
bmcgdGhlIGNvbnRlbnRzCisgICAgICAgIG9mIHBhdGggQCByZXZpc2lvbiBpbiB0aGUgcmVwb3Np
dG9yeS4iIiIKICAgICAgICAgcmVtb3RlX3BhdGggPSAiJXMvJXMiICUgKHNlbGYuX3JlcG9zaXRv
cnlfdXJsKCksIHBhdGgpCi0gICAgICAgIHJldHVybiBydW5fY29tbWFuZChbInN2biIsICJjYXQi
LCAiLXIiLCByZXZpc2lvbiwgcmVtb3RlX3BhdGhdKQorICAgICAgICByZXR1cm4gcnVuX2NvbW1h
bmQoWyJzdm4iLCAiY2F0IiwgIi1yIiwgcmV2aXNpb24sIHJlbW90ZV9wYXRoXSwgZGVjb2RlX291
dHB1dD1GYWxzZSkKIAogICAgIGRlZiBkaWZmX2Zvcl9yZXZpc2lvbihzZWxmLCByZXZpc2lvbik6
CiAgICAgICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIHByb2JhYmx5IHVzZSBjd2Q9c2VsZi5jaGVj
a291dF9yb290CkBAIC00NjYsNiArNDc0LDcgQEAgY2xhc3MgR2l0KFNDTSk6CiAKICAgICBkZWYg
c3RhdHVzX2NvbW1hbmQoc2VsZik6CiAgICAgICAgICMgZ2l0IHN0YXR1cyByZXR1cm5zIG5vbi16
ZXJvIHdoZW4gdGhlcmUgYXJlIGNoYW5nZXMsIHNvIHdlIHVzZSBnaXQgZGlmZiBuYW1lIC0tbmFt
ZS1zdGF0dXMgSEVBRCBpbnN0ZWFkLgorICAgICAgICAjIE5vIGZpbGUgY29udGVudHMgcHJpbnRl
ZCwgdGh1cyB1dGYtOCBhdXRvZGVjb2RpbmcgaW4gcnVuX2NvbW1hbmQgaXMgZmluZS4KICAgICAg
ICAgcmV0dXJuIFsiZ2l0IiwgImRpZmYiLCAiLS1uYW1lLXN0YXR1cyIsICJIRUFEIl0KIAogICAg
IGRlZiBfc3RhdHVzX3JlZ2V4cChzZWxmLCBleHBlY3RlZF90eXBlcyk6CkBAIC00OTAsNiArNDk5
LDggQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAgIHJldHVybiBzZWxmLl9jaGFuZ2VzX2ZpbGVz
X2Zvcl9jb21taXQoY29tbWl0X2lkKQogCiAgICAgZGVmIGNvbmZsaWN0ZWRfZmlsZXMoc2VsZik6
CisgICAgICAgICMgV2UgZG8gbm90IG5lZWQgdG8gcGFzcyBkZWNvZGVfb3V0cHV0IGZvciB0aGlz
IGRpZmYgY29tbWFuZAorICAgICAgICAjIGFzIHdlJ3JlIHBhc3NpbmcgLS1uYW1lLXN0YXR1cyB3
aGljaCBkb2VzIG5vdCBvdXRwdXQgYW55IGRhdGEuCiAgICAgICAgIHN0YXR1c19jb21tYW5kID0g
WydnaXQnLCAnZGlmZicsICctLW5hbWUtc3RhdHVzJywgJy1DJywgJy1NJywgJy0tZGlmZi1maWx0
ZXI9VSddCiAgICAgICAgIHJldHVybiBzZWxmLnJ1bl9zdGF0dXNfYW5kX2V4dHJhY3RfZmlsZW5h
bWVzKHN0YXR1c19jb21tYW5kLCBzZWxmLl9zdGF0dXNfcmVnZXhwKCJVIikpCiAKQEAgLTUwNCw4
ICs1MTUsMTEgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAgIHJldHVybiAiZ2l0IgogCiAgICAg
ZGVmIGNyZWF0ZV9wYXRjaChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyBhIGJ5dGUgYXJyYXkg
KHN0cigpKSByZXByZXNlbnRpbmcgdGhlIHBhdGNoIGZpbGUuCisgICAgICAgIFBhdGNoIGZpbGVz
IGFyZSBlZmZlY3RpdmVseSBiaW5hcnkgc2luY2UgdGhleSBtYXkgY29udGFpbgorICAgICAgICBm
aWxlcyBvZiBtdWx0aXBsZSBkaWZmZXJlbnQgZW5jb2RpbmdzLiIiIgogICAgICAgICAjIEZJWE1F
OiBUaGlzIHNob3VsZCBwcm9iYWJseSB1c2UgY3dkPXNlbGYuY2hlY2tvdXRfcm9vdAotICAgICAg
ICByZXR1cm4gcnVuX2NvbW1hbmQoWydnaXQnLCAnZGlmZicsICctLWJpbmFyeScsICdIRUFEJ10p
CisgICAgICAgIHJldHVybiBydW5fY29tbWFuZChbJ2dpdCcsICdkaWZmJywgJy0tYmluYXJ5Jywg
J0hFQUQnXSwgZGVjb2RlX291dHB1dD1GYWxzZSkKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRl
ZiBnaXRfY29tbWl0X2Zyb21fc3ZuX3JldmlzaW9uKGNscywgcmV2aXNpb24pOgpAQCAtNTE3LDcg
KzUzMSw5IEBAIGNsYXNzIEdpdChTQ00pOgogICAgICAgICByZXR1cm4gZ2l0X2NvbW1pdAogCiAg
ICAgZGVmIGNvbnRlbnRzX2F0X3JldmlzaW9uKHNlbGYsIHBhdGgsIHJldmlzaW9uKToKLSAgICAg
ICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsiZ2l0IiwgInNob3ciLCAiJXM6JXMiICUgKHNlbGYuZ2l0
X2NvbW1pdF9mcm9tX3N2bl9yZXZpc2lvbihyZXZpc2lvbiksIHBhdGgpXSkKKyAgICAgICAgIiIi
UmV0dXJucyBhIGJ5dGUgYXJyYXkgKHN0cigpKSBjb250YWluaW5nIHRoZSBjb250ZW50cworICAg
ICAgICBvZiBwYXRoIEAgcmV2aXNpb24gaW4gdGhlIHJlcG9zaXRvcnkuIiIiCisgICAgICAgIHJl
dHVybiBydW5fY29tbWFuZChbImdpdCIsICJzaG93IiwgIiVzOiVzIiAlIChzZWxmLmdpdF9jb21t
aXRfZnJvbV9zdm5fcmV2aXNpb24ocmV2aXNpb24pLCBwYXRoKV0sIGRlY29kZV9vdXRwdXQ9RmFs
c2UpCiAKICAgICBkZWYgZGlmZl9mb3JfcmV2aXNpb24oc2VsZiwgcmV2aXNpb24pOgogICAgICAg
ICBnaXRfY29tbWl0ID0gc2VsZi5naXRfY29tbWl0X2Zyb21fc3ZuX3JldmlzaW9uKHJldmlzaW9u
KQpAQCAtNTYzLDEwICs1NzksMTYgQEAgY2xhc3MgR2l0KFNDTSk6CiAgICAgICAgIHJldHVybiBH
aXQucmVhZF9naXRfY29uZmlnKCdzdm4tcmVtb3RlLnN2bi5mZXRjaCcpLnNwbGl0KCc6JylbMV0K
IAogICAgIGRlZiBjcmVhdGVfcGF0Y2hfZnJvbV9sb2NhbF9jb21taXQoc2VsZiwgY29tbWl0X2lk
KToKLSAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnkn
LCBjb21taXRfaWQgKyAiXi4uIiArIGNvbW1pdF9pZF0pCisgICAgICAgICIiIlJldHVybnMgYSBi
eXRlIGFycmF5IChzdHIoKSkgcmVwcmVzZW50aW5nIHRoZSBwYXRjaCBmaWxlLgorICAgICAgICBQ
YXRjaCBmaWxlcyBhcmUgZWZmZWN0aXZlbHkgYmluYXJ5IHNpbmNlIHRoZXkgbWF5IGNvbnRhaW4K
KyAgICAgICAgZmlsZXMgb2YgbXVsdGlwbGUgZGlmZmVyZW50IGVuY29kaW5ncy4iIiIKKyAgICAg
ICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsnZ2l0JywgJ2RpZmYnLCAnLS1iaW5hcnknLCBjb21taXRf
aWQgKyAiXi4uIiArIGNvbW1pdF9pZF0sIGRlY29kZV9vdXRwdXQ9RmFsc2UpCiAKICAgICBkZWYg
Y3JlYXRlX3BhdGNoX3NpbmNlX2xvY2FsX2NvbW1pdChzZWxmLCBjb21taXRfaWQpOgotICAgICAg
ICByZXR1cm4gcnVuX2NvbW1hbmQoWydnaXQnLCAnZGlmZicsICctLWJpbmFyeScsIGNvbW1pdF9p
ZF0pCisgICAgICAgICIiIlJldHVybnMgYSBieXRlIGFycmF5IChzdHIoKSkgcmVwcmVzZW50aW5n
IHRoZSBwYXRjaCBmaWxlLgorICAgICAgICBQYXRjaCBmaWxlcyBhcmUgZWZmZWN0aXZlbHkgYmlu
YXJ5IHNpbmNlIHRoZXkgbWF5IGNvbnRhaW4KKyAgICAgICAgZmlsZXMgb2YgbXVsdGlwbGUgZGlm
ZmVyZW50IGVuY29kaW5ncy4iIiIKKyAgICAgICAgcmV0dXJuIHJ1bl9jb21tYW5kKFsnZ2l0Jywg
J2RpZmYnLCAnLS1iaW5hcnknLCBjb21taXRfaWRdLCBkZWNvZGVfb3V0cHV0PUZhbHNlKQogCiAg
ICAgZGVmIGNvbW1pdF9sb2NhbGx5X3dpdGhfbWVzc2FnZShzZWxmLCBtZXNzYWdlKToKICAgICAg
ICAgcnVuX2NvbW1hbmQoWydnaXQnLCAnY29tbWl0JywgJy0tYWxsJywgJy1GJywgJy0nXSwgaW5w
dXQ9bWVzc2FnZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbV91bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL2NoZWNrb3V0L3NjbV91bml0dGVzdC5weQppbmRleCAwZWQzMTk5Li45MTM5MmU0
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291
dC9zY21fdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vY2hlY2tvdXQvc2NtX3VuaXR0ZXN0LnB5CkBAIC01Miw2ICs1Miw3IEBAIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZSwgcnVuX2NvbW1hbmQs
IFNjcmlwdEVycm9yCiAjIFBlcmhhcHMgdGhyb3VnaCBzb21lIFNDTVRlc3QgYmFzZS1jbGFzcyB3
aGljaCBib3RoIFNWTlRlc3QgYW5kIEdpdFRlc3QgaW5oZXJpdCBmcm9tLgogCiAjIEZJWE1FOiBU
aGlzIHNob3VsZCBiZSB1bmlmaWVkIGludG8gb25lIG9mIHRoZSBleGVjdXRpdmUucHkgY29tbWFu
ZHMhCisjIENhbGxlcnMgY291bGQgdXNlIHJ1bl9hbmRfdGhyb3dfaWZfZmFpbChhcmdzLCBjd2Q9
Y3dkLCBxdWlldD1UcnVlKQogZGVmIHJ1bl9zaWxlbnQoYXJncywgY3dkPU5vbmUpOgogICAgIHBy
b2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0
ZGVycj1zdWJwcm9jZXNzLlBJUEUsIGN3ZD1jd2QpCiAgICAgcHJvY2Vzcy5jb21tdW5pY2F0ZSgp
ICMgaWdub3JlIG91dHB1dApAQCAtNzAsNiArNzEsMjAgQEAgZGVmIHJlYWRfZnJvbV9wYXRoKGZp
bGVfcGF0aCwgZW5jb2Rpbmc9InV0Zi04Iik6CiAgICAgICAgIHJldHVybiBmaWxlLnJlYWQoKQog
CiAKK2RlZiBfbWFrZV9kaWZmKGNvbW1hbmQsICphcmdzKToKKyAgICAjIFdlIHVzZSB0aGlzIHdy
YXBwZXIgdG8gZGlzYWJsZSBvdXRwdXQgZGVjb2RpbmcuIGRpZmZzIHNob3VsZCBiZSB0cmVhdGVk
IGFzCisgICAgIyBiaW5hcnkgZmlsZXMgc2luY2UgdGhleSBtYXkgaW5jbHVkZSB0ZXh0IGZpbGVz
IG9mIG11bHRpcGxlIGRpZmZlcm5ldCBlbmNvZGluZ3MuCisgICAgcmV0dXJuIHJ1bl9jb21tYW5k
KFtjb21tYW5kLCAiZGlmZiJdICsgbGlzdChhcmdzKSwgZGVjb2RlX291dHB1dD1GYWxzZSkKKwor
CitkZWYgX3N2bl9kaWZmKCphcmdzKToKKyAgICByZXR1cm4gX21ha2VfZGlmZigic3ZuIiwgKmFy
Z3MpCisKKworZGVmIF9naXRfZGlmZigqYXJncyk6CisgICAgcmV0dXJuIF9tYWtlX2RpZmYoImdp
dCIsICphcmdzKQorCisKICMgRXhpc3RzIHRvIHNoYXJlIHN2biByZXBvc2l0b3J5IGNyZWF0aW9u
IGNvZGUgYmV0d2VlbiB0aGUgZ2l0IGFuZCBzdm4gdGVzdHMKIGNsYXNzIFNWTlRlc3RSZXBvc2l0
b3J5OgogICAgIEBjbGFzc21ldGhvZApAQCAtMTA2LDcgKzEyMSwxMSBAQCBjbGFzcyBTVk5UZXN0
UmVwb3NpdG9yeToKICAgICAgICAgY2xzLl9zdm5fYWRkKCJ0ZXN0X2ZpbGUyIikKICAgICAgICAg
Y2xzLl9zdm5fY29tbWl0KCJ0aGlyZCBjb21taXQiKQogCi0gICAgICAgIHdyaXRlX2ludG9fZmls
ZV9hdF9wYXRoKCJ0ZXN0X2ZpbGUiLCAidGVzdDF0ZXN0MnRlc3QzXG50ZXN0NFxuIikKKyAgICAg
ICAgIyBUaGlzIDR0aCBjb21taXQgaXMgdXNlZCB0byBtYWtlIHN1cmUgdGhhdCBvdXIgcGF0Y2gg
ZmlsZSBoYW5kbGluZworICAgICAgICAjIGNvZGUgY29ycmVjdGx5IHRyZWF0cyBwYXRjaGVzIGFz
IGJpbmFyeSBhbmQgZG9lcyBub3QgYXR0ZW1wdCB0bworICAgICAgICAjIGRlY29kZSB0aGVtIGFz
c3VtaW5nIHRoZXkncmUgdXRmLTguCisgICAgICAgIHdyaXRlX2ludG9fZmlsZV9hdF9wYXRoKCJ0
ZXN0X2ZpbGUiLCB1ImxhdGluMSB0ZXN0OiBcdTAwQTBcbiIsICJsYXRpbjEiKQorICAgICAgICB3
cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCgidGVzdF9maWxlMiIsIHUidXRmLTggdGVzdDogXHUwMEEw
XG4iLCAidXRmLTgiKQogICAgICAgICBjbHMuX3N2bl9jb21taXQoImZvdXJ0aCBjb21taXQiKQog
CiAgICAgICAgICMgc3ZuIGRvZXMgbm90IHNlZW0gdG8gdXBkYXRlIGFmdGVyIGNvbW1pdCBhcyBJ
IHdvdWxkIGV4cGVjdC4KQEAgLTE4NCwxNSArMjAzLDEyIEBAIHN2bjogcmVzb3VyY2Ugb3V0IG9m
IGRhdGU7IHRyeSB1cGRhdGluZwogIyBHaXRUZXN0IGFuZCBTVk5UZXN0IGluaGVyaXQgZnJvbSB0
aGlzIHNvIGFueSB0ZXN0XyBtZXRob2RzIGhlcmUgd2lsbCBiZSBydW4gb25jZSBmb3IgdGhpcyBj
bGFzcyBhbmQgdGhlbiBvbmNlIGZvciBlYWNoIHN1YmNsYXNzLgogY2xhc3MgU0NNVGVzdCh1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIF9jcmVhdGVfcGF0Y2goc2VsZiwgcGF0Y2hfY29udGVu
dHMpOgotICAgICAgICBwYXRjaF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuc3ZuX2NoZWNrb3V0
X3BhdGgsICdwYXRjaC5kaWZmJykKLSAgICAgICAgd3JpdGVfaW50b19maWxlX2F0X3BhdGgocGF0
Y2hfcGF0aCwgcGF0Y2hfY29udGVudHMpCi0gICAgICAgIHBhdGNoID0ge30KLSAgICAgICAgcGF0
Y2hbJ2J1Z19pZCddID0gJzEyMzQ1JwotICAgICAgICBwYXRjaFsndXJsJ10gPSAnZmlsZTovLyVz
JyAlIHVybGxpYi5wYXRobmFtZTJ1cmwocGF0Y2hfcGF0aCkKKyAgICAgICAgIyBGSVhNRTogVGhp
cyBjb2RlIGlzIGJyaXR0bGUgaWYgdGhlIEF0dGFjaG1lbnQgQVBJIGNoYW5nZXMuCisgICAgICAg
IGF0dGFjaG1lbnQgPSBBdHRhY2htZW50KHsiYnVnX2lkIjogMTIzNDV9LCBOb25lKQorICAgICAg
ICBhdHRhY2htZW50LmNvbnRlbnRzID0gbGFtYmRhOiBwYXRjaF9jb250ZW50cwogCi0gICAgICAg
IGF0dGFjaG1lbnQgPSBBdHRhY2htZW50KHBhdGNoLCBOb25lKSAjIEZJWE1FOiBUaGlzIGlzIGEg
aGFjaywgc2NtLnB5IHNob3VsZG4ndCBiZSBmZXRjaGluZyBhdHRhY2htZW50IGRhdGEuCiAgICAg
ICAgIGpvZV9jb29sID0gQ29tbWl0dGVyKG5hbWU9IkpvZSBDb29sIiwgZW1haWxfb3JfZW1haWxz
PU5vbmUpCi0gICAgICAgIGF0dGFjaG1lbnQuX3Jldmlld2VyID0gam9lX2Nvb2wKKyAgICAgICAg
YXR0YWNobWVudC5yZXZpZXdlciA9IGxhbWJkYTogam9lX2Nvb2wKIAogICAgICAgICByZXR1cm4g
YXR0YWNobWVudAogCkBAIC0yNTYsMTIgKzI3MiwxNSBAQCBjbGFzcyBTQ01UZXN0KHVuaXR0ZXN0
LlRlc3RDYXNlKToKICAgICAgICAgICAgIGNoYW5nZWRfZmlsZXMucmVtb3ZlKCJ0ZXN0X2RpciIp
CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2hhbmdlZF9maWxlcywgWyJ0ZXN0X2Rpci90ZXN0
X2ZpbGUzIiwgInRlc3RfZmlsZSJdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChz
ZWxmLnNjbS5jaGFuZ2VkX2ZpbGVzX2Zvcl9yZXZpc2lvbigzKSksIHNvcnRlZChbInRlc3RfZmls
ZSIsICJ0ZXN0X2ZpbGUyIl0pKSAjIEdpdCBhbmQgU1ZOIHJldHVybiBkaWZmZXJlbnQgb3JkZXJz
LgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2NtLmNoYW5nZWRfZmlsZXNfZm9yX3Jl
dmlzaW9uKDQpLCBbInRlc3RfZmlsZSJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYu
c2NtLmNoYW5nZWRfZmlsZXNfZm9yX3JldmlzaW9uKDEpLCBbInRlc3RfZmlsZSJdKQogCiAgICAg
ZGVmIF9zaGFyZWRfdGVzdF9jb250ZW50c19hdF9yZXZpc2lvbihzZWxmKToKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChzZWxmLnNjbS5jb250ZW50c19hdF9yZXZpc2lvbigidGVzdF9maWxlIiwg
MiksICJ0ZXN0MXRlc3QyIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5jb250
ZW50c19hdF9yZXZpc2lvbigidGVzdF9maWxlIiwgMyksICJ0ZXN0MXRlc3QydGVzdDNcbiIpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uY29udGVudHNfYXRfcmV2aXNpb24oInRl
c3RfZmlsZSIsIDQpLCAidGVzdDF0ZXN0MnRlc3QzXG50ZXN0NFxuIikKKworICAgICAgICAjIFZl
cmlmeSB0aGF0IGNvbnRlbnRzX2F0X3JldmlzaW9uIHJldHVybnMgYSBieXRlIGFycmF5LCBha2Eg
c3RyKCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zY20uY29udGVudHNfYXRfcmV2
aXNpb24oInRlc3RfZmlsZSIsIDQpLCB1ImxhdGluMSB0ZXN0OiBcdTAwQTBcbiIuZW5jb2RlKCJs
YXRpbjEiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5jb250ZW50c19hdF9y
ZXZpc2lvbigidGVzdF9maWxlMiIsIDQpLCB1InV0Zi04IHRlc3Q6IFx1MDBBMFxuIi5lbmNvZGUo
InV0Zi04IikpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNjbS5jb250ZW50c19h
dF9yZXZpc2lvbigidGVzdF9maWxlMiIsIDMpLCAic2Vjb25kIGZpbGUiKQogICAgICAgICAjIEZp
bGVzIHdoaWNoIGRvbid0IGV4aXN0OgpAQCAtNTI2LDEzICs1NDUsMTMgQEAgUTFkVEJ4MEFBQUI0
Mml0ZzRHbGdZSmpHd01ERHlPRE14TUR3MzRHQmdRRUFKUFFESkE9PQogCiAgICAgZGVmIHRlc3Rf
YXBwbHlfc3ZuX3BhdGNoKHNlbGYpOgogICAgICAgICBzY20gPSBkZXRlY3Rfc2NtX3N5c3RlbShz
ZWxmLnN2bl9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNlbGYuX2NyZWF0ZV9wYXRj
aChydW5fY29tbWFuZChbJ3N2bicsICdkaWZmJywgJy1yNDozJ10pKQorICAgICAgICBwYXRjaCA9
IHNlbGYuX2NyZWF0ZV9wYXRjaChfc3ZuX2RpZmYoIi1yNDozIikpCiAgICAgICAgIHNlbGYuX3Nl
dHVwX3dlYmtpdHRvb2xzX3NjcmlwdHNfc3ltbGluayhzY20pCiAgICAgICAgIENoZWNrb3V0KHNj
bSkuYXBwbHlfcGF0Y2gocGF0Y2gpCiAKICAgICBkZWYgdGVzdF9hcHBseV9zdm5fcGF0Y2hfZm9y
Y2Uoc2VsZik6CiAgICAgICAgIHNjbSA9IGRldGVjdF9zY21fc3lzdGVtKHNlbGYuc3ZuX2NoZWNr
b3V0X3BhdGgpCi0gICAgICAgIHBhdGNoID0gc2VsZi5fY3JlYXRlX3BhdGNoKHJ1bl9jb21tYW5k
KFsnc3ZuJywgJ2RpZmYnLCAnLXIyOjQnXSkpCisgICAgICAgIHBhdGNoID0gc2VsZi5fY3JlYXRl
X3BhdGNoKF9zdm5fZGlmZigiLXIyOjQiKSkKICAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9v
bHNfc2NyaXB0c19zeW1saW5rKHNjbSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0
RXJyb3IsIENoZWNrb3V0KHNjbSkuYXBwbHlfcGF0Y2gsIHBhdGNoLCBmb3JjZT1UcnVlKQogCkBA
IC02NjAsOCArNjc5LDggQEAgY2xhc3MgR2l0VGVzdChTQ01UZXN0KToKICAgICAgICAgdGVzdF9m
aWxlID0gb3MucGF0aC5qb2luKHNlbGYuZ2l0X2NoZWNrb3V0X3BhdGgsICd0ZXN0X2ZpbGUnKQog
ICAgICAgICB3cml0ZV9pbnRvX2ZpbGVfYXRfcGF0aCh0ZXN0X2ZpbGUsICdmb28nKQogCi0gICAg
ICAgIGRpZmZfdG9fY29tbW9uX2Jhc2UgPSBydW5fY29tbWFuZChbJ2dpdCcsICdkaWZmJywgc2Vs
Zi5zY20uc3ZuX2JyYW5jaF9uYW1lKCkgKyAnLi4nXSkKLSAgICAgICAgZGlmZl90b19tZXJnZV9i
YXNlID0gcnVuX2NvbW1hbmQoWydnaXQnLCAnZGlmZicsIHNlbGYuc2NtLnN2bl9tZXJnZV9iYXNl
KCldKQorICAgICAgICBkaWZmX3RvX2NvbW1vbl9iYXNlID0gX2dpdF9kaWZmKHNlbGYuc2NtLnN2
bl9icmFuY2hfbmFtZSgpICsgJy4uJykKKyAgICAgICAgZGlmZl90b19tZXJnZV9iYXNlID0gX2dp
dF9kaWZmKHNlbGYuc2NtLnN2bl9tZXJnZV9iYXNlKCkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRG
YWxzZShyZS5zZWFyY2gocidmb28nLCBkaWZmX3RvX2NvbW1vbl9iYXNlKSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRUcnVlKHJlLnNlYXJjaChyJ2ZvbycsIGRpZmZfdG9fbWVyZ2VfYmFzZSkpCkBAIC03
MTQsMTMgKzczMywxMyBAQCBjbGFzcyBHaXRUZXN0KFNDTVRlc3QpOgogICAgICAgICAjIFdlIGNh
cmVmdWxsbHkgcGljayBhIGRpZmYgd2hpY2ggZG9lcyBub3QgaGF2ZSBhIGRpcmVjdG9yeSBhZGRp
dGlvbgogICAgICAgICAjIGFzIGN1cnJlbnRseSBzdm4tYXBwbHkgd2lsbCBlcnJvciBvdXQgd2hl
biB0cnlpbmcgdG8gcmVtb3ZlIGRpcmVjdG9yaWVzCiAgICAgICAgICMgaW4gR2l0OiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ4NzEKLSAgICAgICAgcGF0Y2ggPSBz
ZWxmLl9jcmVhdGVfcGF0Y2gocnVuX2NvbW1hbmQoWydnaXQnLCAnZGlmZicsICdIRUFELi5IRUFE
XiddKSkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLl9jcmVhdGVfcGF0Y2goX2dpdF9kaWZmKCdIRUFE
Li5IRUFEXicpKQogICAgICAgICBzZWxmLl9zZXR1cF93ZWJraXR0b29sc19zY3JpcHRzX3N5bWxp
bmsoc2NtKQogICAgICAgICBDaGVja291dChzY20pLmFwcGx5X3BhdGNoKHBhdGNoKQogCiAgICAg
ZGVmIHRlc3RfYXBwbHlfZ2l0X3BhdGNoX2ZvcmNlKHNlbGYpOgogICAgICAgICBzY20gPSBkZXRl
Y3Rfc2NtX3N5c3RlbShzZWxmLmdpdF9jaGVja291dF9wYXRoKQotICAgICAgICBwYXRjaCA9IHNl
bGYuX2NyZWF0ZV9wYXRjaChydW5fY29tbWFuZChbJ2dpdCcsICdkaWZmJywgJ0hFQUR+Mi4uSEVB
RCddKSkKKyAgICAgICAgcGF0Y2ggPSBzZWxmLl9jcmVhdGVfcGF0Y2goX2dpdF9kaWZmKCdIRUFE
fjIuLkhFQUQnKSkKICAgICAgICAgc2VsZi5fc2V0dXBfd2Via2l0dG9vbHNfc2NyaXB0c19zeW1s
aW5rKHNjbSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU2NyaXB0RXJyb3IsIENoZWNrb3V0
KHNjbSkuYXBwbHlfcGF0Y2gsIHBhdGNoLCBmb3JjZT1UcnVlKQogCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHkgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEucHkKaW5kZXggNWVkYTk2
OS4uZDk5NDY2MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vbmV0L2J1Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL25ldC9idWd6aWxsYS5weQpAQCAtNTY4LDcgKzU2OCw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAKICAgICBkZWYgX2ZpbGxfYXR0YWNobWVudF9mb3JtKHNlbGYsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRpZmYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaF9maWxlX29i
amVjdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnRfdGV4dD1Ob25lLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PUZhbHNlLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPUZhbHNlLApA
QCAtNTg5LDggKzU4OSw2IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICBwYXRjaF9uYW1lID0iJXMucGF0Y2giICUgdGltZXN0YW1wKCkKIAotICAg
ICAgICAjIENsaWVudEZvcm0gZXhwZWN0cyBhIGZpbGUtbGlrZSBvYmplY3QKLSAgICAgICAgcGF0
Y2hfZmlsZV9vYmplY3QgPSBTdHJpbmdJTy5TdHJpbmdJTyhkaWZmLmVuY29kZSgidXRmLTgiKSkK
ICAgICAgICAgc2VsZi5icm93c2VyLmFkZF9maWxlKHBhdGNoX2ZpbGVfb2JqZWN0LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGF0Y2hfbmFtZSwKQEAgLTYxOCw4ICs2MTYsMTIgQEAgY2xhc3MgQnVnemls
bGEob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWdfc2VydmVyX3Vy
bCwgYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImVudHJ5
Zm9ybSIpCiAKKyAgICAgICAgIyBfZmlsbF9hdHRhY2htZW50X2Zvcm0gZXhwZWN0cyBhIGZpbGUt
bGlrZSBvYmplY3QKKyAgICAgICAgIyBQYXRjaCBmaWxlcyBhcmUgYWxyZWFkeSBiaW5hcnksIHNv
IG5vIGVuY29kaW5nIG5lZWRlZC4KKyAgICAgICAgYXNzZXJ0KGlzaW5zdGFuY2UoZGlmZiwgc3Ry
KSkKKyAgICAgICAgcGF0Y2hfZmlsZV9vYmplY3QgPSBTdHJpbmdJTy5TdHJpbmdJTyhkaWZmKQog
ICAgICAgICBzZWxmLl9maWxsX2F0dGFjaG1lbnRfZm9ybShkZXNjcmlwdGlvbiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlmZiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGF0Y2hfZmlsZV9vYmplY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1hcmtfZm9yX3Jldmlldz1tYXJrX2Zvcl9yZXZpZXcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1tYXJrX2Zvcl9jb21t
aXRfcXVldWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2xh
bmRpbmc9bWFya19mb3JfbGFuZGluZywKQEAgLTY4Miw5ICs2ODQsMTMgQEAgY2xhc3MgQnVnemls
bGEob2JqZWN0KToKICAgICAgICAgc2VsZi5icm93c2VyWyJjb21tZW50Il0gPSBidWdfZGVzY3Jp
cHRpb24KIAogICAgICAgICBpZiBkaWZmOgorICAgICAgICAgICAgIyBfZmlsbF9hdHRhY2htZW50
X2Zvcm0gZXhwZWN0cyBhIGZpbGUtbGlrZSBvYmplY3QKKyAgICAgICAgICAgICMgUGF0Y2ggZmls
ZXMgYXJlIGFscmVhZHkgYmluYXJ5LCBzbyBubyBlbmNvZGluZyBuZWVkZWQuCisgICAgICAgICAg
ICBhc3NlcnQoaXNpbnN0YW5jZShkaWZmLCBzdHIpKQorICAgICAgICAgICAgcGF0Y2hfZmlsZV9v
YmplY3QgPSBTdHJpbmdJTy5TdHJpbmdJTyhkaWZmKQogICAgICAgICAgICAgc2VsZi5fZmlsbF9h
dHRhY2htZW50X2Zvcm0oCiAgICAgICAgICAgICAgICAgICAgIHBhdGNoX2Rlc2NyaXB0aW9uLAot
ICAgICAgICAgICAgICAgICAgICBkaWZmLAorICAgICAgICAgICAgICAgICAgICBwYXRjaF9maWxl
X29iamVjdCwKICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PW1hcmtfZm9yX3Jl
dmlldywKICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPW1hcmtfZm9y
X2NvbW1pdF9xdWV1ZSkKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vcHJldHR5cGF0Y2gucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9wcmV0dHlwYXRjaC5weQppbmRleCBlN2M4NzZhLi40YjA0NGVkIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaC5weQorKysgYi9X
ZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9wcmV0dHlwYXRjaC5weQpAQCAtMzYs
OSArMzYsMTIgQEAgY2xhc3MgUHJldHR5UGF0Y2gob2JqZWN0KToKICAgICAgICAgc2VsZi5fY2hl
Y2tvdXRfcm9vdCA9IGNoZWNrb3V0X3Jvb3QKIAogICAgIGRlZiBwcmV0dHlfZGlmZl9maWxlKHNl
bGYsIGRpZmYpOgorICAgICAgICAjIERpZmZzIGNhbiBjb250YWluIG11bHRpcGxlIHRleHQgZmls
ZXMgb2YgZGlmZmVyZW50IGVuY29kaW5ncworICAgICAgICAjIHNvIHdlIGFsd2F5cyBkZWFsIHdp
dGggdGhlbSBhcyBieXRlIGFycmF5cywgbm90IHVuaWNvZGUgc3RyaW5ncy4KKyAgICAgICAgYXNz
ZXJ0KGlzaW5zdGFuY2UoZGlmZiwgc3RyKSkKICAgICAgICAgcHJldHR5X2RpZmYgPSBzZWxmLnBy
ZXR0eV9kaWZmKGRpZmYpCiAgICAgICAgIGRpZmZfZmlsZSA9IHRlbXBmaWxlLk5hbWVkVGVtcG9y
YXJ5RmlsZShzdWZmaXg9Ii5odG1sIikKLSAgICAgICAgZGlmZl9maWxlLndyaXRlKHByZXR0eV9k
aWZmLmVuY29kZSgidXRmLTgiKSkKKyAgICAgICAgZGlmZl9maWxlLndyaXRlKHByZXR0eV9kaWZm
KQogICAgICAgICBkaWZmX2ZpbGUuZmx1c2goKQogICAgICAgICByZXR1cm4gZGlmZl9maWxlCiAK
QEAgLTUyLDQgKzU1LDYgQEAgY2xhc3MgUHJldHR5UGF0Y2gob2JqZWN0KToKICAgICAgICAgICAg
IHByZXR0eV9wYXRjaF9wYXRoLAogICAgICAgICAgICAgcHJldHRpZnlfcGF0aCwKICAgICAgICAg
XQotICAgICAgICByZXR1cm4gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGFyZ3MsIGlucHV0
PWRpZmYpCisgICAgICAgICMgUHJldHR5UGF0Y2ggZG9lcyBub3QgbW9kaWZ5IHRoZSBlbmNvZGlu
ZyBvZiB0aGUgZGlmZiBvdXRwdXQKKyAgICAgICAgIyBzbyB3ZSBjYW4ndCBleHBlY3QgaXQgdG8g
YmUgdXRmLTguCisgICAgICAgIHJldHVybiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoYXJn
cywgaW5wdXQ9ZGlmZiwgZGVjb2RlX291dHB1dD1GYWxzZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0eXBhdGNoX3VuaXR0ZXN0LnB5IGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vcHJldHR5cGF0Y2hfdW5pdHRlc3QucHkK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcyNzE3ZgotLS0gL2Rldi9udWxs
CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3ByZXR0eXBhdGNoX3Vu
aXR0ZXN0LnB5CkBAIC0wLDAgKzEsNjUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCitpbXBvcnQgb3MucGF0
aAoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5leGVjdXRp
dmUgaW1wb3J0IEV4ZWN1dGl2ZQorZnJvbSB3ZWJraXRweS5jb21tb24ucHJldHR5cGF0Y2ggaW1w
b3J0IFByZXR0eVBhdGNoCisKKworY2xhc3MgUHJldHR5UGF0Y2hUZXN0KHVuaXR0ZXN0LlRlc3RD
YXNlKToKKworICAgIF9kaWZmX3dpdGhfbXVsdGlwbGVfZW5jb2RpbmdzID0gIiIiCitJbmRleDog
dXRmOF90ZXN0Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CistLS0gdXRmOF90ZXN0XHQocmV2aXNpb24gMCkKKysrKyB1
dGY4X3Rlc3RcdChyZXZpc2lvbiAwKQorQEAgLTAsMCArMSBAQAorK3V0Zi04IHRlc3Q6IFx4YzJc
eGEwCitJbmRleDogbGF0aW4xX3Rlc3QKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsYXRpbjFfdGVzdFx0KHJl
dmlzaW9uIDApCisrKysgbGF0aW4xX3Rlc3RcdChyZXZpc2lvbiAwKQorQEAgLTAsMCArMSBAQAor
K2xhdGluMSB0ZXN0OiBceGEwCisiIiIKKworICAgIGRlZiB0ZXN0X3ByZXR0eV9kaWZmX2VuY29k
aW5ncyhzZWxmKToKKyAgICAgICAgIyBUaGlzIGlzIHNsaWdodGx5IGxhbWUgdGhhdCBQcmV0dHlQ
YXRjaCByZXF1aXJlcworICAgICAgICAjIGNoZWNrb3V0X3Jvb3QgdG8gYmUgcGFzc2VkIHRvIGl0
LgorICAgICAgICB3ZWJraXRweV9jb21tb24gPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCisg
ICAgICAgIHdlYmtpdHB5ID0gb3MucGF0aC5kaXJuYW1lKHdlYmtpdHB5X2NvbW1vbikKKyAgICAg
ICAgc2NyaXB0cyA9IG9zLnBhdGguZGlybmFtZSh3ZWJraXRweSkKKyAgICAgICAgd2Via2l0X3Rv
b2xzID0gb3MucGF0aC5kaXJuYW1lKHNjcmlwdHMpCisgICAgICAgIHdlYmtpdF9yb290ID0gb3Mu
cGF0aC5kaXJuYW1lKHdlYmtpdF90b29scykKKworICAgICAgICBwcmV0dHlfcGF0Y2ggPSBQcmV0
dHlQYXRjaChFeGVjdXRpdmUoKSwgd2Via2l0X3Jvb3QpCisgICAgICAgIHByZXR0eSA9IHByZXR0
eV9wYXRjaC5wcmV0dHlfZGlmZihzZWxmLl9kaWZmX3dpdGhfbXVsdGlwbGVfZW5jb2RpbmdzKQor
ICAgICAgICBzZWxmLmFzc2VydFRydWUocHJldHR5KSAgIyBXZSBnb3Qgc29tZSBvdXRwdXQKKyAg
ICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UocHJldHR5LCBzdHIpKSAgIyBJdCdzIGEg
Ynl0ZSBhcnJheSwgbm90IHVuaWNvZGUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDY0YzU1MmIuLjg5ZDM0MGIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQpA
QCAtNTYsNiArNTYsMTAgQEAgY2xhc3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6
CiAgICAgICAgIG91dHB1dCA9IGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbImVjaG8iLCAiLW4iLCB1
bmljb2RlX3Rvcl0sIGRlY29kZV9vdXRwdXQ9RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKG91dHB1dCwgdXRmOF90b3IpCiAKKyAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCBzdHIoKSBp
bnB1dCBhbHNvIHdvcmtzLgorICAgICAgICBvdXRwdXQgPSBleGVjdXRpdmUucnVuX2NvbW1hbmQo
WyJjYXQiXSwgaW5wdXQ9dXRmOF90b3IsIGRlY29kZV9vdXRwdXQ9RmFsc2UpCisgICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWxzKG91dHB1dCwgdXRmOF90b3IpCisKICAgICAgICAgIyBGSVhNRTogV2Ug
c2hvdWxkIG9ubHkgaGF2ZSBvbmUgcnVuKiBtZXRob2QgdG8gdGVzdAogICAgICAgICBvdXRwdXQg
PSBleGVjdXRpdmUucnVuX2FuZF90aHJvd19pZl9mYWlsKFsiZWNobyIsICItbiIsIHVuaWNvZGVf
dG9yXSwgcXVpZXQ9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMob3V0cHV0LCB1bmlj
b2RlX3RvcikK
</data>
<flag name="review"
          id="38119"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="38120"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>