<?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>82138</bug_id>
          
          <creation_ts>2012-03-24 20:45:44 -0700</creation_ts>
          <short_desc>REGRESSION(r112014): Broke SnowLeopard, Chromium and GTK+ bots (Requested by kov on #webkit).</short_desc>
          <delta_ts>2012-03-24 20:51:11 -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>
          
          <blocked>73846</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>dpranke</cc>
    
    <cc>gustavo</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>587225</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-24 20:45:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/112014 broke the build:
Broke SnowLeopard, Chromium and GTK+ bots (Requested by kov on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587226</commentid>
    <comment_count>1</comment_count>
      <attachid>133670</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-24 20:46:16 -0700</bug_when>
    <thetext>Created attachment 133670
ROLLOUT of r112014

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587227</commentid>
    <comment_count>2</comment_count>
      <attachid>133670</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-24 20:51:01 -0700</bug_when>
    <thetext>Comment on attachment 133670
ROLLOUT of r112014

Clearing flags on attachment: 133670

Committed r112019: &lt;http://trac.webkit.org/changeset/112019&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587228</commentid>
    <comment_count>3</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-24 20:51:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133670</attachid>
            <date>2012-03-24 20:46:16 -0700</date>
            <delta_ts>2012-03-24 20:51:01 -0700</delta_ts>
            <desc>ROLLOUT of r112014</desc>
            <filename>bug-82138-20120325034900.patch</filename>
            <type>text/plain</type>
            <size>38806</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMDE4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGY3YWQxOWY2YTc3MmE4ZmUwZjQ1NDM3ODQ5ZmU1NjE1
NWVmNjI0Zi4uODIyZjMxMjk2MWM5ZTgwMDRjNDQxNTUyMTFkNDM0YzRhNjAxMmM2NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYx
IEBACisyMDEyLTAzLTI0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNv
bT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTEyMDE0LgorICAgICAgICBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTIwMTQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgyMTM4CisKKyAgICAgICAgQnJva2UgU25v
d0xlb3BhcmQsIENocm9taXVtIGFuZCBHVEsrIGJvdHMgKFJlcXVlc3RlZCBieSBrb3Ygb24KKyAg
ICAgICAgI3dlYmtpdCkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoTWFuYWdlclRlc3Qu
dGVzdF9odHRwX2xvY2tpbmcpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weToKKyAgICAgICAgKEFic3Ry
YWN0V29ya2VyLnJ1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvd29ya2VyLnB5OgorICAgICAgICAoV29ya2VyLl9faW5pdF9fKToKKyAgICAg
ICAgKFdvcmtlci5zYWZlX2luaXQpOgorICAgICAgICAoV29ya2VyLnJ1bik6CisgICAgICAgIChX
b3JrZXIuY2xlYW51cCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvd29ya2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAoV29ya2VyVGVzdC50ZXN0
X2RlZmF1bHRfcGxhdGZvcm1faW5fd29ya2VyKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rlc3RzLnB5OgorICAgICAgICAocnVuKToKKyAgICAg
ICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdz
L21ldGVyZWRfc3RyZWFtLnB5OgorICAgICAgICAoTWV0ZXJlZFN0cmVhbSk6CisgICAgICAgIChN
ZXRlcmVkU3RyZWFtLmlzKToKKyAgICAgICAgKE1ldGVyZWRTdHJlYW0uX19pbml0X18pOgorICAg
ICAgICAoTWV0ZXJlZFN0cmVhbS53cml0ZSk6CisgICAgICAgIChNZXRlcmVkU3RyZWFtLnVwZGF0
ZSk6CisgICAgICAgIChNZXRlcmVkU3RyZWFtLl9vdmVyd3JpdGUpOgorICAgICAgICAoTWV0ZXJl
ZFN0cmVhbS5fcmVzZXQpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L3ZpZXdzL21ldGVyZWRfc3RyZWFtX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdE1ldGVyZWRT
dHJlYW0pOgorICAgICAgICAoVGVzdE1ldGVyZWRTdHJlYW0udGVzdF9yZWd1bGFyKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weToKKyAg
ICAgICAgKF9jb25maWd1cmVfbG9nZ2luZyk6CisgICAgICAgIChfcmVzdG9yZV9sb2dnaW5nKToK
KyAgICAgICAgKFByaW50ZXIuX19pbml0X18pOgorICAgICAgICAoUHJpbnRlci5jbGVhbnVwKToK
KyAgICAgICAgKFByaW50ZXIucHJpbnRfcHJvZ3Jlc3MpOgorICAgICAgICAoUHJpbnRlci5wcmlu
dF91cGRhdGUpOgorICAgICAgICAoUHJpbnRlci5fd3JpdGUpOgorICAgICAgICAoUHJpbnRlcik6
CisgICAgICAgIChQcmludGVyLl91cGRhdGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nX3VuaXR0ZXN0LnB5OgorICAgICAgICAoVGVzdFV0
aWxpdHlGdW5jdGlvbnMuYXNzZXJ0RW1wdHkpOgorICAgICAgICAoVGVzdFV0aWxpdHlGdW5jdGlv
bnMpOgorICAgICAgICAoVGVzdFV0aWxpdHlGdW5jdGlvbnMuYXNzZXJ0Tm90RW1wdHkpOgorICAg
ICAgICAoVGVzdFV0aWxpdHlGdW5jdGlvbnMuYXNzZXJ0V3JpdHRlbik6CisgICAgICAgIChUZXN0
VXRpbGl0eUZ1bmN0aW9ucy50ZXN0X2NvbmZpZ3VyZV9sb2dnaW5nKToKKyAgICAgICAgKFRlc3Rw
cmludGVyLmdldF9wcmludGVyKToKKyAgICAgICAgKFRlc3RwcmludGVyLnRlc3RfcHJpbnRfcHJv
Z3Jlc3MpOgorICAgICAgICAoVGVzdHByaW50ZXIudGVzdF9wcmludF9wcm9ncmVzcy5tb2NrX3Rp
bWUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRl
c3RzcnVubmVyLnB5OgorICAgICAgICAoUGVyZlRlc3RzUnVubmVyLl9faW5pdF9fKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91
bml0dGVzdC5weToKKyAgICAgICAgKHRlc3RfcnVuX3Rlc3RfcGF1c2VfYmVmb3JlX3Rlc3Rpbmcp
OgorCiAyMDEyLTAzLTI0ICBLZXZpbiBPbGxpdmllciAgPGtldmlub0B0aGVvbGxpdmllcnMuY29t
PgogCiAgICAgICAgIFt3eF0gVW5yZXZpZXdlZC4gRml4IHRoZSBidWlsZCBhZnRlciBXVEYgbW92
ZS4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5CmluZGV4IDNmNThlN2I0YzUx
YjFhODdlZWQwNWZiMTA4YTA1M2RiMDM4NGYyNWYuLjhiYzZhZmZmZTEzODZlYTUxNTNlZDM5Njkx
N2JlNjIxNDg5OWM2MGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weQpA
QCAtMjE0LDcgKzIxNCw3IEBAIGNsYXNzIE1hbmFnZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToK
ICAgICAgICAgaG9zdCA9IE1vY2tIb3N0KCkKICAgICAgICAgcG9ydCA9IGhvc3QucG9ydF9mYWN0
b3J5LmdldChwb3J0X25hbWU9b3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucz1vcHRpb25zKQogICAg
ICAgICBydW5fd2Via2l0X3Rlc3RzLl9zZXRfdXBfZGVyaXZlZF9vcHRpb25zKHBvcnQsIG9wdGlv
bnMpCi0gICAgICAgIHByaW50ZXIgPSBwcmludGluZy5QcmludGVyKHBvcnQsIG9wdGlvbnMsIFN0
cmluZ0lPLlN0cmluZ0lPKCksIFN0cmluZ0lPLlN0cmluZ0lPKCkpCisgICAgICAgIHByaW50ZXIg
PSBwcmludGluZy5QcmludGVyKHBvcnQsIG9wdGlvbnMsIFN0cmluZ0lPLlN0cmluZ0lPKCksIFN0
cmluZ0lPLlN0cmluZ0lPKCksIGNvbmZpZ3VyZV9sb2dnaW5nPUZhbHNlKQogICAgICAgICBtYW5h
Z2VyID0gTG9ja0NoZWNraW5nTWFuYWdlcihwb3J0LCBvcHRpb25zLCBwcmludGVyKQogICAgICAg
ICBtYW5hZ2VyLmNvbGxlY3RfdGVzdHMoYXJncykKICAgICAgICAgbWFuYWdlci5wYXJzZV9leHBl
Y3RhdGlvbnMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVz
dHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl93b3JrZXJfYnJva2VyLnB5
CmluZGV4IDA4YzA1OWE5NTc2YzkxOWQzNDg2OWVlYzI2YjRiMmNiN2E4ZDFjYzUuLjcwYzQzYTZk
NDE1ZDM0MDY1YjE0YTczZTNlMWRlZjc4MWZmYTIzZmYgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfd29ya2VyX2Jyb2tl
ci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKQEAgLTI3NCw2ICsyNzQsNyBAQCBjbGFzcyBBYnN0
cmFjdFdvcmtlcihCcm9rZXJDbGllbnQpOgogICAgICAgICAiIiJDYWxsYmFjayBmb3IgdGhlIHdv
cmtlciB0byBzdGFydCBleGVjdXRpbmcuIFR5cGljYWxseSBkb2VzIGFueQogICAgICAgICByZW1h
aW5pbmcgaW5pdGlhbGl6YXRpb24gYW5kIHRoZW4gY2FsbHMgYnJva2VyX2Nvbm5lY3Rpb24ucnVu
X21lc3NhZ2VfbG9vcCgpLiIiIgogICAgICAgICBleGNlcHRpb25fbXNnID0gIiIKKyAgICAgICAg
X2xvZy5kZWJ1ZygiJXMgc3RhcnRpbmciICUgc2VsZi5fbmFtZSkKIAogICAgICAgICB0cnk6CiAg
ICAgICAgICAgICBzZWxmLl93b3JrZXJfY29ubmVjdGlvbi5ydW5fbWVzc2FnZV9sb29wKCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L3dvcmtlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xs
ZXJzL3dvcmtlci5weQppbmRleCAwN2EyMGM5YzMwNWFiZDdlYzFlZGFkOGRkZGRjOTRjOGYzM2I3
OGJjLi4yMmMwYTVmMDQyMzEwNWUzMDkzOGI4ZWYzNTI3ZGM2N2UyMDI5YWEyIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy93b3JrZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMv
d29ya2VyLnB5CkBAIC0zOCw3ICszOCw3IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLmNv
bnRyb2xsZXJzIGltcG9ydCBtYW5hZ2VyX3dvcmtlcl9icm9rZXIKIGZyb20gd2Via2l0cHkubGF5
b3V0X3Rlc3RzLmNvbnRyb2xsZXJzIGltcG9ydCBzaW5nbGVfdGVzdF9ydW5uZXIKIGZyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9leHBlY3RhdGlvbnMKIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscyBpbXBvcnQgdGVzdF9yZXN1bHRzCi1mcm9tIHdl
YmtpdHB5LmxheW91dF90ZXN0cy52aWV3cyBpbXBvcnQgbWV0ZXJlZF9zdHJlYW0KK2Zyb20gd2Vi
a2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzIGltcG9ydCBwcmludGluZwogCiAKIF9sb2cgPSBsb2dn
aW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3MgV29ya2VyKG1h
bmFnZXJfd29ya2VyX2Jyb2tlci5BYnN0cmFjdFdvcmtlcik6CiAgICAgICAgIHNlbGYuX2RyaXZl
ciA9IE5vbmUKICAgICAgICAgc2VsZi5fdGVzdHNfcnVuX2ZpbGUgPSBOb25lCiAgICAgICAgIHNl
bGYuX3Rlc3RzX3J1bl9maWxlbmFtZSA9IE5vbmUKLSAgICAgICAgc2VsZi5fbWV0ZXIgPSBOb25l
CisgICAgICAgIHNlbGYuX3ByaW50ZXIgPSBOb25lCiAKICAgICBkZWYgX19kZWxfXyhzZWxmKToK
ICAgICAgICAgc2VsZi5jbGVhbnVwKCkKQEAgLTgyLDU4ICs4Miw0MSBAQCBjbGFzcyBXb3JrZXIo
bWFuYWdlcl93b3JrZXJfYnJva2VyLkFic3RyYWN0V29ya2VyKToKICAgICAgICAgdGVzdHNfcnVu
X2ZpbGVuYW1lID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYuX3Jlc3VsdHNfZGlyZWN0b3J5
LCAidGVzdHNfcnVuJWQudHh0IiAlIHNlbGYuX3dvcmtlcl9udW1iZXIpCiAgICAgICAgIHNlbGYu
X3Rlc3RzX3J1bl9maWxlID0gc2VsZi5fZmlsZXN5c3RlbS5vcGVuX3RleHRfZmlsZV9mb3Jfd3Jp
dGluZyh0ZXN0c19ydW5fZmlsZW5hbWUpCiAKLSAgICBkZWYgX3NldF91cF9sb2dnaW5nKHNlbGYp
OgotICAgICAgICAjIFRoZSB1bml4IG11bHRpcHJvY2Vzc2luZyBpbXBsZW1lbnRhdGlvbiBjbG9u
ZXMgdGhlIE1ldGVyZWRTdHJlYW0gbG9nIGhhbmRsZXIKLSAgICAgICAgIyBpbnRvIHRoZSBjaGls
ZCBwcm9jZXNzLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSBpdCBiZWZvcmUgd2UgY2FuCi0gICAgICAg
ICMgYWRkIGEgbmV3IG9uZSB0byBnZXQgdGhlIGNvcnJlY3QgcGlkIGxvZ2dlZC4KLSAgICAgICAg
cm9vdF9sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCi0gICAgICAgIGhhbmRsZXJfdG9fcmVt
b3ZlID0gTm9uZQotICAgICAgICBmb3IgaCBpbiByb290X2xvZ2dlci5oYW5kbGVyczoKLSAgICAg
ICAgICAgIGlmIGgubmFtZSA9PSBtZXRlcmVkX3N0cmVhbS5MT0dfSEFORExFUl9OQU1FOgotICAg
ICAgICAgICAgICAgIGhhbmRsZXJfdG9fcmVtb3ZlID0gaAotICAgICAgICAgICAgICAgIGJyZWFr
Ci0gICAgICAgIGlmIGhhbmRsZXJfdG9fcmVtb3ZlOgotICAgICAgICAgICAgcm9vdF9sb2dnZXIu
cmVtb3ZlSGFuZGxlcihoYW5kbGVyX3RvX3JlbW92ZSkKLQotICAgICAgICAjIEZJWE1FOiBUaGlz
IHdvbid0IHdvcmsgaWYgdGhlIGNhbGxpbmcgcHJvY2VzcyBpcyBsb2dnaW5nCi0gICAgICAgICMg
c29tZXdoZXJlIG90aGVyIHRoYW4gc3lzLnN0ZGVyciwgYnV0IEknbSBub3Qgc3VyZQotICAgICAg
ICAjIGlmIHRoaXMgd2lsbCBiZSBhbiBpc3N1ZSBpbiBwcmFjdGljZS4gQWxzbywgaXQgd291bGQg
YmUKLSAgICAgICAgIyBuaWNlIGlmIHdlIHRyYXBwZWQgYWxsIG9mIHRoZSBtZXNzYWdlcyBmb3Ig
YSBnaXZlbiB0ZXN0Ci0gICAgICAgICMgYW5kIHNlbnQgdGhlbSBiYWNrIGluIGZpbmlzaGVkX3Rl
c3QoKSByYXRoZXIgdGhhbiBsb2dnaW5nCi0gICAgICAgICMgdGhlbSB0byBzdGRlcnIuCi0gICAg
ICAgIGlmIG5vdCByb290X2xvZ2dlci5oYW5kbGVyczoKLSAgICAgICAgICAgIG9wdGlvbnMgPSBz
ZWxmLl9vcHRpb25zCi0gICAgICAgICAgICByb290X2xvZ2dlci5zZXRMZXZlbChsb2dnaW5nLkRF
QlVHIGlmIG9wdGlvbnMudmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTykKLSAgICAgICAgICAgIHNl
bGYuX21ldGVyID0gbWV0ZXJlZF9zdHJlYW0uTWV0ZXJlZFN0cmVhbShzeXMuc3RkZXJyLCBvcHRp
b25zLnZlcmJvc2UsIGxvZ2dlcj1yb290X2xvZ2dlcikKLQotICAgIGRlZiBfc2V0X3VwX2hvc3Rf
YW5kX3BvcnQoc2VsZik6Ci0gICAgICAgIG9wdGlvbnMgPSBzZWxmLl9vcHRpb25zCi0gICAgICAg
IGlmIG9wdGlvbnMucGxhdGZvcm0gYW5kICd0ZXN0JyBpbiBvcHRpb25zLnBsYXRmb3JtOgotICAg
ICAgICAgICAgIyBJdCBpcyBsYW1lIHRvIGltcG9ydCBtb2NrcyBpbnRvIHJlYWwgY29kZSwgYnV0
IHRoaXMgYWxsb3dzIHVzIHRvIHVzZSB0aGUgdGVzdCBwb3J0IGluIG11bHRpLXByb2Nlc3MgdGVz
dHMgYXMgd2VsbC4KLSAgICAgICAgICAgIGZyb20gd2Via2l0cHkuY29tbW9uLmhvc3RfbW9jayBp
bXBvcnQgTW9ja0hvc3QKLSAgICAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCi0gICAgICAgIGVs
c2U6Ci0gICAgICAgICAgICBob3N0ID0gSG9zdCgpCi0gICAgICAgIHNlbGYuX3BvcnQgPSBob3N0
LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucykKLQogICAgIGRlZiBz
ZXRfaW5saW5lX2FyZ3VtZW50cyhzZWxmLCBwb3J0KToKICAgICAgICAgc2VsZi5fcG9ydCA9IHBv
cnQKIAogICAgIGRlZiBydW4oc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9wb3J0OgotICAg
ICAgICAgICAgIyBXZSBhcmUgcnVubmluZyBpbiBhIGNoaWxkIHByb2Nlc3MgYW5kIG5lZWQgdG8g
aW5pdGlhbGl6ZSB0aGluZ3MuCi0gICAgICAgICAgICBzZWxmLl9zZXRfdXBfbG9nZ2luZygpCi0g
ICAgICAgICAgICBzZWxmLl9zZXRfdXBfaG9zdF9hbmRfcG9ydCgpCisgICAgICAgICAgICAjIFdl
IGFyZSBydW5uaW5nIGluIGEgY2hpbGQgcHJvY2VzcyBhbmQgbmVlZCB0byBjcmVhdGUgYSBuZXcg
SG9zdC4KKyAgICAgICAgICAgIGlmIHNlbGYuX29wdGlvbnMucGxhdGZvcm0gYW5kICd0ZXN0JyBp
biBzZWxmLl9vcHRpb25zLnBsYXRmb3JtOgorICAgICAgICAgICAgICAgICMgSXQgaXMgbGFtZSB0
byBpbXBvcnQgbW9ja3MgaW50byByZWFsIGNvZGUsIGJ1dCB0aGlzIGFsbG93cyB1cyB0byB1c2Ug
dGhlIHRlc3QgcG9ydCBpbiBtdWx0aS1wcm9jZXNzIHRlc3RzIGFzIHdlbGwuCisgICAgICAgICAg
ICAgICAgZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdF9tb2NrIGltcG9ydCBNb2NrSG9zdAorICAg
ICAgICAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCisgICAgICAgICAgICBlbHNlOgorICAgICAg
ICAgICAgICAgIGhvc3QgPSBIb3N0KCkKKworICAgICAgICAgICAgb3B0aW9ucyA9IHNlbGYuX29w
dGlvbnMKKyAgICAgICAgICAgIHNlbGYuX3BvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0
aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucykKKworICAgICAgICAgICAgIyBUaGUgdW5peCBtdWx0aXBy
b2Nlc3NpbmcgaW1wbGVtZW50YXRpb24gY2xvbmVzIHRoZQorICAgICAgICAgICAgIyBsb2cgaGFu
ZGxlciBjb25maWd1cmF0aW9uIGludG8gdGhlIGNoaWxkIHByb2Nlc3NlcywKKyAgICAgICAgICAg
ICMgYnV0IHRoZSB3aW4gaW1wbGVtZW50YXRpb24gZG9lc24ndC4KKyAgICAgICAgICAgIGNvbmZp
Z3VyZV9sb2dnaW5nID0gKHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInKQorCisgICAgICAgICAgICAj
IEZJWE1FOiBUaGlzIHdvbid0IHdvcmsgaWYgdGhlIGNhbGxpbmcgcHJvY2VzcyBpcyBsb2dnaW5n
CisgICAgICAgICAgICAjIHNvbWV3aGVyZSBvdGhlciB0aGFuIHN5cy5zdGRlcnIgYW5kIHN5cy5z
dGRvdXQsIGJ1dCBJJ20gbm90IHN1cmUKKyAgICAgICAgICAgICMgaWYgdGhpcyB3aWxsIGJlIGFu
IGlzc3VlIGluIHByYWN0aWNlLgorICAgICAgICAgICAgc2VsZi5fcHJpbnRlciA9IHByaW50aW5n
LlByaW50ZXIoc2VsZi5fcG9ydCwgb3B0aW9ucywgc3lzLnN0ZGVyciwgc3lzLnN0ZG91dCwgY29u
ZmlndXJlX2xvZ2dpbmcpCiAKICAgICAgICAgc2VsZi5zYWZlX2luaXQoKQorCiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIF9sb2cuZGVidWcoIiVzIHN0YXJ0aW5nIiAlIHNlbGYuX25hbWUpCiAg
ICAgICAgICAgICBzdXBlcihXb3JrZXIsIHNlbGYpLnJ1bigpCiAgICAgICAgIGZpbmFsbHk6Ci0g
ICAgICAgICAgICBzZWxmLmtpbGxfZHJpdmVyKCkKICAgICAgICAgICAgIHNlbGYuX3dvcmtlcl9j
b25uZWN0aW9uLnBvc3RfbWVzc2FnZSgnZG9uZScpCi0gICAgICAgICAgICBfbG9nLmRlYnVnKCIl
cyBleGl0aW5nIiAlIHNlbGYuX25hbWUpCiAgICAgICAgICAgICBzZWxmLmNsZWFudXAoKQorICAg
ICAgICAgICAgX2xvZy5kZWJ1ZygiJXMgZXhpdGluZyIgJSBzZWxmLl9uYW1lKQogCiAgICAgZGVm
IGhhbmRsZV90ZXN0X2xpc3Qoc2VsZiwgc3JjLCBsaXN0X25hbWUsIHRlc3RfbGlzdCk6CiAgICAg
ICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQpAQCAtMTcwLDkgKzE1Myw5IEBAIGNsYXNzIFdv
cmtlcihtYW5hZ2VyX3dvcmtlcl9icm9rZXIuQWJzdHJhY3RXb3JrZXIpOgogICAgICAgICBpZiBz
ZWxmLl90ZXN0c19ydW5fZmlsZToKICAgICAgICAgICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlLmNs
b3NlKCkKICAgICAgICAgICAgIHNlbGYuX3Rlc3RzX3J1bl9maWxlID0gTm9uZQotICAgICAgICBp
ZiBzZWxmLl9tZXRlcjoKLSAgICAgICAgICAgIHNlbGYuX21ldGVyLmNsZWFudXAoKQotICAgICAg
ICAgICAgc2VsZi5fbWV0ZXIgPSBOb25lCisgICAgICAgIGlmIHNlbGYuX3ByaW50ZXI6CisgICAg
ICAgICAgICBzZWxmLl9wcmludGVyLmNsZWFudXAoKQorICAgICAgICAgICAgc2VsZi5fcHJpbnRl
ciA9IE5vbmUKIAogICAgIGRlZiB0aW1lb3V0KHNlbGYsIHRlc3RfaW5wdXQpOgogICAgICAgICAi
IiJDb21wdXRlIHRoZSBhcHByb3ByaWF0ZSB0aW1lb3V0IHZhbHVlIGZvciBhIHRlc3QuIiIiCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVy
cy93b3JrZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9jb250cm9sbGVycy93b3JrZXJfdW5pdHRlc3QucHkKaW5kZXggZWJiNGU3YTViYjVhZTY4NzQ3
MWNiYTMyMDBhMDhiMzFiNThiMTM2Yi4uNmZkNTIwMmQ5YzQwMDdmMGVlODRkOWMxMzU2YWZjZmFh
MGQ5ZjU5MSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
Y29udHJvbGxlcnMvd29ya2VyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL3dvcmtlcl91bml0dGVzdC5weQpAQCAtNDYsNyAr
NDYsOCBAQCBjbGFzcyBXb3JrZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBp
ZiB3ZSBkaWRuJ3Qgc3BlY2lmeSBhIHBvcnQgd2l0aCB0aGUgLS1wbGF0Zm9ybSBmbGFnLgogICAg
ICAgICB3b3JrZXJfY29ubmVjdGlvbiA9IEZha2VDb25uZWN0aW9uKCkKICAgICAgICAgd29ya2Vy
ID0gV29ya2VyKHdvcmtlcl9jb25uZWN0aW9uLCBXb3JrZXJBcmd1bWVudHMoMSwgJy90bXAnLCBN
b2NrT3B0aW9ucyhwbGF0Zm9ybT1Ob25lLCBwcmludF9vcHRpb25zPU5vbmUsIHZlcmJvc2U9RmFs
c2UsIGJhdGNoX3NpemU9MCkpKQotICAgICAgICB3b3JrZXIuX3NldF91cF9ob3N0X2FuZF9wb3J0
KCkKKyAgICAgICAgd29ya2VyLl9kb25lID0gVHJ1ZQorICAgICAgICB3b3JrZXIucnVuKCkKICAg
ICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbHMod29ya2VyLl9wb3J0LCBOb25lKQogCiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVz
dHMucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9ydW5fd2Via2l0X3Rl
c3RzLnB5CmluZGV4IGMyOGI5MTEzNzM4ZTJmOGZmODgzZTJhMDAwZjY2MDEzNDU4MjJhM2EuLjZi
MGUzNjc3ZDlhYTZjMzE0NzEzODkyNWEyZDQxMTAwNTM4MWVjY2MgMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3J1bl93ZWJraXRfdGVzdHMucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvcnVuX3dlYmtpdF90ZXN0cy5weQpA
QCAtODUsNyArODUsNyBAQCBkZWYgbGludChwb3J0LCBvcHRpb25zLCBleHBlY3RhdGlvbnNfY2xh
c3MpOgogZGVmIHJ1bihwb3J0LCBvcHRpb25zLCBhcmdzLCByZWd1bGFyX291dHB1dD1zeXMuc3Rk
ZXJyLCBidWlsZGJvdF9vdXRwdXQ9c3lzLnN0ZG91dCk6CiAgICAgd2FybmluZ3MgPSBfc2V0X3Vw
X2Rlcml2ZWRfb3B0aW9ucyhwb3J0LCBvcHRpb25zKQogCi0gICAgcHJpbnRlciA9IHByaW50aW5n
LlByaW50ZXIocG9ydCwgb3B0aW9ucywgcmVndWxhcl9vdXRwdXQsIGJ1aWxkYm90X291dHB1dCwg
bG9nZ2VyPWxvZ2dpbmcuZ2V0TG9nZ2VyKCkpCisgICAgcHJpbnRlciA9IHByaW50aW5nLlByaW50
ZXIocG9ydCwgb3B0aW9ucywgcmVndWxhcl9vdXRwdXQsIGJ1aWxkYm90X291dHB1dCwgY29uZmln
dXJlX2xvZ2dpbmc9VHJ1ZSkKIAogICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgogICAgICAg
ICBfbG9nLndhcm5pbmcod2FybmluZykKQEAgLTQ3OSw3ICs0NzksNiBAQCBkZWYgbWFpbigpOgog
ICAgICAgICBob3N0ID0gSG9zdCgpCiAgICAgaG9zdC5faW5pdGlhbGl6ZV9zY20oKQogICAgIHBv
cnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucykKLSAg
ICBsb2dnaW5nLmdldExvZ2dlcigpLnNldExldmVsKGxvZ2dpbmcuREVCVUcgaWYgb3B0aW9ucy52
ZXJib3NlIGVsc2UgbG9nZ2luZy5JTkZPKQogICAgIHJldHVybiBydW4ocG9ydCwgb3B0aW9ucywg
YXJncykKIAogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy92aWV3cy9tZXRlcmVkX3N0cmVhbS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtLnB5CmluZGV4IGRmYTQ5ZTRlODEwZmI2YzdjNTIz
OThlNzhhNWYzYTJkNmQ2NDI5NTMuLmI1YzIzM2IxMDZhNzNlMDRhNjM1NDA0MzRlNTJmZDU0YTZk
YWI5YjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Zp
ZXdzL21ldGVyZWRfc3RyZWFtLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3ZpZXdzL21ldGVyZWRfc3RyZWFtLnB5CkBAIC0xLDUgKzEsNSBAQAogIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTI3LDk5
ICsyNyw1OCBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAotaW1wb3J0IGxvZ2dp
bmcKLWltcG9ydCBvcwotaW1wb3J0IHN5cwotaW1wb3J0IHRpbWUKLQotCi1MT0dfSEFORExFUl9O
QU1FID0gJ01ldGVyZWRTdHJlYW1Mb2dIYW5kbGVyJwotCi0KLWNsYXNzIE1ldGVyZWRTdHJlYW0o
b2JqZWN0KToKLSAgICAiIiIKLSAgICBUaGlzIGNsYXNzIGltcGxlbWVudHMgYSBzdHJlYW0gd3Jh
cHBlciB0aGF0IGhhcyAnbWV0ZXJzJyBhcyB3ZWxsIGFzCi0gICAgcmVndWxhciBvdXRwdXQuIEEg
J21ldGVyJyBpcyBhIHNpbmdsZSBsaW5lIG9mIHRleHQgdGhhdCBjYW4gYmUgZXJhc2VkCi0gICAg
YW5kIHJld3JpdHRlbiByZXBlYXRlZGx5LCB3aXRob3V0IHByb2R1Y2luZyBtdWx0aXBsZSBsaW5l
cyBvZiBvdXRwdXQuIEl0Ci0gICAgY2FuIGJlIHVzZWQgdG8gcHJvZHVjZSBlZmZlY3RzIGxpa2Ug
cHJvZ3Jlc3MgYmFycy4KLSAgICAiIiIKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2Vy
YXN1cmUodHh0KToKLSAgICAgICAgbnVtX2NoYXJzID0gbGVuKHR4dCkKLSAgICAgICAgcmV0dXJu
ICdcYicgKiBudW1fY2hhcnMgKyAnICcgKiBudW1fY2hhcnMgKyAnXGInICogbnVtX2NoYXJzCi0K
LSAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9lbnN1cmVfbmV3bGluZSh0eHQpOgotICAgICAg
ICByZXR1cm4gdHh0IGlmIHR4dC5lbmRzd2l0aCgnXG4nKSBlbHNlIHR4dCArICdcbicKLQotICAg
IGRlZiBfX2luaXRfXyhzZWxmLCBzdHJlYW09Tm9uZSwgdmVyYm9zZT1GYWxzZSwgbG9nZ2VyPU5v
bmUsIHRpbWVfZm49Tm9uZSwgcGlkPU5vbmUpOgotICAgICAgICBzZWxmLl9zdHJlYW0gPSBzdHJl
YW0gb3Igc3lzLnN0ZGVycgotICAgICAgICBzZWxmLl92ZXJib3NlID0gdmVyYm9zZQotICAgICAg
ICBzZWxmLl90aW1lX2ZuID0gdGltZV9mbiBvciB0aW1lLnRpbWUKLSAgICAgICAgc2VsZi5fcGlk
ID0gcGlkIG9yIG9zLmdldHBpZCgpCi0KLSAgICAgICAgc2VsZi5faXNhdHR5ID0gc2VsZi5fc3Ry
ZWFtLmlzYXR0eSgpCi0gICAgICAgIHNlbGYuX2VyYXNpbmcgPSBzZWxmLl9pc2F0dHkgYW5kIG5v
dCB2ZXJib3NlCi0gICAgICAgIHNlbGYuX2xhc3RfcGFydGlhbF9saW5lID0gJycKLSAgICAgICAg
c2VsZi5fbGFzdF93cml0ZV90aW1lID0gMC4wCi0gICAgICAgIHNlbGYuX3Rocm90dGxlX2RlbGF5
X2luX3NlY3MgPSAwLjA2NiBpZiBzZWxmLl9lcmFzaW5nIGVsc2UgMTAuMAotCi0gICAgICAgIHNl
bGYuX2xvZ2dlciA9IGxvZ2dlcgotICAgICAgICBzZWxmLl9sb2dfaGFuZGxlciA9IE5vbmUKLSAg
ICAgICAgaWYgc2VsZi5fbG9nZ2VyOgotICAgICAgICAgICAgbG9nX2xldmVsID0gbG9nZ2luZy5E
RUJVRyBpZiB2ZXJib3NlIGVsc2UgbG9nZ2luZy5JTkZPCi0gICAgICAgICAgICBzZWxmLl9sb2df
aGFuZGxlciA9IF9Mb2dIYW5kbGVyKHNlbGYpCi0gICAgICAgICAgICBzZWxmLl9sb2dfaGFuZGxl
ci5zZXRMZXZlbChsb2dfbGV2ZWwpCi0gICAgICAgICAgICBzZWxmLl9sb2dnZXIuYWRkSGFuZGxl
cihzZWxmLl9sb2dfaGFuZGxlcikKLQotICAgIGRlZiBfX2RlbF9fKHNlbGYpOgotICAgICAgICBz
ZWxmLmNsZWFudXAoKQotCi0gICAgZGVmIGNsZWFudXAoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYu
X2xvZ2dlcjoKLSAgICAgICAgICAgIHNlbGYuX2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYuX2xv
Z19oYW5kbGVyKQotICAgICAgICAgICAgc2VsZi5fbG9nX2hhbmRsZXIgPSBOb25lCi0KLSAgICBk
ZWYgd3JpdGVfdGhyb3R0bGVkX3VwZGF0ZShzZWxmLCB0eHQpOgotICAgICAgICBub3cgPSBzZWxm
Ll90aW1lX2ZuKCkKLSAgICAgICAgaWYgbm93IC0gc2VsZi5fbGFzdF93cml0ZV90aW1lID49IHNl
bGYuX3Rocm90dGxlX2RlbGF5X2luX3NlY3M6Ci0gICAgICAgICAgICBzZWxmLndyaXRlX3VwZGF0
ZSh0eHQsIG5vdykKLQotICAgIGRlZiB3cml0ZV91cGRhdGUoc2VsZiwgdHh0LCBub3c9Tm9uZSk6
Ci0gICAgICAgIHNlbGYud3JpdGUodHh0LCBub3cpCi0gICAgICAgIGlmIHNlbGYuX2VyYXNpbmc6
Ci0gICAgICAgICAgICBzZWxmLl9sYXN0X3BhcnRpYWxfbGluZSA9IHR4dFt0eHQucmZpbmQoJ1xu
JykgKyAxOl0KLQotICAgIGRlZiB3cml0ZShzZWxmLCB0eHQsIG5vdz1Ob25lKToKLSAgICAgICAg
bm93ID0gbm93IG9yIHNlbGYuX3RpbWVfZm4oKQotICAgICAgICBzZWxmLl9sYXN0X3dyaXRlX3Rp
bWUgPSBub3cKLSAgICAgICAgaWYgc2VsZi5fbGFzdF9wYXJ0aWFsX2xpbmU6Ci0gICAgICAgICAg
ICBzZWxmLl9lcmFzZV9sYXN0X3BhcnRpYWxfbGluZSgpCi0gICAgICAgIGlmIHNlbGYuX3ZlcmJv
c2U6Ci0gICAgICAgICAgICBub3dfdHVwbGUgPSB0aW1lLmxvY2FsdGltZShub3cpCi0gICAgICAg
ICAgICBtc2cgPSAnJTAyZDolMDJkOiUwMmQuJTAzZCAlZCAlcycgJSAobm93X3R1cGxlLnRtX2hv
dXIsIG5vd190dXBsZS50bV9taW4sIG5vd190dXBsZS50bV9zZWMsIGludCgobm93ICogMTAwMCkg
JSAxMDAwKSwgc2VsZi5fcGlkLCBzZWxmLl9lbnN1cmVfbmV3bGluZSh0eHQpKQotICAgICAgICBl
bGlmIHNlbGYuX2lzYXR0eToKLSAgICAgICAgICAgIG1zZyA9IHR4dAotICAgICAgICBlbHNlOgot
ICAgICAgICAgICAgbXNnID0gc2VsZi5fZW5zdXJlX25ld2xpbmUodHh0KQotCi0gICAgICAgIHNl
bGYuX3N0cmVhbS53cml0ZShtc2cpCi0KLSAgICBkZWYgd3JpdGVsbihzZWxmLCB0eHQsIG5vdz1O
b25lKToKLSAgICAgICAgc2VsZi53cml0ZShzZWxmLl9lbnN1cmVfbmV3bGluZSh0eHQpLCBub3cp
Ci0KLSAgICBkZWYgX2VyYXNlX2xhc3RfcGFydGlhbF9saW5lKHNlbGYpOgotICAgICAgICBudW1f
Y2hhcnMgPSBsZW4oc2VsZi5fbGFzdF9wYXJ0aWFsX2xpbmUpCi0gICAgICAgIHNlbGYuX3N0cmVh
bS53cml0ZShzZWxmLl9lcmFzdXJlKHNlbGYuX2xhc3RfcGFydGlhbF9saW5lKSkKLSAgICAgICAg
c2VsZi5fbGFzdF9wYXJ0aWFsX2xpbmUgPSAnJwotCi0KLWNsYXNzIF9Mb2dIYW5kbGVyKGxvZ2dp
bmcuSGFuZGxlcik6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGVyKToKLSAgICAgICAgbG9n
Z2luZy5IYW5kbGVyLl9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuX21ldGVyID0gbWV0ZXIK
LSAgICAgICAgc2VsZi5fbmFtZSA9IExPR19IQU5ETEVSX05BTUUKLQotICAgIGRlZiBlbWl0KHNl
bGYsIHJlY29yZCk6Ci0gICAgICAgIHNlbGYuX21ldGVyLndyaXRlbG4ocmVjb3JkLm1zZywgcmVj
b3JkLmNyZWF0ZWQpCisiIiIKK1BhY2thZ2UgdGhhdCBpbXBsZW1lbnRzIGEgc3RyZWFtIHdyYXBw
ZXIgdGhhdCBoYXMgJ21ldGVycycgYXMgd2VsbCBhcworcmVndWxhciBvdXRwdXQuIEEgJ21ldGVy
JyBpcyBhIHNpbmdsZSBsaW5lIG9mIHRleHQgdGhhdCBjYW4gYmUgZXJhc2VkCithbmQgcmV3cml0
dGVuIHJlcGVhdGVkbHksIHdpdGhvdXQgcHJvZHVjaW5nIG11bHRpcGxlIGxpbmVzIG9mIG91dHB1
dC4gSXQKK2NhbiBiZSB1c2VkIHRvIHByb2R1Y2UgZWZmZWN0cyBsaWtlIHByb2dyZXNzIGJhcnMu
CisKK1RoaXMgcGFja2FnZSBzaG91bGQgb25seSBiZSBjYWxsZWQgYnkgdGhlIHByaW50aW5nIG1v
ZHVsZSBpbiB0aGUgbGF5b3V0X3Rlc3RzCitwYWNrYWdlLgorIiIiCisKKworY2xhc3MgTWV0ZXJl
ZFN0cmVhbToKKyAgICAiIiJUaGlzIGNsYXNzIGlzIGEgd3JhcHBlciBhcm91bmQgYSBzdHJlYW0g
dGhhdCBhbGxvd3MgeW91IHRvIGltcGxlbWVudAorICAgIG1ldGVycyAocHJvZ3Jlc3MgYmFycywg
ZXRjLikuCisKKyAgICBJdCBjYW4gYmUgdXNlZCBkaXJlY3RseSBhcyBhIHN0cmVhbSwgYnkgY2Fs
bGluZyB3cml0ZSgpLCBidXQgYWxzbyBwcm92aWRlcworICAgIGEgbWV0aG9kIGNhbGxlZCB1cGRh
dGUoKSB0aGF0IHdpbGwgb3ZlcndpdGUgcHJpb3IgdXBkYXRlcygpLgorICAgIiIiCisKKyAgICBk
ZWYgX19pbml0X18oc2VsZiwgc3RyZWFtKToKKyAgICAgICAgIiIiCisgICAgICAgIEFyZ3M6Cisg
ICAgICAgICAgc3RyZWFtOiBvdXRwdXQgc3RyZWFtIHRvIHdyaXRlIHRvCisgICAgICAgICIiIgor
ICAgICAgICBzZWxmLl9zdHJlYW0gPSBzdHJlYW0KKyAgICAgICAgc2VsZi5fZGlydHkgPSBGYWxz
ZQorICAgICAgICBzZWxmLl9sYXN0X3VwZGF0ZSA9ICIiCisKKyAgICBkZWYgd3JpdGUoc2VsZiwg
dHh0KToKKyAgICAgICAgIiIiV3JpdGUgdG8gdGhlIHN0cmVhbSwgb3ZlcndyaXRpbmcgYW5kIHJl
c2V0dGluZyB0aGUgbWV0ZXIuIiIiCisKKyAgICAgICAgIyBUaGlzIHJvdXRpbmUgaXMgY2FsbGVk
IGJ5IHRoZSBsb2dnaW5nIGluZnJhc3RydWN0dXJlLCBhbmQKKyAgICAgICAgIyBtdXN0IG5vdCBj
YWxsIGJhY2sgaW50byBsb2dnaW5nLiBJdCBpcyBub3QgYSBwdWJsaWMgZnVuY3Rpb24uCisgICAg
ICAgIHNlbGYuX292ZXJ3cml0ZSh0eHQpCisgICAgICAgIHNlbGYuX3Jlc2V0KCkKKworICAgIGRl
ZiB1cGRhdGUoc2VsZiwgdHh0KToKKyAgICAgICAgIiIiV3JpdGUgYSBtZXNzYWdlIHRoYXQgd2ls
bCBiZSBvdmVyd3JpdHRlbiBieSBzdWJzZXF1ZW50IHVwZGF0ZSgpIG9yIHdyaXRlKCkgY2FsbHMu
IiIiCisgICAgICAgIHNlbGYuX292ZXJ3cml0ZSh0eHQpCisKKyAgICBkZWYgX292ZXJ3cml0ZShz
ZWxmLCB0eHQpOgorICAgICAgICAjIFByaW50IHRoZSBuZWNlc3NhcnkgbnVtYmVyIG9mIGJhY2tz
cGFjZXMgdG8gZXJhc2UgdGhlIHByZXZpb3VzCisgICAgICAgICMgbWVzc2FnZS4KKyAgICAgICAg
aWYgbGVuKHNlbGYuX2xhc3RfdXBkYXRlKToKKyAgICAgICAgICAgIHNlbGYuX3N0cmVhbS53cml0
ZSgiXGIiICogbGVuKHNlbGYuX2xhc3RfdXBkYXRlKSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIiAiICogbGVuKHNlbGYuX2xhc3RfdXBkYXRlKSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIlxiIiAqIGxlbihzZWxmLl9sYXN0X3VwZGF0ZSkpCisgICAgICAgIHNl
bGYuX3N0cmVhbS53cml0ZSh0eHQpCisgICAgICAgIGxhc3RfbmV3bGluZSA9IHR4dC5yZmluZCgi
XG4iKQorICAgICAgICBzZWxmLl9sYXN0X3VwZGF0ZSA9IHR4dFsobGFzdF9uZXdsaW5lICsgMSk6
XQorICAgICAgICBzZWxmLl9kaXJ0eSA9IFRydWUKKworICAgIGRlZiBfcmVzZXQoc2VsZik6Cisg
ICAgICAgIHNlbGYuX2RpcnR5ID0gRmFsc2UKKyAgICAgICAgc2VsZi5fbGFzdF91cGRhdGUgPSAn
JwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3Mv
bWV0ZXJlZF9zdHJlYW1fdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy92aWV3cy9tZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weQppbmRleCA0YjM3NjQ2MGJm
YjFiMTRiNGY2YmYxNjM4M2Y3M2UzZGVjM2I3MWU0Li4zNTljZmNmNjBmMTM5MzQzMGRiY2QzYWYx
YzdiMTA5MmRlZGQxMzI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy92aWV3cy9tZXRlcmVkX3N0cmVhbV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9tZXRlcmVkX3N0cmVhbV91bml0dGVzdC5w
eQpAQCAtMSw1ICsxLDUgQEAKICMhL3Vzci9iaW4vcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAx
MCwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTI3LDExNiArMjcsNTUgQEAKICMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgcmUKIGltcG9ydCBTdHJpbmdJTwog
aW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzLm1ldGVy
ZWRfc3RyZWFtIGltcG9ydCBNZXRlcmVkU3RyZWFtCiAKIAotY2xhc3MgUmVndWxhclRlc3QodW5p
dHRlc3QuVGVzdENhc2UpOgotICAgIHZlcmJvc2UgPSBGYWxzZQotICAgIGlzYXR0eSA9IEZhbHNl
Ci0KLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYuc3RyZWFtID0gU3RyaW5nSU8u
U3RyaW5nSU8oKQotICAgICAgICBzZWxmLmJ1Zmxpc3QgPSBzZWxmLnN0cmVhbS5idWZsaXN0Ci0g
ICAgICAgIHNlbGYuc3RyZWFtLmlzYXR0eSA9IGxhbWJkYTogc2VsZi5pc2F0dHkKLQotICAgICAg
ICAjIGNvbmZpZ3VyZSBhIGxvZ2dlciB0byB0ZXN0IHRoYXQgbG9nIGNhbGxzIGRvIG5vcm1hbGx5
IGdldCBpbmNsdWRlZC4KLSAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihf
X25hbWVfXykKLSAgICAgICAgc2VsZi5sb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKLSAg
ICAgICAgc2VsZi5sb2dnZXIucHJvcGFnYXRlID0gRmFsc2UKLQotICAgICAgICAjIGFkZCBhIGR1
bW15IHRpbWUgY291bnRlciBmb3IgYSBkZWZhdWx0IGJlaGF2aW9yLgotICAgICAgICBzZWxmLnRp
bWVzID0gcmFuZ2UoMTApCi0KLSAgICAgICAgc2VsZi5tZXRlciA9IE1ldGVyZWRTdHJlYW0oc2Vs
Zi5zdHJlYW0sIHNlbGYudmVyYm9zZSwgc2VsZi5sb2dnZXIsIHNlbGYudGltZV9mbiwgODY3NSkK
LQotICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgaWYgc2VsZi5tZXRlcjoKLSAgICAg
ICAgICAgIHNlbGYubWV0ZXIuY2xlYW51cCgpCi0gICAgICAgICAgICBzZWxmLm1ldGVyID0gTm9u
ZQotCi0gICAgZGVmIHRpbWVfZm4oc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnRpbWVzLnBv
cCgwKQotCi0gICAgZGVmIHRlc3RfbG9nZ2luZ19ub3RfaW5jbHVkZWQoc2VsZik6Ci0gICAgICAg
ICMgVGhpcyB0ZXN0cyB0aGF0IGlmIHdlIGRvbid0IGhhbmQgYSBsb2dnZXIgdG8gdGhlIE1ldGVy
ZWRTdHJlYW0sCi0gICAgICAgICMgbm90aGluZyBpcyBsb2dnZWQuCi0gICAgICAgIGxvZ2dpbmdf
c3RyZWFtID0gU3RyaW5nSU8uU3RyaW5nSU8oKQotICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5T
dHJlYW1IYW5kbGVyKGxvZ2dpbmdfc3RyZWFtKQotICAgICAgICByb290X2xvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKCkKLSAgICAgICAgb3JpZ19sZXZlbCA9IHJvb3RfbG9nZ2VyLmxldmVsCi0g
ICAgICAgIHJvb3RfbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKLSAgICAgICAgcm9vdF9sb2dn
ZXIuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2Vs
Zi5tZXRlciA9IE1ldGVyZWRTdHJlYW0oc2VsZi5zdHJlYW0sIHNlbGYudmVyYm9zZSwgTm9uZSwg
c2VsZi50aW1lX2ZuLCA4Njc1KQotICAgICAgICAgICAgc2VsZi5tZXRlci53cml0ZV90aHJvdHRs
ZWRfdXBkYXRlKCdmb28nKQotICAgICAgICAgICAgc2VsZi5tZXRlci53cml0ZV91cGRhdGUoJ2Jh
cicpCi0gICAgICAgICAgICBzZWxmLm1ldGVyLndyaXRlKCdiYXonKQotICAgICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbHMobG9nZ2luZ19zdHJlYW0uYnVmbGlzdCwgW10pCi0gICAgICAgIGZpbmFs
bHk6Ci0gICAgICAgICAgICByb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKGhhbmRsZXIpCi0gICAg
ICAgICAgICByb290X2xvZ2dlci5zZXRMZXZlbChvcmlnX2xldmVsKQotCi0gICAgZGVmIF9iYXNp
YyhzZWxmLCB0aW1lcyk6Ci0gICAgICAgIHNlbGYudGltZXMgPSB0aW1lcwotICAgICAgICBzZWxm
Lm1ldGVyLndyaXRlX3VwZGF0ZSgnZm9vJykKLSAgICAgICAgc2VsZi5tZXRlci53cml0ZV91cGRh
dGUoJ2JhcicpCi0gICAgICAgIHNlbGYubWV0ZXIud3JpdGVfdGhyb3R0bGVkX3VwZGF0ZSgnYmF6
JykKLSAgICAgICAgc2VsZi5tZXRlci53cml0ZV90aHJvdHRsZWRfdXBkYXRlKCdiYXogMicpCi0g
ICAgICAgIHNlbGYubWV0ZXIud3JpdGVsbignZG9uZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKHNlbGYudGltZXMsIFtdKQotICAgICAgICByZXR1cm4gc2VsZi5idWZsaXN0Ci0KLSAgICBk
ZWYgdGVzdF9iYXNpYyhzZWxmKToKLSAgICAgICAgYnVmbGlzdCA9IHNlbGYuX2Jhc2ljKFswLCAx
LCAyLCAxMywgMTRdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhidWZsaXN0LCBbJ2Zvb1xu
JywgJ2JhclxuJywgJ2JheiAyXG4nLCAnZG9uZVxuJ10pCi0KLSAgICBkZWYgX2xvZ19hZnRlcl91
cGRhdGUoc2VsZik6Ci0gICAgICAgIHNlbGYubWV0ZXIud3JpdGVfdXBkYXRlKCdmb28nKQotICAg
ICAgICBzZWxmLmxvZ2dlci5pbmZvKCdiYXInKQotICAgICAgICByZXR1cm4gc2VsZi5idWZsaXN0
Ci0KLSAgICBkZWYgdGVzdF9sb2dfYWZ0ZXJfdXBkYXRlKHNlbGYpOgotICAgICAgICBidWZsaXN0
ID0gc2VsZi5fbG9nX2FmdGVyX3VwZGF0ZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGJ1
Zmxpc3QsIFsnZm9vXG4nLCAnYmFyXG4nXSkKLQotCi1jbGFzcyBUdHlUZXN0KFJlZ3VsYXJUZXN0
KToKLSAgICB2ZXJib3NlID0gRmFsc2UKLSAgICBpc2F0dHkgPSBUcnVlCi0KLSAgICBkZWYgdGVz
dF9iYXNpYyhzZWxmKToKLSAgICAgICAgYnVmbGlzdCA9IHNlbGYuX2Jhc2ljKFswLCAxLCAxLjA1
LCAxLjEsIDJdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhidWZsaXN0LCBbJ2ZvbycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0ZXJlZFN0cmVhbS5fZXJhc3Vy
ZSgnZm9vJyksICdiYXInLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l
dGVyZWRTdHJlYW0uX2VyYXN1cmUoJ2JhcicpLCAnYmF6IDInLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE1ldGVyZWRTdHJlYW0uX2VyYXN1cmUoJ2JheiAyJyksICdkb25l
XG4nXSkKLQotICAgIGRlZiB0ZXN0X2xvZ19hZnRlcl91cGRhdGUoc2VsZik6Ci0gICAgICAgIGJ1
Zmxpc3QgPSBzZWxmLl9sb2dfYWZ0ZXJfdXBkYXRlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bHMoYnVmbGlzdCwgWydmb28nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IE1ldGVyZWRTdHJlYW0uX2VyYXN1cmUoJ2ZvbycpLCAnYmFyXG4nXSkKLQotCi1jbGFzcyBWZXJi
b3NlVGVzdChSZWd1bGFyVGVzdCk6Ci0gICAgaXNhdHR5ID0gRmFsc2UKLSAgICB2ZXJib3NlID0g
VHJ1ZQotCi0gICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6Ci0gICAgICAgIGJ1Zmxpc3QgPSBzZWxm
Ll9iYXNpYyhbMCwgMSwgMi4xLCAxMywgMTQuMTIzNF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKGJ1Zmxpc3QsIFsnMTY6MDA6MDAuMDAwIDg2NzUgZm9vXG4nLCAnMTY6MDA6MDEuMDAwIDg2
NzUgYmFyXG4nLCAnMTY6MDA6MTMuMDAwIDg2NzUgYmF6IDJcbicsICcxNjowMDoxNC4xMjMgODY3
NSBkb25lXG4nXSkKLQotICAgIGRlZiB0ZXN0X2xvZ19hZnRlcl91cGRhdGUoc2VsZik6Ci0gICAg
ICAgIGJ1Zmxpc3QgPSBzZWxmLl9sb2dfYWZ0ZXJfdXBkYXRlKCkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbHMoYnVmbGlzdFswXSwgJzE2OjAwOjAwLjAwMCA4Njc1IGZvb1xuJykKLQotICAgICAg
ICAjIFRoZSBzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGhhdmUgYSByZWFsIHRpbWVzdGFtcCBhbmQg
cGlkLCBzbyB3ZSBqdXN0IGNoZWNrIHRoZSBmb3JtYXQuCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWxzKGxlbihidWZsaXN0KSwgMikKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKCdc
ZFxkOlxkXGQ6XGRcZC5cZFxkXGQgXGQrIGJhclxuJywgYnVmbGlzdFsxXSkpCitjbGFzcyBUZXN0
TWV0ZXJlZFN0cmVhbSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfcmVndWxhcihz
ZWxmKToKKyAgICAgICAgYSA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKKyAgICAgICAgbSA9IE1ldGVy
ZWRTdHJlYW0oYSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhLmdldHZhbHVlKCkpCisKKyAg
ICAgICAgIyBiYXNpYyB0ZXN0CisgICAgICAgIG0ud3JpdGUoImZvbyIpCisgICAgICAgIGV4cCA9
IFsnZm9vJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoYS5idWZsaXN0LCBleHApCisKKyAg
ICAgICAgIyBub3cgY2hlY2sgdGhhdCBhIHNlY29uZCB3cml0ZSgpIGRvZXMgbm90IG92ZXJ3cml0
ZSB0aGUgZmlyc3QuCisgICAgICAgIG0ud3JpdGUoImJhciIpCisgICAgICAgIGV4cC5hcHBlbmQo
J2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGEuYnVmbGlzdCwgZXhwKQorCisgICAg
ICAgIG0udXBkYXRlKCJiYXR0ZXIiKQorICAgICAgICBleHAuYXBwZW5kKCdiYXR0ZXInKQorICAg
ICAgICBzZWxmLmFzc2VydEVxdWFscyhhLmJ1Zmxpc3QsIGV4cCkKKworICAgICAgICAjIFRoZSBu
ZXh0IHVwZGF0ZSgpIHNob3VsZCBvdmVyd3JpdGUgdGhlIGxhc3RlIHVwZGF0ZSgpIGJ1dCBub3Qg
dGhlCisgICAgICAgICMgb3RoZXIgdGV4dC4gTm90ZSB0aGF0IHRoZSBjdXJzb3IgaXMgZWZmZWN0
aXZlbHkgcG9zaXRpb25lZCBhdCB0aGUKKyAgICAgICAgIyBlbmQgb2YgJ2ZvbycsIGV2ZW4gdGhv
dWdoIHdlIGhhZCB0byBlcmFzZSB0aHJlZSBtb3JlIGNoYXJhY3RlcnMuCisgICAgICAgIG0udXBk
YXRlKCJmb28iKQorICAgICAgICBleHAuYXBwZW5kKCdcYlxiXGJcYlxiXGIgICAgICBcYlxiXGJc
YlxiXGInKQorICAgICAgICBleHAuYXBwZW5kKCdmb28nKQorICAgICAgICBzZWxmLmFzc2VydEVx
dWFscyhhLmJ1Zmxpc3QsIGV4cCkKKworICAgICAgICAjIG5vdyBjaGVjayB0aGF0IGEgd3JpdGUo
KSBkb2VzIG92ZXJ3cml0ZSB0aGUgdXBkYXRlCisgICAgICAgIG0ud3JpdGUoImZvbyIpCisgICAg
ICAgIGV4cC5hcHBlbmQoJ1xiXGJcYiAgIFxiXGJcYicpCisgICAgICAgIGV4cC5hcHBlbmQoJ2Zv
bycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGEuYnVmbGlzdCwgZXhwKQorCisgICAgICAg
ICMgTm93IHRlc3QgdGhhdCB3ZSBvbmx5IGJhY2sgdXAgdG8gdGhlIG1vc3QgcmVjZW50IG5ld2xp
bmUuCisKKyAgICAgICAgIyBOb3RlIGFsc28gdGhhdCB3ZSBkbyBub3QgYmFjayB1cCB0byBlcmFz
ZSB0aGUgbW9zdCByZWNlbnQgd3JpdGUoKSwKKyAgICAgICAgIyBpLmUuLCB3cml0ZSgpcyBkbyBu
b3QgZ2V0IGVyYXNlZC4KKyAgICAgICAgYSA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKKyAgICAgICAg
bSA9IE1ldGVyZWRTdHJlYW0oYSkKKyAgICAgICAgbS51cGRhdGUoImZvb1xuYmFyIikKKyAgICAg
ICAgbS51cGRhdGUoImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKGEuYnVmbGlzdCwg
Wydmb29cbmJhcicsICdcYlxiXGIgICBcYlxiXGInLCAnYmF6J10pCiAKIAogaWYgX19uYW1lX18g
PT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0
X3Rlc3RzL3ZpZXdzL3ByaW50aW5nLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvdmlld3MvcHJpbnRpbmcucHkKaW5kZXggM2RmMjk1NmMxODI2MThlZDBkY2YxM2VkNmYx
ODVlNTEwZTQ4N2ZiYS4uNzUwYzQ4ZGY5ZTMwOTUzNDYwMmE4ODUwNzg2YzMzMTAzYzhmMGE2NyAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJp
bnRpbmcucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3Mv
cHJpbnRpbmcucHkKQEAgLTEsNSArMSw1IEBACiAjIS91c3IvYmluL2VudiBweXRob24KLSMgQ29w
eXJpZ2h0IChDKSAyMDEwLCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwog
IyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMjksMTMgKzI5LDIxIEBACiAKICIiIlBh
Y2thZ2UgdGhhdCBoYW5kbGVzIG5vbi1kZWJ1Zywgbm9uLWZpbGUgb3V0cHV0IGZvciBydW4td2Vi
a2l0LXRlc3RzLiIiIgogCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9wdHBhcnNlCitpbXBvcnQg
dGltZQogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQgaW1wb3J0IHJlc3VsdHNqc29ucGFyc2Vy
Ci1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5tb2RlbHMudGVzdF9leHBlY3RhdGlvbnMgaW1w
b3J0IFRlc3RFeHBlY3RhdGlvbnMKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLnZpZXdzLm1l
dGVyZWRfc3RyZWFtIGltcG9ydCBNZXRlcmVkU3RyZWFtCitmcm9tIHdlYmtpdHB5LmxheW91dF90
ZXN0cy5tb2RlbHMudGVzdF9leHBlY3RhdGlvbnMgaW1wb3J0IFRlc3RFeHBlY3RhdGlvbnMKKwor
CitfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKIAogTlVNX1NMT1dfVEVTVFNf
VE9fTE9HID0gMTAKK0ZBU1RfVVBEQVRFU19TRUNPTkRTID0gMC4wMworU0xPV19VUERBVEVTX1NF
Q09ORFMgPSAxMC4wCiAKIFBSSU5UX0RFRkFVTFQgPSAibWlzYyxvbmUtbGluZS1wcm9ncmVzcyxv
bmUtbGluZS1zdW1tYXJ5LHVuZXhwZWN0ZWQsdW5leHBlY3RlZC1yZXN1bHRzLHVwZGF0ZXMiCiBQ
UklOVF9FVkVSWVRISU5HID0gImFjdHVhbCxjb25maWcsZXhwZWN0ZWQsbWlzYyxvbmUtbGluZS1w
cm9ncmVzcyxvbmUtbGluZS1zdW1tYXJ5LHNsb3dlc3QsdGltaW5nLHVuZXhwZWN0ZWQsdW5leHBl
Y3RlZC1yZXN1bHRzLHVwZGF0ZXMiCkBAIC0xNDYsNiArMTU0LDI3IEBAIGRlZiBwYXJzZV9wcmlu
dF9vcHRpb25zKHByaW50X29wdGlvbnMsIHZlcmJvc2UpOgogICAgIHJldHVybiBzd2l0Y2hlcwog
CiAKK2RlZiBfY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtLCB2ZXJib3NlKToKKyAgICBsb2dfZm10
ID0gJyUobWVzc2FnZSlzJworICAgIGxvZ19kYXRlZm10ID0gJyV5JW0lZCAlSDolTTolUycKKyAg
ICBsb2dfbGV2ZWwgPSBsb2dnaW5nLklORk8KKyAgICBpZiB2ZXJib3NlOgorICAgICAgICBsb2df
Zm10ID0gJyUoYXNjdGltZSlzICUocHJvY2VzcylkICUoZmlsZW5hbWUpczolKGxpbmVubylkICUo
bGV2ZWxuYW1lKXMgJShtZXNzYWdlKXMnCisgICAgICAgIGxvZ19sZXZlbCA9IGxvZ2dpbmcuREVC
VUcKKworICAgIHJvb3QgPSBsb2dnaW5nLmdldExvZ2dlcigpCisgICAgaGFuZGxlciA9IGxvZ2dp
bmcuU3RyZWFtSGFuZGxlcihzdHJlYW0pCisgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2lu
Zy5Gb3JtYXR0ZXIobG9nX2ZtdCwgTm9uZSkpCisgICAgcm9vdC5hZGRIYW5kbGVyKGhhbmRsZXIp
CisgICAgcm9vdC5zZXRMZXZlbChsb2dfbGV2ZWwpCisgICAgcmV0dXJuIGhhbmRsZXIKKworCitk
ZWYgX3Jlc3RvcmVfbG9nZ2luZyhoYW5kbGVyX3RvX3JlbW92ZSk6CisgICAgcm9vdCA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKCkKKyAgICByb290LmhhbmRsZXJzLnJlbW92ZShoYW5kbGVyX3RvX3JlbW92
ZSkKKworCiBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgIiIiQ2xhc3MgaGFuZGxpbmcgYWxs
IG5vbi1kZWJ1Zy1sb2dnaW5nIHByaW50aW5nIGRvbmUgYnkgcnVuLXdlYmtpdC10ZXN0cy4KIApA
QCAtMTU4LDcgKzE4Nyw3IEBAIGNsYXNzIFByaW50ZXIob2JqZWN0KToKIAogICAgIEJ5IGRlZmF1
bHQgdGhlIGJ1aWxkYm90LXBhcnNlZCBjb2RlIGdldHMgbG9nZ2VkIHRvIHN0ZG91dCwgYW5kIHJl
Z3VsYXIKICAgICBvdXRwdXQgZ2V0cyBsb2dnZWQgdG8gc3RkZXJyLiIiIgotICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBwb3J0LCBvcHRpb25zLCByZWd1bGFyX291dHB1dCwgYnVpbGRib3Rfb3V0cHV0
LCBsb2dnZXI9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnQsIG9wdGlvbnMsIHJl
Z3VsYXJfb3V0cHV0LCBidWlsZGJvdF9vdXRwdXQsIGNvbmZpZ3VyZV9sb2dnaW5nKToKICAgICAg
ICAgIiIiCiAgICAgICAgIEFyZ3MKICAgICAgICAgICBwb3J0ICAgICAgICAgICAgICAgaW50ZXJm
YWNlIHRvIHBvcnQtc3BlY2lmaWMgcm91dGluZXMKQEAgLTE2NywxNiArMTk2LDM3IEBAIGNsYXNz
IFByaW50ZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIGJl
IHdyaXR0ZW4KICAgICAgICAgICBidWlsZGJvdF9vdXRwdXQgICAgc3RyZWFtIHRvIHdoaWNoIG91
dHB1dCBpbnRlbmRlZCB0byBiZSByZWFkIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoZSBidWlsZGJvdHMgKGFuZCBodW1hbnMpIHNob3VsZCBiZSB3cml0dGVuCi0gICAgICAgICAg
bG9nZ2VyICAgICAgICAgICAgIG9wdGlvbmFsIGxvZ2dlciB0byBpbnRlZ3JhdGUgaW50byB0aGUg
c3RyZWFtLgorICAgICAgICAgIGNvbmZpZ3VyZV9sb2dnaWduICBXaGV0aGVyIGEgbG9nZ2luZyBo
YW5kbGVyIHNob3VsZCBiZSByZWdpc3RlcmVkCisKICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYu
X3BvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCisgICAgICAgIHNl
bGYuX3N0cmVhbSA9IHJlZ3VsYXJfb3V0cHV0CiAgICAgICAgIHNlbGYuX2J1aWxkYm90X3N0cmVh
bSA9IGJ1aWxkYm90X291dHB1dAotICAgICAgICBzZWxmLl9tZXRlciA9IE1ldGVyZWRTdHJlYW0o
cmVndWxhcl9vdXRwdXQsIG9wdGlvbnMudmVyYm9zZSwgbG9nZ2VyPWxvZ2dlcikKKyAgICAgICAg
c2VsZi5fbWV0ZXIgPSBOb25lCisKKyAgICAgICAgIyBUaGVzZSBhcmUgdXNlZCBmb3IgLS1wcmlu
dCBvbmUtbGluZS1wcm9ncmVzcworICAgICAgICBzZWxmLl9sYXN0X3JlbWFpbmluZyA9IE5vbmUK
KyAgICAgICAgc2VsZi5fbGFzdF91cGRhdGVfdGltZSA9IE5vbmUKKwogICAgICAgICBzZWxmLnN3
aXRjaGVzID0gcGFyc2VfcHJpbnRfb3B0aW9ucyhvcHRpb25zLnByaW50X29wdGlvbnMsIG9wdGlv
bnMudmVyYm9zZSkKIAorICAgICAgICBzZWxmLl9sb2dnaW5nX2hhbmRsZXIgPSBOb25lCisgICAg
ICAgIGlmIHNlbGYuX3N0cmVhbS5pc2F0dHkoKSBhbmQgbm90IG9wdGlvbnMudmVyYm9zZToKKyAg
ICAgICAgICAgIHNlbGYuX3VwZGF0ZV9pbnRlcnZhbF9zZWNvbmRzID0gRkFTVF9VUERBVEVTX1NF
Q09ORFMKKyAgICAgICAgICAgIHNlbGYuX21ldGVyID0gTWV0ZXJlZFN0cmVhbShzZWxmLl9zdHJl
YW0pCisgICAgICAgICAgICBpZiBjb25maWd1cmVfbG9nZ2luZzoKKyAgICAgICAgICAgICAgICBz
ZWxmLl9sb2dnaW5nX2hhbmRsZXIgPSBfY29uZmlndXJlX2xvZ2dpbmcoc2VsZi5fbWV0ZXIsIG9w
dGlvbnMudmVyYm9zZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX3VwZGF0ZV9p
bnRlcnZhbF9zZWNvbmRzID0gU0xPV19VUERBVEVTX1NFQ09ORFMKKyAgICAgICAgICAgIGlmIGNv
bmZpZ3VyZV9sb2dnaW5nOgorICAgICAgICAgICAgICAgIHNlbGYuX2xvZ2dpbmdfaGFuZGxlciA9
IF9jb25maWd1cmVfbG9nZ2luZyhzZWxmLl9zdHJlYW0sIG9wdGlvbnMudmVyYm9zZSkKKwogICAg
IGRlZiBjbGVhbnVwKHNlbGYpOgotICAgICAgICBzZWxmLl9tZXRlci5jbGVhbnVwKCkKKyAgICAg
ICAgIiIiUmVzdG9yZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gdG8gaXRzIGluaXRpYWwgc2V0dGlu
Z3MuIiIiCisgICAgICAgIGlmIHNlbGYuX2xvZ2dpbmdfaGFuZGxlcjoKKyAgICAgICAgICAgIF9y
ZXN0b3JlX2xvZ2dpbmcoc2VsZi5fbG9nZ2luZ19oYW5kbGVyKQorICAgICAgICAgICAgc2VsZi5f
bG9nZ2luZ19oYW5kbGVyID0gTm9uZQogCiAgICAgZGVmIF9fZGVsX18oc2VsZik6CiAgICAgICAg
IHNlbGYuY2xlYW51cCgpCkBAIC0zMDAsMTkgKzM1MCwyNyBAQCBjbGFzcyBQcmludGVyKG9iamVj
dCk6CiAgICAgICAgIGlmIHNlbGYuZGlzYWJsZWQoJ29uZS1saW5lLXByb2dyZXNzJyk6CiAgICAg
ICAgICAgICByZXR1cm4KIAotICAgICAgICBpZiByZXN1bHRfc3VtbWFyeS5yZW1haW5pbmcgPT0g
MDoKLSAgICAgICAgICAgIHNlbGYuX21ldGVyLndyaXRlX3VwZGF0ZSgnJykKKyAgICAgICAgbm93
ID0gdGltZS50aW1lKCkKKyAgICAgICAgaWYgc2VsZi5fbGFzdF91cGRhdGVfdGltZSBpcyBOb25l
OgorICAgICAgICAgICAgc2VsZi5fbGFzdF91cGRhdGVfdGltZSA9IG5vdworCisgICAgICAgIHRp
bWVfc2luY2VfbGFzdF91cGRhdGUgPSBub3cgLSBzZWxmLl9sYXN0X3VwZGF0ZV90aW1lCisgICAg
ICAgIGlmIHRpbWVfc2luY2VfbGFzdF91cGRhdGUgPD0gc2VsZi5fdXBkYXRlX2ludGVydmFsX3Nl
Y29uZHM6CiAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICBzZWxmLl9sYXN0X3VwZGF0ZV90
aW1lID0gbm93CisKICAgICAgICAgcGVyY2VudF9jb21wbGV0ZSA9IDEwMCAqIChyZXN1bHRfc3Vt
bWFyeS5leHBlY3RlZCArCiAgICAgICAgICAgICByZXN1bHRfc3VtbWFyeS51bmV4cGVjdGVkKSAv
IHJlc3VsdF9zdW1tYXJ5LnRvdGFsCiAgICAgICAgIGFjdGlvbiA9ICJUZXN0aW5nIgogICAgICAg
ICBpZiByZXRyeWluZzoKICAgICAgICAgICAgIGFjdGlvbiA9ICJSZXRyeWluZyIKKyAgICAgICAg
c2VsZi5fdXBkYXRlKCIlcyAoJWQlJSk6ICVkIHJhbiBhcyBleHBlY3RlZCwgJWQgZGlkbid0LCAl
ZCBsZWZ0IiAlCisgICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLCBwZXJjZW50X2NvbXBsZXRl
LCByZXN1bHRfc3VtbWFyeS5leHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICByZXN1bHRf
c3VtbWFyeS51bmV4cGVjdGVkLCByZXN1bHRfc3VtbWFyeS5yZW1haW5pbmcpKQogCi0gICAgICAg
IHNlbGYuX21ldGVyLndyaXRlX3Rocm90dGxlZF91cGRhdGUoIiVzICglZCUlKTogJWQgcmFuIGFz
IGV4cGVjdGVkLCAlZCBkaWRuJ3QsICVkIGxlZnQiICUKLSAgICAgICAgICAgIChhY3Rpb24sIHBl
cmNlbnRfY29tcGxldGUsIHJlc3VsdF9zdW1tYXJ5LmV4cGVjdGVkLAotICAgICAgICAgICAgIHJl
c3VsdF9zdW1tYXJ5LnVuZXhwZWN0ZWQsIHJlc3VsdF9zdW1tYXJ5LnJlbWFpbmluZykpCisgICAg
ICAgIGlmIHJlc3VsdF9zdW1tYXJ5LnJlbWFpbmluZyA9PSAwOgorICAgICAgICAgICAgc2VsZi5f
dXBkYXRlKCcnKQogCiAgICAgZGVmIHByaW50X3VuZXhwZWN0ZWRfcmVzdWx0cyhzZWxmLCB1bmV4
cGVjdGVkX3Jlc3VsdHMpOgogICAgICAgICAiIiJQcmludHMgYSBsaXN0IG9mIHRoZSB1bmV4cGVj
dGVkIHJlc3VsdHMgdG8gdGhlIGJ1aWxkYm90IHN0cmVhbS4iIiIKQEAgLTQwMCw3ICs0NTgsNyBA
QCBjbGFzcyBQcmludGVyKG9iamVjdCk6CiAgICAgZGVmIHByaW50X3VwZGF0ZShzZWxmLCBtc2cp
OgogICAgICAgICBpZiBzZWxmLmRpc2FibGVkKCd1cGRhdGVzJyk6CiAgICAgICAgICAgICByZXR1
cm4KLSAgICAgICAgc2VsZi5fbWV0ZXIud3JpdGVfdXBkYXRlKG1zZykKKyAgICAgICAgc2VsZi5f
dXBkYXRlKG1zZykKIAogICAgIGRlZiB3cml0ZShzZWxmLCBtc2csIG9wdGlvbj0ibWlzYyIpOgog
ICAgICAgICBpZiBzZWxmLmRpc2FibGVkKG9wdGlvbik6CkBAIC00MDgsNCArNDY2LDEwIEBAIGNs
YXNzIFByaW50ZXIob2JqZWN0KToKICAgICAgICAgc2VsZi5fd3JpdGUobXNnKQogCiAgICAgZGVm
IF93cml0ZShzZWxmLCBtc2cpOgotICAgICAgICBzZWxmLl9tZXRlci53cml0ZWxuKG1zZykKKyAg
ICAgICAgX2xvZy5pbmZvKG1zZykKKworICAgIGRlZiBfdXBkYXRlKHNlbGYsIG1zZyk6CisgICAg
ICAgIGlmIHNlbGYuX21ldGVyOgorICAgICAgICAgICAgc2VsZi5fbWV0ZXIudXBkYXRlKG1zZykK
KyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX3dyaXRlKG1zZykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nX3VuaXR0
ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRp
bmdfdW5pdHRlc3QucHkKaW5kZXggODc3N2ZkOGQ2ZTMyMmJhNmRlMjM1N2M0NDRjODhlZTY4NjFk
ZDMzYi4uNjg5OWQyYzVkNGNkYjA0NTI3MDljZDRkZjBlZDk2OTFmYzViYWY3ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3MvcHJpbnRpbmdfdW5p
dHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvdmlld3Mv
cHJpbnRpbmdfdW5pdHRlc3QucHkKQEAgLTEsNSArMSw1IEBACiAjIS91c3IvYmluL3B5dGhvbgot
IyBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMgQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjCiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0yOSw2ICsyOSw3IEBACiAKICIi
IlVuaXQgdGVzdHMgZm9yIHByaW50aW5nLnB5LiIiIgogCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0
IG9wdHBhcnNlCiBpbXBvcnQgU3RyaW5nSU8KIGltcG9ydCB0aW1lCkBAIC01Myw2ICs1NCwzNSBA
QCBkZWYgZ2V0X29wdGlvbnMoYXJncyk6CiAKIAogY2xhc3MgVGVzdFV0aWxpdHlGdW5jdGlvbnMo
dW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBhc3NlcnRFbXB0eShzZWxmLCBzdHJlYW0pOgor
ICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHN0cmVhbS5nZXR2YWx1ZSgpKQorCisgICAgZGVmIGFz
c2VydE5vdEVtcHR5KHNlbGYsIHN0cmVhbSk6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJl
YW0uZ2V0dmFsdWUoKSkKKworICAgIGRlZiBhc3NlcnRXcml0dGVuKHNlbGYsIHN0cmVhbSwgY29u
dGVudHMpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzdHJlYW0uYnVmbGlzdCwgY29udGVu
dHMpCisKKyAgICBkZWYgdGVzdF9jb25maWd1cmVfbG9nZ2luZyhzZWxmKToKKyAgICAgICAgb3B0
aW9ucywgYXJncyA9IGdldF9vcHRpb25zKFtdKQorICAgICAgICBzdHJlYW0gPSBTdHJpbmdJTy5T
dHJpbmdJTygpCisgICAgICAgIGhhbmRsZXIgPSBwcmludGluZy5fY29uZmlndXJlX2xvZ2dpbmco
c3RyZWFtLCBvcHRpb25zLnZlcmJvc2UpCisgICAgICAgIGxvZ2dpbmcuaW5mbygidGhpcyBzaG91
bGQgYmUgbG9nZ2VkIikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShzdHJlYW0pCisKKyAg
ICAgICAgc3RyZWFtID0gU3RyaW5nSU8uU3RyaW5nSU8oKQorICAgICAgICBsb2dnaW5nLmRlYnVn
KCJ0aGlzIHNob3VsZCBub3QgYmUgbG9nZ2VkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShz
dHJlYW0pCisKKyAgICAgICAgcHJpbnRpbmcuX3Jlc3RvcmVfbG9nZ2luZyhoYW5kbGVyKQorCisg
ICAgICAgIHN0cmVhbSA9IFN0cmluZ0lPLlN0cmluZ0lPKCkKKyAgICAgICAgb3B0aW9ucywgYXJn
cyA9IGdldF9vcHRpb25zKFsnLS12ZXJib3NlJ10pCisgICAgICAgIGhhbmRsZXIgPSBwcmludGlu
Zy5fY29uZmlndXJlX2xvZ2dpbmcoc3RyZWFtLCBvcHRpb25zLnZlcmJvc2UpCisgICAgICAgIGxv
Z2dpbmcuZGVidWcoInRoaXMgc2hvdWxkIGJlIGxvZ2dlZCIpCisgICAgICAgIHNlbGYuYXNzZXJ0
Tm90RW1wdHkoc3RyZWFtKQorICAgICAgICBwcmludGluZy5fcmVzdG9yZV9sb2dnaW5nKGhhbmRs
ZXIpCisKICAgICBkZWYgdGVzdF9wcmludF9vcHRpb25zKHNlbGYpOgogICAgICAgICBvcHRpb25z
LCBhcmdzID0gZ2V0X29wdGlvbnMoW10pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcHRpb25z
IGlzIG5vdCBOb25lKQpAQCAtMTE0LDcgKzE0NCw4IEBAIGNsYXNzICBUZXN0cHJpbnRlcih1bml0
dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHJlZ3VsYXJfb3V0cHV0ID0gU3RyaW5nSU8uU3RyaW5n
SU8oKQogICAgICAgICByZWd1bGFyX291dHB1dC5pc2F0dHkgPSBsYW1iZGE6IHR0eQogICAgICAg
ICBidWlsZGJvdF9vdXRwdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygpCi0gICAgICAgIHByaW50ZXIg
PSBwcmludGluZy5QcmludGVyKHNlbGYuX3BvcnQsIG9wdGlvbnMsIHJlZ3VsYXJfb3V0cHV0LCBi
dWlsZGJvdF9vdXRwdXQpCisgICAgICAgIHByaW50ZXIgPSBwcmludGluZy5QcmludGVyKHNlbGYu
X3BvcnQsIG9wdGlvbnMsIHJlZ3VsYXJfb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBidWlsZGJvdF9vdXRwdXQsIGNvbmZpZ3VyZV9sb2dnaW5nPVRydWUpCiAgICAg
ICAgIHJldHVybiBwcmludGVyLCByZWd1bGFyX291dHB1dCwgYnVpbGRib3Rfb3V0cHV0CiAKICAg
ICBkZWYgZ2V0X3Jlc3VsdChzZWxmLCB0ZXN0X25hbWUsIHJlc3VsdF90eXBlPXRlc3RfZXhwZWN0
YXRpb25zLlBBU1MsIHJ1bl90aW1lPTApOgpAQCAtMzE5LDcgKzM1MCw3IEBAIGNsYXNzICBUZXN0
cHJpbnRlcih1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICAgICAgICdmYWlsdXJlcy9l
eHBlY3RlZC9jcmFzaC5odG1sJ10KICAgICAgICAgcGF0aHMsIHJzLCBleHAgPSBzZWxmLmdldF9y
ZXN1bHRfc3VtbWFyeSh0ZXN0cywgZXhwZWN0YXRpb25zKQogCi0gICAgICAgICMgRmlyc3QsIHRl
c3QgdGhhdCB3ZSBwcmludCBub3RoaW5nIHdoZW4gd2Ugc2hvdWxkbid0IHByaW50IGFueXRoaW5n
LgorICAgICAgICAjIEZpcnN0LCB0ZXN0IHRoYXQgd2UgcHJpbnQgbm90aGluZy4KICAgICAgICAg
cHJpbnRlci5wcmludF9wcm9ncmVzcyhycywgRmFsc2UsIHBhdGhzKQogICAgICAgICBzZWxmLmFz
c2VydEVtcHR5KG91dCkKICAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCkBAIC0zMjgsMjgg
KzM1OSw1NSBAQCBjbGFzcyAgVGVzdHByaW50ZXIodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAg
ICBzZWxmLmFzc2VydEVtcHR5KG91dCkKICAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCiAK
LSAgICAgICAgIyBOb3cgdGVzdCB0aGF0IHdlIGRvIHByaW50IHRoaW5ncy4KLSAgICAgICAgcHJp
bnRlciwgZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICdvbmUtbGluZS1w
cm9ncmVzcyddKQotICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNzKHJzLCBGYWxzZSwgcGF0
aHMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQotICAgICAgICBzZWxmLmFzc2VydE5v
dEVtcHR5KGVycikKLQotICAgICAgICBwcmludGVyLCBlcnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50
ZXIoWyctLXByaW50JywgJ29uZS1saW5lLXByb2dyZXNzJ10pCi0gICAgICAgIHByaW50ZXIucHJp
bnRfcHJvZ3Jlc3MocnMsIFRydWUsIHBhdGhzKQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5KG91
dCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShlcnIpCi0KLSAgICAgICAgcHJpbnRlciwg
ZXJyLCBvdXQgPSBzZWxmLmdldF9wcmludGVyKFsnLS1wcmludCcsICdvbmUtbGluZS1wcm9ncmVz
cyddKQotICAgICAgICBycy5yZW1haW5pbmcgPSAwCi0gICAgICAgIHByaW50ZXIucHJpbnRfcHJv
Z3Jlc3MocnMsIEZhbHNlLCBwYXRocykKLSAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHkoZXJyKQotCi0gICAgICAgIHByaW50ZXIucHJpbnRf
cHJvZ3Jlc3MocnMsIFRydWUsIHBhdGhzKQotICAgICAgICBzZWxmLmFzc2VydEVtcHR5KG91dCkK
LSAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShlcnIpCi0KLQorICAgICAgICBzZWxmLnRpbWVz
ID0gWzEsIDIsIDEyLCAxMywgMTQsIDIzLCAzM10KKworICAgICAgICBkZWYgbW9ja190aW1lKCk6
CisgICAgICAgICAgICByZXR1cm4gc2VsZi50aW1lcy5wb3AoMCkKKworICAgICAgICBvcmlnX3Rp
bWUgPSB0aW1lLnRpbWUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGltZS50aW1lID0gbW9j
a190aW1lCisKKyAgICAgICAgICAgICMgVGVzdCBwcmludGluZyBwcm9ncmVzcyB1cGRhdGVzIHRv
IGEgZmlsZS4KKyAgICAgICAgICAgIHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRl
cihbJy0tcHJpbnQnLCAnb25lLWxpbmUtcHJvZ3Jlc3MnXSkKKyAgICAgICAgICAgIHByaW50ZXIu
cHJpbnRfcHJvZ3Jlc3MocnMsIEZhbHNlLCBwYXRocykKKyAgICAgICAgICAgIHByaW50ZXIucHJp
bnRfcHJvZ3Jlc3MocnMsIEZhbHNlLCBwYXRocykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RW1w
dHkob3V0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShlcnIpCisKKyAgICAgICAgICAg
IHByaW50ZXIucHJpbnRfcHJvZ3Jlc3MocnMsIEZhbHNlLCBwYXRocykKKyAgICAgICAgICAgIHNl
bGYuYXNzZXJ0RW1wdHkob3V0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFbXB0eShlcnIp
CisKKyAgICAgICAgICAgIHNlbGYucmVzZXQoZXJyKQorICAgICAgICAgICAgc2VsZi5yZXNldChv
dXQpCisgICAgICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNzKHJzLCBUcnVlLCBwYXRocykK
KyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkob3V0KQorICAgICAgICAgICAgc2VsZi5hc3Nl
cnRFbXB0eShlcnIpCisKKyAgICAgICAgICAgIHByaW50ZXIucHJpbnRfcHJvZ3Jlc3MocnMsIFRy
dWUsIHBhdGhzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFbXB0eShvdXQpCisgICAgICAgICAg
ICBzZWxmLmFzc2VydE5vdEVtcHR5KGVycikKKworICAgICAgICAgICAgIyBOb3cgcmVjb25maWd1
cmUgdGhlIHByaW50ZXIgdG8gdGVzdCBwcmludGluZyB0byBhIFRUWSBpbnN0ZWFkIG9mIGEgZmls
ZS4KKyAgICAgICAgICAgIHNlbGYudGltZXMgPSBbMSwgMS4wMSwgMiwgM10KKyAgICAgICAgICAg
IHByaW50ZXIsIGVyciwgb3V0ID0gc2VsZi5nZXRfcHJpbnRlcihbJy0tcHJpbnQnLCAnb25lLWxp
bmUtcHJvZ3Jlc3MnXSwgdHR5PVRydWUpCisgICAgICAgICAgICBwcmludGVyLnByaW50X3Byb2dy
ZXNzKHJzLCBGYWxzZSwgcGF0aHMpCisgICAgICAgICAgICBwcmludGVyLnByaW50X3Byb2dyZXNz
KHJzLCBGYWxzZSwgcGF0aHMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVtcHR5KG91dCkKKyAg
ICAgICAgICAgIHNlbGYuYXNzZXJ0RW1wdHkoZXJyKQorCisgICAgICAgICAgICBwcmludGVyLnBy
aW50X3Byb2dyZXNzKHJzLCBGYWxzZSwgcGF0aHMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVt
cHR5KG91dCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHkoZXJyKQorCisgICAgICAg
ICAgICBzZWxmLnJlc2V0KGVycikKKyAgICAgICAgICAgIHNlbGYucmVzZXQob3V0KQorICAgICAg
ICAgICAgcHJpbnRlci5wcmludF9wcm9ncmVzcyhycywgVHJ1ZSwgcGF0aHMpCisgICAgICAgICAg
ICBzZWxmLmFzc2VydEVtcHR5KG91dCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RW1wdHko
ZXJyKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgdGltZS50aW1lID0gb3JpZ190aW1l
CiAKICAgICBkZWYgdGVzdF93cml0ZV9ub3RoaW5nKHNlbGYpOgogICAgICAgICBwcmludGVyLCBl
cnIsIG91dCA9IHNlbGYuZ2V0X3ByaW50ZXIoWyctLXByaW50JywgJ25vdGhpbmcnXSkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3Rz
cnVubmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHkKaW5kZXggZGIxNWViMzhhYjdmMTk4NTBhZTZmODk5NDI1ZjMxZWFhNzVj
NGQ4MS4uY2UxYzdlOTAzODUzMjRjYjU2ZGRkODYwOTFmNDgxZjYzNzYxNmQ5ZiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5u
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHkKQEAgLTYyLDcgKzYyLDcgQEAgY2xhc3MgUGVyZlRlc3RzUnVubmVyKG9i
amVjdCk6CiAgICAgICAgICAgICBzZWxmLl9ob3N0ID0gSG9zdCgpCiAgICAgICAgICAgICBzZWxm
Ll9wb3J0ID0gc2VsZi5faG9zdC5wb3J0X2ZhY3RvcnkuZ2V0KHNlbGYuX29wdGlvbnMucGxhdGZv
cm0sIHNlbGYuX29wdGlvbnMpCiAgICAgICAgIHNlbGYuX2hvc3QuX2luaXRpYWxpemVfc2NtKCkK
LSAgICAgICAgc2VsZi5fcHJpbnRlciA9IHByaW50aW5nLlByaW50ZXIoc2VsZi5fcG9ydCwgc2Vs
Zi5fb3B0aW9ucywgcmVndWxhcl9vdXRwdXQsIGJ1aWxkYm90X291dHB1dCkKKyAgICAgICAgc2Vs
Zi5fcHJpbnRlciA9IHByaW50aW5nLlByaW50ZXIoc2VsZi5fcG9ydCwgc2VsZi5fb3B0aW9ucywg
cmVndWxhcl9vdXRwdXQsIGJ1aWxkYm90X291dHB1dCwgY29uZmlndXJlX2xvZ2dpbmc9RmFsc2Up
CiAgICAgICAgIHNlbGYuX3dlYmtpdF9iYXNlX2Rpcl9sZW4gPSBsZW4oc2VsZi5fcG9ydC53ZWJr
aXRfYmFzZSgpKQogICAgICAgICBzZWxmLl9iYXNlX3BhdGggPSBzZWxmLl9wb3J0LnBlcmZfdGVz
dHNfZGlyKCkKICAgICAgICAgc2VsZi5fcmVzdWx0cyA9IHt9CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0dGVz
dC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3Rz
cnVubmVyX3VuaXR0ZXN0LnB5CmluZGV4IGM1ODkxZDQwMTM2MWZlYzkxYzcxMDM1MDcyMTllY2E4
MWQxMDEyZDcuLjFhMjg3YTdjZjZhZGEzY2E4YjliYWI2NDY0Mjg3NDhiMDI5NGU0ZTYgMTAwNzU1
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3Rz
cnVubmVyX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFu
Y2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5CkBAIC0xODIsOCArMTgyLDcgQEAg
bWF4IDExMjAKICAgICAgICAgICAgICAgICBUZXN0RHJpdmVyV2l0aFN0YXJ0Q291bnQuc3RhcnRf
Y291bnQgKz0gMQogCiAgICAgICAgIGJ1aWxkYm90X291dHB1dCA9IFN0cmluZ0lPLlN0cmluZ0lP
KCkKLSAgICAgICAgcmVndWxhcl9vdXRwdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygpCi0gICAgICAg
IHJ1bm5lciA9IHNlbGYuY3JlYXRlX3J1bm5lcihidWlsZGJvdF9vdXRwdXQsIGFyZ3M9WyItLXBh
dXNlLWJlZm9yZS10ZXN0aW5nIl0sIHJlZ3VsYXJfb3V0cHV0PXJlZ3VsYXJfb3V0cHV0LCBkcml2
ZXJfY2xhc3M9VGVzdERyaXZlcldpdGhTdGFydENvdW50KQorICAgICAgICBydW5uZXIgPSBzZWxm
LmNyZWF0ZV9ydW5uZXIoYnVpbGRib3Rfb3V0cHV0LCBhcmdzPVsiLS1wYXVzZS1iZWZvcmUtdGVz
dGluZyJdLCBkcml2ZXJfY2xhc3M9VGVzdERyaXZlcldpdGhTdGFydENvdW50KQogCiAgICAgICAg
IGRpcm5hbWUgPSBydW5uZXIuX2Jhc2VfcGF0aCArICcvaW5zcGVjdG9yLycKICAgICAgICAgdGVz
dHMgPSBbZGlybmFtZSArICdwYXNzLmh0bWwnXQpAQCAtMTk0LDkgKzE5Myw5IEBAIG1heCAxMTIw
CiAgICAgICAgICAgICB1bmV4cGVjdGVkX3Jlc3VsdF9jb3VudCA9IHJ1bm5lci5fcnVuX3Rlc3Rz
X3NldCh0ZXN0cywgcnVubmVyLl9wb3J0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChU
ZXN0RHJpdmVyV2l0aFN0YXJ0Q291bnQuc3RhcnRfY291bnQsIDEpCiAgICAgICAgIGZpbmFsbHk6
Ci0gICAgICAgICAgICBfLCBzdGRlcnIsIF8gPSBvdXRwdXQucmVzdG9yZV9vdXRwdXQoKQorICAg
ICAgICAgICAgXywgc3RkZXJyLCBsb2dzID0gb3V0cHV0LnJlc3RvcmVfb3V0cHV0KCkKICAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RkZXJyLCAiUmVhZHkgdG8gcnVuIHRlc3Q/XG4iKQot
ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCJSdW5uaW5nIGluc3BlY3Rvci9wYXNzLmh0bWwg
KDEgb2YgMSkiIGluIHJlZ3VsYXJfb3V0cHV0LmdldHZhbHVlKCkpCisgICAgICAgICAgICBzZWxm
LmFzc2VydFRydWUoIlJ1bm5pbmcgaW5zcGVjdG9yL3Bhc3MuaHRtbCAoMSBvZiAxKSIgaW4gbG9n
cykKIAogICAgIGRlZiB0ZXN0X3J1bl90ZXN0X3NldF9mb3JfcGFyc2VyX3Rlc3RzKHNlbGYpOgog
ICAgICAgICBidWlsZGJvdF9vdXRwdXQgPSBTdHJpbmdJTy5TdHJpbmdJTygpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>