<?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>166938</bug_id>
          
          <creation_ts>2017-01-11 12:09:38 -0800</creation_ts>
          <short_desc>Web Inspector: gradient editor should allow switching the units of the &apos;angle&apos; parameter</short_desc>
          <delta_ts>2017-02-07 14:33:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=166937</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1265859</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-01-11 12:09:38 -0800</bug_when>
    <thetext>Supported units include degrees, grads, rads, and turn o_O

https://developer.mozilla.org/en-US/docs/Web/CSS/angle</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1265865</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-11 12:16:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/29974340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266043</commentid>
    <comment_count>2</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-01-11 19:46:21 -0800</bug_when>
    <thetext>It looks like both the Gradient model object and the RegExp to match CSS gradient strings only support using &quot;deg&quot; as the units for angles.  Both will have to be updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271339</commentid>
    <comment_count>3</comment_count>
      <attachid>300127</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-01-30 11:40:34 -0800</bug_when>
    <thetext>Created attachment 300127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271340</commentid>
    <comment_count>4</comment_count>
      <attachid>300128</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-01-30 11:40:58 -0800</bug_when>
    <thetext>Created attachment 300128
[Image] After Patch is applied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272503</commentid>
    <comment_count>5</comment_count>
      <attachid>300127</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-02-02 10:06:46 -0800</bug_when>
    <thetext>Comment on attachment 300127
Patch

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

Code changes look good (you did very neat things!) but needs a basic test as noted below.

&gt; Source/WebInspectorUI/UserInterface/Models/Gradient.js:179
&gt; +        if (components[0].length === 1) {

Since we are doing our own parsing in model code, I would expect that we have some basic test cases. Can you make a model test for Gradient that parses a few good and bad values for each angle unit of measure?

&gt; Source/WebInspectorUI/UserInterface/Models/Gradient.js:259
&gt; +        if (deg === 0)

I am surprised there are no tests for toString() either. Can you do something basic to test this?

&gt; Source/WebInspectorUI/UserInterface/Views/GradientEditor.js:102
&gt; +        this._angleUnitsConfiguration = new Map(angleUnitsData.map(({name, min, max, step}) =&gt; {

Wow! This took a bit of thinking, but I think i like it as a pattern for fixed configurations (as long as the pattern is consistently used). It&apos;s similar to the Java way of creating anonymous class instances for enums.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272824</commentid>
    <comment_count>6</comment_count>
      <attachid>300505</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-02 23:33:17 -0800</bug_when>
    <thetext>Created attachment 300505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274085</commentid>
    <comment_count>7</comment_count>
      <attachid>300505</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-02-07 11:47:39 -0800</bug_when>
    <thetext>Comment on attachment 300505
Patch

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

r=me, great work!

&gt; Source/WebInspectorUI/UserInterface/Models/Gradient.js:318
&gt; +            WebInspector.reportInternalError(&quot;Unknown angle units&quot;);

Nit: Please include the unknown value in the error message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274114</commentid>
    <comment_count>8</comment_count>
      <attachid>300837</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-07 12:48:50 -0800</bug_when>
    <thetext>Created attachment 300837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274117</commentid>
    <comment_count>9</comment_count>
      <attachid>300837</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-07 12:50:54 -0800</bug_when>
    <thetext>Comment on attachment 300837
Patch

Rejecting attachment 300837 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 300837, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in LayoutTests/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/3021224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274156</commentid>
    <comment_count>10</comment_count>
      <attachid>300850</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-02-07 14:06:54 -0800</bug_when>
    <thetext>Created attachment 300850
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274169</commentid>
    <comment_count>11</comment_count>
      <attachid>300850</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-07 14:33:19 -0800</bug_when>
    <thetext>Comment on attachment 300850
Patch

Clearing flags on attachment: 300850

Committed r211840: &lt;http://trac.webkit.org/changeset/211840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274170</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-07 14:33:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300127</attachid>
            <date>2017-01-30 11:40:34 -0800</date>
            <delta_ts>2017-02-02 23:33:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166938-20170130113825.patch</filename>
            <type>text/plain</type>
            <size>14090</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGEwNTU1ZTYxYjFjMGU4NWU0ZDE5NGFlYmU4ZmZj
ZTVkZTZmNzRkMDEuLjYxYTk5NTkyYjE2Yjc0MzE0ZjY1YmUzODVjNzQ2ZjI5OWZlYWFkZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTAxLTMwICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGdyYWRpZW50IGVkaXRvciBzaG91bGQgYWxsb3cgc3dpdGNoaW5nIHRoZSB1bml0cyBv
ZiB0aGUgJ2FuZ2xlJyBwYXJhbWV0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NjkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LmZyb21Db21wb25lbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5M
aW5lYXJHcmFkaWVudC5wcm90b3R5cGUuc2V0IGFuZ2xlVmFsdWUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5nZXQgYW5nbGVWYWx1ZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQucHJvdG90eXBlLnNldCBhbmdsZVVuaXRzKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUuZ2V0IGFuZ2xl
VW5pdHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5j
b3B5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUudG9T
dHJpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5f
YW5nbGVWYWx1ZUZvclVuaXRzKToKKyAgICAgICAgUmV3b3JrIHBhcnQgb2YgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50IHRvIHN1cHBvcnQgdW5pdHMgb3RoZXIgdGhhbiAiZGVnIi4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuY3NzOgorICAgICAgICAo
LmdyYWRpZW50LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9InJhbmdlIl0p
OgorICAgICAgICAoLmdyYWRpZW50LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5
cGU9Im51bWJlciJdKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRF
ZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yLnByb3RvdHlwZS5zZXQgZ3JhZGllbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yLnByb3RvdHlwZS5fZ3JhZGllbnRU
eXBlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJvdG90
eXBlLl9hbmdsZVZhbHVlQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRF
ZGl0b3IucHJvdG90eXBlLl9hbmdsZVVuaXRzQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuR3JhZGllbnRFZGl0b3IucHJvdG90eXBlLl9hbmdsZUNoYW5nZWQpOiBEZWxldGVkLgorICAg
ICAgICBBZGQgPHNlbGVjdD4gZm9yIGVhY2ggdW5pdCB0eXBlIHRoYXQgd2lsbCBjaGFuZ2UgdGhl
IHVuaXRzIG9mIHRoZSBncmFkaWVudC4KKwogMjAxNy0wMS0yOCAgTWF0dCBCYWtlciAgPG1hdHRi
YWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmVlZCBzb21lIGxpbWl0
IG9uIEFzeW5jIENhbGwgU3RhY2tzIGZvciBhc3luYyBsb29wcyAockFGIGxvb3BzKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50
LmpzCmluZGV4IGFlMjNjYjU3ODFiNzVjODM1YzhkNmEyZmNmOTAxNTVlMzU5NjM0ZTkuLmZiMGQ3
NTFiNDY4OGY5MjUxZTE4M2VjMGZmYTI0OWFkYmI0ZDFmOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9HcmFkaWVudC5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanMKQEAgLTE2
NywxNyArMTY3LDIzIEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExpbmVh
ckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50CiAgICAgY29uc3RydWN0b3Io
YW5nbGUsIHN0b3BzKQogICAgIHsKICAgICAgICAgc3VwZXIoV2ViSW5zcGVjdG9yLkdyYWRpZW50
LlR5cGVzLkxpbmVhciwgc3RvcHMpOwotICAgICAgICB0aGlzLmFuZ2xlID0gYW5nbGU7CisgICAg
ICAgIHRoaXMuX2FuZ2xlID0gYW5nbGU7CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKICAgICBz
dGF0aWMgZnJvbUNvbXBvbmVudHMoY29tcG9uZW50cykKICAgICB7Ci0gICAgICAgIHZhciBhbmds
ZSA9IDE4MDsKKyAgICAgICAgdmFyIGFuZ2xlID0ge3ZhbHVlOiAxODAsIHVuaXRzOiBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5ERUd9OworCisgICAgICAgIGlmIChjb21w
b25lbnRzWzBdLmxlbmd0aCA9PT0gMSkgeworICAgICAgICAgICAgbGV0IG1hdGNoID0gY29tcG9u
ZW50c1swXVswXS5tYXRjaCgvKFstXGRcLl0rKShcdyspLyk7CisgICAgICAgICAgICBpZiAoIW1h
dGNoIHx8ICFPYmplY3QudmFsdWVzKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVu
aXRzKS5pbmNsdWRlcyhtYXRjaFsyXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisK
KyAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7CisgICAgICAg
ICAgICBhbmdsZS51bml0cyA9IG1hdGNoWzJdOwogCi0gICAgICAgIGlmIChjb21wb25lbnRzWzBd
Lmxlbmd0aCA9PT0gMSAmJiBjb21wb25lbnRzWzBdWzBdLnN1YnN0cigtMykgPT09ICJkZWciKSB7
Ci0gICAgICAgICAgICBhbmdsZSA9IChwYXJzZUZsb2F0KGNvbXBvbmVudHNbMF1bMF0pICUgMzYw
ICsgMzYwKSAlIDM2MDsKICAgICAgICAgICAgIGNvbXBvbmVudHMuc2hpZnQoKTsKICAgICAgICAg
fSBlbHNlIGlmIChjb21wb25lbnRzWzBdWzBdID09PSAidG8iKSB7CiAgICAgICAgICAgICBjb21w
b25lbnRzWzBdLnNoaWZ0KCk7CkBAIC0yMDksNiArMjE1LDcgQEAgV2ViSW5zcGVjdG9yLkxpbmVh
ckdyYWRpZW50ID0gY2xhc3MgTGluZWFyR3JhZGllbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuR3Jh
ZGllbnQKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7
CiAgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGNvbXBvbmVudHMuc2hpZnQoKTsKICAgICAg
ICAgfSBlbHNlIGlmIChjb21wb25lbnRzWzBdLmxlbmd0aCAhPT0gMSAmJiAhV2ViSW5zcGVjdG9y
LkNvbG9yLmZyb21TdHJpbmcoY29tcG9uZW50c1swXVswXSkpIHsKICAgICAgICAgICAgIC8vIElm
IHRoZSBmaXJzdCBjb21wb25lbnQgaXMgbm90IGEgY29sb3IsIHRoZW4gd2UncmUgZGVhbGluZyB3
aXRoIGEKQEAgLTIyNSwzMSArMjMyLDQ2IEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9
IGNsYXNzIExpbmVhckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50CiAKICAg
ICAvLyBQdWJsaWMKIAorICAgIHNldCBhbmdsZVZhbHVlKHZhbHVlKSB7IHRoaXMuX2FuZ2xlLnZh
bHVlID0gdmFsdWU7IH0KKyAgICBnZXQgYW5nbGVWYWx1ZSgpIHsgcmV0dXJuIHRoaXMuX2FuZ2xl
LnZhbHVlOyB9CisKKyAgICBzZXQgYW5nbGVVbml0cyh1bml0cykKKyAgICB7CisgICAgICAgIGlm
ICh1bml0cyA9PT0gdGhpcy5fYW5nbGUudW5pdHMpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5fYW5nbGUudmFsdWUgPSB0aGlzLl9hbmdsZVZhbHVlRm9yVW5pdHModW5pdHMp
OworICAgICAgICB0aGlzLl9hbmdsZS51bml0cyA9IHVuaXRzOworICAgIH0KKworICAgIGdldCBh
bmdsZVVuaXRzKCkgeyByZXR1cm4gdGhpcy5fYW5nbGUudW5pdHM7IH0KKwogICAgIGNvcHkoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQodGhp
cy5hbmdsZSwgdGhpcy5zdG9wcy5jb25jYXQoKSk7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5z
cGVjdG9yLkxpbmVhckdyYWRpZW50KHRoaXMuX2FuZ2xlLCB0aGlzLnN0b3BzLmNvbmNhdCgpKTsK
ICAgICB9CiAKICAgICB0b1N0cmluZygpCiAgICAgewotICAgICAgICB2YXIgc3RyID0gIiI7Cisg
ICAgICAgIGxldCBzdHIgPSAiIjsKIAotICAgICAgICBpZiAodGhpcy5hbmdsZSA9PT0gMCkKKyAg
ICAgICAgbGV0IGRlZyA9IHRoaXMuX2FuZ2xlVmFsdWVGb3JVbml0cyhXZWJJbnNwZWN0b3IuTGlu
ZWFyR3JhZGllbnQuQW5nbGVVbml0cy5ERUcpOworICAgICAgICBpZiAoZGVnID09PSAwKQogICAg
ICAgICAgICAgc3RyICs9ICJ0byB0b3AiOwotICAgICAgICBlbHNlIGlmICh0aGlzLmFuZ2xlID09
PSA0NSkKKyAgICAgICAgZWxzZSBpZiAoZGVnID09PSA0NSkKICAgICAgICAgICAgIHN0ciArPSAi
dG8gdG9wIHJpZ2h0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gOTApCisgICAg
ICAgIGVsc2UgaWYgKGRlZyA9PT0gOTApCiAgICAgICAgICAgICBzdHIgKz0gInRvIHJpZ2h0IjsK
LSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMTM1KQorICAgICAgICBlbHNlIGlmIChk
ZWcgPT09IDEzNSkKICAgICAgICAgICAgIHN0ciArPSAidG8gYm90dG9tIHJpZ2h0IjsKLSAgICAg
ICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMjI1KQorICAgICAgICBlbHNlIGlmIChkZWcgPT09
IDIyNSkKICAgICAgICAgICAgIHN0ciArPSAidG8gYm90dG9tIGxlZnQiOwotICAgICAgICBlbHNl
IGlmICh0aGlzLmFuZ2xlID09PSAyNzApCisgICAgICAgIGVsc2UgaWYgKGRlZyA9PT0gMjcwKQog
ICAgICAgICAgICAgc3RyICs9ICJ0byBsZWZ0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmds
ZSA9PT0gMzE1KQorICAgICAgICBlbHNlIGlmIChkZWcgPT09IDMxNSkKICAgICAgICAgICAgIHN0
ciArPSAidG8gdG9wIGxlZnQiOwotICAgICAgICBlbHNlIGlmICh0aGlzLmFuZ2xlICE9PSAxODAp
Ci0gICAgICAgICAgICBzdHIgKz0gdGhpcy5hbmdsZSArICJkZWciOworICAgICAgICBlbHNlIGlm
IChkZWcgIT09IDE4MCkKKyAgICAgICAgICAgIHN0ciArPSB0aGlzLl9hbmdsZS52YWx1ZSArIHRo
aXMuX2FuZ2xlLnVuaXRzOwogCiAgICAgICAgIGlmIChzdHIgIT09ICIiKQogICAgICAgICAgICAg
c3RyICs9ICIsICI7CkBAIC0yNTgsNiArMjgwLDY3IEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFk
aWVudCA9IGNsYXNzIExpbmVhckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50
CiAKICAgICAgICAgcmV0dXJuICh0aGlzLnJlcGVhdHMgPyAicmVwZWF0aW5nLSIgOiAiIikgKyB0
aGlzLnR5cGUgKyAiKCIgKyBzdHIgKyAiKSI7CiAgICAgfQorCisgICAgLy8gUHJpdmF0ZQorCisg
ICAgX2FuZ2xlVmFsdWVGb3JVbml0cyh1bml0cykKKyAgICB7CisgICAgICAgIGlmICh1bml0cyA9
PT0gdGhpcy5fYW5nbGUudW5pdHMpCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fYW5nbGUudmFs
dWU7CisKKyAgICAgICAgbGV0IGRlZyA9IDA7CisKKyAgICAgICAgc3dpdGNoICh0aGlzLl9hbmds
ZS51bml0cykgeworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5Bbmds
ZVVuaXRzLkRFRzoKKyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xlLnZhbHVlOworICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQu
QW5nbGVVbml0cy5SQUQ6CisgICAgICAgICAgICBkZWcgPSB0aGlzLl9hbmdsZS52YWx1ZSAqIDE4
MCAvIE1hdGguUEk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQ6CisgICAgICAgICAgICBkZWcgPSB0
aGlzLl9hbmdsZS52YWx1ZSAvIDQwMCAqIDM2MDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuVFVSTjoKKyAg
ICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xlLnZhbHVlICogMzYwOworICAgICAgICAgICAgYnJl
YWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5yZXBvcnRJ
bnRlcm5hbEVycm9yKCJVbmtub3duIGFuZ2xlIHVuaXRzIik7CisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgfQorCisgICAgICAgIGxldCB2YWx1ZSA9IDA7CisKKyAgICAgICAgc3dpdGNo
ICh1bml0cykgeworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5Bbmds
ZVVuaXRzLkRFRzoKKyAgICAgICAgICAgIHZhbHVlID0gZGVnOworICAgICAgICAgICAgYnJlYWs7
CisKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5S
QUQ6CisgICAgICAgICAgICB2YWx1ZSA9IGRlZyAqIE1hdGguUEkgLyAxODA7CisgICAgICAgICAg
ICBicmVhazsKKworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5Bbmds
ZVVuaXRzLkdSQUQ6CisgICAgICAgICAgICB2YWx1ZSA9IGRlZyAvIDM2MCAqIDQwMDsKKyAgICAg
ICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50
LkFuZ2xlVW5pdHMuVFVSTjoKKyAgICAgICAgICAgIHZhbHVlID0gZGVnIC8gMzYwOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdmFsdWUubWF4RGVjaW1h
bHMoMik7CisgICAgfQorfTsKKworV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5p
dHMgPSB7CisgICAgREVHOiAiZGVnIiwKKyAgICBSQUQ6ICJyYWQiLAorICAgIEdSQUQ6ICJncmFk
IiwKKyAgICBUVVJOOiAidHVybiIsCiB9OwogCiBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQg
PSBjbGFzcyBSYWRpYWxHcmFkaWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5HcmFkaWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGll
bnRFZGl0b3IuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
R3JhZGllbnRFZGl0b3IuY3NzCmluZGV4IDYyZDYwNWY4MDhkYjU1NTk4ZGVkMThlNTZhNWRjY2Yy
MWI0NGMxMTYuLmI4ZGE2ZmUxZmUwZWNlN2M1MzQ2Nzk1OTQ5YjYwMzMzOTk2ZTA4MWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50
RWRpdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HcmFkaWVudEVkaXRvci5jc3MKQEAgLTg4LDEyICs4OCwxMyBAQAogfQogCiAuZ3JhZGllbnQt
ZWRpdG9yID4gLmdyYWRpZW50LWFuZ2xlID4gaW5wdXRbdHlwZT0icmFuZ2UiXSB7Ci0gICAgd2lk
dGg6IDEwMCU7CisgICAgZmxleC1ncm93OiAxOworICAgIHdpZHRoOiAwOwogICAgIG1hcmdpbjog
MCA0cHg7CiB9CiAKIC5ncmFkaWVudC1lZGl0b3IgPiAuZ3JhZGllbnQtYW5nbGUgPiBpbnB1dFt0
eXBlPSJudW1iZXIiXSB7Ci0gICAgd2lkdGg6IDYwcHg7CisgICAgd2lkdGg6IDM1cHg7CiAgICAg
bWFyZ2luLXJpZ2h0OiAycHg7CiAgICAgcGFkZGluZy1yaWdodDogNHB4OwogICAgIHRleHQtYWxp
Z246IHJpZ2h0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvR3JhZGllbnRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5qcwppbmRleCA1ZWFkMTU1NWRlODUzNGI4ZGEx
NjlhZDVlYjA1MDY5MGJjMzcwYWQwLi4yNzUxMjQyOTBmYjc2MWIyOTA2ODQ0MmIzYmQxYjM4YWVl
NWM3ODcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9HcmFkaWVudEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5qcwpAQCAtNzksMjEgKzc5LDMyIEBAIFdlYklu
c3BlY3Rvci5HcmFkaWVudEVkaXRvciA9IGNsYXNzIEdyYWRpZW50RWRpdG9yIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamVjdAogICAgICAgICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiZ3JhZGllbnQtYW5nbGUiKTsKICAgICAgICAgYW5nbGVDb250YWluZXJFbGVtZW50LmFw
cGVuZChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFuZ2xlIikpOwogCi0gICAgICAgIGxldCBib3Vu
ZEFuZ2xlQ2hhbmdlZCA9IHRoaXMuX2FuZ2xlQ2hhbmdlZC5iaW5kKHRoaXMpOworICAgICAgICBs
ZXQgYm91bmRBbmdsZVZhbHVlQ2hhbmdlZCA9IHRoaXMuX2FuZ2xlVmFsdWVDaGFuZ2VkLmJpbmQo
dGhpcyk7CiAKICAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50ID0gYW5nbGVDb250YWlu
ZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOwog
ICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudHlwZSA9ICJyYW5nZSI7Ci0gICAgICAg
IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5taW4gPSAwOwotICAgICAgICB0aGlzLl9hbmdsZVNs
aWRlckVsZW1lbnQubWF4ID0gMzYwOwotICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBib3VuZEFuZ2xlQ2hhbmdlZCk7CisgICAgICAgIHRo
aXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGJvdW5kQW5n
bGVWYWx1ZUNoYW5nZWQpOwogCiAgICAgICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50ID0gYW5n
bGVDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlu
cHV0IikpOwogICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC50eXBlID0gIm51bWJlciI7
Ci0gICAgICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50Lm1pbiA9IDA7Ci0gICAgICAgIHRoaXMu
X2FuZ2xlSW5wdXRFbGVtZW50Lm1heCA9IDM2MDsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVs
ZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBib3VuZEFuZ2xlQ2hhbmdlZCk7CisgICAg
ICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgYm91
bmRBbmdsZVZhbHVlQ2hhbmdlZCk7CiAKLSAgICAgICAgYW5nbGVDb250YWluZXJFbGVtZW50LmFw
cGVuZCgiZGVnIik7CisgICAgICAgIHRoaXMuX2FuZ2xlVW5pdHNTZWxlY3RFbGVtZW50ID0gYW5n
bGVDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNl
bGVjdCIpKTsKKyAgICAgICAgdGhpcy5fYW5nbGVVbml0c1NlbGVjdEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiY2hhbmdlIiwgdGhpcy5fYW5nbGVVbml0c0NoYW5nZWQuYmluZCh0aGlzKSk7CisK
KyAgICAgICAgY29uc3QgYW5nbGVVbml0c0RhdGEgPSBbCisgICAgICAgICAgICB7bmFtZTogV2Vi
SW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHLCBtaW46IDAsIG1heDogMzYw
LCBzdGVwOiAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGll
bnQuQW5nbGVVbml0cy5SQUQsIG1pbjogMCwgbWF4OiAyICogTWF0aC5QSSwgc3RlcDogMC4wMX0s
CisgICAgICAgICAgICB7bmFtZTogV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5p
dHMuR1JBRCwgbWluOiAwLCBtYXg6IDQwMCwgc3RlcDogMX0sCisgICAgICAgICAgICB7bmFtZTog
V2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuVFVSTiwgbWluOiAwLCBtYXg6
IDEsIHN0ZXA6IDAuMDF9CisgICAgICAgIF07CisKKyAgICAgICAgdGhpcy5fYW5nbGVVbml0c0Nv
bmZpZ3VyYXRpb24gPSBuZXcgTWFwKGFuZ2xlVW5pdHNEYXRhLm1hcCgoe25hbWUsIG1pbiwgbWF4
LCBzdGVwfSkgPT4geworICAgICAgICAgICAgbGV0IG9wdGlvbkVsZW1lbnQgPSB0aGlzLl9hbmds
ZVVuaXRzU2VsZWN0RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJv
cHRpb24iKSk7CisgICAgICAgICAgICBvcHRpb25FbGVtZW50LnZhbHVlID0gb3B0aW9uRWxlbWVu
dC50ZXh0Q29udGVudCA9IG5hbWU7CisKKyAgICAgICAgICAgIHJldHVybiBbbmFtZSwge2VsZW1l
bnQ6IG9wdGlvbkVsZW1lbnQsIG1pbiwgbWF4LCBzdGVwfV07CisgICAgICAgIH0pKTsKICAgICB9
CiAKICAgICBnZXQgZWxlbWVudCgpCkBAIC0xMTYsNyArMTI3LDggQEAgV2ViSW5zcGVjdG9yLkdy
YWRpZW50RWRpdG9yID0gY2xhc3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAgICAgICAgIHRoaXMuX2dyYWRpZW50U2xpZGVyLnN0b3BzID0gdGhpcy5fZ3JhZGll
bnQuc3RvcHM7CiAgICAgICAgIGlmIChpc0xpbmVhcikgewogICAgICAgICAgICAgdGhpcy5fZ3Jh
ZGllbnRUeXBlUGlja2VyLnZhbHVlID0gdGhpcy5fZ3JhZGllbnQucmVwZWF0cyA/ICJyZXBlYXRp
bmctbGluZWFyLWdyYWRpZW50IiA6ICJsaW5lYXItZ3JhZGllbnQiOwotICAgICAgICAgICAgdGhp
cy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFs
dWUgPSB0aGlzLl9ncmFkaWVudC5hbmdsZTsKKworICAgICAgICAgICAgdGhpcy5fYW5nbGVVbml0
c0NoYW5nZWQoKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICB0aGlzLl9ncmFkaWVudFR5
cGVQaWNrZXIudmFsdWUgPSB0aGlzLl9ncmFkaWVudC5yZXBlYXRzID8gInJlcGVhdGluZy1yYWRp
YWwtZ3JhZGllbnQiIDogInJhZGlhbC1ncmFkaWVudCI7CiAKQEAgLTE3NSw3ICsxODcsOCBAQCBX
ZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVudEVkaXRvciBleHRlbmRz
IFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgaWYgKCEodGhpcy5fZ3JhZGllbnQgaW5zdGFu
Y2VvZiBkZXNjcmlwdG9yLnR5cGUpKSB7CiAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvci50eXBl
ID09PSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpIHsKICAgICAgICAgICAgICAgICB0aGlz
Ll9ncmFkaWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQoMTgwLCB0aGlzLl9n
cmFkaWVudC5zdG9wcyk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50
LnZhbHVlID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUgPSAxODA7CisKKyAgICAgICAg
ICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ2hhbmdlZCgpOwogICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgdGhpcy5fZ3JhZGllbnQgPSBuZXcgV2ViSW5zcGVjdG9yLlJhZGlhbEdy
YWRpZW50KCIiLCB0aGlzLl9ncmFkaWVudC5zdG9wcyk7CiAKQEAgLTE5NCwxNCArMjA3LDE0IEBA
IFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvciA9IGNsYXNzIEdyYWRpZW50RWRpdG9yIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQuR3JhZGllbnRDaGFuZ2VkLCB7
Z3JhZGllbnQ6IHRoaXMuX2dyYWRpZW50fSk7CiAgICAgfQogCi0gICAgX2FuZ2xlQ2hhbmdlZChl
dmVudCkKKyAgICBfYW5nbGVWYWx1ZUNoYW5nZWQoZXZlbnQpCiAgICAgewogICAgICAgICBzd2l0
Y2ggKGV2ZW50LnRhcmdldCkgewogICAgICAgICBjYXNlIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50
OgotICAgICAgICAgICAgdGhpcy5fZ3JhZGllbnQuYW5nbGUgPSB0aGlzLl9hbmdsZVNsaWRlckVs
ZW1lbnQudmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50LnZhbHVlKSB8
fCAwOworICAgICAgICAgICAgdGhpcy5fZ3JhZGllbnQuYW5nbGVWYWx1ZSA9IHRoaXMuX2FuZ2xl
U2xpZGVyRWxlbWVudC52YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQu
dmFsdWUpIHx8IDA7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSB0aGlzLl9hbmds
ZVNsaWRlckVsZW1lbnQ6Ci0gICAgICAgICAgICB0aGlzLl9ncmFkaWVudC5hbmdsZSA9IHRoaXMu
X2FuZ2xlSW5wdXRFbGVtZW50LnZhbHVlID0gcGFyc2VGbG9hdCh0aGlzLl9hbmdsZVNsaWRlckVs
ZW1lbnQudmFsdWUpIHx8IDA7CisgICAgICAgICAgICB0aGlzLl9ncmFkaWVudC5hbmdsZVZhbHVl
ID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBwYXJzZUZsb2F0KHRoaXMuX2FuZ2xl
U2xpZGVyRWxlbWVudC52YWx1ZSkgfHwgMDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlcG9ydEludGVybmFsRXJyb3IoIklu
cHV0IGV2ZW50IGZpcmVkIGZvciBkaXNhYmxlZCBjb2xvciBjb21wb25lbnQgaW5wdXQiKTsKQEAg
LTIxMCw2ICsyMjMsMjUgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yID0gY2xhc3MgR3Jh
ZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yLkV2ZW50
LkdyYWRpZW50Q2hhbmdlZCwge2dyYWRpZW50OiB0aGlzLl9ncmFkaWVudH0pOwogICAgIH0KKwor
ICAgIF9hbmdsZVVuaXRzQ2hhbmdlZChldmVudCkKKyAgICB7CisgICAgICAgIGxldCB1bml0cyA9
IHRoaXMuX2FuZ2xlVW5pdHNTZWxlY3RFbGVtZW50LnZhbHVlOworICAgICAgICBsZXQgY29uZmln
dXJhdGlvbiA9IHRoaXMuX2FuZ2xlVW5pdHNDb25maWd1cmF0aW9uLmdldCh1bml0cyk7CisgICAg
ICAgIGlmICghY29uZmlndXJhdGlvbikgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJlcG9y
dEludGVybmFsRXJyb3IoIk1pc3NpbmcgY29uZmlndXJhdGlvbiBkYXRhIGZvciBzZWxlY3RlZCBh
bmdsZSB1bml0cyIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
dGhpcy5fZ3JhZGllbnQuYW5nbGVVbml0cyA9IHVuaXRzOworCisgICAgICAgIHRoaXMuX2FuZ2xl
SW5wdXRFbGVtZW50Lm1pbiA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5taW4gPSBjb25maWd1
cmF0aW9uLm1pbjsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQubWF4ID0gdGhpcy5f
YW5nbGVTbGlkZXJFbGVtZW50Lm1heCA9IGNvbmZpZ3VyYXRpb24ubWF4OworICAgICAgICB0aGlz
Ll9hbmdsZUlucHV0RWxlbWVudC5zdGVwID0gdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnN0ZXAg
PSBjb25maWd1cmF0aW9uLnN0ZXA7CisgICAgICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50LnZh
bHVlID0gdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlID0gdGhpcy5fZ3JhZGllbnQuYW5n
bGVWYWx1ZTsKKworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQuR3JhZGllbnRDaGFuZ2VkLCB7Z3JhZGllbnQ6IHRo
aXMuX2dyYWRpZW50fSk7CisgICAgfQogfTsKIAogV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9y
LkV2ZW50ID0gewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300128</attachid>
            <date>2017-01-30 11:40:58 -0800</date>
            <delta_ts>2017-01-30 11:40:58 -0800</delta_ts>
            <desc>[Image] After Patch is applied</desc>
            <filename>166938.png</filename>
            <type>image/png</type>
            <size>51271</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">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
dmzkeOHxoRO5JwZOpp983D6j/d6pxFPXT08+3Xkm9Mz5swFnT53zPnf8vPv5IxdcLxy+6Hyx5ZLj
peYOh45Dlx0uH+p07Gy+4nSltculq617Uvexq55XT17zu3b2evD1SzcibnTfjLt5+9bUWz23Obef
38m+8/puwd3he4vuE+4XP1B6UPZQ62HNP8z+0dTj2HO016+341HMo3uP2Y9fPhE++dK37Cntadkz
3Wf1z+2eH+kP6O96MeVF38vcl8MDRX8q/1n1yvTVwb+8/uoYTBzsey14PfJm1VuNt7XvJr5rH4oa
evg+5/3wh+KPGh/rPjl/Ovc54fOz4VlfSF/Kv5p9bfsW+u3+SM7ISC5LwJIcBTA40LQ0AN7UAkBL
gmeHLgAoCtK7l0QQ6X1RgsB/wtL7mUQcAaj1AiBuEQBh8IxSDYcRxFT4FB+9Y70Aam8/NmQiTLO3
k8aiwhsM4ePIyFttAEhtAHwVjIwMbxkZ+boTkr0DwIk86Z1PLER4vt8mvleBywbLwc/yT0Qwa5pi
8ZO4AAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAi
PgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRm
LXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAg
ICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAg
IDxleGlmOlBpeGVsWERpbWVuc2lvbj41ODY8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAg
ICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjQ0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAg
PC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CrqPjvwAAAAcaURP
VAAAAAIAAAAAAAAAegAAACgAAAB6AAAAegAAVErzpCfEAABAAElEQVR4AexdCZwWxZX/zwnDfQoC
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
P+IreDXg/v9gbt3CzMDByQAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300505</attachid>
            <date>2017-02-02 23:33:17 -0800</date>
            <delta_ts>2017-02-07 12:48:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166938-20170202233103.patch</filename>
            <type>text/plain</type>
            <size>26997</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGEwNTU1ZTYxYjFjMGU4NWU0ZDE5NGFlYmU4ZmZj
ZTVkZTZmNzRkMDEuLjAzZGIwM2QxZWIzMGY0Yzk4YmM1N2E0YmZhMTJjZWMzNzI5YzQ2MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE3LTAyLTAyICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGdyYWRpZW50IGVkaXRvciBzaG91bGQgYWxsb3cgc3dpdGNoaW5nIHRoZSB1bml0cyBv
ZiB0aGUgJ2FuZ2xlJyBwYXJhbWV0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NjkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9UZXN0Lmh0bWw6CisgICAgICAgIEFkZCBX
ZWJJbnNwZWN0b3IuR3JhZGllbnQgZm9yIG5ldyBtb2RlbCBvYmplY3QgdGVzdHMuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9HcmFkaWVudC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJH
cmFkaWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuZnJvbUNvbXBv
bmVudHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5z
ZXQgYW5nbGVWYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQucHJv
dG90eXBlLmdldCBhbmdsZVZhbHVlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFk
aWVudC5wcm90b3R5cGUuc2V0IGFuZ2xlVW5pdHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxp
bmVhckdyYWRpZW50LnByb3RvdHlwZS5nZXQgYW5nbGVVbml0cyk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQucHJvdG90eXBlLmNvcHkpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQucHJvdG90eXBlLl9hbmdsZVZhbHVlRm9yVW5pdHMpOgorICAg
ICAgICBSZXdvcmsgcGFydCBvZiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQgdG8gc3VwcG9y
dCB1bml0cyBvdGhlciB0aGFuICJkZWciLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9HcmFkaWVudEVkaXRvci5jc3M6CisgICAgICAgICguZ3JhZGllbnQtZWRpdG9yID4gLmdyYWRp
ZW50LWFuZ2xlID4gaW5wdXRbdHlwZT0icmFuZ2UiXSk6CisgICAgICAgICguZ3JhZGllbnQtZWRp
dG9yID4gLmdyYWRpZW50LWFuZ2xlID4gaW5wdXRbdHlwZT0ibnVtYmVyIl0pOgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5HcmFkaWVudEVkaXRvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRF
ZGl0b3IucHJvdG90eXBlLnNldCBncmFkaWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3Jh
ZGllbnRFZGl0b3IucHJvdG90eXBlLl9ncmFkaWVudFR5cGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5wcm90b3R5cGUuX2FuZ2xlVmFsdWVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5wcm90b3R5cGUuX2FuZ2xlVW5p
dHNDaGFuZ2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5wcm90b3R5
cGUuX2FuZ2xlQ2hhbmdlZCk6IERlbGV0ZWQuCisgICAgICAgIEFkZCA8c2VsZWN0PiBmb3IgZWFj
aCB1bml0IHR5cGUgdGhhdCB3aWxsIGNoYW5nZSB0aGUgdW5pdHMgb2YgdGhlIGdyYWRpZW50Lgor
CiAyMDE3LTAxLTI4ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBOZWVkIHNvbWUgbGltaXQgb24gQXN5bmMgQ2FsbCBTdGFja3MgZm9y
IGFzeW5jIGxvb3BzIChyQUYgbG9vcHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanMKaW5kZXggYWUyM2NiNTc4MWI3NWM4
MzVjOGQ2YTJmY2Y5MDE1NWUzNTk2MzRlOS4uZGRmZjA3MzhkMTk3NzZlM2M0N2ViZDBiYmQ0ZjRl
ZjhjYmZjOTM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0dyYWRpZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9HcmFkaWVudC5qcwpAQCAtODUsNiArODUsOSBAQCBXZWJJbnNwZWN0b3Iu
R3JhZGllbnQgPSBjbGFzcyBHcmFkaWVudAogICAgICAgICAgICAgY2grKzsKICAgICAgICAgfQog
CisgICAgICAgIGlmIChvcGVuUGFyZW50aGVzZXMgIT09IC0xKQorICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisKICAgICAgICAgdmFyIGdyYWRpZW50OwogICAgICAgICBpZiAodHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLkdyYWRpZW50LlR5cGVzLkxpbmVhcikKICAgICAgICAgICAgIGdyYWRpZW50ID0g
V2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LmZyb21Db21wb25lbnRzKGNvbXBvbmVudHMpOwpA
QCAtMTY3LDQ4ICsxNzAsNTUgQEAgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50ID0gY2xhc3Mg
TGluZWFyR3JhZGllbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuR3JhZGllbnQKICAgICBjb25zdHJ1
Y3RvcihhbmdsZSwgc3RvcHMpCiAgICAgewogICAgICAgICBzdXBlcihXZWJJbnNwZWN0b3IuR3Jh
ZGllbnQuVHlwZXMuTGluZWFyLCBzdG9wcyk7Ci0gICAgICAgIHRoaXMuYW5nbGUgPSBhbmdsZTsK
KyAgICAgICAgdGhpcy5fYW5nbGUgPSBhbmdsZTsKICAgICB9CiAKICAgICAvLyBTdGF0aWMKIAog
ICAgIHN0YXRpYyBmcm9tQ29tcG9uZW50cyhjb21wb25lbnRzKQogICAgIHsKLSAgICAgICAgdmFy
IGFuZ2xlID0gMTgwOworICAgICAgICBsZXQgYW5nbGUgPSB7dmFsdWU6IDE4MCwgdW5pdHM6IFdl
Ykluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkRFR307CisKKyAgICAgICAgaWYg
KGNvbXBvbmVudHNbMF0ubGVuZ3RoID09PSAxICYmICFXZWJJbnNwZWN0b3IuQ29sb3IuZnJvbVN0
cmluZyhjb21wb25lbnRzWzBdWzBdKSkgeworICAgICAgICAgICAgbGV0IG1hdGNoID0gY29tcG9u
ZW50c1swXVswXS5tYXRjaCgvKFstXGRcLl0rKShcdyspLyk7CisgICAgICAgICAgICBpZiAoIW1h
dGNoIHx8ICFPYmplY3QudmFsdWVzKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVu
aXRzKS5pbmNsdWRlcyhtYXRjaFsyXSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CisK
KyAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7CisgICAgICAg
ICAgICBhbmdsZS51bml0cyA9IG1hdGNoWzJdOwogCi0gICAgICAgIGlmIChjb21wb25lbnRzWzBd
Lmxlbmd0aCA9PT0gMSAmJiBjb21wb25lbnRzWzBdWzBdLnN1YnN0cigtMykgPT09ICJkZWciKSB7
Ci0gICAgICAgICAgICBhbmdsZSA9IChwYXJzZUZsb2F0KGNvbXBvbmVudHNbMF1bMF0pICUgMzYw
ICsgMzYwKSAlIDM2MDsKICAgICAgICAgICAgIGNvbXBvbmVudHMuc2hpZnQoKTsKICAgICAgICAg
fSBlbHNlIGlmIChjb21wb25lbnRzWzBdWzBdID09PSAidG8iKSB7CiAgICAgICAgICAgICBjb21w
b25lbnRzWzBdLnNoaWZ0KCk7CiAgICAgICAgICAgICBzd2l0Y2ggKGNvbXBvbmVudHNbMF0uc29y
dCgpLmpvaW4oIiAiKSkgewogICAgICAgICAgICAgY2FzZSAidG9wIjoKLSAgICAgICAgICAgICAg
ICBhbmdsZSA9IDA7CisgICAgICAgICAgICAgICAgYW5nbGUudmFsdWUgPSAwOwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAicmlnaHQgdG9wIjoKLSAgICAgICAgICAg
ICAgICBhbmdsZSA9IDQ1OworICAgICAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0gNDU7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICJyaWdodCI6Ci0gICAgICAgICAg
ICAgICAgYW5nbGUgPSA5MDsKKyAgICAgICAgICAgICAgICBhbmdsZS52YWx1ZSA9IDkwOwogICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAiYm90dG9tIHJpZ2h0IjoKLSAg
ICAgICAgICAgICAgICBhbmdsZSA9IDEzNTsKKyAgICAgICAgICAgICAgICBhbmdsZS52YWx1ZSA9
IDEzNTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgImJvdHRvbSI6
Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAxODA7CisgICAgICAgICAgICAgICAgYW5nbGUudmFs
dWUgPSAxODA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICJib3R0
b20gbGVmdCI6Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAyMjU7CisgICAgICAgICAgICAgICAg
YW5nbGUudmFsdWUgPSAyMjU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj
YXNlICJsZWZ0IjoKLSAgICAgICAgICAgICAgICBhbmdsZSA9IDI3MDsKKyAgICAgICAgICAgICAg
ICBhbmdsZS52YWx1ZSA9IDI3MDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
IGNhc2UgImxlZnQgdG9wIjoKLSAgICAgICAgICAgICAgICBhbmdsZSA9IDMxNTsKKyAgICAgICAg
ICAgICAgICBhbmdsZS52YWx1ZSA9IDMxNTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIGNvbXBvbmVudHMuc2hpZnQoKTsKICAgICAgICAgfSBlbHNlIGlm
IChjb21wb25lbnRzWzBdLmxlbmd0aCAhPT0gMSAmJiAhV2ViSW5zcGVjdG9yLkNvbG9yLmZyb21T
dHJpbmcoY29tcG9uZW50c1swXVswXSkpIHsKICAgICAgICAgICAgIC8vIElmIHRoZSBmaXJzdCBj
b21wb25lbnQgaXMgbm90IGEgY29sb3IsIHRoZW4gd2UncmUgZGVhbGluZyB3aXRoIGEKQEAgLTIy
NSwzMSArMjM1LDUwIEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExpbmVh
ckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50CiAKICAgICAvLyBQdWJsaWMK
IAorICAgIHNldCBhbmdsZVZhbHVlKHZhbHVlKSB7IHRoaXMuX2FuZ2xlLnZhbHVlID0gdmFsdWU7
IH0KKworICAgIGdldCBhbmdsZVZhbHVlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9h
bmdsZS52YWx1ZS5tYXhEZWNpbWFscygyKTsKKyAgICB9CisKKyAgICBzZXQgYW5nbGVVbml0cyh1
bml0cykKKyAgICB7CisgICAgICAgIGlmICh1bml0cyA9PT0gdGhpcy5fYW5nbGUudW5pdHMpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fYW5nbGUudmFsdWUgPSB0aGlzLl9h
bmdsZVZhbHVlRm9yVW5pdHModW5pdHMpOworICAgICAgICB0aGlzLl9hbmdsZS51bml0cyA9IHVu
aXRzOworICAgIH0KKworICAgIGdldCBhbmdsZVVuaXRzKCkgeyByZXR1cm4gdGhpcy5fYW5nbGUu
dW5pdHM7IH0KKwogICAgIGNvcHkoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQodGhpcy5hbmdsZSwgdGhpcy5zdG9wcy5jb25jYXQoKSk7Cisg
ICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50KHRoaXMuX2FuZ2xl
LCB0aGlzLnN0b3BzLmNvbmNhdCgpKTsKICAgICB9CiAKICAgICB0b1N0cmluZygpCiAgICAgewot
ICAgICAgICB2YXIgc3RyID0gIiI7CisgICAgICAgIGxldCBzdHIgPSAiIjsKIAotICAgICAgICBp
ZiAodGhpcy5hbmdsZSA9PT0gMCkKKyAgICAgICAgbGV0IGRlZyA9IHRoaXMuX2FuZ2xlVmFsdWVG
b3JVbml0cyhXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5ERUcpOworICAg
ICAgICBpZiAoZGVnID09PSAwKQogICAgICAgICAgICAgc3RyICs9ICJ0byB0b3AiOwotICAgICAg
ICBlbHNlIGlmICh0aGlzLmFuZ2xlID09PSA0NSkKKyAgICAgICAgZWxzZSBpZiAoZGVnID09PSA0
NSkKICAgICAgICAgICAgIHN0ciArPSAidG8gdG9wIHJpZ2h0IjsKLSAgICAgICAgZWxzZSBpZiAo
dGhpcy5hbmdsZSA9PT0gOTApCisgICAgICAgIGVsc2UgaWYgKGRlZyA9PT0gOTApCiAgICAgICAg
ICAgICBzdHIgKz0gInRvIHJpZ2h0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0g
MTM1KQorICAgICAgICBlbHNlIGlmIChkZWcgPT09IDEzNSkKICAgICAgICAgICAgIHN0ciArPSAi
dG8gYm90dG9tIHJpZ2h0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMjI1KQor
ICAgICAgICBlbHNlIGlmIChkZWcgPT09IDIyNSkKICAgICAgICAgICAgIHN0ciArPSAidG8gYm90
dG9tIGxlZnQiOwotICAgICAgICBlbHNlIGlmICh0aGlzLmFuZ2xlID09PSAyNzApCisgICAgICAg
IGVsc2UgaWYgKGRlZyA9PT0gMjcwKQogICAgICAgICAgICAgc3RyICs9ICJ0byBsZWZ0IjsKLSAg
ICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMzE1KQorICAgICAgICBlbHNlIGlmIChkZWcg
PT09IDMxNSkKICAgICAgICAgICAgIHN0ciArPSAidG8gdG9wIGxlZnQiOwotICAgICAgICBlbHNl
IGlmICh0aGlzLmFuZ2xlICE9PSAxODApCi0gICAgICAgICAgICBzdHIgKz0gdGhpcy5hbmdsZSAr
ICJkZWciOworICAgICAgICBlbHNlIGlmIChkZWcgIT09IDE4MCkKKyAgICAgICAgICAgIHN0ciAr
PSB0aGlzLmFuZ2xlVmFsdWUgKyB0aGlzLmFuZ2xlVW5pdHM7CiAKICAgICAgICAgaWYgKHN0ciAh
PT0gIiIpCiAgICAgICAgICAgICBzdHIgKz0gIiwgIjsKQEAgLTI1OCw2ICsyODcsNjcgQEAgV2Vi
SW5zcGVjdG9yLkxpbmVhckdyYWRpZW50ID0gY2xhc3MgTGluZWFyR3JhZGllbnQgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuR3JhZGllbnQKIAogICAgICAgICByZXR1cm4gKHRoaXMucmVwZWF0cyA/ICJy
ZXBlYXRpbmctIiA6ICIiKSArIHRoaXMudHlwZSArICIoIiArIHN0ciArICIpIjsKICAgICB9CisK
KyAgICAvLyBQcml2YXRlCisKKyAgICBfYW5nbGVWYWx1ZUZvclVuaXRzKHVuaXRzKQorICAgIHsK
KyAgICAgICAgaWYgKHVuaXRzID09PSB0aGlzLl9hbmdsZS51bml0cykKKyAgICAgICAgICAgIHJl
dHVybiB0aGlzLl9hbmdsZS52YWx1ZTsKKworICAgICAgICBsZXQgZGVnID0gMDsKKworICAgICAg
ICBzd2l0Y2ggKHRoaXMuX2FuZ2xlLnVuaXRzKSB7CisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHOgorICAgICAgICAgICAgZGVnID0gdGhpcy5f
YW5nbGUudmFsdWU7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRDoKKyAgICAgICAgICAgIGRlZyA9IHRo
aXMuX2FuZ2xlLnZhbHVlICogMTgwIC8gTWF0aC5QSTsKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDoK
KyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xlLnZhbHVlIC8gNDAwICogMzYwOworICAgICAg
ICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQu
QW5nbGVVbml0cy5UVVJOOgorICAgICAgICAgICAgZGVnID0gdGhpcy5fYW5nbGUudmFsdWUgKiAz
NjA7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnJlcG9ydEludGVybmFsRXJyb3IoIlVua25vd24gYW5nbGUgdW5pdHMiKTsK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisKKyAgICAgICAgbGV0IHZhbHVlID0g
MDsKKworICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7CisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHOgorICAgICAgICAgICAgdmFsdWUgPSBkZWc7
CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJH
cmFkaWVudC5BbmdsZVVuaXRzLlJBRDoKKyAgICAgICAgICAgIHZhbHVlID0gZGVnICogTWF0aC5Q
SSAvIDE4MDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDoKKyAgICAgICAgICAgIHZhbHVlID0gZGVn
IC8gMzYwICogNDAwOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5UVVJOOgorICAgICAgICAgICAgdmFsdWUg
PSBkZWcgLyAzNjA7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIHJl
dHVybiB2YWx1ZTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5n
bGVVbml0cyA9IHsKKyAgICBERUc6ICJkZWciLAorICAgIFJBRDogInJhZCIsCisgICAgR1JBRDog
ImdyYWQiLAorICAgIFRVUk46ICJ0dXJuIiwKIH07CiAKIFdlYkluc3BlY3Rvci5SYWRpYWxHcmFk
aWVudCA9IGNsYXNzIFJhZGlhbEdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0
bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UZXN0Lmh0bWwKaW5kZXgg
ODJkYTYwMTg0MjU1NzhiNzI4MzU5Y2Y0ZjA4MmExZjY5OTE4ZjQ4My4uZDllNDFiNjNkNWE4NWMx
ZTJlNjdmOTY2OGIyYWJiYTdhMDNiMzU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtMTIzLDYgKzEyMyw3IEBACiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9H
YXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9H
ZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9HcmFkaWVudC5q
cyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9IZWFwQWxsb2NhdGlvbnNJbnN0
cnVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0hlYXBBbGxvY2F0
aW9uc1RpbWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxz
L0luZGV4ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5jc3MgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5jc3MKaW5k
ZXggNjJkNjA1ZjgwOGRiNTU1OThkZWQxOGU1NmE1ZGNjZjIxYjQ0YzExNi4uYjhkYTZmZTFmZTBl
Y2U3YzUzNDY3OTU5NDliNjAzMzM5OTZlMDgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuY3NzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmNzcwpA
QCAtODgsMTIgKzg4LDEzIEBACiB9CiAKIC5ncmFkaWVudC1lZGl0b3IgPiAuZ3JhZGllbnQtYW5n
bGUgPiBpbnB1dFt0eXBlPSJyYW5nZSJdIHsKLSAgICB3aWR0aDogMTAwJTsKKyAgICBmbGV4LWdy
b3c6IDE7CisgICAgd2lkdGg6IDA7CiAgICAgbWFyZ2luOiAwIDRweDsKIH0KIAogLmdyYWRpZW50
LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9Im51bWJlciJdIHsKLSAgICB3
aWR0aDogNjBweDsKKyAgICB3aWR0aDogMzVweDsKICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKICAg
ICBwYWRkaW5nLXJpZ2h0OiA0cHg7CiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRv
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50
RWRpdG9yLmpzCmluZGV4IDVlYWQxNTU1ZGU4NTM0YjhkYTE2OWFkNWViMDUwNjkwYmMzNzBhZDAu
LjI3NTEyNDI5MGZiNzYxYjI5MDY4NDQyYjNiZDFiMzhhZWU1Yzc4NzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50
RWRpdG9yLmpzCkBAIC03OSwyMSArNzksMzIgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9y
ID0gY2xhc3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAg
ICAgIGFuZ2xlQ29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJncmFkaWVudC1hbmdsZSIp
OwogICAgICAgICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKFdlYkluc3BlY3Rvci5VSVN0
cmluZygiQW5nbGUiKSk7CiAKLSAgICAgICAgbGV0IGJvdW5kQW5nbGVDaGFuZ2VkID0gdGhpcy5f
YW5nbGVDaGFuZ2VkLmJpbmQodGhpcyk7CisgICAgICAgIGxldCBib3VuZEFuZ2xlVmFsdWVDaGFu
Z2VkID0gdGhpcy5fYW5nbGVWYWx1ZUNoYW5nZWQuYmluZCh0aGlzKTsKIAogICAgICAgICB0aGlz
Ll9hbmdsZVNsaWRlckVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2FuZ2xlU2xp
ZGVyRWxlbWVudC50eXBlID0gInJhbmdlIjsKLSAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVt
ZW50Lm1pbiA9IDA7Ci0gICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5tYXggPSAzNjA7
Ci0gICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1
dCIsIGJvdW5kQW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgYm91bmRBbmdsZVZhbHVlQ2hhbmdlZCk7CiAKICAg
ICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMu
X2FuZ2xlSW5wdXRFbGVtZW50LnR5cGUgPSAibnVtYmVyIjsKLSAgICAgICAgdGhpcy5fYW5nbGVJ
bnB1dEVsZW1lbnQubWluID0gMDsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQubWF4
ID0gMzYwOwotICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJpbnB1dCIsIGJvdW5kQW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVs
ZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBib3VuZEFuZ2xlVmFsdWVDaGFuZ2VkKTsK
IAotICAgICAgICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKCJkZWciKTsKKyAgICAgICAg
dGhpcy5fYW5nbGVVbml0c1NlbGVjdEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0IikpOworICAgICAgICB0aGlz
Ll9hbmdsZVVuaXRzU2VsZWN0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB0aGlz
Ll9hbmdsZVVuaXRzQ2hhbmdlZC5iaW5kKHRoaXMpKTsKKworICAgICAgICBjb25zdCBhbmdsZVVu
aXRzRGF0YSA9IFsKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGll
bnQuQW5nbGVVbml0cy5ERUcsIG1pbjogMCwgbWF4OiAzNjAsIHN0ZXA6IDF9LAorICAgICAgICAg
ICAge25hbWU6IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRCwgbWlu
OiAwLCBtYXg6IDIgKiBNYXRoLlBJLCBzdGVwOiAwLjAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBX
ZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5HUkFELCBtaW46IDAsIG1heDog
NDAwLCBzdGVwOiAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3Jh
ZGllbnQuQW5nbGVVbml0cy5UVVJOLCBtaW46IDAsIG1heDogMSwgc3RlcDogMC4wMX0KKyAgICAg
ICAgXTsKKworICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ29uZmlndXJhdGlvbiA9IG5ldyBNYXAo
YW5nbGVVbml0c0RhdGEubWFwKCh7bmFtZSwgbWluLCBtYXgsIHN0ZXB9KSA9PiB7CisgICAgICAg
ICAgICBsZXQgb3B0aW9uRWxlbWVudCA9IHRoaXMuX2FuZ2xlVW5pdHNTZWxlY3RFbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTsKKyAgICAgICAgICAg
IG9wdGlvbkVsZW1lbnQudmFsdWUgPSBvcHRpb25FbGVtZW50LnRleHRDb250ZW50ID0gbmFtZTsK
KworICAgICAgICAgICAgcmV0dXJuIFtuYW1lLCB7ZWxlbWVudDogb3B0aW9uRWxlbWVudCwgbWlu
LCBtYXgsIHN0ZXB9XTsKKyAgICAgICAgfSkpOwogICAgIH0KIAogICAgIGdldCBlbGVtZW50KCkK
QEAgLTExNiw3ICsxMjcsOCBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBH
cmFkaWVudEVkaXRvciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5f
Z3JhZGllbnRTbGlkZXIuc3RvcHMgPSB0aGlzLl9ncmFkaWVudC5zdG9wczsKICAgICAgICAgaWYg
KGlzTGluZWFyKSB7CiAgICAgICAgICAgICB0aGlzLl9ncmFkaWVudFR5cGVQaWNrZXIudmFsdWUg
PSB0aGlzLl9ncmFkaWVudC5yZXBlYXRzID8gInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiIDog
ImxpbmVhci1ncmFkaWVudCI7Ci0gICAgICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQu
dmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2dyYWRpZW50LmFu
Z2xlOworCisgICAgICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ2hhbmdlZCgpOwogICAgICAgICB9
IGVsc2UKICAgICAgICAgICAgIHRoaXMuX2dyYWRpZW50VHlwZVBpY2tlci52YWx1ZSA9IHRoaXMu
X2dyYWRpZW50LnJlcGVhdHMgPyAicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCIgOiAicmFkaWFs
LWdyYWRpZW50IjsKIApAQCAtMTc1LDcgKzE4Nyw4IEBAIFdlYkluc3BlY3Rvci5HcmFkaWVudEVk
aXRvciA9IGNsYXNzIEdyYWRpZW50RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAog
ICAgICAgICBpZiAoISh0aGlzLl9ncmFkaWVudCBpbnN0YW5jZW9mIGRlc2NyaXB0b3IudHlwZSkp
IHsKICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLnR5cGUgPT09IFdlYkluc3BlY3Rvci5MaW5l
YXJHcmFkaWVudCkgewogICAgICAgICAgICAgICAgIHRoaXMuX2dyYWRpZW50ID0gbmV3IFdlYklu
c3BlY3Rvci5MaW5lYXJHcmFkaWVudCgxODAsIHRoaXMuX2dyYWRpZW50LnN0b3BzKTsKLSAgICAg
ICAgICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudmFsdWUgPSB0aGlzLl9hbmdsZUlu
cHV0RWxlbWVudC52YWx1ZSA9IDE4MDsKKworICAgICAgICAgICAgICAgIHRoaXMuX2FuZ2xlVW5p
dHNDaGFuZ2VkKCk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICB0aGlzLl9n
cmFkaWVudCA9IG5ldyBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQoIiIsIHRoaXMuX2dyYWRp
ZW50LnN0b3BzKTsKIApAQCAtMTk0LDE0ICsyMDcsMTQgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50
RWRpdG9yID0gY2xhc3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5HcmFk
aWVudEVkaXRvci5FdmVudC5HcmFkaWVudENoYW5nZWQsIHtncmFkaWVudDogdGhpcy5fZ3JhZGll
bnR9KTsKICAgICB9CiAKLSAgICBfYW5nbGVDaGFuZ2VkKGV2ZW50KQorICAgIF9hbmdsZVZhbHVl
Q2hhbmdlZChldmVudCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoZXZlbnQudGFyZ2V0KSB7CiAg
ICAgICAgIGNhc2UgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQ6Ci0gICAgICAgICAgICB0aGlzLl9n
cmFkaWVudC5hbmdsZSA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSA9IHBhcnNlRmxv
YXQodGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUpIHx8IDA7CisgICAgICAgICAgICB0aGlz
Ll9ncmFkaWVudC5hbmdsZVZhbHVlID0gdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlID0g
cGFyc2VGbG9hdCh0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSkgfHwgMDsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudDoKLSAgICAg
ICAgICAgIHRoaXMuX2dyYWRpZW50LmFuZ2xlID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFs
dWUgPSBwYXJzZUZsb2F0KHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSkgfHwgMDsKKyAg
ICAgICAgICAgIHRoaXMuX2dyYWRpZW50LmFuZ2xlVmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxl
bWVudC52YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlKSB8
fCAwOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvcigiSW5wdXQgZXZlbnQgZmlyZWQgZm9yIGRp
c2FibGVkIGNvbG9yIGNvbXBvbmVudCBpbnB1dCIpOwpAQCAtMjEwLDYgKzIyMywyNSBAQCBXZWJJ
bnNwZWN0b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVudEVkaXRvciBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYmplY3QKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQuR3JhZGllbnRDaGFuZ2VkLCB7Z3Jh
ZGllbnQ6IHRoaXMuX2dyYWRpZW50fSk7CiAgICAgfQorCisgICAgX2FuZ2xlVW5pdHNDaGFuZ2Vk
KGV2ZW50KQorICAgIHsKKyAgICAgICAgbGV0IHVuaXRzID0gdGhpcy5fYW5nbGVVbml0c1NlbGVj
dEVsZW1lbnQudmFsdWU7CisgICAgICAgIGxldCBjb25maWd1cmF0aW9uID0gdGhpcy5fYW5nbGVV
bml0c0NvbmZpZ3VyYXRpb24uZ2V0KHVuaXRzKTsKKyAgICAgICAgaWYgKCFjb25maWd1cmF0aW9u
KSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvcigiTWlzc2lu
ZyBjb25maWd1cmF0aW9uIGRhdGEgZm9yIHNlbGVjdGVkIGFuZ2xlIHVuaXRzIik7CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9ncmFkaWVudC5hbmdsZVVu
aXRzID0gdW5pdHM7CisKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQubWluID0gdGhp
cy5fYW5nbGVTbGlkZXJFbGVtZW50Lm1pbiA9IGNvbmZpZ3VyYXRpb24ubWluOworICAgICAgICB0
aGlzLl9hbmdsZUlucHV0RWxlbWVudC5tYXggPSB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQubWF4
ID0gY29uZmlndXJhdGlvbi5tYXg7CisgICAgICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50LnN0
ZXAgPSB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQuc3RlcCA9IGNvbmZpZ3VyYXRpb24uc3RlcDsK
KyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9hbmdsZVNsaWRl
ckVsZW1lbnQudmFsdWUgPSB0aGlzLl9ncmFkaWVudC5hbmdsZVZhbHVlOworCisgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5F
dmVudC5HcmFkaWVudENoYW5nZWQsIHtncmFkaWVudDogdGhpcy5fZ3JhZGllbnR9KTsKKyAgICB9
CiB9OwogCiBXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQgPSB7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWI1
YmY1YjRmZTBlNzgyZDdmY2Y4ZmZkOWFmMjBkNzQwOTg3NTA0Ni4uMzc5NzJiN2ZhNTFkODE1MjU1
YzNlYzkzNGVjMzg0ZWJjYzBlOTFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAyLTAy
ICBEZXZpbiBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGdyYWRpZW50IGVkaXRvciBzaG91bGQgYWxsb3cgc3dpdGNoaW5nIHRoZSB1
bml0cyBvZiB0aGUgJ2FuZ2xlJyBwYXJhbWV0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL21vZGVsL2dyYWRpZW50LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL21vZGVsL2dyYWRpZW50Lmh0bWw6IEFk
ZGVkLgorICAgICAgICBOZXcgdGVzdHMgZm9yIFdlYkluc3BlY3Rvci5HcmFkaWVudC4KKwogMjAx
Ny0wMS0yOSAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBXS0Nv
bnRlbnRWaWV3IG5lZWRzIHRvIGltcGxlbWVudCBVSVRleHRJbnB1dCBtZXRob2RzIHRvIG1ha2Ug
c3BlYWsgc2VsZWN0aW9uIGhpZ2hsaWdodGluZyB3b3JrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL21vZGVsL2dyYWRpZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWNkNDk1YmE2
MmU1MDE0ZTViYTAwMTJjZGZhYTBlMmI0ZTNhM2ZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL21vZGVsL2dyYWRpZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcx
IEBACitUZXN0cyBmb3IgdGhlIFdlYkluc3BlY3Rvci5HcmFkaWVudCBtb2RlbCBvYmplY3QuCisK
KworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBXZWJJbnNwZWN0b3IuR3JhZGllbnQKKy0tIFJ1bm5p
bmcgdGVzdCBjYXNlOiBXZWJJbnNwZWN0b3IuR3JhZGllbnQuZnJvbVN0cmluZworUEFTUzogJ2xp
bmVhci1ncmFkaWVudChyZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVu
dChyZWQsIGJsdWUpJyBpcyB0aGUgZXhwZWN0ZWQgc3ViY2xhc3MgJ0xpbmVhckdyYWRpZW50Jwor
UEFTUzogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzog
J2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUpJyBpcyB0aGUgZXhwZWN0ZWQgc3ViY2xh
c3MgJ0xpbmVhckdyYWRpZW50JworUEFTUzogJ2xpbmVhci1ncmFkaWVudCh0byB0b3AsIHJlZCwg
Ymx1ZSknIGlzIHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVl
KScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdMaW5lYXJHcmFkaWVudCcKK1BBU1M6ICdsaW5l
YXItZ3JhZGllbnQodG8gdG9wLCByZWQsIGdyZWVuIDUwJSwgYmx1ZSknIGlzIHZhbGlkCitQQVNT
OiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBncmVlbiA1MCUsIGJsdWUpJyBpcyB0aGUg
ZXhwZWN0ZWQgc3ViY2xhc3MgJ0xpbmVhckdyYWRpZW50JworUEFTUzogJ3JlcGVhdGluZy1saW5l
YXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdyZXBlYXRpbmct
bGluZWFyLWdyYWRpZW50KDBkZWcsIHJlZCwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFz
cyAnTGluZWFyR3JhZGllbnQnCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSknIGlz
IHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSknIGlzIHRoZSBleHBlY3Rl
ZCBzdWJjbGFzcyAnUmFkaWFsR3JhZGllbnQnCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KDBkZWcs
IHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KDBkZWcsIHJlZCwg
Ymx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnUmFkaWFsR3JhZGllbnQnCitQQVNTOiAn
cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAncmFk
aWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFz
cyAnUmFkaWFsR3JhZGllbnQnCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwg
Z3JlZW4gNTAlLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoZWxsaXBz
ZSwgcmVkLCBncmVlbiA1MCUsIGJsdWUpJyBpcyB0aGUgZXhwZWN0ZWQgc3ViY2xhc3MgJ1JhZGlh
bEdyYWRpZW50JworUEFTUzogJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScg
aXMgdmFsaWQKK1BBU1M6ICdyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSknIGlz
IHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnUmFkaWFsR3JhZGllbnQnCisKK1BBU1M6ICdiYWQnIGlz
IG5vdCB2YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCcgaXMgbm90IHZhbGlkCitQQVNTOiAn
bGluZWFyLWdyYWRpZW50KCknIGlzIG5vdCB2YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgw
LCByZWQpJyBpcyBub3QgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQoMCwgcmVkLCBibHVl
KScgaXMgbm90IHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvLCByZWQsIGJsdWUpJyBp
cyBub3QgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlJyBpcyBu
b3QgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlLCknIGlzIG5v
dCB2YWxpZAorUEFTUzogJ3JhZGlhbC1ncmFkaWVudCcgaXMgbm90IHZhbGlkCitQQVNTOiAncmFk
aWFsLWdyYWRpZW50KCknIGlzIG5vdCB2YWxpZAorUEFTUzogJ3JhZGlhbC1ncmFkaWVudChyZWQs
IGJsdWUnIGlzIG5vdCB2YWxpZAorUEFTUzogJ3JhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUsKScg
aXMgbm90IHZhbGlkCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBXZWJJbnNwZWN0b3IuR3JhZGll
bnQucHJvdG90eXBlLnRvU3RyaW5nCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KDBkZWcsIHJlZCwg
Ymx1ZSknIGlzIHZhbGlkCitQQVNTOiB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVzICdsaW5lYXIt
Z3JhZGllbnQodG8gdG9wLCByZWQsIGJsdWUpJworUEFTUzogJ2xpbmVhci1ncmFkaWVudCh0byB0
b3AsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVz
ICdsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZWQsIGJsdWUpJworUEFTUzogJ2xpbmVhci1ncmFk
aWVudCgzMGRlZywgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0
IG1hdGNoZXMgJ2xpbmVhci1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKScKK1BBU1M6ICdyZXBl
YXRpbmctbGluZWFyLWdyYWRpZW50KHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiB0b1N0cmlu
ZygpIG91dHB1dCBtYXRjaGVzICdyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHJlZCwgYmx1ZSkn
CitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiB0b1N0
cmluZygpIG91dHB1dCBtYXRjaGVzICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScKK1BBU1M6
ICdyYWRpYWwtZ3JhZGllbnQoMzBkZWcsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiB0b1N0
cmluZygpIG91dHB1dCBtYXRjaGVzICdyYWRpYWwtZ3JhZGllbnQoMzBkZWcsIHJlZCwgYmx1ZSkn
CitQQVNTOiAncmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQ
QVNTOiB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVzICdyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwg
cmVkLCBibHVlKScKK1BBU1M6ICdyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSkn
IGlzIHZhbGlkCitQQVNTOiB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVzICdyZXBlYXRpbmctcmFk
aWFsLWdyYWRpZW50KHJlZCwgYmx1ZSknCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQucHJvdG90eXBlLnNldCBhbmdsZVVuaXRzCitQQVNTOiBHcmFk
aWVudCBoYXMgYW5nbGUgdmFsdWUgb2YgJzE4MCcKK1BBU1M6IEdyYWRpZW50IGhhcyBhbmdsZSB1
bml0cyBvZiAnZGVnJworUEFTUzogdG9TdHJpbmcoKSByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIHJl
Z2FyZGxlc3Mgb2YgYW5nbGUgdW5pdHMKK1BBU1M6IEdyYWRpZW50IGhhcyBhbmdsZSB2YWx1ZSBv
ZiAnMy4xNCcKK1BBU1M6IEdyYWRpZW50IGhhcyBhbmdsZSB1bml0cyBvZiAncmFkJworUEFTUzog
dG9TdHJpbmcoKSByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIHJlZ2FyZGxlc3Mgb2YgYW5nbGUgdW5p
dHMKK1BBU1M6IEdyYWRpZW50IGhhcyBhbmdsZSB2YWx1ZSBvZiAnMjAwJworUEFTUzogR3JhZGll
bnQgaGFzIGFuZ2xlIHVuaXRzIG9mICdncmFkJworUEFTUzogdG9TdHJpbmcoKSByZXR1cm5zIHRo
ZSBzYW1lIHZhbHVlIHJlZ2FyZGxlc3Mgb2YgYW5nbGUgdW5pdHMKK1BBU1M6IEdyYWRpZW50IGhh
cyBhbmdsZSB2YWx1ZSBvZiAnMC41JworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHVuaXRzIG9m
ICd0dXJuJworUEFTUzogdG9TdHJpbmcoKSByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIHJlZ2FyZGxl
c3Mgb2YgYW5nbGUgdW5pdHMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21v
ZGVsL2dyYWRpZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44YmZjNjM4ZTE3YzEwYzUxMzUwNDkyYzU1M2JmZTY1ZGVkODIxMjhj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL21vZGVsL2dyYWRpZW50
Lmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAg
IGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiV2ViSW5zcGVjdG9y
LkdyYWRpZW50Iik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJX
ZWJJbnNwZWN0b3IuR3JhZGllbnQuZnJvbVN0cmluZyIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAi
VGVzdCB3ZSBjYW4gZGV0ZWN0IGdyYWRpZW50cyBmcm9tIHN0cmluZ3MuIiwKKyAgICAgICAgdGVz
dChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RHb29kKHN0cmlu
ZywgZXhwZWN0ZWRTdWJjbGFzcykgeworICAgICAgICAgICAgICAgIGxldCBncmFkaWVudCA9IFdl
Ykluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nKHN0cmluZyk7CisgICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGdyYWRpZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9y
LkdyYWRpZW50LCBgJyR7c3RyaW5nfScgaXMgdmFsaWRgKTsKKyAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdFRoYXQoZ3JhZGllbnQgJiYgZ3JhZGllbnQgaW5zdGFuY2VvZiBleHBl
Y3RlZFN1YmNsYXNzLCBgJyR7c3RyaW5nfScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICcke2V4
cGVjdGVkU3ViY2xhc3MubmFtZX0nYCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIHRlc3RCYWQoc3RyaW5nKSB7CisgICAgICAgICAgICAgICAgbGV0IGdyYWRpZW50ID0g
V2ViSW5zcGVjdG9yLkdyYWRpZW50LmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoIWdyYWRpZW50LCBgJyR7c3RyaW5nfScgaXMgbm90
IHZhbGlkYCk7CisgICAgICAgICAgICAgICAgaWYgKGdyYWRpZW50KQorICAgICAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmZhaWwoYCcke3N0cmluZ30nIGlzIHZhbGlkIHdpdGggc3ViY2xh
c3MgJyR7Z3JhZGllbnQuY29uc3RydWN0b3IubmFtZX0nYCk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHRlc3RHb29kKCJsaW5lYXItZ3JhZGllbnQocmVkLCBibHVlKSIsIFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgibGluZWFyLWdyYWRp
ZW50KDBkZWcsIHJlZCwgYmx1ZSkiLCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpOworICAg
ICAgICAgICAgdGVzdEdvb2QoImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJlZCwgYmx1ZSkiLCBX
ZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpOworICAgICAgICAgICAgdGVzdEdvb2QoImxpbmVh
ci1ncmFkaWVudCh0byB0b3AsIHJlZCwgZ3JlZW4gNTAlLCBibHVlKSIsIFdlYkluc3BlY3Rvci5M
aW5lYXJHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgicmVwZWF0aW5nLWxpbmVhci1n
cmFkaWVudCgwZGVnLCByZWQsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50KTsK
KworICAgICAgICAgICAgdGVzdEdvb2QoInJhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUpIiwgV2Vi
SW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50KTsKKyAgICAgICAgICAgIHRlc3RHb29kKCJyYWRpYWwt
Z3JhZGllbnQoMGRlZywgcmVkLCBibHVlKSIsIFdlYkluc3BlY3Rvci5SYWRpYWxHcmFkaWVudCk7
CisgICAgICAgICAgICB0ZXN0R29vZCgicmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1
ZSkiLCBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQpOworICAgICAgICAgICAgdGVzdEdvb2Qo
InJhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZWQsIGdyZWVuIDUwJSwgYmx1ZSkiLCBXZWJJbnNw
ZWN0b3IuUmFkaWFsR3JhZGllbnQpOworICAgICAgICAgICAgdGVzdEdvb2QoInJlcGVhdGluZy1y
YWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKSIsIFdlYkluc3BlY3Rvci5SYWRpYWxHcmFkaWVudCk7
CisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsKKworICAgICAgICAgICAgdGVz
dEJhZCgiYmFkIik7CisKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCIpOwor
ICAgICAgICAgICAgdGVzdEJhZCgibGluZWFyLWdyYWRpZW50KCkiKTsKKyAgICAgICAgICAgIHRl
c3RCYWQoImxpbmVhci1ncmFkaWVudCgwLCByZWQpIik7CisgICAgICAgICAgICB0ZXN0QmFkKCJs
aW5lYXItZ3JhZGllbnQoMCwgcmVkLCBibHVlKSIpOworICAgICAgICAgICAgdGVzdEJhZCgibGlu
ZWFyLWdyYWRpZW50KHRvLCByZWQsIGJsdWUpIik7CisgICAgICAgICAgICB0ZXN0QmFkKCJsaW5l
YXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlIik7CisgICAgICAgICAgICB0ZXN0QmFkKCJsaW5l
YXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlLCkiKTsKKworICAgICAgICAgICAgdGVzdEJhZCgi
cmFkaWFsLWdyYWRpZW50Iik7CisgICAgICAgICAgICB0ZXN0QmFkKCJyYWRpYWwtZ3JhZGllbnQo
KSIpOworICAgICAgICAgICAgdGVzdEJhZCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSIpOwor
ICAgICAgICAgICAgdGVzdEJhZCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSwpIik7CisKKyAg
ICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUuYWRk
VGVzdENhc2UoeworICAgICAgICBuYW1lOiAiV2ViSW5zcGVjdG9yLkdyYWRpZW50LnByb3RvdHlw
ZS50b1N0cmluZyIsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdCB0aGUgZGlmZmVyZW50IHRv
U3RyaW5nIG91dHB1dHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIGZ1bmN0aW9uIHRlc3Qoc3RyaW5nLCBleHBlY3RlZCA9IHN0cmluZykgeworICAgICAg
ICAgICAgICAgIGxldCBncmFkaWVudCA9IFdlYkluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5n
KHN0cmluZyk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGdyYWRp
ZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkdyYWRpZW50LCBgJyR7c3RyaW5nfScgaXMgdmFs
aWRgKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKGdyYWRpZW50
ICYmIGdyYWRpZW50LnRvU3RyaW5nKCksIGV4cGVjdGVkLCBgdG9TdHJpbmcoKSBvdXRwdXQgbWF0
Y2hlcyAnJHtleHBlY3RlZH0nYCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRlc3Qo
ImxpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUpIiwgImxpbmVhci1ncmFkaWVudCh0byB0
b3AsIHJlZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIHRlc3QoImxpbmVhci1ncmFkaWVudCh0byB0
b3AsIHJlZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIHRlc3QoImxpbmVhci1ncmFkaWVudCgzMGRl
ZywgcmVkLCBibHVlKSIpOworICAgICAgICAgICAgdGVzdCgicmVwZWF0aW5nLWxpbmVhci1ncmFk
aWVudChyZWQsIGJsdWUpIik7CisKKyAgICAgICAgICAgIHRlc3QoInJhZGlhbC1ncmFkaWVudChy
ZWQsIGJsdWUpIik7CisgICAgICAgICAgICB0ZXN0KCJyYWRpYWwtZ3JhZGllbnQoMzBkZWcsIHJl
ZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIHRlc3QoInJhZGlhbC1ncmFkaWVudChlbGxpcHNlLCBy
ZWQsIGJsdWUpIik7CisgICAgICAgICAgICB0ZXN0KCJyZXBlYXRpbmctcmFkaWFsLWdyYWRpZW50
KHJlZCwgYmx1ZSkiKTsKKworICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9CisgICAg
fSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6ICJXZWJJbnNwZWN0
b3IuTGluZWFyR3JhZGllbnQucHJvdG90eXBlLnNldCBhbmdsZVVuaXRzIiwKKyAgICAgICAgZGVz
Y3JpcHRpb246ICJUZXN0IHRoZSByZWNhbGN1bGF0aW9uIG9mIHRoZSBhbmdsZSB2YWx1ZSB3aGVu
IGNoYW5naW5nIGFuZ2xlIHVuaXRzLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
CisgICAgICAgICAgICBsZXQgZ3JhZGllbnQgPSBXZWJJbnNwZWN0b3IuR3JhZGllbnQuZnJvbVN0
cmluZygibGluZWFyLWdyYWRpZW50KHJlZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIGlmICghZ3Jh
ZGllbnQpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmZhaWwoIidsaW5lYXItZ3Jh
ZGllbnQocmVkLCBibHVlKScgaXMgbm90IHZhbGlkIik7CisgICAgICAgICAgICAgICAgcmVqZWN0
KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3QoYW5nbGVWYWx1
ZSwgYW5nbGVVbml0cykgeworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwoZ3JhZGllbnQuYW5nbGVWYWx1ZSwgYW5nbGVWYWx1ZSwgYEdyYWRpZW50IGhhcyBhbmdsZSB2
YWx1ZSBvZiAnJHthbmdsZVZhbHVlfSdgKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKGdyYWRpZW50LmFuZ2xlVW5pdHMsIGFuZ2xlVW5pdHMsIGBHcmFkaWVudCBo
YXMgYW5nbGUgdW5pdHMgb2YgJyR7YW5nbGVVbml0c30nYCk7CisgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RFcXVhbChncmFkaWVudC50b1N0cmluZygpLCAibGluZWFyLWdyYWRp
ZW50KHJlZCwgYmx1ZSkiLCAidG9TdHJpbmcoKSByZXR1cm5zIHRoZSBzYW1lIHZhbHVlIHJlZ2Fy
ZGxlc3Mgb2YgYW5nbGUgdW5pdHMiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVz
dCgxODAsIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkRFRyk7CisKKyAg
ICAgICAgICAgIGdyYWRpZW50LmFuZ2xlVW5pdHMgPSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGll
bnQuQW5nbGVVbml0cy5SQUQ7CisKKyAgICAgICAgICAgIHRlc3QoMy4xNCwgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuUkFEKTsKKworICAgICAgICAgICAgZ3JhZGllbnQu
YW5nbGVVbml0cyA9IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQ7
CisKKyAgICAgICAgICAgIHRlc3QoMjAwLCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5n
bGVVbml0cy5HUkFEKTsKKworICAgICAgICAgICAgZ3JhZGllbnQuYW5nbGVVbml0cyA9IFdlYklu
c3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlRVUk47CisKKyAgICAgICAgICAgIHRl
c3QoMC41LCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5UVVJOKTsKKwor
ICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5y
dW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHA+VGVzdHMgZm9yIHRoZSBXZWJJbnNwZWN0b3IuR3JhZGllbnQg
bW9kZWwgb2JqZWN0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="322380"
          type_id="1"
          status="+"
          setter="bburg"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300837</attachid>
            <date>2017-02-07 12:48:50 -0800</date>
            <delta_ts>2017-02-07 14:06:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>166938.diff</filename>
            <type>text/plain</type>
            <size>26499</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYjViZjViLi4zNzk3MmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDIt
MDIgIERldmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBnbWFpbC5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogZ3JhZGllbnQgZWRpdG9yIHNob3VsZCBhbGxvdyBzd2l0Y2hpbmcgdGhl
IHVuaXRzIG9mIHRoZSAnYW5nbGUnIHBhcmFtZXRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQuaHRtbDog
QWRkZWQuCisgICAgICAgIE5ldyB0ZXN0cyBmb3IgV2ViSW5zcGVjdG9yLkdyYWRpZW50LgorCiAy
MDE3LTAxLTI5ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdL
Q29udGVudFZpZXcgbmVlZHMgdG8gaW1wbGVtZW50IFVJVGV4dElucHV0IG1ldGhvZHMgdG8gbWFr
ZSBzcGVhayBzZWxlY3Rpb24gaGlnaGxpZ2h0aW5nIHdvcmsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9tb2RlbC9ncmFkaWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmI1Y2Q0OTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzEgQEAKK1Rl
c3RzIGZvciB0aGUgV2ViSW5zcGVjdG9yLkdyYWRpZW50IG1vZGVsIG9iamVjdC4KKworCis9PSBS
dW5uaW5nIHRlc3Qgc3VpdGU6IFdlYkluc3BlY3Rvci5HcmFkaWVudAorLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFdlYkluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nCitQQVNTOiAnbGluZWFyLWdy
YWRpZW50KHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHJlZCwg
Ymx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnTGluZWFyR3JhZGllbnQnCitQQVNTOiAn
bGluZWFyLWdyYWRpZW50KDBkZWcsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAnbGluZWFy
LWdyYWRpZW50KDBkZWcsIHJlZCwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnTGlu
ZWFyR3JhZGllbnQnCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKScg
aXMgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZWQsIGJsdWUpJyBpcyB0
aGUgZXhwZWN0ZWQgc3ViY2xhc3MgJ0xpbmVhckdyYWRpZW50JworUEFTUzogJ2xpbmVhci1ncmFk
aWVudCh0byB0b3AsIHJlZCwgZ3JlZW4gNTAlLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdsaW5l
YXItZ3JhZGllbnQodG8gdG9wLCByZWQsIGdyZWVuIDUwJSwgYmx1ZSknIGlzIHRoZSBleHBlY3Rl
ZCBzdWJjbGFzcyAnTGluZWFyR3JhZGllbnQnCitQQVNTOiAncmVwZWF0aW5nLWxpbmVhci1ncmFk
aWVudCgwZGVnLCByZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogJ3JlcGVhdGluZy1saW5lYXIt
Z3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdMaW5l
YXJHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQK
K1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNs
YXNzICdSYWRpYWxHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoMGRlZywgcmVkLCBi
bHVlKScgaXMgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScg
aXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdSYWRpYWxHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwt
Z3JhZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3Jh
ZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdSYWRp
YWxHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBncmVlbiA1
MCUsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogJ3JhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZWQs
IGdyZWVuIDUwJSwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnUmFkaWFsR3JhZGll
bnQnCitQQVNTOiAncmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUpJyBpcyB2YWxp
ZAorUEFTUzogJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdGhlIGV4
cGVjdGVkIHN1YmNsYXNzICdSYWRpYWxHcmFkaWVudCcKKworUEFTUzogJ2JhZCcgaXMgbm90IHZh
bGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50JyBpcyBub3QgdmFsaWQKK1BBU1M6ICdsaW5lYXIt
Z3JhZGllbnQoKScgaXMgbm90IHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KDAsIHJlZCkn
IGlzIG5vdCB2YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgwLCByZWQsIGJsdWUpJyBpcyBu
b3QgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQodG8sIHJlZCwgYmx1ZSknIGlzIG5vdCB2
YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUnIGlzIG5vdCB2YWxp
ZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUsKScgaXMgbm90IHZhbGlk
CitQQVNTOiAncmFkaWFsLWdyYWRpZW50JyBpcyBub3QgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3Jh
ZGllbnQoKScgaXMgbm90IHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZScg
aXMgbm90IHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSwpJyBpcyBub3Qg
dmFsaWQKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFdlYkluc3BlY3Rvci5HcmFkaWVudC5wcm90
b3R5cGUudG9TdHJpbmcKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScg
aXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ2xpbmVhci1ncmFkaWVu
dCh0byB0b3AsIHJlZCwgYmx1ZSknCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVk
LCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ2xpbmVh
ci1ncmFkaWVudCh0byB0b3AsIHJlZCwgYmx1ZSknCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KDMw
ZGVnLCByZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogdG9TdHJpbmcoKSBvdXRwdXQgbWF0Y2hl
cyAnbGluZWFyLWdyYWRpZW50KDMwZGVnLCByZWQsIGJsdWUpJworUEFTUzogJ3JlcGVhdGluZy1s
aW5lYXItZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0
cHV0IG1hdGNoZXMgJ3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQocmVkLCBibHVlKScKK1BBU1M6
ICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkg
b3V0cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUpJworUEFTUzogJ3JhZGlh
bC1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkg
b3V0cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKScKK1BBU1M6
ICdyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRv
U3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZWQsIGJs
dWUpJworUEFTUzogJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFs
aWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ3JlcGVhdGluZy1yYWRpYWwtZ3Jh
ZGllbnQocmVkLCBibHVlKScKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFdlYkluc3BlY3Rvci5M
aW5lYXJHcmFkaWVudC5wcm90b3R5cGUuc2V0IGFuZ2xlVW5pdHMKK1BBU1M6IEdyYWRpZW50IGhh
cyBhbmdsZSB2YWx1ZSBvZiAnMTgwJworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHVuaXRzIG9m
ICdkZWcnCitQQVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVz
cyBvZiBhbmdsZSB1bml0cworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICczLjE0
JworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHVuaXRzIG9mICdyYWQnCitQQVNTOiB0b1N0cmlu
ZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1bml0cworUEFT
UzogR3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICcyMDAnCitQQVNTOiBHcmFkaWVudCBoYXMg
YW5nbGUgdW5pdHMgb2YgJ2dyYWQnCitQQVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUg
dmFsdWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1bml0cworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xl
IHZhbHVlIG9mICcwLjUnCitQQVNTOiBHcmFkaWVudCBoYXMgYW5nbGUgdW5pdHMgb2YgJ3R1cm4n
CitQQVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBh
bmdsZSB1bml0cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvZ3Jh
ZGllbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9ncmFkaWVudC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZmM2MzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQuaHRtbApAQCAtMCwwICsx
LDEyNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5z
cGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJXZWJJbnNwZWN0b3IuR3JhZGllbnQiKTsKKwor
ICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIldlYkluc3BlY3Rvci5HcmFk
aWVudC5mcm9tU3RyaW5nIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IHdlIGNhbiBkZXRl
Y3QgZ3JhZGllbnRzIGZyb20gc3RyaW5ncy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVj
dCkgeworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEdvb2Qoc3RyaW5nLCBleHBlY3RlZFN1YmNs
YXNzKSB7CisgICAgICAgICAgICAgICAgbGV0IGdyYWRpZW50ID0gV2ViSW5zcGVjdG9yLkdyYWRp
ZW50LmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4
cGVjdFRoYXQoZ3JhZGllbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuR3JhZGllbnQsIGAnJHtz
dHJpbmd9JyBpcyB2YWxpZGApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
VGhhdChncmFkaWVudCAmJiBncmFkaWVudCBpbnN0YW5jZW9mIGV4cGVjdGVkU3ViY2xhc3MsIGAn
JHtzdHJpbmd9JyBpcyB0aGUgZXhwZWN0ZWQgc3ViY2xhc3MgJyR7ZXhwZWN0ZWRTdWJjbGFzcy5u
YW1lfSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEJhZChz
dHJpbmcpIHsKKyAgICAgICAgICAgICAgICBsZXQgZ3JhZGllbnQgPSBXZWJJbnNwZWN0b3IuR3Jh
ZGllbnQuZnJvbVN0cmluZyhzdHJpbmcpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdCghZ3JhZGllbnQsIGAnJHtzdHJpbmd9JyBpcyBub3QgdmFsaWRgKTsKKyAgICAg
ICAgICAgICAgICBpZiAoZ3JhZGllbnQpCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZmFpbChgJyR7c3RyaW5nfScgaXMgdmFsaWQgd2l0aCBzdWJjbGFzcyAnJHtncmFkaWVudC5j
b25zdHJ1Y3Rvci5uYW1lfSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdEdv
b2QoImxpbmVhci1ncmFkaWVudChyZWQsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRp
ZW50KTsKKyAgICAgICAgICAgIHRlc3RHb29kKCJsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBi
bHVlKSIsIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29v
ZCgibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIsIFdlYkluc3BlY3Rvci5MaW5l
YXJHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgibGluZWFyLWdyYWRpZW50KHRvIHRv
cCwgcmVkLCBncmVlbiA1MCUsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50KTsK
KyAgICAgICAgICAgIHRlc3RHb29kKCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDBkZWcsIHJl
ZCwgYmx1ZSkiLCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpOworCisgICAgICAgICAgICB0
ZXN0R29vZCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSkiLCBXZWJJbnNwZWN0b3IuUmFkaWFs
R3JhZGllbnQpOworICAgICAgICAgICAgdGVzdEdvb2QoInJhZGlhbC1ncmFkaWVudCgwZGVnLCBy
ZWQsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50KTsKKyAgICAgICAgICAgIHRl
c3RHb29kKCJyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKSIsIFdlYkluc3BlY3Rv
ci5SYWRpYWxHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgicmFkaWFsLWdyYWRpZW50
KGVsbGlwc2UsIHJlZCwgZ3JlZW4gNTAlLCBibHVlKSIsIFdlYkluc3BlY3Rvci5SYWRpYWxHcmFk
aWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChy
ZWQsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50KTsKKworICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5sb2coIiIpOworCisgICAgICAgICAgICB0ZXN0QmFkKCJiYWQiKTsKKwor
ICAgICAgICAgICAgdGVzdEJhZCgibGluZWFyLWdyYWRpZW50Iik7CisgICAgICAgICAgICB0ZXN0
QmFkKCJsaW5lYXItZ3JhZGllbnQoKSIpOworICAgICAgICAgICAgdGVzdEJhZCgibGluZWFyLWdy
YWRpZW50KDAsIHJlZCkiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgw
LCByZWQsIGJsdWUpIik7CisgICAgICAgICAgICB0ZXN0QmFkKCJsaW5lYXItZ3JhZGllbnQodG8s
IHJlZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgwZGVn
LCByZWQsIGJsdWUiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgwZGVn
LCByZWQsIGJsdWUsKSIpOworCisgICAgICAgICAgICB0ZXN0QmFkKCJyYWRpYWwtZ3JhZGllbnQi
KTsKKyAgICAgICAgICAgIHRlc3RCYWQoInJhZGlhbC1ncmFkaWVudCgpIik7CisgICAgICAgICAg
ICB0ZXN0QmFkKCJyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlIik7CisgICAgICAgICAgICB0ZXN0
QmFkKCJyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlLCkiKTsKKworICAgICAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6ICJXZWJJbnNwZWN0b3IuR3JhZGllbnQucHJvdG90eXBlLnRvU3RyaW5nIiwKKyAg
ICAgICAgZGVzY3JpcHRpb246ICJUZXN0IHRoZSBkaWZmZXJlbnQgdG9TdHJpbmcgb3V0cHV0cy4i
LAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdChzdHJpbmcsIGV4cGVjdGVkID0gc3RyaW5nKSB7CisgICAgICAgICAgICAgICAgbGV0IGdy
YWRpZW50ID0gV2ViSW5zcGVjdG9yLkdyYWRpZW50LmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZ3JhZGllbnQgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuR3JhZGllbnQsIGAnJHtzdHJpbmd9JyBpcyB2YWxpZGApOworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoZ3JhZGllbnQgJiYgZ3JhZGllbnQudG9T
dHJpbmcoKSwgZXhwZWN0ZWQsIGB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVzICcke2V4cGVjdGVk
fSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50
KDBkZWcsIHJlZCwgYmx1ZSkiLCAibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIp
OworICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIp
OworICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50KDMwZGVnLCByZWQsIGJsdWUpIik7
CisgICAgICAgICAgICB0ZXN0KCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHJlZCwgYmx1ZSki
KTsKKworICAgICAgICAgICAgdGVzdCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSkiKTsKKyAg
ICAgICAgICAgIHRlc3QoInJhZGlhbC1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKSIpOworICAg
ICAgICAgICAgdGVzdCgicmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1ZSkiKTsKKyAg
ICAgICAgICAgIHRlc3QoInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKSIpOwor
CisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIldlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVu
dC5wcm90b3R5cGUuc2V0IGFuZ2xlVW5pdHMiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3Qg
dGhlIHJlY2FsY3VsYXRpb24gb2YgdGhlIGFuZ2xlIHZhbHVlIHdoZW4gY2hhbmdpbmcgYW5nbGUg
dW5pdHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGxl
dCBncmFkaWVudCA9IFdlYkluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nKCJsaW5lYXItZ3Jh
ZGllbnQocmVkLCBibHVlKSIpOworICAgICAgICAgICAgaWYgKCFncmFkaWVudCkgeworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgiJ2xpbmVhci1ncmFkaWVudChyZWQsIGJsdWUp
JyBpcyBub3QgdmFsaWQiKTsKKyAgICAgICAgICAgICAgICByZWplY3QoKTsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdChhbmdsZVZhbHVlLCBhbmdsZVVuaXRzKSB7
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChncmFkaWVudC5hbmds
ZVZhbHVlLCBhbmdsZVZhbHVlLCBgR3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICcke2FuZ2xl
VmFsdWV9J2ApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoZ3Jh
ZGllbnQuYW5nbGVVbml0cywgYW5nbGVVbml0cywgYEdyYWRpZW50IGhhcyBhbmdsZSB1bml0cyBv
ZiAnJHthbmdsZVVuaXRzfSdgKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKGdyYWRpZW50LnRvU3RyaW5nKCksICJsaW5lYXItZ3JhZGllbnQocmVkLCBibHVlKSIs
ICJ0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1
bml0cyIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0ZXN0KDE4MCwgV2ViSW5zcGVj
dG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHKTsKKworICAgICAgICAgICAgZ3JhZGll
bnQuYW5nbGVVbml0cyA9IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJB
RDsKKworICAgICAgICAgICAgdGVzdCgzLjE0LCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQu
QW5nbGVVbml0cy5SQUQpOworCisgICAgICAgICAgICBncmFkaWVudC5hbmdsZVVuaXRzID0gV2Vi
SW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDsKKworICAgICAgICAgICAg
dGVzdCgyMDAsIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQpOwor
CisgICAgICAgICAgICBncmFkaWVudC5hbmdsZVVuaXRzID0gV2ViSW5zcGVjdG9yLkxpbmVhckdy
YWRpZW50LkFuZ2xlVW5pdHMuVFVSTjsKKworICAgICAgICAgICAgdGVzdCgwLjUsIFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlRVUk4pOworCisgICAgICAgICAgICByZXNv
bHZlKCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZp
bmlzaCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
Cis8cD5UZXN0cyBmb3IgdGhlIFdlYkluc3BlY3Rvci5HcmFkaWVudCBtb2RlbCBvYmplY3QuPC9w
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYTA1NTVlNi4u
NjJmNjg0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTct
MDItMDcgIERldmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBnbWFpbC5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogZ3JhZGllbnQgZWRpdG9yIHNob3VsZCBhbGxvdyBzd2l0Y2hpbmcg
dGhlIHVuaXRzIG9mIHRoZSAnYW5nbGUnIHBhcmFtZXRlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QnJpYW4gQnVyZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAg
ICBBZGQgV2ViSW5zcGVjdG9yLkdyYWRpZW50IGZvciBuZXcgbW9kZWwgb2JqZWN0IHRlc3RzLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuR3JhZGllbnQuZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TGluZWFyR3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LmZy
b21Db21wb25lbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90
b3R5cGUuc2V0IGFuZ2xlVmFsdWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRp
ZW50LnByb3RvdHlwZS5nZXQgYW5nbGVWYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGlu
ZWFyR3JhZGllbnQucHJvdG90eXBlLnNldCBhbmdsZVVuaXRzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUuZ2V0IGFuZ2xlVW5pdHMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5jb3B5KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5fYW5nbGVWYWx1ZUZvclVuaXRz
KToKKyAgICAgICAgUmV3b3JrIHBhcnQgb2YgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50IHRv
IHN1cHBvcnQgdW5pdHMgb3RoZXIgdGhhbiAiZGVnIi4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvR3JhZGllbnRFZGl0b3IuY3NzOgorICAgICAgICAoLmdyYWRpZW50LWVkaXRvciA+
IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9InJhbmdlIl0pOgorICAgICAgICAoLmdyYWRp
ZW50LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9Im51bWJlciJdKToKKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdy
YWRpZW50RWRpdG9yLnByb3RvdHlwZS5zZXQgZ3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkdyYWRpZW50RWRpdG9yLnByb3RvdHlwZS5fZ3JhZGllbnRUeXBlQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJvdG90eXBlLl9hbmdsZVZhbHVlQ2hh
bmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJvdG90eXBlLl9h
bmdsZVVuaXRzQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3Iu
cHJvdG90eXBlLl9hbmdsZUNoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICBBZGQgPHNlbGVjdD4g
Zm9yIGVhY2ggdW5pdCB0eXBlIHRoYXQgd2lsbCBjaGFuZ2UgdGhlIHVuaXRzIG9mIHRoZSBncmFk
aWVudC4KKwogMjAxNy0wMS0yOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogTmVlZCBzb21lIGxpbWl0IG9uIEFzeW5jIENhbGwgU3Rh
Y2tzIGZvciBhc3luYyBsb29wcyAockFGIGxvb3BzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzCmluZGV4IGFlMjNjYjUu
LmY5YjFjMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9HcmFkaWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvR3JhZGllbnQuanMKQEAgLTg1LDYgKzg1LDkgQEAgV2ViSW5zcGVjdG9yLkdy
YWRpZW50ID0gY2xhc3MgR3JhZGllbnQKICAgICAgICAgICAgIGNoKys7CiAgICAgICAgIH0KIAor
ICAgICAgICBpZiAob3BlblBhcmVudGhlc2VzICE9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBu
dWxsOworCiAgICAgICAgIHZhciBncmFkaWVudDsKICAgICAgICAgaWYgKHR5cGUgPT09IFdlYklu
c3BlY3Rvci5HcmFkaWVudC5UeXBlcy5MaW5lYXIpCiAgICAgICAgICAgICBncmFkaWVudCA9IFdl
Ykluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5mcm9tQ29tcG9uZW50cyhjb21wb25lbnRzKTsKQEAg
LTE2Nyw0OCArMTcwLDU1IEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExp
bmVhckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50CiAgICAgY29uc3RydWN0
b3IoYW5nbGUsIHN0b3BzKQogICAgIHsKICAgICAgICAgc3VwZXIoV2ViSW5zcGVjdG9yLkdyYWRp
ZW50LlR5cGVzLkxpbmVhciwgc3RvcHMpOwotICAgICAgICB0aGlzLmFuZ2xlID0gYW5nbGU7Cisg
ICAgICAgIHRoaXMuX2FuZ2xlID0gYW5nbGU7CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKICAg
ICBzdGF0aWMgZnJvbUNvbXBvbmVudHMoY29tcG9uZW50cykKICAgICB7Ci0gICAgICAgIHZhciBh
bmdsZSA9IDE4MDsKKyAgICAgICAgbGV0IGFuZ2xlID0ge3ZhbHVlOiAxODAsIHVuaXRzOiBXZWJJ
bnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5ERUd9OworCisgICAgICAgIGlmIChj
b21wb25lbnRzWzBdLmxlbmd0aCA9PT0gMSAmJiAhV2ViSW5zcGVjdG9yLkNvbG9yLmZyb21TdHJp
bmcoY29tcG9uZW50c1swXVswXSkpIHsKKyAgICAgICAgICAgIGxldCBtYXRjaCA9IGNvbXBvbmVu
dHNbMF1bMF0ubWF0Y2goLyhbLVxkXC5dKykoXHcrKS8pOworICAgICAgICAgICAgaWYgKCFtYXRj
aCB8fCAhT2JqZWN0LnZhbHVlcyhXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0
cykuaW5jbHVkZXMobWF0Y2hbMl0pKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisg
ICAgICAgICAgICBhbmdsZS52YWx1ZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pOworICAgICAgICAg
ICAgYW5nbGUudW5pdHMgPSBtYXRjaFsyXTsKIAotICAgICAgICBpZiAoY29tcG9uZW50c1swXS5s
ZW5ndGggPT09IDEgJiYgY29tcG9uZW50c1swXVswXS5zdWJzdHIoLTMpID09PSAiZGVnIikgewot
ICAgICAgICAgICAgYW5nbGUgPSAocGFyc2VGbG9hdChjb21wb25lbnRzWzBdWzBdKSAlIDM2MCAr
IDM2MCkgJSAzNjA7CiAgICAgICAgICAgICBjb21wb25lbnRzLnNoaWZ0KCk7CiAgICAgICAgIH0g
ZWxzZSBpZiAoY29tcG9uZW50c1swXVswXSA9PT0gInRvIikgewogICAgICAgICAgICAgY29tcG9u
ZW50c1swXS5zaGlmdCgpOwogICAgICAgICAgICAgc3dpdGNoIChjb21wb25lbnRzWzBdLnNvcnQo
KS5qb2luKCIgIikpIHsKICAgICAgICAgICAgIGNhc2UgInRvcCI6Ci0gICAgICAgICAgICAgICAg
YW5nbGUgPSAwOworICAgICAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0gMDsKICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgInJpZ2h0IHRvcCI6Ci0gICAgICAgICAgICAg
ICAgYW5nbGUgPSA0NTsKKyAgICAgICAgICAgICAgICBhbmdsZS52YWx1ZSA9IDQ1OwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAicmlnaHQiOgotICAgICAgICAgICAg
ICAgIGFuZ2xlID0gOTA7CisgICAgICAgICAgICAgICAgYW5nbGUudmFsdWUgPSA5MDsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgImJvdHRvbSByaWdodCI6Ci0gICAg
ICAgICAgICAgICAgYW5nbGUgPSAxMzU7CisgICAgICAgICAgICAgICAgYW5nbGUudmFsdWUgPSAx
MzU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICJib3R0b20iOgot
ICAgICAgICAgICAgICAgIGFuZ2xlID0gMTgwOworICAgICAgICAgICAgICAgIGFuZ2xlLnZhbHVl
ID0gMTgwOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAiYm90dG9t
IGxlZnQiOgotICAgICAgICAgICAgICAgIGFuZ2xlID0gMjI1OworICAgICAgICAgICAgICAgIGFu
Z2xlLnZhbHVlID0gMjI1OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2Fz
ZSAibGVmdCI6Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAyNzA7CisgICAgICAgICAgICAgICAg
YW5nbGUudmFsdWUgPSAyNzA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBj
YXNlICJsZWZ0IHRvcCI6Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAzMTU7CisgICAgICAgICAg
ICAgICAgYW5nbGUudmFsdWUgPSAzMTU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICAg
fQorCiAgICAgICAgICAgICBjb21wb25lbnRzLnNoaWZ0KCk7CiAgICAgICAgIH0gZWxzZSBpZiAo
Y29tcG9uZW50c1swXS5sZW5ndGggIT09IDEgJiYgIVdlYkluc3BlY3Rvci5Db2xvci5mcm9tU3Ry
aW5nKGNvbXBvbmVudHNbMF1bMF0pKSB7CiAgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3QgY29t
cG9uZW50IGlzIG5vdCBhIGNvbG9yLCB0aGVuIHdlJ3JlIGRlYWxpbmcgd2l0aCBhCkBAIC0yMjUs
MzEgKzIzNSw1MCBAQCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQgPSBjbGFzcyBMaW5lYXJH
cmFkaWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5HcmFkaWVudAogCiAgICAgLy8gUHVibGljCiAK
KyAgICBzZXQgYW5nbGVWYWx1ZSh2YWx1ZSkgeyB0aGlzLl9hbmdsZS52YWx1ZSA9IHZhbHVlOyB9
CisKKyAgICBnZXQgYW5nbGVWYWx1ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYW5n
bGUudmFsdWUubWF4RGVjaW1hbHMoMik7CisgICAgfQorCisgICAgc2V0IGFuZ2xlVW5pdHModW5p
dHMpCisgICAgeworICAgICAgICBpZiAodW5pdHMgPT09IHRoaXMuX2FuZ2xlLnVuaXRzKQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2FuZ2xlLnZhbHVlID0gdGhpcy5fYW5n
bGVWYWx1ZUZvclVuaXRzKHVuaXRzKTsKKyAgICAgICAgdGhpcy5fYW5nbGUudW5pdHMgPSB1bml0
czsKKyAgICB9CisKKyAgICBnZXQgYW5nbGVVbml0cygpIHsgcmV0dXJuIHRoaXMuX2FuZ2xlLnVu
aXRzOyB9CisKICAgICBjb3B5KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLkxpbmVhckdyYWRpZW50KHRoaXMuYW5nbGUsIHRoaXMuc3RvcHMuY29uY2F0KCkpOworICAg
ICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCh0aGlzLl9hbmdsZSwg
dGhpcy5zdG9wcy5jb25jYXQoKSk7CiAgICAgfQogCiAgICAgdG9TdHJpbmcoKQogICAgIHsKLSAg
ICAgICAgdmFyIHN0ciA9ICIiOworICAgICAgICBsZXQgc3RyID0gIiI7CiAKLSAgICAgICAgaWYg
KHRoaXMuYW5nbGUgPT09IDApCisgICAgICAgIGxldCBkZWcgPSB0aGlzLl9hbmdsZVZhbHVlRm9y
VW5pdHMoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHKTsKKyAgICAg
ICAgaWYgKGRlZyA9PT0gMCkKICAgICAgICAgICAgIHN0ciArPSAidG8gdG9wIjsKLSAgICAgICAg
ZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gNDUpCisgICAgICAgIGVsc2UgaWYgKGRlZyA9PT0gNDUp
CiAgICAgICAgICAgICBzdHIgKz0gInRvIHRvcCByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRo
aXMuYW5nbGUgPT09IDkwKQorICAgICAgICBlbHNlIGlmIChkZWcgPT09IDkwKQogICAgICAgICAg
ICAgc3RyICs9ICJ0byByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDEz
NSkKKyAgICAgICAgZWxzZSBpZiAoZGVnID09PSAxMzUpCiAgICAgICAgICAgICBzdHIgKz0gInRv
IGJvdHRvbSByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDIyNSkKKyAg
ICAgICAgZWxzZSBpZiAoZGVnID09PSAyMjUpCiAgICAgICAgICAgICBzdHIgKz0gInRvIGJvdHRv
bSBsZWZ0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMjcwKQorICAgICAgICBl
bHNlIGlmIChkZWcgPT09IDI3MCkKICAgICAgICAgICAgIHN0ciArPSAidG8gbGVmdCI7Ci0gICAg
ICAgIGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDMxNSkKKyAgICAgICAgZWxzZSBpZiAoZGVnID09
PSAzMTUpCiAgICAgICAgICAgICBzdHIgKz0gInRvIHRvcCBsZWZ0IjsKLSAgICAgICAgZWxzZSBp
ZiAodGhpcy5hbmdsZSAhPT0gMTgwKQotICAgICAgICAgICAgc3RyICs9IHRoaXMuYW5nbGUgKyAi
ZGVnIjsKKyAgICAgICAgZWxzZSBpZiAoZGVnICE9PSAxODApCisgICAgICAgICAgICBzdHIgKz0g
dGhpcy5hbmdsZVZhbHVlICsgdGhpcy5hbmdsZVVuaXRzOwogCiAgICAgICAgIGlmIChzdHIgIT09
ICIiKQogICAgICAgICAgICAgc3RyICs9ICIsICI7CkBAIC0yNTgsNiArMjg3LDY3IEBAIFdlYklu
c3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExpbmVhckdyYWRpZW50IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLkdyYWRpZW50CiAKICAgICAgICAgcmV0dXJuICh0aGlzLnJlcGVhdHMgPyAicmVw
ZWF0aW5nLSIgOiAiIikgKyB0aGlzLnR5cGUgKyAiKCIgKyBzdHIgKyAiKSI7CiAgICAgfQorCisg
ICAgLy8gUHJpdmF0ZQorCisgICAgX2FuZ2xlVmFsdWVGb3JVbml0cyh1bml0cykKKyAgICB7Cisg
ICAgICAgIGlmICh1bml0cyA9PT0gdGhpcy5fYW5nbGUudW5pdHMpCisgICAgICAgICAgICByZXR1
cm4gdGhpcy5fYW5nbGUudmFsdWU7CisKKyAgICAgICAgbGV0IGRlZyA9IDA7CisKKyAgICAgICAg
c3dpdGNoICh0aGlzLl9hbmdsZS51bml0cykgeworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5M
aW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkRFRzoKKyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2Fu
Z2xlLnZhbHVlOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5SQUQ6CisgICAgICAgICAgICBkZWcgPSB0aGlz
Ll9hbmdsZS52YWx1ZSAqIDE4MCAvIE1hdGguUEk7CisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQ6Cisg
ICAgICAgICAgICBkZWcgPSB0aGlzLl9hbmdsZS52YWx1ZSAvIDQwMCAqIDM2MDsKKyAgICAgICAg
ICAgIGJyZWFrOworCisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFu
Z2xlVW5pdHMuVFVSTjoKKyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xlLnZhbHVlICogMzYw
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5yZXBvcnRJbnRlcm5hbEVycm9yKGBVbmtub3duIGFuZ2xlIHVuaXRzICIke3Ro
aXMuX2FuZ2xlLnVuaXRzfSJgKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisK
KyAgICAgICAgbGV0IHZhbHVlID0gMDsKKworICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7CisgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHOgorICAg
ICAgICAgICAgdmFsdWUgPSBkZWc7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRDoKKyAgICAgICAgICAg
IHZhbHVlID0gZGVnICogTWF0aC5QSSAvIDE4MDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAg
ICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDoKKyAg
ICAgICAgICAgIHZhbHVlID0gZGVnIC8gMzYwICogNDAwOworICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5UVVJO
OgorICAgICAgICAgICAgdmFsdWUgPSBkZWcgLyAzNjA7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorCisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0
b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cyA9IHsKKyAgICBERUc6ICJkZWciLAorICAgIFJB
RDogInJhZCIsCisgICAgR1JBRDogImdyYWQiLAorICAgIFRVUk46ICJ0dXJuIiwKIH07CiAKIFdl
Ykluc3BlY3Rvci5SYWRpYWxHcmFkaWVudCA9IGNsYXNzIFJhZGlhbEdyYWRpZW50IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLkdyYWRpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9UZXN0Lmh0bWwKaW5kZXggODJkYTYwMS4uZDllNDFiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtMTIzLDYgKzEyMyw3IEBACiAg
ICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVs
cy9HcmFkaWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9IZWFwQWxs
b2NhdGlvbnNJbnN0cnVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxz
L0hlYXBBbGxvY2F0aW9uc1RpbWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iTW9kZWxzL0luZGV4ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5j
c3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVk
aXRvci5jc3MKaW5kZXggNjJkNjA1Zi4uYjhkYTZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuY3NzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmNz
cwpAQCAtODgsMTIgKzg4LDEzIEBACiB9CiAKIC5ncmFkaWVudC1lZGl0b3IgPiAuZ3JhZGllbnQt
YW5nbGUgPiBpbnB1dFt0eXBlPSJyYW5nZSJdIHsKLSAgICB3aWR0aDogMTAwJTsKKyAgICBmbGV4
LWdyb3c6IDE7CisgICAgd2lkdGg6IDA7CiAgICAgbWFyZ2luOiAwIDRweDsKIH0KIAogLmdyYWRp
ZW50LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9Im51bWJlciJdIHsKLSAg
ICB3aWR0aDogNjBweDsKKyAgICB3aWR0aDogMzVweDsKICAgICBtYXJnaW4tcmlnaHQ6IDJweDsK
ICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7CiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVk
aXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRp
ZW50RWRpdG9yLmpzCmluZGV4IDVlYWQxNTUuLmYxNTFmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9y
LmpzCkBAIC03OSwyMSArNzksMzIgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yID0gY2xh
c3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIGFu
Z2xlQ29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJncmFkaWVudC1hbmdsZSIpOwogICAg
ICAgICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKFdlYkluc3BlY3Rvci5VSVN0cmluZygi
QW5nbGUiKSk7CiAKLSAgICAgICAgbGV0IGJvdW5kQW5nbGVDaGFuZ2VkID0gdGhpcy5fYW5nbGVD
aGFuZ2VkLmJpbmQodGhpcyk7CisgICAgICAgIGxldCBib3VuZEFuZ2xlVmFsdWVDaGFuZ2VkID0g
dGhpcy5fYW5nbGVWYWx1ZUNoYW5nZWQuYmluZCh0aGlzKTsKIAogICAgICAgICB0aGlzLl9hbmds
ZVNsaWRlckVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxl
bWVudC50eXBlID0gInJhbmdlIjsKLSAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50Lm1p
biA9IDA7Ci0gICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5tYXggPSAzNjA7Ci0gICAg
ICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGJv
dW5kQW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImlucHV0IiwgYm91bmRBbmdsZVZhbHVlQ2hhbmdlZCk7CiAKICAgICAgICAg
dGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2FuZ2xl
SW5wdXRFbGVtZW50LnR5cGUgPSAibnVtYmVyIjsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVs
ZW1lbnQubWluID0gMDsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQubWF4ID0gMzYw
OwotICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1
dCIsIGJvdW5kQW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBib3VuZEFuZ2xlVmFsdWVDaGFuZ2VkKTsKIAotICAg
ICAgICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKCJkZWciKTsKKyAgICAgICAgdGhpcy5f
YW5nbGVVbml0c1NlbGVjdEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0IikpOworICAgICAgICB0aGlzLl9hbmds
ZVVuaXRzU2VsZWN0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB0aGlzLl9hbmds
ZVVuaXRzQ2hhbmdlZC5iaW5kKHRoaXMpKTsKKworICAgICAgICBjb25zdCBhbmdsZVVuaXRzRGF0
YSA9IFsKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5n
bGVVbml0cy5ERUcsIG1pbjogMCwgbWF4OiAzNjAsIHN0ZXA6IDF9LAorICAgICAgICAgICAge25h
bWU6IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRCwgbWluOiAwLCBt
YXg6IDIgKiBNYXRoLlBJLCBzdGVwOiAwLjAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5HUkFELCBtaW46IDAsIG1heDogNDAwLCBz
dGVwOiAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQu
QW5nbGVVbml0cy5UVVJOLCBtaW46IDAsIG1heDogMSwgc3RlcDogMC4wMX0KKyAgICAgICAgXTsK
KworICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ29uZmlndXJhdGlvbiA9IG5ldyBNYXAoYW5nbGVV
bml0c0RhdGEubWFwKCh7bmFtZSwgbWluLCBtYXgsIHN0ZXB9KSA9PiB7CisgICAgICAgICAgICBs
ZXQgb3B0aW9uRWxlbWVudCA9IHRoaXMuX2FuZ2xlVW5pdHNTZWxlY3RFbGVtZW50LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTsKKyAgICAgICAgICAgIG9wdGlv
bkVsZW1lbnQudmFsdWUgPSBvcHRpb25FbGVtZW50LnRleHRDb250ZW50ID0gbmFtZTsKKworICAg
ICAgICAgICAgcmV0dXJuIFtuYW1lLCB7ZWxlbWVudDogb3B0aW9uRWxlbWVudCwgbWluLCBtYXgs
IHN0ZXB9XTsKKyAgICAgICAgfSkpOwogICAgIH0KIAogICAgIGdldCBlbGVtZW50KCkKQEAgLTEx
Niw3ICsxMjcsOCBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVu
dEVkaXRvciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5fZ3JhZGll
bnRTbGlkZXIuc3RvcHMgPSB0aGlzLl9ncmFkaWVudC5zdG9wczsKICAgICAgICAgaWYgKGlzTGlu
ZWFyKSB7CiAgICAgICAgICAgICB0aGlzLl9ncmFkaWVudFR5cGVQaWNrZXIudmFsdWUgPSB0aGlz
Ll9ncmFkaWVudC5yZXBlYXRzID8gInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiIDogImxpbmVh
ci1ncmFkaWVudCI7Ci0gICAgICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudmFsdWUg
PSB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2dyYWRpZW50LmFuZ2xlOwor
CisgICAgICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ2hhbmdlZCgpOwogICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgIHRoaXMuX2dyYWRpZW50VHlwZVBpY2tlci52YWx1ZSA9IHRoaXMuX2dyYWRp
ZW50LnJlcGVhdHMgPyAicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCIgOiAicmFkaWFsLWdyYWRp
ZW50IjsKIApAQCAtMTc1LDcgKzE4Nyw4IEBAIFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvciA9
IGNsYXNzIEdyYWRpZW50RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAg
ICBpZiAoISh0aGlzLl9ncmFkaWVudCBpbnN0YW5jZW9mIGRlc2NyaXB0b3IudHlwZSkpIHsKICAg
ICAgICAgICAgIGlmIChkZXNjcmlwdG9yLnR5cGUgPT09IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFk
aWVudCkgewogICAgICAgICAgICAgICAgIHRoaXMuX2dyYWRpZW50ID0gbmV3IFdlYkluc3BlY3Rv
ci5MaW5lYXJHcmFkaWVudCgxODAsIHRoaXMuX2dyYWRpZW50LnN0b3BzKTsKLSAgICAgICAgICAg
ICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxl
bWVudC52YWx1ZSA9IDE4MDsKKworICAgICAgICAgICAgICAgIHRoaXMuX2FuZ2xlVW5pdHNDaGFu
Z2VkKCk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICB0aGlzLl9ncmFkaWVu
dCA9IG5ldyBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQoIiIsIHRoaXMuX2dyYWRpZW50LnN0
b3BzKTsKIApAQCAtMTk0LDE0ICsyMDcsMTQgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9y
ID0gY2xhc3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5HcmFkaWVudEVk
aXRvci5FdmVudC5HcmFkaWVudENoYW5nZWQsIHtncmFkaWVudDogdGhpcy5fZ3JhZGllbnR9KTsK
ICAgICB9CiAKLSAgICBfYW5nbGVDaGFuZ2VkKGV2ZW50KQorICAgIF9hbmdsZVZhbHVlQ2hhbmdl
ZChldmVudCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoZXZlbnQudGFyZ2V0KSB7CiAgICAgICAg
IGNhc2UgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQ6Ci0gICAgICAgICAgICB0aGlzLl9ncmFkaWVu
dC5hbmdsZSA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSA9IHBhcnNlRmxvYXQodGhp
cy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUpIHx8IDA7CisgICAgICAgICAgICB0aGlzLl9ncmFk
aWVudC5hbmdsZVZhbHVlID0gdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlID0gcGFyc2VG
bG9hdCh0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSkgfHwgMDsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudDoKLSAgICAgICAgICAg
IHRoaXMuX2dyYWRpZW50LmFuZ2xlID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBw
YXJzZUZsb2F0KHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSkgfHwgMDsKKyAgICAgICAg
ICAgIHRoaXMuX2dyYWRpZW50LmFuZ2xlVmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52
YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlKSB8fCAwOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvcigiSW5wdXQgZXZlbnQgZmlyZWQgZm9yIGRpc2FibGVk
IGNvbG9yIGNvbXBvbmVudCBpbnB1dCIpOwpAQCAtMjEwLDYgKzIyMywyNSBAQCBXZWJJbnNwZWN0
b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVudEVkaXRvciBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5PYmplY3QKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJ
bnNwZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQuR3JhZGllbnRDaGFuZ2VkLCB7Z3JhZGllbnQ6
IHRoaXMuX2dyYWRpZW50fSk7CiAgICAgfQorCisgICAgX2FuZ2xlVW5pdHNDaGFuZ2VkKGV2ZW50
KQorICAgIHsKKyAgICAgICAgbGV0IHVuaXRzID0gdGhpcy5fYW5nbGVVbml0c1NlbGVjdEVsZW1l
bnQudmFsdWU7CisgICAgICAgIGxldCBjb25maWd1cmF0aW9uID0gdGhpcy5fYW5nbGVVbml0c0Nv
bmZpZ3VyYXRpb24uZ2V0KHVuaXRzKTsKKyAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uKSB7Cisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvcihgTWlzc2luZyBjb25m
aWd1cmF0aW9uIGRhdGEgZm9yIHNlbGVjdGVkIGFuZ2xlIHVuaXRzICIke3VuaXRzfSJgKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2dyYWRpZW50LmFu
Z2xlVW5pdHMgPSB1bml0czsKKworICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC5taW4g
PSB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQubWluID0gY29uZmlndXJhdGlvbi5taW47CisgICAg
ICAgIHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50Lm1heCA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVu
dC5tYXggPSBjb25maWd1cmF0aW9uLm1heDsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1l
bnQuc3RlcCA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5zdGVwID0gY29uZmlndXJhdGlvbi5z
dGVwOworICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2FuZ2xl
U2xpZGVyRWxlbWVudC52YWx1ZSA9IHRoaXMuX2dyYWRpZW50LmFuZ2xlVmFsdWU7CisKKyAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRp
dG9yLkV2ZW50LkdyYWRpZW50Q2hhbmdlZCwge2dyYWRpZW50OiB0aGlzLl9ncmFkaWVudH0pOwor
ICAgIH0KIH07CiAKIFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5FdmVudCA9IHsK
</data>
<flag name="commit-queue"
          id="322700"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300850</attachid>
            <date>2017-02-07 14:06:54 -0800</date>
            <delta_ts>2017-02-07 14:33:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>166938.diff</filename>
            <type>text/plain</type>
            <size>26496</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxYjViZjViLi4yMWY0MWFiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTAy
LTA3ICBEZXZpbiBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGdyYWRpZW50IGVkaXRvciBzaG91bGQgYWxsb3cgc3dpdGNoaW5nIHRo
ZSB1bml0cyBvZiB0aGUgJ2FuZ2xlJyBwYXJhbWV0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjkzOAorCisgICAgICAgIFJldmlld2VkIGJ5IEJy
aWFuIEJ1cmcuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgIE5ldyB0ZXN0cyBmb3IgV2ViSW5zcGVjdG9yLkdyYWRpZW50LgorCiAyMDE3
LTAxLTI5ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFdLQ29u
dGVudFZpZXcgbmVlZHMgdG8gaW1wbGVtZW50IFVJVGV4dElucHV0IG1ldGhvZHMgdG8gbWFrZSBz
cGVhayBzZWxlY3Rpb24gaGlnaGxpZ2h0aW5nIHdvcmsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9tb2RlbC9ncmFkaWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmI1Y2Q0OTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvbW9kZWwvZ3JhZGllbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzEgQEAKK1Rlc3Rz
IGZvciB0aGUgV2ViSW5zcGVjdG9yLkdyYWRpZW50IG1vZGVsIG9iamVjdC4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IFdlYkluc3BlY3Rvci5HcmFkaWVudAorLS0gUnVubmluZyB0ZXN0IGNh
c2U6IFdlYkluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nCitQQVNTOiAnbGluZWFyLWdyYWRp
ZW50KHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHJlZCwgYmx1
ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnTGluZWFyR3JhZGllbnQnCitQQVNTOiAnbGlu
ZWFyLWdyYWRpZW50KDBkZWcsIHJlZCwgYmx1ZSknIGlzIHZhbGlkCitQQVNTOiAnbGluZWFyLWdy
YWRpZW50KDBkZWcsIHJlZCwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnTGluZWFy
R3JhZGllbnQnCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKScgaXMg
dmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZWQsIGJsdWUpJyBpcyB0aGUg
ZXhwZWN0ZWQgc3ViY2xhc3MgJ0xpbmVhckdyYWRpZW50JworUEFTUzogJ2xpbmVhci1ncmFkaWVu
dCh0byB0b3AsIHJlZCwgZ3JlZW4gNTAlLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdsaW5lYXIt
Z3JhZGllbnQodG8gdG9wLCByZWQsIGdyZWVuIDUwJSwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBz
dWJjbGFzcyAnTGluZWFyR3JhZGllbnQnCitQQVNTOiAncmVwZWF0aW5nLWxpbmVhci1ncmFkaWVu
dCgwZGVnLCByZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogJ3JlcGVhdGluZy1saW5lYXItZ3Jh
ZGllbnQoMGRlZywgcmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdMaW5lYXJH
cmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQKK1BB
U1M6ICdyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNz
ICdSYWRpYWxHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoMGRlZywgcmVkLCBibHVl
KScgaXMgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScgaXMg
dGhlIGV4cGVjdGVkIHN1YmNsYXNzICdSYWRpYWxHcmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3Jh
ZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3JhZGll
bnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdGhlIGV4cGVjdGVkIHN1YmNsYXNzICdSYWRpYWxH
cmFkaWVudCcKK1BBU1M6ICdyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBncmVlbiA1MCUs
IGJsdWUpJyBpcyB2YWxpZAorUEFTUzogJ3JhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZWQsIGdy
ZWVuIDUwJSwgYmx1ZSknIGlzIHRoZSBleHBlY3RlZCBzdWJjbGFzcyAnUmFkaWFsR3JhZGllbnQn
CitQQVNTOiAncmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUpJyBpcyB2YWxpZAor
UEFTUzogJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdGhlIGV4cGVj
dGVkIHN1YmNsYXNzICdSYWRpYWxHcmFkaWVudCcKKworUEFTUzogJ2JhZCcgaXMgbm90IHZhbGlk
CitQQVNTOiAnbGluZWFyLWdyYWRpZW50JyBpcyBub3QgdmFsaWQKK1BBU1M6ICdsaW5lYXItZ3Jh
ZGllbnQoKScgaXMgbm90IHZhbGlkCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KDAsIHJlZCknIGlz
IG5vdCB2YWxpZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgwLCByZWQsIGJsdWUpJyBpcyBub3Qg
dmFsaWQKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQodG8sIHJlZCwgYmx1ZSknIGlzIG5vdCB2YWxp
ZAorUEFTUzogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUnIGlzIG5vdCB2YWxpZAor
UEFTUzogJ2xpbmVhci1ncmFkaWVudCgwZGVnLCByZWQsIGJsdWUsKScgaXMgbm90IHZhbGlkCitQ
QVNTOiAncmFkaWFsLWdyYWRpZW50JyBpcyBub3QgdmFsaWQKK1BBU1M6ICdyYWRpYWwtZ3JhZGll
bnQoKScgaXMgbm90IHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZScgaXMg
bm90IHZhbGlkCitQQVNTOiAncmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSwpJyBpcyBub3QgdmFs
aWQKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFdlYkluc3BlY3Rvci5HcmFkaWVudC5wcm90b3R5
cGUudG9TdHJpbmcKK1BBU1M6ICdsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVlKScgaXMg
dmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ2xpbmVhci1ncmFkaWVudCh0
byB0b3AsIHJlZCwgYmx1ZSknCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBi
bHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ2xpbmVhci1n
cmFkaWVudCh0byB0b3AsIHJlZCwgYmx1ZSknCitQQVNTOiAnbGluZWFyLWdyYWRpZW50KDMwZGVn
LCByZWQsIGJsdWUpJyBpcyB2YWxpZAorUEFTUzogdG9TdHJpbmcoKSBvdXRwdXQgbWF0Y2hlcyAn
bGluZWFyLWdyYWRpZW50KDMwZGVnLCByZWQsIGJsdWUpJworUEFTUzogJ3JlcGVhdGluZy1saW5l
YXItZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0
IG1hdGNoZXMgJ3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQocmVkLCBibHVlKScKK1BBU1M6ICdy
YWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0
cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudChyZWQsIGJsdWUpJworUEFTUzogJ3JhZGlhbC1n
cmFkaWVudCgzMGRlZywgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3RyaW5nKCkgb3V0
cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKScKK1BBU1M6ICdy
YWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKScgaXMgdmFsaWQKK1BBU1M6IHRvU3Ry
aW5nKCkgb3V0cHV0IG1hdGNoZXMgJ3JhZGlhbC1ncmFkaWVudChlbGxpcHNlLCByZWQsIGJsdWUp
JworUEFTUzogJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKScgaXMgdmFsaWQK
K1BBU1M6IHRvU3RyaW5nKCkgb3V0cHV0IG1hdGNoZXMgJ3JlcGVhdGluZy1yYWRpYWwtZ3JhZGll
bnQocmVkLCBibHVlKScKKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFdlYkluc3BlY3Rvci5MaW5l
YXJHcmFkaWVudC5wcm90b3R5cGUuc2V0IGFuZ2xlVW5pdHMKK1BBU1M6IEdyYWRpZW50IGhhcyBh
bmdsZSB2YWx1ZSBvZiAnMTgwJworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHVuaXRzIG9mICdk
ZWcnCitQQVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBv
ZiBhbmdsZSB1bml0cworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICczLjE0Jwor
UEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHVuaXRzIG9mICdyYWQnCitQQVNTOiB0b1N0cmluZygp
IHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1bml0cworUEFTUzog
R3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICcyMDAnCitQQVNTOiBHcmFkaWVudCBoYXMgYW5n
bGUgdW5pdHMgb2YgJ2dyYWQnCitQQVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFs
dWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1bml0cworUEFTUzogR3JhZGllbnQgaGFzIGFuZ2xlIHZh
bHVlIG9mICcwLjUnCitQQVNTOiBHcmFkaWVudCBoYXMgYW5nbGUgdW5pdHMgb2YgJ3R1cm4nCitQ
QVNTOiB0b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBhbmds
ZSB1bml0cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvZ3JhZGll
bnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9tb2RlbC9ncmFkaWVudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZmM2MzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvbW9kZWwvZ3JhZGllbnQuaHRtbApAQCAtMCwwICsxLDEy
NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVj
dG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJXZWJJbnNwZWN0b3IuR3JhZGllbnQiKTsKKworICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIldlYkluc3BlY3Rvci5HcmFkaWVu
dC5mcm9tU3RyaW5nIiwKKyAgICAgICAgZGVzY3JpcHRpb246ICJUZXN0IHdlIGNhbiBkZXRlY3Qg
Z3JhZGllbnRzIGZyb20gc3RyaW5ncy4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
eworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEdvb2Qoc3RyaW5nLCBleHBlY3RlZFN1YmNsYXNz
KSB7CisgICAgICAgICAgICAgICAgbGV0IGdyYWRpZW50ID0gV2ViSW5zcGVjdG9yLkdyYWRpZW50
LmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dFRoYXQoZ3JhZGllbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuR3JhZGllbnQsIGAnJHtzdHJp
bmd9JyBpcyB2YWxpZGApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhh
dChncmFkaWVudCAmJiBncmFkaWVudCBpbnN0YW5jZW9mIGV4cGVjdGVkU3ViY2xhc3MsIGAnJHtz
dHJpbmd9JyBpcyB0aGUgZXhwZWN0ZWQgc3ViY2xhc3MgJyR7ZXhwZWN0ZWRTdWJjbGFzcy5uYW1l
fSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdEJhZChzdHJp
bmcpIHsKKyAgICAgICAgICAgICAgICBsZXQgZ3JhZGllbnQgPSBXZWJJbnNwZWN0b3IuR3JhZGll
bnQuZnJvbVN0cmluZyhzdHJpbmcpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0VGhhdCghZ3JhZGllbnQsIGAnJHtzdHJpbmd9JyBpcyBub3QgdmFsaWRgKTsKKyAgICAgICAg
ICAgICAgICBpZiAoZ3JhZGllbnQpCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZmFpbChgJyR7c3RyaW5nfScgaXMgdmFsaWQgd2l0aCBzdWJjbGFzcyAnJHtncmFkaWVudC5jb25z
dHJ1Y3Rvci5uYW1lfSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdEdvb2Qo
ImxpbmVhci1ncmFkaWVudChyZWQsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50
KTsKKyAgICAgICAgICAgIHRlc3RHb29kKCJsaW5lYXItZ3JhZGllbnQoMGRlZywgcmVkLCBibHVl
KSIsIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgi
bGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIsIFdlYkluc3BlY3Rvci5MaW5lYXJH
cmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgibGluZWFyLWdyYWRpZW50KHRvIHRvcCwg
cmVkLCBncmVlbiA1MCUsIGJsdWUpIiwgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50KTsKKyAg
ICAgICAgICAgIHRlc3RHb29kKCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDBkZWcsIHJlZCwg
Ymx1ZSkiLCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQpOworCisgICAgICAgICAgICB0ZXN0
R29vZCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSkiLCBXZWJJbnNwZWN0b3IuUmFkaWFsR3Jh
ZGllbnQpOworICAgICAgICAgICAgdGVzdEdvb2QoInJhZGlhbC1ncmFkaWVudCgwZGVnLCByZWQs
IGJsdWUpIiwgV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50KTsKKyAgICAgICAgICAgIHRlc3RH
b29kKCJyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSwgcmVkLCBibHVlKSIsIFdlYkluc3BlY3Rvci5S
YWRpYWxHcmFkaWVudCk7CisgICAgICAgICAgICB0ZXN0R29vZCgicmFkaWFsLWdyYWRpZW50KGVs
bGlwc2UsIHJlZCwgZ3JlZW4gNTAlLCBibHVlKSIsIFdlYkluc3BlY3Rvci5SYWRpYWxHcmFkaWVu
dCk7CisgICAgICAgICAgICB0ZXN0R29vZCgicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudChyZWQs
IGJsdWUpIiwgV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50KTsKKworICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5sb2coIiIpOworCisgICAgICAgICAgICB0ZXN0QmFkKCJiYWQiKTsKKworICAg
ICAgICAgICAgdGVzdEJhZCgibGluZWFyLWdyYWRpZW50Iik7CisgICAgICAgICAgICB0ZXN0QmFk
KCJsaW5lYXItZ3JhZGllbnQoKSIpOworICAgICAgICAgICAgdGVzdEJhZCgibGluZWFyLWdyYWRp
ZW50KDAsIHJlZCkiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgwLCBy
ZWQsIGJsdWUpIik7CisgICAgICAgICAgICB0ZXN0QmFkKCJsaW5lYXItZ3JhZGllbnQodG8sIHJl
ZCwgYmx1ZSkiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgwZGVnLCBy
ZWQsIGJsdWUiKTsKKyAgICAgICAgICAgIHRlc3RCYWQoImxpbmVhci1ncmFkaWVudCgwZGVnLCBy
ZWQsIGJsdWUsKSIpOworCisgICAgICAgICAgICB0ZXN0QmFkKCJyYWRpYWwtZ3JhZGllbnQiKTsK
KyAgICAgICAgICAgIHRlc3RCYWQoInJhZGlhbC1ncmFkaWVudCgpIik7CisgICAgICAgICAgICB0
ZXN0QmFkKCJyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlIik7CisgICAgICAgICAgICB0ZXN0QmFk
KCJyYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlLCkiKTsKKworICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJXZWJJbnNwZWN0b3IuR3JhZGllbnQucHJvdG90eXBlLnRvU3RyaW5nIiwKKyAgICAg
ICAgZGVzY3JpcHRpb246ICJUZXN0IHRoZSBkaWZmZXJlbnQgdG9TdHJpbmcgb3V0cHV0cy4iLAor
ICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dChzdHJpbmcsIGV4cGVjdGVkID0gc3RyaW5nKSB7CisgICAgICAgICAgICAgICAgbGV0IGdyYWRp
ZW50ID0gV2ViSW5zcGVjdG9yLkdyYWRpZW50LmZyb21TdHJpbmcoc3RyaW5nKTsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZ3JhZGllbnQgaW5zdGFuY2VvZiBXZWJJ
bnNwZWN0b3IuR3JhZGllbnQsIGAnJHtzdHJpbmd9JyBpcyB2YWxpZGApOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoZ3JhZGllbnQgJiYgZ3JhZGllbnQudG9TdHJp
bmcoKSwgZXhwZWN0ZWQsIGB0b1N0cmluZygpIG91dHB1dCBtYXRjaGVzICcke2V4cGVjdGVkfSdg
KTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50KDBk
ZWcsIHJlZCwgYmx1ZSkiLCAibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIpOwor
ICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmVkLCBibHVlKSIpOwor
ICAgICAgICAgICAgdGVzdCgibGluZWFyLWdyYWRpZW50KDMwZGVnLCByZWQsIGJsdWUpIik7Cisg
ICAgICAgICAgICB0ZXN0KCJyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHJlZCwgYmx1ZSkiKTsK
KworICAgICAgICAgICAgdGVzdCgicmFkaWFsLWdyYWRpZW50KHJlZCwgYmx1ZSkiKTsKKyAgICAg
ICAgICAgIHRlc3QoInJhZGlhbC1ncmFkaWVudCgzMGRlZywgcmVkLCBibHVlKSIpOworICAgICAg
ICAgICAgdGVzdCgicmFkaWFsLWdyYWRpZW50KGVsbGlwc2UsIHJlZCwgYmx1ZSkiKTsKKyAgICAg
ICAgICAgIHRlc3QoInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQocmVkLCBibHVlKSIpOworCisg
ICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLmFk
ZFRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIldlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5w
cm90b3R5cGUuc2V0IGFuZ2xlVW5pdHMiLAorICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3QgdGhl
IHJlY2FsY3VsYXRpb24gb2YgdGhlIGFuZ2xlIHZhbHVlIHdoZW4gY2hhbmdpbmcgYW5nbGUgdW5p
dHMuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgICAgIGxldCBn
cmFkaWVudCA9IFdlYkluc3BlY3Rvci5HcmFkaWVudC5mcm9tU3RyaW5nKCJsaW5lYXItZ3JhZGll
bnQocmVkLCBibHVlKSIpOworICAgICAgICAgICAgaWYgKCFncmFkaWVudCkgeworICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgiJ2xpbmVhci1ncmFkaWVudChyZWQsIGJsdWUpJyBp
cyBub3QgdmFsaWQiKTsKKyAgICAgICAgICAgICAgICByZWplY3QoKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdChhbmdsZVZhbHVlLCBhbmdsZVVuaXRzKSB7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChncmFkaWVudC5hbmdsZVZh
bHVlLCBhbmdsZVZhbHVlLCBgR3JhZGllbnQgaGFzIGFuZ2xlIHZhbHVlIG9mICcke2FuZ2xlVmFs
dWV9J2ApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoZ3JhZGll
bnQuYW5nbGVVbml0cywgYW5nbGVVbml0cywgYEdyYWRpZW50IGhhcyBhbmdsZSB1bml0cyBvZiAn
JHthbmdsZVVuaXRzfSdgKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKGdyYWRpZW50LnRvU3RyaW5nKCksICJsaW5lYXItZ3JhZGllbnQocmVkLCBibHVlKSIsICJ0
b1N0cmluZygpIHJldHVybnMgdGhlIHNhbWUgdmFsdWUgcmVnYXJkbGVzcyBvZiBhbmdsZSB1bml0
cyIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0ZXN0KDE4MCwgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHKTsKKworICAgICAgICAgICAgZ3JhZGllbnQu
YW5nbGVVbml0cyA9IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRDsK
KworICAgICAgICAgICAgdGVzdCgzLjE0LCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5n
bGVVbml0cy5SQUQpOworCisgICAgICAgICAgICBncmFkaWVudC5hbmdsZVVuaXRzID0gV2ViSW5z
cGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDsKKworICAgICAgICAgICAgdGVz
dCgyMDAsIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQpOworCisg
ICAgICAgICAgICBncmFkaWVudC5hbmdsZVVuaXRzID0gV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRp
ZW50LkFuZ2xlVW5pdHMuVFVSTjsKKworICAgICAgICAgICAgdGVzdCgwLjUsIFdlYkluc3BlY3Rv
ci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlRVUk4pOworCisgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlz
aCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
cD5UZXN0cyBmb3IgdGhlIFdlYkluc3BlY3Rvci5HcmFkaWVudCBtb2RlbCBvYmplY3QuPC9wPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYTA1NTVlNi4uNjJm
Njg0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTctMDIt
MDcgIERldmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBnbWFpbC5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogZ3JhZGllbnQgZWRpdG9yIHNob3VsZCBhbGxvdyBzd2l0Y2hpbmcgdGhl
IHVuaXRzIG9mIHRoZSAnYW5nbGUnIHBhcmFtZXRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2OTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJp
YW4gQnVyZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVGVzdC5odG1sOgorICAgICAgICBB
ZGQgV2ViSW5zcGVjdG9yLkdyYWRpZW50IGZvciBuZXcgbW9kZWwgb2JqZWN0IHRlc3RzLgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuR3JhZGllbnQuZnJvbVN0cmluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGlu
ZWFyR3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LmZyb21D
b21wb25lbnRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5
cGUuc2V0IGFuZ2xlVmFsdWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50
LnByb3RvdHlwZS5nZXQgYW5nbGVWYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGluZWFy
R3JhZGllbnQucHJvdG90eXBlLnNldCBhbmdsZVVuaXRzKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUuZ2V0IGFuZ2xlVW5pdHMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5jb3B5KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5MaW5lYXJHcmFkaWVudC5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LnByb3RvdHlwZS5fYW5nbGVWYWx1ZUZvclVuaXRzKToK
KyAgICAgICAgUmV3b3JrIHBhcnQgb2YgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50IHRvIHN1
cHBvcnQgdW5pdHMgb3RoZXIgdGhhbiAiZGVnIi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvR3JhZGllbnRFZGl0b3IuY3NzOgorICAgICAgICAoLmdyYWRpZW50LWVkaXRvciA+IC5n
cmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9InJhbmdlIl0pOgorICAgICAgICAoLmdyYWRpZW50
LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9Im51bWJlciJdKToKKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdyYWRp
ZW50RWRpdG9yLnByb3RvdHlwZS5zZXQgZ3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkdyYWRpZW50RWRpdG9yLnByb3RvdHlwZS5fZ3JhZGllbnRUeXBlQ2hhbmdlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJvdG90eXBlLl9hbmdsZVZhbHVlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJvdG90eXBlLl9hbmds
ZVVuaXRzQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IucHJv
dG90eXBlLl9hbmdsZUNoYW5nZWQpOiBEZWxldGVkLgorICAgICAgICBBZGQgPHNlbGVjdD4gZm9y
IGVhY2ggdW5pdCB0eXBlIHRoYXQgd2lsbCBjaGFuZ2UgdGhlIHVuaXRzIG9mIHRoZSBncmFkaWVu
dC4KKwogMjAxNy0wMS0yOCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogTmVlZCBzb21lIGxpbWl0IG9uIEFzeW5jIENhbGwgU3RhY2tz
IGZvciBhc3luYyBsb29wcyAockFGIGxvb3BzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzCmluZGV4IGFlMjNjYjUuLmY5
YjFjMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9HcmFkaWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvR3JhZGllbnQuanMKQEAgLTg1LDYgKzg1LDkgQEAgV2ViSW5zcGVjdG9yLkdyYWRp
ZW50ID0gY2xhc3MgR3JhZGllbnQKICAgICAgICAgICAgIGNoKys7CiAgICAgICAgIH0KIAorICAg
ICAgICBpZiAob3BlblBhcmVudGhlc2VzICE9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBudWxs
OworCiAgICAgICAgIHZhciBncmFkaWVudDsKICAgICAgICAgaWYgKHR5cGUgPT09IFdlYkluc3Bl
Y3Rvci5HcmFkaWVudC5UeXBlcy5MaW5lYXIpCiAgICAgICAgICAgICBncmFkaWVudCA9IFdlYklu
c3BlY3Rvci5MaW5lYXJHcmFkaWVudC5mcm9tQ29tcG9uZW50cyhjb21wb25lbnRzKTsKQEAgLTE2
Nyw0OCArMTcwLDU1IEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExpbmVh
ckdyYWRpZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkdyYWRpZW50CiAgICAgY29uc3RydWN0b3Io
YW5nbGUsIHN0b3BzKQogICAgIHsKICAgICAgICAgc3VwZXIoV2ViSW5zcGVjdG9yLkdyYWRpZW50
LlR5cGVzLkxpbmVhciwgc3RvcHMpOwotICAgICAgICB0aGlzLmFuZ2xlID0gYW5nbGU7CisgICAg
ICAgIHRoaXMuX2FuZ2xlID0gYW5nbGU7CiAgICAgfQogCiAgICAgLy8gU3RhdGljCiAKICAgICBz
dGF0aWMgZnJvbUNvbXBvbmVudHMoY29tcG9uZW50cykKICAgICB7Ci0gICAgICAgIHZhciBhbmds
ZSA9IDE4MDsKKyAgICAgICAgbGV0IGFuZ2xlID0ge3ZhbHVlOiAxODAsIHVuaXRzOiBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5ERUd9OworCisgICAgICAgIGlmIChjb21w
b25lbnRzWzBdLmxlbmd0aCA9PT0gMSAmJiAhV2ViSW5zcGVjdG9yLkNvbG9yLmZyb21TdHJpbmco
Y29tcG9uZW50c1swXVswXSkpIHsKKyAgICAgICAgICAgIGxldCBtYXRjaCA9IGNvbXBvbmVudHNb
MF1bMF0ubWF0Y2goLyhbLVxkXC5dKykoXHcrKS8pOworICAgICAgICAgICAgaWYgKCFtYXRjaCB8
fCAhT2JqZWN0LnZhbHVlcyhXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cyku
aW5jbHVkZXMobWF0Y2hbMl0pKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAg
ICAgICAgICBhbmdsZS52YWx1ZSA9IHBhcnNlRmxvYXQobWF0Y2hbMV0pOworICAgICAgICAgICAg
YW5nbGUudW5pdHMgPSBtYXRjaFsyXTsKIAotICAgICAgICBpZiAoY29tcG9uZW50c1swXS5sZW5n
dGggPT09IDEgJiYgY29tcG9uZW50c1swXVswXS5zdWJzdHIoLTMpID09PSAiZGVnIikgewotICAg
ICAgICAgICAgYW5nbGUgPSAocGFyc2VGbG9hdChjb21wb25lbnRzWzBdWzBdKSAlIDM2MCArIDM2
MCkgJSAzNjA7CiAgICAgICAgICAgICBjb21wb25lbnRzLnNoaWZ0KCk7CiAgICAgICAgIH0gZWxz
ZSBpZiAoY29tcG9uZW50c1swXVswXSA9PT0gInRvIikgewogICAgICAgICAgICAgY29tcG9uZW50
c1swXS5zaGlmdCgpOwogICAgICAgICAgICAgc3dpdGNoIChjb21wb25lbnRzWzBdLnNvcnQoKS5q
b2luKCIgIikpIHsKICAgICAgICAgICAgIGNhc2UgInRvcCI6Ci0gICAgICAgICAgICAgICAgYW5n
bGUgPSAwOworICAgICAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0gMDsKICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgIGNhc2UgInJpZ2h0IHRvcCI6Ci0gICAgICAgICAgICAgICAg
YW5nbGUgPSA0NTsKKyAgICAgICAgICAgICAgICBhbmdsZS52YWx1ZSA9IDQ1OwogICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAicmlnaHQiOgotICAgICAgICAgICAgICAg
IGFuZ2xlID0gOTA7CisgICAgICAgICAgICAgICAgYW5nbGUudmFsdWUgPSA5MDsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgImJvdHRvbSByaWdodCI6Ci0gICAgICAg
ICAgICAgICAgYW5nbGUgPSAxMzU7CisgICAgICAgICAgICAgICAgYW5nbGUudmFsdWUgPSAxMzU7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICJib3R0b20iOgotICAg
ICAgICAgICAgICAgIGFuZ2xlID0gMTgwOworICAgICAgICAgICAgICAgIGFuZ2xlLnZhbHVlID0g
MTgwOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAiYm90dG9tIGxl
ZnQiOgotICAgICAgICAgICAgICAgIGFuZ2xlID0gMjI1OworICAgICAgICAgICAgICAgIGFuZ2xl
LnZhbHVlID0gMjI1OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAi
bGVmdCI6Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAyNzA7CisgICAgICAgICAgICAgICAgYW5n
bGUudmFsdWUgPSAyNzA7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl
ICJsZWZ0IHRvcCI6Ci0gICAgICAgICAgICAgICAgYW5nbGUgPSAzMTU7CisgICAgICAgICAgICAg
ICAgYW5nbGUudmFsdWUgPSAzMTU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgICAgfQor
CiAgICAgICAgICAgICBjb21wb25lbnRzLnNoaWZ0KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoY29t
cG9uZW50c1swXS5sZW5ndGggIT09IDEgJiYgIVdlYkluc3BlY3Rvci5Db2xvci5mcm9tU3RyaW5n
KGNvbXBvbmVudHNbMF1bMF0pKSB7CiAgICAgICAgICAgICAvLyBJZiB0aGUgZmlyc3QgY29tcG9u
ZW50IGlzIG5vdCBhIGNvbG9yLCB0aGVuIHdlJ3JlIGRlYWxpbmcgd2l0aCBhCkBAIC0yMjUsMzEg
KzIzNSw1MCBAQCBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQgPSBjbGFzcyBMaW5lYXJHcmFk
aWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5HcmFkaWVudAogCiAgICAgLy8gUHVibGljCiAKKyAg
ICBzZXQgYW5nbGVWYWx1ZSh2YWx1ZSkgeyB0aGlzLl9hbmdsZS52YWx1ZSA9IHZhbHVlOyB9CisK
KyAgICBnZXQgYW5nbGVWYWx1ZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fYW5nbGUu
dmFsdWUubWF4RGVjaW1hbHMoMik7CisgICAgfQorCisgICAgc2V0IGFuZ2xlVW5pdHModW5pdHMp
CisgICAgeworICAgICAgICBpZiAodW5pdHMgPT09IHRoaXMuX2FuZ2xlLnVuaXRzKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2FuZ2xlLnZhbHVlID0gdGhpcy5fYW5nbGVW
YWx1ZUZvclVuaXRzKHVuaXRzKTsKKyAgICAgICAgdGhpcy5fYW5nbGUudW5pdHMgPSB1bml0czsK
KyAgICB9CisKKyAgICBnZXQgYW5nbGVVbml0cygpIHsgcmV0dXJuIHRoaXMuX2FuZ2xlLnVuaXRz
OyB9CisKICAgICBjb3B5KCkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50KHRoaXMuYW5nbGUsIHRoaXMuc3RvcHMuY29uY2F0KCkpOworICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudCh0aGlzLl9hbmdsZSwgdGhp
cy5zdG9wcy5jb25jYXQoKSk7CiAgICAgfQogCiAgICAgdG9TdHJpbmcoKQogICAgIHsKLSAgICAg
ICAgdmFyIHN0ciA9ICIiOworICAgICAgICBsZXQgc3RyID0gIiI7CiAKLSAgICAgICAgaWYgKHRo
aXMuYW5nbGUgPT09IDApCisgICAgICAgIGxldCBkZWcgPSB0aGlzLl9hbmdsZVZhbHVlRm9yVW5p
dHMoV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHKTsKKyAgICAgICAg
aWYgKGRlZyA9PT0gMCkKICAgICAgICAgICAgIHN0ciArPSAidG8gdG9wIjsKLSAgICAgICAgZWxz
ZSBpZiAodGhpcy5hbmdsZSA9PT0gNDUpCisgICAgICAgIGVsc2UgaWYgKGRlZyA9PT0gNDUpCiAg
ICAgICAgICAgICBzdHIgKz0gInRvIHRvcCByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMu
YW5nbGUgPT09IDkwKQorICAgICAgICBlbHNlIGlmIChkZWcgPT09IDkwKQogICAgICAgICAgICAg
c3RyICs9ICJ0byByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDEzNSkK
KyAgICAgICAgZWxzZSBpZiAoZGVnID09PSAxMzUpCiAgICAgICAgICAgICBzdHIgKz0gInRvIGJv
dHRvbSByaWdodCI7Ci0gICAgICAgIGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDIyNSkKKyAgICAg
ICAgZWxzZSBpZiAoZGVnID09PSAyMjUpCiAgICAgICAgICAgICBzdHIgKz0gInRvIGJvdHRvbSBs
ZWZ0IjsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5hbmdsZSA9PT0gMjcwKQorICAgICAgICBlbHNl
IGlmIChkZWcgPT09IDI3MCkKICAgICAgICAgICAgIHN0ciArPSAidG8gbGVmdCI7Ci0gICAgICAg
IGVsc2UgaWYgKHRoaXMuYW5nbGUgPT09IDMxNSkKKyAgICAgICAgZWxzZSBpZiAoZGVnID09PSAz
MTUpCiAgICAgICAgICAgICBzdHIgKz0gInRvIHRvcCBsZWZ0IjsKLSAgICAgICAgZWxzZSBpZiAo
dGhpcy5hbmdsZSAhPT0gMTgwKQotICAgICAgICAgICAgc3RyICs9IHRoaXMuYW5nbGUgKyAiZGVn
IjsKKyAgICAgICAgZWxzZSBpZiAoZGVnICE9PSAxODApCisgICAgICAgICAgICBzdHIgKz0gdGhp
cy5hbmdsZVZhbHVlICsgdGhpcy5hbmdsZVVuaXRzOwogCiAgICAgICAgIGlmIChzdHIgIT09ICIi
KQogICAgICAgICAgICAgc3RyICs9ICIsICI7CkBAIC0yNTgsNiArMjg3LDY3IEBAIFdlYkluc3Bl
Y3Rvci5MaW5lYXJHcmFkaWVudCA9IGNsYXNzIExpbmVhckdyYWRpZW50IGV4dGVuZHMgV2ViSW5z
cGVjdG9yLkdyYWRpZW50CiAKICAgICAgICAgcmV0dXJuICh0aGlzLnJlcGVhdHMgPyAicmVwZWF0
aW5nLSIgOiAiIikgKyB0aGlzLnR5cGUgKyAiKCIgKyBzdHIgKyAiKSI7CiAgICAgfQorCisgICAg
Ly8gUHJpdmF0ZQorCisgICAgX2FuZ2xlVmFsdWVGb3JVbml0cyh1bml0cykKKyAgICB7CisgICAg
ICAgIGlmICh1bml0cyA9PT0gdGhpcy5fYW5nbGUudW5pdHMpCisgICAgICAgICAgICByZXR1cm4g
dGhpcy5fYW5nbGUudmFsdWU7CisKKyAgICAgICAgbGV0IGRlZyA9IDA7CisKKyAgICAgICAgc3dp
dGNoICh0aGlzLl9hbmdsZS51bml0cykgeworICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5MaW5l
YXJHcmFkaWVudC5BbmdsZVVuaXRzLkRFRzoKKyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xl
LnZhbHVlOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3Iu
TGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5SQUQ6CisgICAgICAgICAgICBkZWcgPSB0aGlzLl9h
bmdsZS52YWx1ZSAqIDE4MCAvIE1hdGguUEk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLkdSQUQ6CisgICAg
ICAgICAgICBkZWcgPSB0aGlzLl9hbmdsZS52YWx1ZSAvIDQwMCAqIDM2MDsKKyAgICAgICAgICAg
IGJyZWFrOworCisgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xl
VW5pdHMuVFVSTjoKKyAgICAgICAgICAgIGRlZyA9IHRoaXMuX2FuZ2xlLnZhbHVlICogMzYwOwor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5yZXBvcnRJbnRlcm5hbEVycm9yKGBVbmtub3duIGFuZ2xlIHVuaXRzICIke3RoaXMu
X2FuZ2xlLnVuaXRzfSJgKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisKKyAg
ICAgICAgbGV0IHZhbHVlID0gMDsKKworICAgICAgICBzd2l0Y2ggKHVuaXRzKSB7CisgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuREVHOgorICAgICAg
ICAgICAgdmFsdWUgPSBkZWc7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRDoKKyAgICAgICAgICAgIHZh
bHVlID0gZGVnICogTWF0aC5QSSAvIDE4MDsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRpZW50LkFuZ2xlVW5pdHMuR1JBRDoKKyAgICAg
ICAgICAgIHZhbHVlID0gZGVnIC8gMzYwICogNDAwOworICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5UVVJOOgor
ICAgICAgICAgICAgdmFsdWUgPSBkZWcgLyAzNjA7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorCisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3Iu
TGluZWFyR3JhZGllbnQuQW5nbGVVbml0cyA9IHsKKyAgICBERUc6ICJkZWciLAorICAgIFJBRDog
InJhZCIsCisgICAgR1JBRDogImdyYWQiLAorICAgIFRVUk46ICJ0dXJuIiwKIH07CiAKIFdlYklu
c3BlY3Rvci5SYWRpYWxHcmFkaWVudCA9IGNsYXNzIFJhZGlhbEdyYWRpZW50IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLkdyYWRpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9UZXN0Lmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UZXN0Lmh0bWwKaW5kZXggODJkYTYwMS4uZDllNDFiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGVzdC5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Rlc3QuaHRtbApAQCAtMTIzLDYgKzEyMyw3IEBACiAgICAg
PHNjcmlwdCBzcmM9Ik1vZGVscy9GcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9HYXJiYWdlQ29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9HZW9tZXRyeS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9H
cmFkaWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9IZWFwQWxsb2Nh
dGlvbnNJbnN0cnVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL0hl
YXBBbGxvY2F0aW9uc1RpbWVsaW5lUmVjb3JkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNy
Yz0iTW9kZWxzL0luZGV4ZWREYXRhYmFzZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRvci5jc3Mg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRv
ci5jc3MKaW5kZXggNjJkNjA1Zi4uYjhkYTZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR3JhZGllbnRFZGl0b3IuY3NzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmNzcwpA
QCAtODgsMTIgKzg4LDEzIEBACiB9CiAKIC5ncmFkaWVudC1lZGl0b3IgPiAuZ3JhZGllbnQtYW5n
bGUgPiBpbnB1dFt0eXBlPSJyYW5nZSJdIHsKLSAgICB3aWR0aDogMTAwJTsKKyAgICBmbGV4LWdy
b3c6IDE7CisgICAgd2lkdGg6IDA7CiAgICAgbWFyZ2luOiAwIDRweDsKIH0KIAogLmdyYWRpZW50
LWVkaXRvciA+IC5ncmFkaWVudC1hbmdsZSA+IGlucHV0W3R5cGU9Im51bWJlciJdIHsKLSAgICB3
aWR0aDogNjBweDsKKyAgICB3aWR0aDogMzVweDsKICAgICBtYXJnaW4tcmlnaHQ6IDJweDsKICAg
ICBwYWRkaW5nLXJpZ2h0OiA0cHg7CiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HcmFkaWVudEVkaXRv
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50
RWRpdG9yLmpzCmluZGV4IDVlYWQxNTUuLmYxNTFmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dyYWRpZW50RWRpdG9yLmpz
CkBAIC03OSwyMSArNzksMzIgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yID0gY2xhc3Mg
R3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIGFuZ2xl
Q29udGFpbmVyRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJncmFkaWVudC1hbmdsZSIpOwogICAgICAg
ICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQW5n
bGUiKSk7CiAKLSAgICAgICAgbGV0IGJvdW5kQW5nbGVDaGFuZ2VkID0gdGhpcy5fYW5nbGVDaGFu
Z2VkLmJpbmQodGhpcyk7CisgICAgICAgIGxldCBib3VuZEFuZ2xlVmFsdWVDaGFuZ2VkID0gdGhp
cy5fYW5nbGVWYWx1ZUNoYW5nZWQuYmluZCh0aGlzKTsKIAogICAgICAgICB0aGlzLl9hbmdsZVNs
aWRlckVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVu
dC50eXBlID0gInJhbmdlIjsKLSAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50Lm1pbiA9
IDA7Ci0gICAgICAgIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5tYXggPSAzNjA7Ci0gICAgICAg
IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIGJvdW5k
QW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImlucHV0IiwgYm91bmRBbmdsZVZhbHVlQ2hhbmdlZCk7CiAKICAgICAgICAgdGhp
cy5fYW5nbGVJbnB1dEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2FuZ2xlSW5w
dXRFbGVtZW50LnR5cGUgPSAibnVtYmVyIjsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1l
bnQubWluID0gMDsKLSAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQubWF4ID0gMzYwOwot
ICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIs
IGJvdW5kQW5nbGVDaGFuZ2VkKTsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiaW5wdXQiLCBib3VuZEFuZ2xlVmFsdWVDaGFuZ2VkKTsKIAotICAgICAg
ICBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kKCJkZWciKTsKKyAgICAgICAgdGhpcy5fYW5n
bGVVbml0c1NlbGVjdEVsZW1lbnQgPSBhbmdsZUNvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2VsZWN0IikpOworICAgICAgICB0aGlzLl9hbmdsZVVu
aXRzU2VsZWN0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB0aGlzLl9hbmdsZVVu
aXRzQ2hhbmdlZC5iaW5kKHRoaXMpKTsKKworICAgICAgICBjb25zdCBhbmdsZVVuaXRzRGF0YSA9
IFsKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5nbGVV
bml0cy5ERUcsIG1pbjogMCwgbWF4OiAzNjAsIHN0ZXA6IDF9LAorICAgICAgICAgICAge25hbWU6
IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVudC5BbmdsZVVuaXRzLlJBRCwgbWluOiAwLCBtYXg6
IDIgKiBNYXRoLlBJLCBzdGVwOiAwLjAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0
b3IuTGluZWFyR3JhZGllbnQuQW5nbGVVbml0cy5HUkFELCBtaW46IDAsIG1heDogNDAwLCBzdGVw
OiAxfSwKKyAgICAgICAgICAgIHtuYW1lOiBXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQuQW5n
bGVVbml0cy5UVVJOLCBtaW46IDAsIG1heDogMSwgc3RlcDogMC4wMX0KKyAgICAgICAgXTsKKwor
ICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ29uZmlndXJhdGlvbiA9IG5ldyBNYXAoYW5nbGVVbml0
c0RhdGEubWFwKCh7bmFtZSwgbWluLCBtYXgsIHN0ZXB9KSA9PiB7CisgICAgICAgICAgICBsZXQg
b3B0aW9uRWxlbWVudCA9IHRoaXMuX2FuZ2xlVW5pdHNTZWxlY3RFbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTsKKyAgICAgICAgICAgIG9wdGlvbkVs
ZW1lbnQudmFsdWUgPSBvcHRpb25FbGVtZW50LnRleHRDb250ZW50ID0gbmFtZTsKKworICAgICAg
ICAgICAgcmV0dXJuIFtuYW1lLCB7ZWxlbWVudDogb3B0aW9uRWxlbWVudCwgbWluLCBtYXgsIHN0
ZXB9XTsKKyAgICAgICAgfSkpOwogICAgIH0KIAogICAgIGdldCBlbGVtZW50KCkKQEAgLTExNiw3
ICsxMjcsOCBAQCBXZWJJbnNwZWN0b3IuR3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVudEVk
aXRvciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdGhpcy5fZ3JhZGllbnRT
bGlkZXIuc3RvcHMgPSB0aGlzLl9ncmFkaWVudC5zdG9wczsKICAgICAgICAgaWYgKGlzTGluZWFy
KSB7CiAgICAgICAgICAgICB0aGlzLl9ncmFkaWVudFR5cGVQaWNrZXIudmFsdWUgPSB0aGlzLl9n
cmFkaWVudC5yZXBlYXRzID8gInJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQiIDogImxpbmVhci1n
cmFkaWVudCI7Ci0gICAgICAgICAgICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudmFsdWUgPSB0
aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2dyYWRpZW50LmFuZ2xlOworCisg
ICAgICAgICAgICB0aGlzLl9hbmdsZVVuaXRzQ2hhbmdlZCgpOwogICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgIHRoaXMuX2dyYWRpZW50VHlwZVBpY2tlci52YWx1ZSA9IHRoaXMuX2dyYWRpZW50
LnJlcGVhdHMgPyAicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCIgOiAicmFkaWFsLWdyYWRpZW50
IjsKIApAQCAtMTc1LDcgKzE4Nyw4IEBAIFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvciA9IGNs
YXNzIEdyYWRpZW50RWRpdG9yIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBp
ZiAoISh0aGlzLl9ncmFkaWVudCBpbnN0YW5jZW9mIGRlc2NyaXB0b3IudHlwZSkpIHsKICAgICAg
ICAgICAgIGlmIChkZXNjcmlwdG9yLnR5cGUgPT09IFdlYkluc3BlY3Rvci5MaW5lYXJHcmFkaWVu
dCkgewogICAgICAgICAgICAgICAgIHRoaXMuX2dyYWRpZW50ID0gbmV3IFdlYkluc3BlY3Rvci5M
aW5lYXJHcmFkaWVudCgxODAsIHRoaXMuX2dyYWRpZW50LnN0b3BzKTsKLSAgICAgICAgICAgICAg
ICB0aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQudmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxlbWVu
dC52YWx1ZSA9IDE4MDsKKworICAgICAgICAgICAgICAgIHRoaXMuX2FuZ2xlVW5pdHNDaGFuZ2Vk
KCk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICB0aGlzLl9ncmFkaWVudCA9
IG5ldyBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQoIiIsIHRoaXMuX2dyYWRpZW50LnN0b3Bz
KTsKIApAQCAtMTk0LDE0ICsyMDcsMTQgQEAgV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9yID0g
Y2xhc3MgR3JhZGllbnRFZGl0b3IgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRv
ci5FdmVudC5HcmFkaWVudENoYW5nZWQsIHtncmFkaWVudDogdGhpcy5fZ3JhZGllbnR9KTsKICAg
ICB9CiAKLSAgICBfYW5nbGVDaGFuZ2VkKGV2ZW50KQorICAgIF9hbmdsZVZhbHVlQ2hhbmdlZChl
dmVudCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoZXZlbnQudGFyZ2V0KSB7CiAgICAgICAgIGNh
c2UgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQ6Ci0gICAgICAgICAgICB0aGlzLl9ncmFkaWVudC5h
bmdsZSA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSA9IHBhcnNlRmxvYXQodGhpcy5f
YW5nbGVJbnB1dEVsZW1lbnQudmFsdWUpIHx8IDA7CisgICAgICAgICAgICB0aGlzLl9ncmFkaWVu
dC5hbmdsZVZhbHVlID0gdGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlID0gcGFyc2VGbG9h
dCh0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSkgfHwgMDsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudDoKLSAgICAgICAgICAgIHRo
aXMuX2dyYWRpZW50LmFuZ2xlID0gdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBwYXJz
ZUZsb2F0KHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC52YWx1ZSkgfHwgMDsKKyAgICAgICAgICAg
IHRoaXMuX2dyYWRpZW50LmFuZ2xlVmFsdWUgPSB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1
ZSA9IHBhcnNlRmxvYXQodGhpcy5fYW5nbGVTbGlkZXJFbGVtZW50LnZhbHVlKSB8fCAwOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IucmVwb3J0SW50ZXJuYWxFcnJvcigiSW5wdXQgZXZlbnQgZmlyZWQgZm9yIGRpc2FibGVkIGNv
bG9yIGNvbXBvbmVudCBpbnB1dCIpOwpAQCAtMjEwLDYgKzIyMywyNSBAQCBXZWJJbnNwZWN0b3Iu
R3JhZGllbnRFZGl0b3IgPSBjbGFzcyBHcmFkaWVudEVkaXRvciBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuR3JhZGllbnRFZGl0b3IuRXZlbnQuR3JhZGllbnRDaGFuZ2VkLCB7Z3JhZGllbnQ6IHRo
aXMuX2dyYWRpZW50fSk7CiAgICAgfQorCisgICAgX2FuZ2xlVW5pdHNDaGFuZ2VkKGV2ZW50KQor
ICAgIHsKKyAgICAgICAgbGV0IHVuaXRzID0gdGhpcy5fYW5nbGVVbml0c1NlbGVjdEVsZW1lbnQu
dmFsdWU7CisgICAgICAgIGxldCBjb25maWd1cmF0aW9uID0gdGhpcy5fYW5nbGVVbml0c0NvbmZp
Z3VyYXRpb24uZ2V0KHVuaXRzKTsKKyAgICAgICAgaWYgKCFjb25maWd1cmF0aW9uKSB7CisgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IucmVwb3J0SW50ZXJuYWxFcnJvcihgTWlzc2luZyBjb25maWd1
cmF0aW9uIGRhdGEgZm9yIHNlbGVjdGVkIGFuZ2xlIHVuaXRzICIke3VuaXRzfSJgKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX2dyYWRpZW50LmFuZ2xl
VW5pdHMgPSB1bml0czsKKworICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC5taW4gPSB0
aGlzLl9hbmdsZVNsaWRlckVsZW1lbnQubWluID0gY29uZmlndXJhdGlvbi5taW47CisgICAgICAg
IHRoaXMuX2FuZ2xlSW5wdXRFbGVtZW50Lm1heCA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5t
YXggPSBjb25maWd1cmF0aW9uLm1heDsKKyAgICAgICAgdGhpcy5fYW5nbGVJbnB1dEVsZW1lbnQu
c3RlcCA9IHRoaXMuX2FuZ2xlU2xpZGVyRWxlbWVudC5zdGVwID0gY29uZmlndXJhdGlvbi5zdGVw
OworICAgICAgICB0aGlzLl9hbmdsZUlucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2FuZ2xlU2xp
ZGVyRWxlbWVudC52YWx1ZSA9IHRoaXMuX2dyYWRpZW50LmFuZ2xlVmFsdWU7CisKKyAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkdyYWRpZW50RWRpdG9y
LkV2ZW50LkdyYWRpZW50Q2hhbmdlZCwge2dyYWRpZW50OiB0aGlzLl9ncmFkaWVudH0pOworICAg
IH0KIH07CiAKIFdlYkluc3BlY3Rvci5HcmFkaWVudEVkaXRvci5FdmVudCA9IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>