<?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>112338</bug_id>
          
          <creation_ts>2013-03-14 03:18:59 -0700</creation_ts>
          <short_desc>Web Inspector: [DataGrid] Specify columns with array of descriptors.</short_desc>
          <delta_ts>2013-03-14 22:31:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eugene Klyuchnikov">eustas</reporter>
          <assigned_to name="Eugene Klyuchnikov">eustas</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>855109</commentid>
    <comment_count>0</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-14 03:18:59 -0700</bug_when>
    <thetext>Currently columns are specified by Object that maps column identifiers to column descriptors.

Iteration order over Object keys is not guaranteed. Array should be used to specify column order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855111</commentid>
    <comment_count>1</comment_count>
      <attachid>193100</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-14 03:22:19 -0700</bug_when>
    <thetext>Created attachment 193100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855138</commentid>
    <comment_count>2</comment_count>
      <attachid>193100</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-14 05:30:58 -0700</bug_when>
    <thetext>Comment on attachment 193100
Patch

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

&gt; Source/WebCore/inspector/front-end/DataGrid.js:29
&gt; + * @param {!Array.&lt;!WebInspector.DataGrid.ColumnDescriptor&gt;} columns

Lets name it columnsArray

&gt; Source/WebCore/inspector/front-end/DataGrid.js:84
&gt; +        column.ordinal = i;

Why do you need ordinals now?

&gt; Source/WebCore/inspector/front-end/DataGrid.js:-117
&gt; -    columnGroup.span = this._columnCount;

Where did this go?

&gt; Source/WebCore/inspector/front-end/DataGrid.js:-125
&gt; -    var fillerRow = document.createElement(&quot;tr&quot;);

Where did this go?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855167</commentid>
    <comment_count>3</comment_count>
      <attachid>193100</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-14 06:51:43 -0700</bug_when>
    <thetext>Comment on attachment 193100
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/DataGrid.js:29
&gt;&gt; + * @param {!Array.&lt;!WebInspector.DataGrid.ColumnDescriptor&gt;} columns
&gt; 
&gt; Lets name it columnsArray

Ok

&gt;&gt; Source/WebCore/inspector/front-end/DataGrid.js:84
&gt;&gt; +        column.ordinal = i;
&gt; 
&gt; Why do you need ordinals now?

Ordinals are still handy for editing/navigation.
I&apos;ll cut it and show how it looks like without ordinals.

&gt;&gt; Source/WebCore/inspector/front-end/DataGrid.js:-117
&gt;&gt; -    columnGroup.span = this._columnCount;
&gt; 
&gt; Where did this go?

See :74

&gt;&gt; Source/WebCore/inspector/front-end/DataGrid.js:-125
&gt;&gt; -    var fillerRow = document.createElement(&quot;tr&quot;);
&gt; 
&gt; Where did this go?

See :76-77, :126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855169</commentid>
    <comment_count>4</comment_count>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-14 06:57:40 -0700</bug_when>
    <thetext>.ordinal is used for custom column resize in NetworkPanel.
IMHO removing .ordinal should be a subject of another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855172</commentid>
    <comment_count>5</comment_count>
      <attachid>193117</attachid>
    <who name="Eugene Klyuchnikov">eustas</who>
    <bug_when>2013-03-14 07:03:17 -0700</bug_when>
    <thetext>Created attachment 193117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855700</commentid>
    <comment_count>6</comment_count>
      <attachid>193117</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 22:31:17 -0700</bug_when>
    <thetext>Comment on attachment 193117
Patch

Clearing flags on attachment: 193117

Committed r145875: &lt;http://trac.webkit.org/changeset/145875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855701</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-14 22:31:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193100</attachid>
            <date>2013-03-14 03:22:19 -0700</date>
            <delta_ts>2013-03-14 07:03:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112338-20130314141814.patch</filename>
            <type>text/plain</type>
            <size>40465</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY2OGY1ZmYxYjhiOGM3
MzI4M2Y0YjI4YTEyZTg3YTdjY2Y5NGQwYi4uMmZiZmRhZDZjZTU3NjMyMjBhMDU2ODgyMDcxOTRi
ODFhYzUxN2RkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTE0ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtEYXRhR3JpZF0gU3BlY2lmeSBjb2x1bW5zIHdpdGggYXJyYXkgb2YgZGVzY3JpcHRv
cnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJy
ZW50bHkgY29sdW1ucyBhcmUgc3BlY2lmaWVkIGJ5IE9iamVjdCB0aGF0IG1hcHMKKyAgICAgICAg
Y29sdW1uIGlkZW50aWZpZXJzIHRvIGNvbHVtbiBkZXNjcmlwdG9ycy4gSXRlcmF0aW9uIG9yZGVy
IG92ZXIKKyAgICAgICAgT2JqZWN0IGtleXMgaXMgbm90IGd1YXJhbnRlZWQuCisKKyAgICAgICAg
QXJyYXkgc2hvdWxkIGJlIHVzZWQgdG8gc3BlY2lmeSBjb2x1bW4gb3JkZXIuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzOiBDaGFuZ2UgY29uc3J0cnVjdG9yIHBh
cmFtZXRlciB0eXBlLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25D
YWNoZUl0ZW1zVmlldy5qczogQWRvcHQgY2hhbmdlcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanM6IERpdHRvLgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanM6IERpdHRvLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZXNUYWJsZS5qczogRGl0dG8uCisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzOiBEaXR0by4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNvbnRlbnRWaWV3LmpzOiBEaXR0by4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qczogRGl0dG8uCisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3REYXRhR3JpZHMuanM6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCVmlld3MuanM6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3
LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
czogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdlYlNvY2tl
dEZyYW1lVmlldy5qczogRGl0dG8uCisKIDIwMTMtMDMtMTQgIFNlcmdpbyBWaWxsYXIgU2VuaW4g
IDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgRW1wdHkgbGlzdCBpdGVtcyBhZnRlciBk
cmFnJmRyb3AgaW4gY29udGVudEVkaXRhYmxlIGRpdnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmll
dy5qcwppbmRleCBkNTk0NDcwNzAxODJmZWY5ZjE0YWFkM2Q1ZjczNzFhZmYyZTExOTAyLi43Y2Mz
YmNiNjM5NWI3MTAwYWVmODYyNzc0YjM5MTVhZDQxNmNhMjljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hl
SXRlbXNWaWV3LmpzCkBAIC0xOTYsMTUgKzE5NiwxMSBAQCBXZWJJbnNwZWN0b3IuQXBwbGljYXRp
b25DYWNoZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfY3JlYXRlRGF0YUdyaWQ6IGZ1
bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBjb2x1bW5zID0geyAwOiB7fSwgMToge30sIDI6
IHt9IH07Ci0gICAgICAgIGNvbHVtbnNbMF0udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlJlc291cmNlIik7Ci0gICAgICAgIGNvbHVtbnNbMF0uc29ydCA9ICJhc2NlbmRpbmciOwotICAg
ICAgICBjb2x1bW5zWzBdLnNvcnRhYmxlID0gdHJ1ZTsKLSAgICAgICAgY29sdW1uc1sxXS50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVHlwZSIpOwotICAgICAgICBjb2x1bW5zWzFdLnNv
cnRhYmxlID0gdHJ1ZTsKLSAgICAgICAgY29sdW1uc1syXS50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU2l6ZSIpOwotICAgICAgICBjb2x1bW5zWzJdLmFsaWduZWQgPSAicmlnaHQiOwot
ICAgICAgICBjb2x1bW5zWzJdLnNvcnRhYmxlID0gdHJ1ZTsKKyAgICAgICAgdmFyIGNvbHVtbnMg
PSBbCisgICAgICAgICAgICB7dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVzb3VyY2Ui
KSwgc29ydDogImFzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAgICAgIHt0aXRs
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBlIiksIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAg
ICAgICAgIHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaXplIiksIGFsaWduZWQ6ICJy
aWdodCIsIHNvcnRhYmxlOiB0cnVlfQorICAgICAgICBdOwogICAgICAgICB0aGlzLl9kYXRhR3Jp
ZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQoY29sdW1ucyk7CiAgICAgICAgIHRoaXMuX2Rh
dGFHcmlkLnNob3codGhpcy5lbGVtZW50KTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkRXZl
bnRMaXN0ZW5lcigic29ydGluZyBjaGFuZ2VkIiwgdGhpcy5fcG9wdWxhdGVEYXRhR3JpZCwgdGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVBy
b2ZpbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9m
aWxlVmlldy5qcwppbmRleCA2OGQ3MzI4OWY5YzNhMzMwNjE1ZmFmOTkxOTZkNGUzZjkyM2Y5N2E3
Li4zOWUyZTY2NTEyYzhhNjhjZDIzOGZlZjA3NTdiMDhiNTg5Nzg1MjVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanMKQEAg
LTM5LDE2ICszOSwxNCBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcgPSBmdW5jdGlvbihw
cm9maWxlKQogICAgIHRoaXMuc2hvd0F2ZXJhZ2VUaW1lQXNQZXJjZW50ID0gV2ViSW5zcGVjdG9y
LnNldHRpbmdzLmNyZWF0ZVNldHRpbmcoImNwdVByb2ZpbGVyU2hvd0F2ZXJhZ2VUaW1lQXNQZXJj
ZW50IiwgdHJ1ZSk7CiAgICAgdGhpcy5fdmlld1R5cGUgPSBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
Y3JlYXRlU2V0dGluZygiY3B1UHJvZmlsZXJWaWV3IiwgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVW
aWV3Ll9UeXBlSGVhdnkpOwogCi0gICAgdmFyIGNvbHVtbnMgPSB7ICJzZWxmIjogeyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxmIiksIHdpZHRoOiAiNzJweCIsIHNvcnQ6ICJkZXNj
ZW5kaW5nIiwgc29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgInRvdGFsIjog
eyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCIpLCB3aWR0aDogIjcycHgiLCBz
b3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICAiYXZlcmFnZSI6IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQXZlcmFnZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJs
ZTogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICAiY2FsbHMiOiB7IHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkNhbGxzIiksIHdpZHRoOiAiNTRweCIsIHNvcnRhYmxlOiB0cnVlIH0s
Ci0gICAgICAgICAgICAgICAgICAgICJmdW5jdGlvbiI6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRnVuY3Rpb24iKSwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWUgfSB9
OwotCi0gICAgaWYgKENhcGFiaWxpdGllcy5zYW1wbGluZ0NQVVByb2ZpbGVyKSB7Ci0gICAgICAg
IGRlbGV0ZSBjb2x1bW5zLmF2ZXJhZ2U7Ci0gICAgICAgIGRlbGV0ZSBjb2x1bW5zLmNhbGxzOwor
ICAgIHZhciBjb2x1bW5zID0gW107CisgICAgY29sdW1ucy5wdXNoKHtpZDogInNlbGYiLCB0aXRs
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxmIiksIHdpZHRoOiAiNzJweCIsIHNvcnQ6ICJk
ZXNjZW5kaW5nIiwgc29ydGFibGU6IHRydWV9KTsKKyAgICBjb2x1bW5zLnB1c2goe2lkOiAidG90
YWwiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCIpLCB3aWR0aDogIjcycHgi
LCBzb3J0YWJsZTogdHJ1ZX0pOworICAgIGlmICghQ2FwYWJpbGl0aWVzLnNhbXBsaW5nQ1BVUHJv
ZmlsZXIpIHsKKyAgICAgICAgY29sdW1ucy5wdXNoKHtpZDogImF2ZXJhZ2UiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJBdmVyYWdlIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0
cnVlfSk7CisgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJjYWxscyIsIHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkNhbGxzIiksIHdpZHRoOiAiNTRweCIsIHNvcnRhYmxlOiB0cnVlfSk7
CiAgICAgfQorICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJmdW5jdGlvbiIsIHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkZ1bmN0aW9uIiksIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0
cnVlfSk7CiAKICAgICB0aGlzLmRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChj
b2x1bW5zKTsKICAgICB0aGlzLmRhdGFHcmlkLmFkZEV2ZW50TGlzdGVuZXIoInNvcnRpbmcgY2hh
bmdlZCIsIHRoaXMuX3NvcnRQcm9maWxlLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5qcwpp
bmRleCBmNDMzYzEzMDZmYmE1ZDBmMzI4ZTc2OWY4MTliN2NhODFjNzhlYjQ2Li4yNTdlMzcyMDZi
MTFmYTNjNGZiNDcxNGU3OGRkMDczMjgzNDhjNjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2ZpbGVWaWV3Lmpz
CkBAIC05MiwxMCArOTIsMTIgQEAgV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yUHJvZmlsZVZpZXcg
PSBmdW5jdGlvbihwcm9maWxlKQogCiAgICAgdGhpcy5zaG93VGltZUFzUGVyY2VudCA9IFdlYklu
c3BlY3Rvci5zZXR0aW5ncy5jcmVhdGVTZXR0aW5nKCJzZWxlY3RvclByb2ZpbGVyU2hvd1RpbWVB
c1BlcmNlbnQiLCB0cnVlKTsKIAotICAgIHZhciBjb2x1bW5zID0geyAic2VsZWN0b3IiOiB7IHRp
dGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdG9yIiksIHdpZHRoOiAiNTUwcHgiLCBz
b3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICAic291cmNlIjogeyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTb3VyY2UiKSwgd2lkdGg6ICIxMDBweCIsIHNvcnRhYmxl
OiB0cnVlIH0sCi0gICAgICAgICAgICAgICAgICAgICJ0aW1lIjogeyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJUb3RhbCIpLCB3aWR0aDogIjcycHgiLCBzb3J0OiAiZGVzY2VuZGluZyIs
IHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgICAgICAgICAgICAgICJtYXRjaGVzIjogeyB0aXRs
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNYXRjaGVzIiksIHdpZHRoOiAiNzJweCIsIHNvcnRh
YmxlOiB0cnVlIH0gfTsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAgICAge2lkOiAic2VsZWN0
b3IiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxlY3RvciIpLCB3aWR0aDogIjU1
MHB4Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJzb3VyY2UiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTb3VyY2UiKSwgd2lkdGg6ICIxMDBweCIsIHNvcnRhYmxlOiB0
cnVlfSwKKyAgICAgICAge2lkOiAidGltZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlRvdGFsIiksIHdpZHRoOiAiNzJweCIsIHNvcnQ6ICJkZXNjZW5kaW5nIiwgc29ydGFibGU6IHRy
dWV9LAorICAgICAgICB7aWQ6ICJtYXRjaGVzIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiTWF0Y2hlcyIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTogdHJ1ZX0KKyAgICBdOwogCiAg
ICAgdGhpcy5kYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQoY29sdW1ucyk7CiAg
ICAgdGhpcy5kYXRhR3JpZC5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoInNlbGVjdG9yLXByb2ZpbGUt
dmlldyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
YW52YXNQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q2FudmFzUHJvZmlsZVZpZXcuanMKaW5kZXggNjhhN2VlMTJkNjRiYWExMWFkMzRlODRmMDNjYTJh
ZGQ3NzU1ZmMzNy4uYTFiNmYzYTIwZGE0NDNmZWIyYjhmNTc1NjcyMjc1NjA0ZGRjZWY5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYW52YXNQcm9maWxl
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1By
b2ZpbGVWaWV3LmpzCkBAIC03MCwxNyArNzAsMTEgQEAgV2ViSW5zcGVjdG9yLkNhbnZhc1Byb2Zp
bGVWaWV3ID0gZnVuY3Rpb24ocHJvZmlsZSkKICAgICAvKiogQHR5cGUgeyFPYmplY3QuPHN0cmlu
ZywgQ2FudmFzQWdlbnQuUmVzb3VyY2VTdGF0ZT59ICovCiAgICAgdGhpcy5fY3VycmVudFJlc291
cmNlU3RhdGVzID0ge307CiAKLSAgICB2YXIgY29sdW1ucyA9IHsgMDoge30sIDE6IHt9LCAyOiB7
fSB9OwotICAgIGNvbHVtbnNbMF0udGl0bGUgPSAiIyI7Ci0gICAgY29sdW1uc1swXS5zb3J0YWJs
ZSA9IHRydWU7Ci0gICAgY29sdW1uc1swXS53aWR0aCA9ICI1JSI7Ci0gICAgY29sdW1uc1sxXS50
aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2FsbCIpOwotICAgIGNvbHVtbnNbMV0uc29y
dGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnNbMV0ud2lkdGggPSAiNzUlIjsKLSAgICBjb2x1bW5z
WzFdLmRpc2Nsb3N1cmUgPSB0cnVlOwotICAgIGNvbHVtbnNbMl0udGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkxvY2F0aW9uIik7Ci0gICAgY29sdW1uc1syXS5zb3J0YWJsZSA9IHRydWU7
Ci0gICAgY29sdW1uc1syXS53aWR0aCA9ICIyMCUiOworICAgIHZhciBjb2x1bW5zID0gWworICAg
ICAgICB7dGl0bGU6ICIjIiwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiNSUifSwKKyAgICAgICAg
e3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbGwiKSwgc29ydGFibGU6IHRydWUsIHdp
ZHRoOiAiNzUlIiwgZGlzY2xvc3VyZTogdHJ1ZX0sCisgICAgICAgIHt0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJMb2NhdGlvbiIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIyMCUifQor
ICAgIF07CiAKICAgICB0aGlzLl9sb2dHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChj
b2x1bW5zKTsKICAgICB0aGlzLl9sb2dHcmlkLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiZmlsbCIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJ
dGVtc1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0
ZW1zVmlldy5qcwppbmRleCBkOTgxYTdmN2E1YTE1MDMzYzAxMjlmNmNhZmRmZjY4YmQ2ZmJlOGQy
Li5kNGNjZjNiZGYxZTk1MmEyNzMyYTlhM2EwYTMyZDJmZWUwZjEyMTgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZUl0ZW1zVmlldy5qcwpA
QCAtMTcyLDExICsxNzIsMTAgQEAgV2ViSW5zcGVjdG9yLlNpbXBsZUNvb2tpZXNUYWJsZSA9IGZ1
bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuVmlldy5jYWxsKHRoaXMpOwogCi0gICAgdmFy
IGNvbHVtbnMgPSB7fTsKLSAgICBjb2x1bW5zWzBdID0ge307Ci0gICAgY29sdW1uc1sxXSA9IHt9
OwotICAgIGNvbHVtbnNbMF0udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5hbWUiKTsK
LSAgICBjb2x1bW5zWzFdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJWYWx1ZSIpOwor
ICAgIHZhciBjb2x1bW5zID0gWworICAgICAgICB7dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiTmFtZSIpfSwKKyAgICAgICAge3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZhbHVl
Iil9CisgICAgXTsKIAogICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRh
R3JpZChjb2x1bW5zKTsKICAgICB0aGlzLl9kYXRhR3JpZC5hdXRvU2l6ZUNvbHVtbnMoMjAsIDgw
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2ll
c1RhYmxlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFi
bGUuanMKaW5kZXggNWNjNmMzYjBlZWFhYTVlNzVmMDg2NGI1YWM4YzA4OGQ2N2ZlOGU1Yy4uMmE0
OTc4NzY1ODU0ZWFmMGUyODI1MjhiNmI3MzdlNWYxYTljNjZmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKQEAgLTQyLDM2ICs0
MiwxNiBAQCBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlID0gZnVuY3Rpb24oZXhwYW5kYWJsZSwg
cmVmcmVzaENhbGxiYWNrKQogICAgIHZhciByZWFkT25seSA9IGV4cGFuZGFibGU7CiAgICAgdGhp
cy5fcmVmcmVzaENhbGxiYWNrID0gcmVmcmVzaENhbGxiYWNrOwogCi0gICAgdmFyIGNvbHVtbnMg
PSB7bmFtZToge30sIHZhbHVlOiB7fSwgZG9tYWluOiB7fSwgcGF0aDoge30sIGV4cGlyZXM6IHt9
LCBzaXplOiB7fSwgaHR0cE9ubHk6IHt9LCBzZWN1cmU6IHt9fTsKLSAgICBjb2x1bW5zLm5hbWUu
dGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5hbWUiKTsKLSAgICBjb2x1bW5zLm5hbWUu
c29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnMubmFtZS5kaXNjbG9zdXJlID0gZXhwYW5kYWJs
ZTsKLSAgICBjb2x1bW5zLm5hbWUud2lkdGggPSAiMjQlIjsKLSAgICBjb2x1bW5zLm5hbWUuc29y
dCA9ICJhc2NlbmRpbmciOwotICAgIGNvbHVtbnMudmFsdWUudGl0bGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlZhbHVlIik7Ci0gICAgY29sdW1ucy52YWx1ZS5zb3J0YWJsZSA9IHRydWU7Ci0g
ICAgY29sdW1ucy52YWx1ZS53aWR0aCA9ICIzNCUiOwotICAgIGNvbHVtbnMuZG9tYWluLnRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEb21haW4iKTsKLSAgICBjb2x1bW5zLmRvbWFpbi5z
b3J0YWJsZSA9IHRydWU7Ci0gICAgY29sdW1ucy5kb21haW4ud2lkdGggPSAiNyUiOwotICAgIGNv
bHVtbnMucGF0aC50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF0aCIpOwotICAgIGNv
bHVtbnMucGF0aC5zb3J0YWJsZSA9IHRydWU7Ci0gICAgY29sdW1ucy5wYXRoLndpZHRoID0gIjcl
IjsKLSAgICBjb2x1bW5zLmV4cGlyZXMudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV4
cGlyZXMgLyBNYXgtQWdlIik7Ci0gICAgY29sdW1ucy5leHBpcmVzLnNvcnRhYmxlID0gdHJ1ZTsK
LSAgICBjb2x1bW5zLmV4cGlyZXMud2lkdGggPSAiNyUiOwotICAgIGNvbHVtbnMuc2l6ZS50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpOwotICAgIGNvbHVtbnMuc2l6ZS5hbGln
bmVkID0gInJpZ2h0IjsKLSAgICBjb2x1bW5zLnNpemUuc29ydGFibGUgPSB0cnVlOwotICAgIGNv
bHVtbnMuc2l6ZS53aWR0aCA9ICI3JSI7Ci0gICAgY29sdW1ucy5odHRwT25seS50aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiSFRUUCIpOwotICAgIGNvbHVtbnMuaHR0cE9ubHkuYWxpZ25l
ZCA9ICJjZW50ZXJlZCI7Ci0gICAgY29sdW1ucy5odHRwT25seS5zb3J0YWJsZSA9IHRydWU7Ci0g
ICAgY29sdW1ucy5odHRwT25seS53aWR0aCA9ICI3JSI7Ci0gICAgY29sdW1ucy5zZWN1cmUudGl0
bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlY3VyZSIpOwotICAgIGNvbHVtbnMuc2VjdXJl
LmFsaWduZWQgPSAiY2VudGVyZWQiOwotICAgIGNvbHVtbnMuc2VjdXJlLnNvcnRhYmxlID0gdHJ1
ZTsKLSAgICBjb2x1bW5zLnNlY3VyZS53aWR0aCA9ICI3JSI7CisgICAgdmFyIGNvbHVtbnMgPSBb
CisgICAgICAgIHtpZDogIm5hbWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1l
IiksIHNvcnRhYmxlOiB0cnVlLCBkaXNjbG9zdXJlOiBleHBhbmRhYmxlLCBzb3J0OiAiYXNjZW5k
aW5nIiwgd2lkdGg6ICIyNCUifSwKKyAgICAgICAge2lkOiAidmFsdWUiLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJWYWx1ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIzNCUifSwK
KyAgICAgICAge2lkOiAiZG9tYWluIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9t
YWluIiksIHNvcnRhYmxlOiB0cnVlLCB3aWR0aDogIjclIn0sCisgICAgICAgIHtpZDogInBhdGgi
LCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYXRoIiksIHNvcnRhYmxlOiB0cnVlLCB3
aWR0aDogIjclIn0sCisgICAgICAgIHtpZDogImV4cGlyZXMiLCB0aXRsZTogV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJFeHBpcmVzIC8gTWF4LUFnZSIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICI3
JSJ9LAorICAgICAgICB7aWQ6ICJzaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2l6ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgYWxpZ25lZDogInJpZ2h0Iiwgd2lkdGg6ICI3JSJ9LAor
ICAgICAgICB7aWQ6ICJodHRwT25seSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhU
VFAiKSwgc29ydGFibGU6IHRydWUsIGFsaWduZWQ6ICJjZW50ZXJlZCIsIHdpZHRoOiAiNyUifSwK
KyAgICAgICAge2lkOiAic2VjdXJlIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2Vj
dXJlIiksIHNvcnRhYmxlOiB0cnVlLCBhbGlnbmVkOiAiY2VudGVyZWQiLCB3aWR0aDogIjclIn0K
KyAgICBdOwogCiAgICAgdGhpcy5fZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlk
KGNvbHVtbnMsIG51bGwsIHJlYWRPbmx5ID8gbnVsbCA6IHRoaXMuX29uRGVsZXRlQ29va2llLmJp
bmQodGhpcyksIHJlZnJlc2hDYWxsYmFjayk7CiAgICAgdGhpcy5fZGF0YUdyaWQuYWRkRXZlbnRM
aXN0ZW5lcigic29ydGluZyBjaGFuZ2VkIiwgdGhpcy5fcmVidWlsZFRhYmxlLCB0aGlzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0
ZW1zVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFn
ZUl0ZW1zVmlldy5qcwppbmRleCBlYmJkODc0MzU3MzZiOTcwYjgyY2VkYzdlNThiYmIyMmQ0NDdl
NDEzLi5jYzc1MzQzZDk4ZjhiZDEwM2M1NjllNzEyOTNmYzNiMGYwNDFiMzJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRl
bXNWaWV3LmpzCkBAIC0xNzksMTMgKzE3OSwxMCBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0
ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfZGF0YUdyaWRGb3JET01TdG9yYWdlSXRlbXM6
IGZ1bmN0aW9uKGl0ZW1zKQogICAgIHsKLSAgICAgICAgdmFyIGNvbHVtbnMgPSB7a2V5OiB7fSwg
dmFsdWU6IHt9fTsKLQotICAgICAgICBjb2x1bW5zLmtleS50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiS2V5Iik7Ci0gICAgICAgIGNvbHVtbnMua2V5LmVkaXRhYmxlID0gdHJ1ZTsKLQot
ICAgICAgICBjb2x1bW5zLnZhbHVlLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJWYWx1
ZSIpOwotICAgICAgICBjb2x1bW5zLnZhbHVlLmVkaXRhYmxlID0gdHJ1ZTsKKyAgICAgICAgdmFy
IGNvbHVtbnMgPSBbCisgICAgICAgICAgICB7aWQ6ICJrZXkiLCB0aXRsZTogV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJLZXkiKSwgZWRpdGFibGU6IHRydWV9LAorICAgICAgICAgICAge2lkOiAidmFs
dWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJWYWx1ZSIpLCBlZGl0YWJsZTogdHJ1
ZX0KKyAgICAgICAgXTsKIAogICAgICAgICB2YXIgbm9kZXMgPSBbXTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMKaW5kZXggNDM5OWM3ZjYyNDZh
MzkzYTdiZmYxZGNkNWQzM2ZmNzk4ZGY4YmU0MS4uYTk2N2NlMTE0NjI1MzE3OTJiYmI2ZjJiNmNi
YWY0NzU3NzZkMTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RhdGFHcmlkLmpzCkBAIC0yNiw3ICsyNiw3IEBACiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICog
QGV4dGVuZHMge1dlYkluc3BlY3Rvci5WaWV3fQotICogQHBhcmFtIHtPYmplY3QuPHN0cmluZywg
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLkNvbHVtbkRlc2NyaXB0b3I+fSBjb2x1bW5zCisgKiBAcGFy
YW0geyFBcnJheS48IVdlYkluc3BlY3Rvci5EYXRhR3JpZC5Db2x1bW5EZXNjcmlwdG9yPn0gY29s
dW1ucwogICogQHBhcmFtIHs/ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZSwgc3Ry
aW5nLCBzdHJpbmcsIHN0cmluZyk9fSBlZGl0Q2FsbGJhY2sKICAqIEBwYXJhbSB7P2Z1bmN0aW9u
KFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUpPX0gZGVsZXRlQ2FsbGJhY2sKICAqIEBwYXJhbSB7
P2Z1bmN0aW9uKCk9fSByZWZyZXNoQ2FsbGJhY2sKQEAgLTcxLDEwICs3MSwxOSBAQCBXZWJJbnNw
ZWN0b3IuRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5zLCBlZGl0Q2FsbGJhY2ssIGRlbGV0ZUNh
bGxiYWNrLCByZWZyZXNoQwogCiAgICAgdmFyIGhlYWRlclJvdyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInRyIik7CiAgICAgdmFyIGNvbHVtbkdyb3VwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiY29sZ3JvdXAiKTsKLSAgICB0aGlzLl9jb2x1bW5Db3VudCA9IDA7CisgICAgY29sdW1uR3Jv
dXAuc3BhbiA9IGNvbHVtbnMubGVuZ3RoOwogCi0gICAgZm9yICh2YXIgY29sdW1uSWRlbnRpZmll
ciBpbiBjb2x1bW5zKSB7Ci0gICAgICAgIHZhciBjb2x1bW4gPSBjb2x1bW5zW2NvbHVtbklkZW50
aWZpZXJdOworICAgIHZhciBmaWxsZXJSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIp
OworICAgIGZpbGxlclJvdy5jbGFzc05hbWUgPSAiZmlsbGVyIjsKKworICAgIHRoaXMuX2NvbHVt
bnNBcnJheSA9IGNvbHVtbnM7CisgICAgdGhpcy5jb2x1bW5zID0ge307CisKKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IGNvbHVtbnMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgdmFyIGNvbHVtbiA9
IGNvbHVtbnNbaV07CisgICAgICAgIGNvbHVtbi5vcmRpbmFsID0gaTsKKyAgICAgICAgdmFyIGNv
bHVtbklkZW50aWZpZXIgPSBjb2x1bW4uaWRlbnRpZmllciA9IGNvbHVtbi5pZCB8fCBpOworICAg
ICAgICB0aGlzLmNvbHVtbnNbY29sdW1uSWRlbnRpZmllcl0gPSBjb2x1bW47CiAgICAgICAgIGlm
IChjb2x1bW4uZGlzY2xvc3VyZSkKICAgICAgICAgICAgIHRoaXMuZGlzY2xvc3VyZUNvbHVtbklk
ZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwogCkBAIC0xMTAsNDAgKzExOSwyMCBAQCBXZWJJ
bnNwZWN0b3IuRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5zLCBlZGl0Q2FsbGJhY2ssIGRlbGV0
ZUNhbGxiYWNrLCByZWZyZXNoQwogICAgICAgICAgICAgdGhpcy5hbGlnbmVkW2NvbHVtbklkZW50
aWZpZXJdID0gY29sdW1uLmFsaWduZWQ7CiAKICAgICAgICAgaGVhZGVyUm93LmFwcGVuZENoaWxk
KGNlbGwpOwotCi0gICAgICAgICsrdGhpcy5fY29sdW1uQ291bnQ7CisgICAgICAgIGZpbGxlclJv
dy5jcmVhdGVDaGlsZCgidGQiLCBjb2x1bW5JZGVudGlmaWVyICsgIi1jb2x1bW4iKTsKICAgICB9
CiAKLSAgICBjb2x1bW5Hcm91cC5zcGFuID0gdGhpcy5fY29sdW1uQ291bnQ7Ci0KICAgICBoZWFk
ZXJSb3cuY3JlYXRlQ2hpbGQoInRoIiwgImNvcm5lciIpOworICAgIGZpbGxlclJvdy5jcmVhdGVD
aGlsZCgidGQiLCAiY29ybmVyIik7CiAKICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3Vw
ID0gY29sdW1uR3JvdXA7CiAgICAgdGhpcy5faGVhZGVyVGFibGUuYXBwZW5kQ2hpbGQodGhpcy5f
aGVhZGVyVGFibGVDb2x1bW5Hcm91cCk7CiAgICAgdGhpcy5oZWFkZXJUYWJsZUJvZHkuYXBwZW5k
Q2hpbGQoaGVhZGVyUm93KTsKIAotICAgIHZhciBmaWxsZXJSb3cgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJ0ciIpOwotICAgIGZpbGxlclJvdy5jbGFzc05hbWUgPSAiZmlsbGVyIjsKLQotICAg
IGZvciAodmFyIGNvbHVtbklkZW50aWZpZXIgaW4gY29sdW1ucykKLSAgICAgICAgZmlsbGVyUm93
LmNyZWF0ZUNoaWxkKCJ0ZCIsIGNvbHVtbklkZW50aWZpZXIgKyAiLWNvbHVtbiIpOwotICAgIGZp
bGxlclJvdy5jcmVhdGVDaGlsZCgidGQiLCAiY29ybmVyIik7Ci0KICAgICB0aGlzLl9kYXRhVGFi
bGVDb2x1bW5Hcm91cCA9IGNvbHVtbkdyb3VwLmNsb25lTm9kZSh0cnVlKTsKICAgICB0aGlzLl9k
YXRhVGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVRhYmxlQ29sdW1uR3JvdXApOwogICAgIHRo
aXMuZGF0YVRhYmxlQm9keS5hcHBlbmRDaGlsZChmaWxsZXJSb3cpOwogCi0gICAgdGhpcy5jb2x1
bW5zID0gY29sdW1ucyB8fCB7fTsKLSAgICB0aGlzLl9jb2x1bW5zQXJyYXkgPSBbXTsKLSAgICBm
b3IgKHZhciBjb2x1bW5JZGVudGlmaWVyIGluIGNvbHVtbnMpIHsKLSAgICAgICAgY29sdW1uc1tj
b2x1bW5JZGVudGlmaWVyXS5vcmRpbmFsID0gdGhpcy5fY29sdW1uc0FycmF5Lmxlbmd0aDsKLSAg
ICAgICAgY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXS5pZGVudGlmaWVyID0gY29sdW1uSWRlbnRp
ZmllcjsKLSAgICAgICAgdGhpcy5fY29sdW1uc0FycmF5LnB1c2goY29sdW1uc1tjb2x1bW5JZGVu
dGlmaWVyXSk7Ci0gICAgfQotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9jb2x1bW5z
QXJyYXkubGVuZ3RoOyArK2kpCi0gICAgICAgIHRoaXMuX2NvbHVtbnNBcnJheVtpXS5ib2R5RWxl
bWVudCA9IHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwLmNoaWxkcmVuW2ldOwotCiAgICAgdGhp
cy5zZWxlY3RlZE5vZGUgPSBudWxsOwogICAgIHRoaXMuZXhwYW5kTm9kZXNXaGVuQXJyb3dpbmcg
PSBmYWxzZTsKICAgICB0aGlzLnNldFJvb3ROb2RlKG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWRO
b2RlKCkpOwpAQCAtMTUyLDcgKzE0MSw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGZ1bmN0
aW9uKGNvbHVtbnMsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2ssIHJlZnJlc2hDCiAgICAg
dGhpcy5fY29sdW1uV2lkdGhzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKIH0KIAotLyoqIEB0eXBlZGVm
IHt7ZWRpdGFibGU6Ym9vbGVhbiwgc29ydDpzdHJpbmcsIHNvcnRhYmxlOmJvb2xlYW4sIGFsaWdu
ZWQ6c3RyaW5nfX0gKi8KKy8qKiBAdHlwZWRlZiB7e2lkOj9zdHJpbmcsIGVkaXRhYmxlOmJvb2xl
YW4sIHNvcnQ6c3RyaW5nLCBzb3J0YWJsZTpib29sZWFuLCBhbGlnbmVkOnN0cmluZ319ICovCiBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQuQ29sdW1uRGVzY3JpcHRvcjsKIAogV2ViSW5zcGVjdG9yLkRh
dGFHcmlkLkV2ZW50cyA9IHsKQEAgLTE3MCwxNCArMTU5LDkgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLmNyZWF0ZVNvcnRhYmxlRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5OYW1lcywgdmFsdWVz
KQogICAgIGlmICghbnVtQ29sdW1ucykKICAgICAgICAgcmV0dXJuIG51bGw7CiAKLSAgICB2YXIg
Y29sdW1ucyA9IHt9OwotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb2x1bW5OYW1lcy5sZW5n
dGg7ICsraSkgewotICAgICAgICBjb2x1bW5zW2ldID0ge307Ci0gICAgICAgIGNvbHVtbnNbaV0u
d2lkdGggPSBjb2x1bW5OYW1lc1tpXS5sZW5ndGg7Ci0gICAgICAgIGNvbHVtbnNbaV0udGl0bGUg
PSBjb2x1bW5OYW1lc1tpXTsKLSAgICAgICAgY29sdW1uc1tpXS5zb3J0YWJsZSA9IHRydWU7Ci0g
ICAgfQorICAgIHZhciBjb2x1bW5zID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb2x1
bW5OYW1lcy5sZW5ndGg7ICsraSkKKyAgICAgICAgY29sdW1ucy5wdXNoKHt0aXRsZTogY29sdW1u
TmFtZXNbaV0sIHdpZHRoOiBjb2x1bW5OYW1lc1tpXS5sZW5ndGgsIHNvcnRhYmxlOiB0cnVlfSk7
CiAKICAgICB2YXIgbm9kZXMgPSBbXTsKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5s
ZW5ndGggLyBudW1Db2x1bW5zOyArK2kpIHsKQEAgLTUyMCwxNiArNTA0LDE1IEBAIFdlYkluc3Bl
Y3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgYXV0b1NpemVDb2x1bW5zOiBmdW5jdGlv
bihtaW5QZXJjZW50LCBtYXhQZXJjZW50LCBtYXhEZXNjZW50TGV2ZWwpCiAgICAgewogICAgICAg
ICB2YXIgd2lkdGhzID0gW107Ci0gICAgICAgIHZhciBjb2x1bW5JZGVudGlmaWVycyA9IE9iamVj
dC5rZXlzKHRoaXMuY29sdW1ucyk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29sdW1u
SWRlbnRpZmllcnMubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICB3aWR0aHNbaV0gPSAodGhpcy5j
b2x1bW5zW2NvbHVtbklkZW50aWZpZXJzW2ldXS50aXRsZSB8fCAiIikubGVuZ3RoOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2NvbHVtbnNBcnJheS5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgIHdpZHRocy5wdXNoKCh0aGlzLl9jb2x1bW5zQXJyYXlbaV0udGl0bGUgfHwgIiIp
Lmxlbmd0aCk7CiAKICAgICAgICAgbWF4RGVzY2VudExldmVsID0gbWF4RGVzY2VudExldmVsIHx8
IDA7CiAgICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMuX2VudW1lcmF0ZUNoaWxkcmVuKHRoaXMu
X3Jvb3ROb2RlLCBbXSwgbWF4RGVzY2VudExldmVsICsgMSk7CiAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBub2RlID0g
Y2hpbGRyZW5baV07Ci0gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNvbHVtbklkZW50
aWZpZXJzLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAgICAgICAgdmFyIHRleHQgPSBub2RlLmRh
dGFbY29sdW1uSWRlbnRpZmllcnNbal1dIHx8ICIiOworICAgICAgICAgICAgZm9yICh2YXIgaiA9
IDA7IGogPCB0aGlzLl9jb2x1bW5zQXJyYXkubGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgICAg
ICB2YXIgdGV4dCA9IG5vZGUuZGF0YVt0aGlzLl9jb2x1bW5zQXJyYXlbal0uaWRlbnRpZmllcl0g
fHwgIiI7CiAgICAgICAgICAgICAgICAgaWYgKHRleHQubGVuZ3RoID4gd2lkdGhzW2pdKQogICAg
ICAgICAgICAgICAgICAgICB3aWR0aHNbal0gPSB0ZXh0Lmxlbmd0aDsKICAgICAgICAgICAgIH0K
QEAgLTUzNyw4ICs1MjAsOCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewog
CiAgICAgICAgIHdpZHRocyA9IHRoaXMuX2F1dG9TaXplV2lkdGhzKHdpZHRocywgbWluUGVyY2Vu
dCwgbWF4UGVyY2VudCk7CiAKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb2x1bW5JZGVu
dGlmaWVycy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIHRoaXMuY29sdW1uc1tjb2x1bW5JZGVu
dGlmaWVyc1tpXV0uZWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoc1tpXSArICIlIjsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9jb2x1bW5zQXJyYXkubGVuZ3RoOyArK2kpCisg
ICAgICAgICAgICB0aGlzLl9jb2x1bW5zQXJyYXlbaV0uZWxlbWVudC5zdHlsZS53aWR0aCA9IHdp
ZHRoc1tpXSArICIlIjsKICAgICAgICAgdGhpcy5fY29sdW1uV2lkdGhzSW5pdGlhbGl6ZWQgPSBm
YWxzZTsKICAgICAgICAgdGhpcy51cGRhdGVXaWR0aHMoKTsKICAgICB9LApAQCAtNTk3LDE1ICs1
ODAsMTYgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICBhcHBseUNv
bHVtbldlaWdodHM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBzdW1PZldlaWdodHMg
PSAwLjA7Ci0gICAgICAgIGZvciAodmFyIGNvbHVtbklkZW50aWZpZXIgaW4gdGhpcy5jb2x1bW5z
KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5pc0NvbHVtblZpc2libGUoY29sdW1uSWRlbnRpZmll
cikpCi0gICAgICAgICAgICAgICAgc3VtT2ZXZWlnaHRzICs9IHRoaXMuY29sdW1uc1tjb2x1bW5J
ZGVudGlmaWVyXS53ZWlnaHQ7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fY29s
dW1uc0FycmF5Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5f
Y29sdW1uc0FycmF5W2ldOworICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2x1bW5WaXNpYmxlKGNv
bHVtbikpCisgICAgICAgICAgICAgICAgc3VtT2ZXZWlnaHRzICs9IGNvbHVtbi53ZWlnaHQ7CiAg
ICAgICAgIH0KICAgICAgICAgdmFyIGZhY3RvciA9IDEwMCAvIHN1bU9mV2VpZ2h0czsKIAotICAg
ICAgICBmb3IgKHZhciBjb2x1bW5JZGVudGlmaWVyIGluIHRoaXMuY29sdW1ucykgewotICAgICAg
ICAgICAgdmFyIGNvbHVtbiA9IHRoaXMuY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXTsKLSAgICAg
ICAgICAgIHZhciB3aWR0aCA9IHRoaXMuaXNDb2x1bW5WaXNpYmxlKGNvbHVtbklkZW50aWZpZXIp
ID8gKChmYWN0b3IgKiBjb2x1bW4ud2VpZ2h0KSArICIlIik6ICIwJSI7CisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdGhpcy5fY29sdW1uc0FycmF5Lmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICB2YXIgY29sdW1uID0gdGhpcy5fY29sdW1uc0FycmF5W2ldOworICAgICAgICAgICAgdmFy
IHdpZHRoID0gdGhpcy5pc0NvbHVtblZpc2libGUoY29sdW1uKSA/ICgoZmFjdG9yICogY29sdW1u
LndlaWdodCkgKyAiJSIpOiAiMCUiOwogICAgICAgICAgICAgdGhpcy5faGVhZGVyVGFibGVDb2x1
bW5Hcm91cC5jaGlsZHJlbltjb2x1bW4ub3JkaW5hbF0uc3R5bGUud2lkdGggPSB3aWR0aDsKICAg
ICAgICAgICAgIHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwLmNoaWxkcmVuW2NvbHVtbi5vcmRp
bmFsXS5zdHlsZS53aWR0aCA9IHdpZHRoOwogICAgICAgICB9CkBAIC02MTUsMTEgKzU5OSwxMiBA
QCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioK
LSAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29sdW1uSWRlbnRpZmllcgorICAgICAqIEBwYXJhbSB7
IVdlYkluc3BlY3Rvci5EYXRhR3JpZC5Db2x1bW5EZXNjcmlwdG9yfSBjb2x1bW4KKyAgICAgKiBA
cmV0dXJuIHtib29sZWFufQogICAgICAqLwotICAgIGlzQ29sdW1uVmlzaWJsZTogZnVuY3Rpb24o
Y29sdW1uSWRlbnRpZmllcikKKyAgICBpc0NvbHVtblZpc2libGU6IGZ1bmN0aW9uKGNvbHVtbikK
ICAgICB7Ci0gICAgICAgIHJldHVybiAhdGhpcy5jb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdLmhp
ZGRlbjsKKyAgICAgICAgcmV0dXJuICFjb2x1bW4uaGlkZGVuOwogICAgIH0sCiAKICAgICAvKioK
QEAgLTExMTgsOCArMTEwMyw5IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBl
ID0gewogCiAgICAgY3JlYXRlQ2VsbHM6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGZvciAo
dmFyIGNvbHVtbklkZW50aWZpZXIgaW4gdGhpcy5kYXRhR3JpZC5jb2x1bW5zKSB7Ci0gICAgICAg
ICAgICB2YXIgY2VsbCA9IHRoaXMuY3JlYXRlQ2VsbChjb2x1bW5JZGVudGlmaWVyKTsKKyAgICAg
ICAgdmFyIGNvbHVtbnNBcnJheSA9IHRoaXMuZGF0YUdyaWQuX2NvbHVtbnNBcnJheTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb2x1bW5zQXJyYXkubGVuZ3RoOyArK2kpIHsKKyAgICAg
ICAgICAgIHZhciBjZWxsID0gdGhpcy5jcmVhdGVDZWxsKGNvbHVtbnNBcnJheVtpXS5pZGVudGlm
aWVyKTsKICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoY2VsbCk7CiAgICAg
ICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EaXJlY3RvcnlDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRGlyZWN0b3J5Q29udGVudFZpZXcuanMKaW5kZXggNDJhZjBlYjNjNDJiY2FlZjUx
MzYxMmRkZDI5MWU2ODZkNThiMWIyOC4uZTk2MGNkYTQ2ODNhZWQ1YmVmM2ExNzZkMzUyNWYxYTFk
YjI5NzAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
aXJlY3RvcnlDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RpcmVjdG9yeUNvbnRlbnRWaWV3LmpzCkBAIC0zNSwyOCArMzUsMTMgQEAKIFdlYklu
c3BlY3Rvci5EaXJlY3RvcnlDb250ZW50VmlldyA9IGZ1bmN0aW9uKCkKIHsKICAgICBjb25zdCBp
bmRleGVzID0gV2ViSW5zcGVjdG9yLkRpcmVjdG9yeUNvbnRlbnRWaWV3LmNvbHVtbkluZGV4ZXM7
Ci0gICAgdmFyIGNvbHVtbnMgPSB7fTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuTmFtZV0gPSB7fTsK
LSAgICBjb2x1bW5zW2luZGV4ZXMuTmFtZV0udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
Ik5hbWUiKTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuTmFtZV0uc29ydCA9ICJhc2NlbmRpbmciOwot
ICAgIGNvbHVtbnNbaW5kZXhlcy5OYW1lXS5zb3J0YWJsZSA9IHRydWU7Ci0gICAgY29sdW1uc1tp
bmRleGVzLk5hbWVdLndpZHRoID0gIjIwJSI7Ci0gICAgY29sdW1uc1tpbmRleGVzLlVSTF0gPSB7
fTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuVVJMXS50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiVVJMIik7Ci0gICAgY29sdW1uc1tpbmRleGVzLlVSTF0uc29ydGFibGUgPSB0cnVlOwotICAg
IGNvbHVtbnNbaW5kZXhlcy5VUkxdLndpZHRoID0gIjIwJSI7Ci0gICAgY29sdW1uc1tpbmRleGVz
LlR5cGVdID0ge307Ci0gICAgY29sdW1uc1tpbmRleGVzLlR5cGVdLnRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJUeXBlIik7Ci0gICAgY29sdW1uc1tpbmRleGVzLlR5cGVdLnNvcnRhYmxl
ID0gdHJ1ZTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuVHlwZV0ud2lkdGggPSAiMTUlIjsKLSAgICBj
b2x1bW5zW2luZGV4ZXMuU2l6ZV0gPSB7fTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuU2l6ZV0udGl0
bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKTsKLSAgICBjb2x1bW5zW2luZGV4ZXMu
U2l6ZV0uc29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnNbaW5kZXhlcy5TaXplXS53aWR0aCA9
ICIxMCUiOwotICAgIGNvbHVtbnNbaW5kZXhlcy5Nb2RpZmljYXRpb25UaW1lXSA9IHt9OwotICAg
IGNvbHVtbnNbaW5kZXhlcy5Nb2RpZmljYXRpb25UaW1lXS50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTW9kaWZpY2F0aW9uIFRpbWUiKTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuTW9kaWZp
Y2F0aW9uVGltZV0uc29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnNbaW5kZXhlcy5Nb2RpZmlj
YXRpb25UaW1lXS53aWR0aCA9ICIyNSUiOworICAgIHZhciBjb2x1bW5zID0gWworICAgICAgICB7
aWQ6IGluZGV4ZXMuTmFtZSwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLCBz
b3J0YWJsZTogdHJ1ZSwgc29ydDogImFzY2VuZGluZyIsIHdpZHRoOiAiMjAlIn0sCisgICAgICAg
IHtpZDogaW5kZXhlcy5VUkwsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlVSTCIpLCBz
b3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIyMCUifSwKKyAgICAgICAge2lkOiBpbmRleGVzLlR5cGUs
IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUiKSwgc29ydGFibGU6IHRydWUsIHdp
ZHRoOiAiMTUlIn0sCisgICAgICAgIHtpZDogaW5kZXhlcy5TaXplLCB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTaXplIiksIHNvcnRhYmxlOiB0cnVlLCB3aWR0aDogIjEwJSJ9LAorICAg
ICAgICB7aWQ6IGluZGV4ZXMuTW9kaWZpY2F0aW9uVGltZSwgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTW9kaWZpY2F0aW9uIFRpbWUiKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiMjUl
In0KKyAgICBdOwogCiAgICAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLmNhbGwodGhpcywgY29sdW1u
cyk7CiAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCJzb3J0aW5nIGNoYW5nZWQiLCB0aGlzLl9z
b3J0LCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3QuanMKaW5kZXggYTkwOTc4MjAxYzFjODRlYTUwOWQ0NDU4ZTE3N2Y4ZTIzN2U4
NWZkNi4uNTE3ZTczNzAzZGVlYmRkMWMzOTg0ZjliZWRjNDgxMjRlOGJlN2YzMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAg
LTE1ODcsNyArMTU4Nyw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RGaWx0ZXJlZE9yZGVy
ZWRJdGVyYXRvci5wcm90b3R5cGUgPSB7CiAKIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RGaWx0
ZXJlZE9yZGVyZWRJdGVyYXRvci5wcm90b3R5cGUuY3JlYXRlQ29tcGFyYXRvciA9IGZ1bmN0aW9u
KGZpZWxkTmFtZXMpCiB7Ci0gICAgcmV0dXJuIHtmaWVsZE5hbWUxOmZpZWxkTmFtZXNbMF0sIGFz
Y2VuZGluZzE6ZmllbGROYW1lc1sxXSwgZmllbGROYW1lMjpmaWVsZE5hbWVzWzJdLCBhc2NlbmRp
bmcyOmZpZWxkTmFtZXNbM119OworICAgIHJldHVybiB7ZmllbGROYW1lMTogZmllbGROYW1lc1sw
XSwgYXNjZW5kaW5nMTogZmllbGROYW1lc1sxXSwgZmllbGROYW1lMjogZmllbGROYW1lc1syXSwg
YXNjZW5kaW5nMjogZmllbGROYW1lc1szXX07CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3REYXRhR3JpZHMuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5q
cwppbmRleCBkZTM4YmM2OTg0ZmFiOTE0NTlhMTE0OWNmYjc2MWQ2NzRkOGZjYTMzLi4wMTE5NjFm
NjY3ODYxZjQyN2U1NDA3MWJjY2VkNDFhY2UxMDM3NDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5q
cwpAQCAtNDI1LDE1ICs0MjUsMTUgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFBhZGRpbmdO
b2RlLnByb3RvdHlwZSA9IHsKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWR9Ci0gKiBAcGFyYW0ge09iamVj
dD19IGNvbHVtbnMKKyAqIEBwYXJhbSB7QXJyYXkuPCFXZWJJbnNwZWN0b3IuRGF0YUdyaWQuQ29s
dW1uRGVzY3JpcHRvcj49fSBjb2x1bW5zCiAgKi8KIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RD
b250YWlubWVudERhdGFHcmlkID0gZnVuY3Rpb24oY29sdW1ucykKIHsKLSAgICBjb2x1bW5zID0g
Y29sdW1ucyB8fCB7Ci0gICAgICAgIG9iamVjdDogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJPYmplY3QiKSwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWUgfSwKLSAgICAg
ICAgc2hhbGxvd1NpemU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hhbGxvdyBT
aXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICByZXRhaW5l
ZFNpemU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmV0YWluZWQgU2l6ZSIpLCB3
aWR0aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5kaW5nIiB9Ci0gICAg
fTsKKyAgICBjb2x1bW5zID0gY29sdW1ucyB8fCBbCisgICAgICAgIHtpZDogIm9iamVjdCIsIHRp
dGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVjdCIpLCBkaXNjbG9zdXJlOiB0cnVlLCBz
b3J0YWJsZTogdHJ1ZX0sCisgICAgICAgIHtpZDogInNoYWxsb3dTaXplIiwgdGl0bGU6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiU2hhbGxvdyBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJs
ZTogdHJ1ZX0sCisgICAgICAgIHtpZDogInJldGFpbmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlJldGFpbmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0
cnVlLCBzb3J0OiAiZGVzY2VuZGluZyJ9CisgICAgXTsKICAgICBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90U29ydGFibGVEYXRhR3JpZC5jYWxsKHRoaXMsIGNvbHVtbnMpOwogfQogCkBAIC00NjMs
MTIgKzQ2MywxMiBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29udGFpbm1lbnREYXRhR3Jp
ZC5wcm90b3R5cGUgPSB7CiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UmV0YWlubWVudERhdGFH
cmlkID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuc2hvd1JldGFpbmluZ0VkZ2VzID0gdHJ1ZTsK
LSAgICB2YXIgY29sdW1ucyA9IHsKLSAgICAgICAgb2JqZWN0OiB7IHRpdGxlOiBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIk9iamVjdCIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZSB9
LAotICAgICAgICBzaGFsbG93U2l6ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
aGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAg
IHJldGFpbmVkU2l6ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBT
aXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBkaXN0YW5j
ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEaXN0YW5jZSIpLCB3aWR0aDogIjgw
cHgiLCBzb3J0YWJsZTogdHJ1ZSwgc29ydDogImFzY2VuZGluZyIgfQotICAgIH07CisgICAgdmFy
IGNvbHVtbnMgPSBbCisgICAgICAgIHtpZDogIm9iamVjdCIsIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIk9iamVjdCIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZX0sCisg
ICAgICAgIHtpZDogInNoYWxsb3dTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2hhbGxvdyBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAgICAg
IHtpZDogInJldGFpbmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJldGFp
bmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lk
OiAiZGlzdGFuY2UiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEaXN0YW5jZSIpLCB3
aWR0aDogIjgwcHgiLCBzb3J0YWJsZTogdHJ1ZSwgc29ydDogImFzY2VuZGluZyJ9CisgICAgXTsK
ICAgICBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29udGFpbm1lbnREYXRhR3JpZC5jYWxsKHRo
aXMsIGNvbHVtbnMpOwogfQogCkBAIC01MDAsMTMgKzUwMCwxMyBAQCBXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90UmV0YWlubWVudERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdENvbnN0cnVjdG9yc0RhdGFHcmlkID0gZnVuY3Rpb24oKQogewotICAg
IHZhciBjb2x1bW5zID0gewotICAgICAgICBvYmplY3Q6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQ29uc3RydWN0b3IiKSwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWUg
fSwKLSAgICAgICAgZGlzdGFuY2U6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlz
dGFuY2UiKSwgd2lkdGg6ICI5MHB4Iiwgc29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgY291bnQ6
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0cyBDb3VudCIpLCB3aWR0aDog
IjkwcHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBzaGFsbG93U2l6ZTogeyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNv
cnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHJldGFpbmVkU2l6ZTogeyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0OiAiZGVz
Y2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlIH0KLSAgICB9OworICAgIHZhciBjb2x1bW5zID0gWwor
ICAgICAgICB7aWQ6ICJvYmplY3QiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb25z
dHJ1Y3RvciIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAgICAgIHtp
ZDogImRpc3RhbmNlIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzdGFuY2UiKSwg
d2lkdGg6ICI5MHB4Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJjb3VudCIsIHRp
dGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVjdHMgQ291bnQiKSwgd2lkdGg6ICI5MHB4
Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJzaGFsbG93U2l6ZSIsIHRpdGxlOiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNoYWxsb3cgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29y
dGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJyZXRhaW5lZFNpemUiLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0OiAi
ZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlfQorICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdFZpZXdwb3J0RGF0YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKICAgICB0aGlz
Ll9wcm9maWxlSW5kZXggPSAtMTsKICAgICB0aGlzLl90b3BMZXZlbE5vZGVzID0gW107CkBAIC02
MDgsMTUgKzYwOCwxNSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29uc3RydWN0b3JzRGF0
YUdyaWQucHJvdG90eXBlID0gewogICovCiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RGlmZkRh
dGFHcmlkID0gZnVuY3Rpb24oKQogewotICAgIHZhciBjb2x1bW5zID0gewotICAgICAgICBvYmpl
Y3Q6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29uc3RydWN0b3IiKSwgZGlzY2xv
c3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgYWRkZWRDb3VudDogeyB0aXRs
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIjIE5ldyIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJs
ZTogdHJ1ZSB9LAotICAgICAgICByZW1vdmVkQ291bnQ6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiIyBEZWxldGVkIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0g
ICAgICAgIGNvdW50RGVsdGE6IHsgdGl0bGU6ICIjIERlbHRhIiwgd2lkdGg6ICI2NHB4Iiwgc29y
dGFibGU6IHRydWUgfSwKLSAgICAgICAgYWRkZWRTaXplOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkFsbG9jLiBTaXplIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0cnVlLCBz
b3J0OiAiZGVzY2VuZGluZyIgfSwKLSAgICAgICAgcmVtb3ZlZFNpemU6IHsgdGl0bGU6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRnJlZWQgU2l6ZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTog
dHJ1ZSB9LAotICAgICAgICBzaXplRGVsdGE6IHsgdGl0bGU6ICJTaXplIERlbHRhIiwgd2lkdGg6
ICI3MnB4Iiwgc29ydGFibGU6IHRydWUgfQotICAgIH07CisgICAgdmFyIGNvbHVtbnMgPSBbCisg
ICAgICAgIHtpZDogIm9iamVjdCIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnN0
cnVjdG9yIiksIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lk
OiAiYWRkZWRDb3VudCIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiMgTmV3IiksIHdp
ZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAicmVtb3ZlZENvdW50
IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiIyBEZWxldGVkIiksIHdpZHRoOiAiNzJw
eCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAiY291bnREZWx0YSIsIHRpdGxlOiAi
IyBEZWx0YSIsIHdpZHRoOiAiNjRweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAi
YWRkZWRTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWxsb2MuIFNpemUiKSwg
d2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5kaW5nIn0sCisgICAg
ICAgIHtpZDogInJlbW92ZWRTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnJl
ZWQgU2l6ZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAgICAgIHtpZDog
InNpemVEZWx0YSIsIHRpdGxlOiAiU2l6ZSBEZWx0YSIsIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxl
OiB0cnVlfQorICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXdwb3J0RGF0
YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKIH0KIApAQCAtNjk0LDExICs2OTQsMTEgQEAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdERpZmZEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgKi8KIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3REb21pbmF0b3JzRGF0YUdyaWQgPSBmdW5jdGlvbigpCiB7
Ci0gICAgdmFyIGNvbHVtbnMgPSB7Ci0gICAgICAgIG9iamVjdDogeyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJPYmplY3QiKSwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWUg
fSwKLSAgICAgICAgc2hhbGxvd1NpemU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U2hhbGxvdyBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAg
ICByZXRhaW5lZFNpemU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmV0YWluZWQg
U2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydDogImRlc2NlbmRpbmciLCBzb3J0YWJsZTogdHJ1
ZSB9Ci0gICAgfTsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAgICAge2lkOiAib2JqZWN0Iiwg
dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0IiksIGRpc2Nsb3N1cmU6IHRydWUs
IHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAic2hhbGxvd1NpemUiLCB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRh
YmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAicmV0YWluZWRTaXplIiwgdGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiUmV0YWluZWQgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydDogImRl
c2NlbmRpbmciLCBzb3J0YWJsZTogdHJ1ZX0KKyAgICBdOwogICAgIFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RTb3J0YWJsZURhdGFHcmlkLmNhbGwodGhpcywgY29sdW1ucyk7CiAgICAgdGhpcy5f
b2JqZWN0SWRUb1NlbGVjdCA9IG51bGw7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luZGV4ZWREQlZpZXdzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJWaWV3cy5qcwppbmRleCAwN2FjOTE5NTYzMGM3NmY0
NjBlNDI2MDlmMjBhMjQwZDdhMGZiMjI3Li5mOTM1MDA4NjJlODcxZjE5NWM0YWE5MzQxYTFkMjAw
MjIzZjZjZjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luZGV4ZWREQlZpZXdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSW5kZXhlZERCVmlld3MuanMKQEAgLTE0MCwyMiArMTQwLDE0IEBAIFdlYkluc3BlY3Rvci5J
REJEYXRhVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2NyZWF0ZURhdGFHcmlkOiBm
dW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgY29sdW1ucyA9IHt9OwotICAgICAgICBjb2x1
bW5zWyJudW1iZXIiXSA9IHt9OwotICAgICAgICBjb2x1bW5zWyJudW1iZXIiXS50aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiIyIpOwotICAgICAgICBjb2x1bW5zWyJudW1iZXIiXS53aWR0
aCA9ICI1MHB4IjsKLQogICAgICAgICB2YXIga2V5UGF0aCA9IHRoaXMuX2lzSW5kZXggPyB0aGlz
Ll9pbmRleC5rZXlQYXRoIDogdGhpcy5fb2JqZWN0U3RvcmUua2V5UGF0aDsKLSAgICAgICAgY29s
dW1uc1sia2V5Il0gPSB7fTsKLSAgICAgICAgY29sdW1uc1sia2V5Il0udGl0bGVET01GcmFnbWVu
dCA9IHRoaXMuX2tleUNvbHVtbkhlYWRlckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
S2V5IiksIGtleVBhdGgpOwotICAgICAgICAKLSAgICAgICAgaWYgKHRoaXMuX2lzSW5kZXgpIHsK
LSAgICAgICAgICAgIGNvbHVtbnNbInByaW1hcnlLZXkiXSA9IHt9OwotICAgICAgICAgICAgY29s
dW1uc1sicHJpbWFyeUtleSJdLnRpdGxlRE9NRnJhZ21lbnQgPSB0aGlzLl9rZXlDb2x1bW5IZWFk
ZXJGcmFnbWVudChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlByaW1hcnkga2V5IiksIHRoaXMuX29i
amVjdFN0b3JlLmtleVBhdGgpOwotICAgICAgICB9CiAKLSAgICAgICAgY29sdW1uc1sidmFsdWUi
XSA9IHt9OwotICAgICAgICBjb2x1bW5zWyJ2YWx1ZSJdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJWYWx1ZSIpOworICAgICAgICB2YXIgY29sdW1ucyA9IFtdOworICAgICAgICBjb2x1
bW5zLnB1c2goe2lkOiAibnVtYmVyIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiIyIp
LCB3aWR0aDogIjUwcHgifSk7CisgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJrZXkiLCB0aXRs
ZURPTUZyYWdtZW50OiB0aGlzLl9rZXlDb2x1bW5IZWFkZXJGcmFnbWVudChXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIktleSIpLCBrZXlQYXRoKX0pOworICAgICAgICBpZiAodGhpcy5faXNJbmRleCkK
KyAgICAgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJwcmltYXJ5S2V5IiwgdGl0bGVET01GcmFn
bWVudDogdGhpcy5fa2V5Q29sdW1uSGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJQcmltYXJ5IGtleSIpLCB0aGlzLl9vYmplY3RTdG9yZS5rZXlQYXRoKX0pOworICAgICAgICBj
b2x1bW5zLnB1c2goe2lkOiAidmFsdWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJW
YWx1ZSIpfSk7CiAKICAgICAgICAgdmFyIGRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRh
R3JpZChjb2x1bW5zKTsKICAgICAgICAgcmV0dXJuIGRhdGFHcmlkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBz
aG90Vmlldy5qcwppbmRleCAwNmVkOGUxZGZjOTRkNjQ1OGQ3ZDM0MTg2NjM3NDFhZmI2OTFiMTA4
Li43M2RhZTIwMTI4NDQ2ZjMxMWExYzRiYzY5ZTg4MWQ4OTY4MzNhZjFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9y
eVNuYXBzaG90Vmlldy5qcwpAQCAtNTUsMTAgKzU1LDEwIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVN
ZW1vcnlTbmFwc2hvdFZpZXcucHJvdG90eXBlID0gewogICovCiBXZWJJbnNwZWN0b3IuTmF0aXZl
U25hcHNob3REYXRhR3JpZCA9IGZ1bmN0aW9uKHByb2ZpbGUpCiB7Ci0gICAgdmFyIGNvbHVtbnMg
PSB7Ci0gICAgICAgIG5hbWU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0
IiksIHdpZHRoOiAiMjAwcHgiLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZSB9LAot
ICAgICAgICBzaXplOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKSwgc29y
dGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5kaW5nIiB9LAotICAgIH07CisgICAgdmFyIGNvbHVt
bnMgPSBbCisgICAgICAgIHtpZDogIm5hbWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJPYmplY3QiKSwgd2lkdGg6ICIyMDBweCIsIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0
cnVlfSwKKyAgICAgICAge2lkOiAic2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNpemUiKSwgc29ydGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5kaW5nIn0sCisgICAgXTsKICAg
ICBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKICAgICB0aGlzLl9w
cm9maWxlID0gcHJvZmlsZTsKICAgICB0aGlzLl90b3RhbE5vZGUgPSBuZXcgV2ViSW5zcGVjdG9y
Lk5hdGl2ZVNuYXBzaG90Tm9kZShwcm9maWxlLl9tZW1vcnlCbG9jaywgcHJvZmlsZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmlu
ZGV4IDdmYTJmYTA0MjMzZjcxZmQ4NmQ5YzY0N2E5ZjI4MmE5MGI2ZDcwODQuLjUwNzM1MzEzMmU0
NWJhZWEzMTVkMDg0ZGQ5OGI4MWM0ZjJkYzBlMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC0xNTcsNjIgKzE1Nyw5NCBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2NyZWF0
ZVRhYmxlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgY29sdW1ucyA9IHtuYW1lOiB7
fSwgbWV0aG9kOiB7fSwgc3RhdHVzOiB7fSwgZG9tYWluOiB7fSwgdHlwZToge30sIGluaXRpYXRv
cjoge30sIGNvb2tpZXM6IHt9LCBzZXRDb29raWVzOiB7fSwgc2l6ZToge30sIHRpbWU6IHt9LCB0
aW1lbGluZToge319OwotCi0gICAgICAgIGNvbHVtbnMubmFtZS50aXRsZURPTUZyYWdtZW50ID0g
dGhpcy5fbWFrZUhlYWRlckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdGgiKSk7Ci0gICAgICAgIGNvbHVtbnMubmFtZS5uYW1l
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7Ci0gICAgICAgIGNvbHVtbnMubmFtZS5z
b3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnMubmFtZS53ZWlnaHQgPSAyMDsKLSAgICAg
ICAgY29sdW1ucy5uYW1lLmRpc2Nsb3N1cmUgPSB0cnVlOwotCi0gICAgICAgIGNvbHVtbnMubWV0
aG9kLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNZXRob2QiKTsKLSAgICAgICAgY29s
dW1ucy5tZXRob2Quc29ydGFibGUgPSB0cnVlOwotICAgICAgICBjb2x1bW5zLm1ldGhvZC53ZWln
aHQgPSA2OwotCi0gICAgICAgIGNvbHVtbnMuc3RhdHVzLnRpdGxlRE9NRnJhZ21lbnQgPSB0aGlz
Ll9tYWtlSGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdGF0dXMiKSwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJUZXh0IikpOwotICAgICAgICBjb2x1bW5zLnN0YXR1cy5uYW1l
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdGF0dXMiKTsKLSAgICAgICAgY29sdW1ucy5zdGF0
dXMuc29ydGFibGUgPSB0cnVlOwotICAgICAgICBjb2x1bW5zLnN0YXR1cy53ZWlnaHQgPSA2Owot
Ci0gICAgICAgIGNvbHVtbnMuZG9tYWluLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJE
b21haW4iKTsKLSAgICAgICAgY29sdW1ucy5kb21haW4uc29ydGFibGUgPSB0cnVlOwotICAgICAg
ICBjb2x1bW5zLmRvbWFpbi53ZWlnaHQgPSA2OwotCi0gICAgICAgIGNvbHVtbnMudHlwZS50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVHlwZSIpOwotICAgICAgICBjb2x1bW5zLnR5cGUu
c29ydGFibGUgPSB0cnVlOwotICAgICAgICBjb2x1bW5zLnR5cGUud2VpZ2h0ID0gNjsKLQotICAg
ICAgICBjb2x1bW5zLmluaXRpYXRvci50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5p
dGlhdG9yIik7Ci0gICAgICAgIGNvbHVtbnMuaW5pdGlhdG9yLnNvcnRhYmxlID0gdHJ1ZTsKLSAg
ICAgICAgY29sdW1ucy5pbml0aWF0b3Iud2VpZ2h0ID0gMTA7Ci0KLSAgICAgICAgY29sdW1ucy5j
b29raWVzLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb29raWVzIik7Ci0gICAgICAg
IGNvbHVtbnMuY29va2llcy5zb3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnMuY29va2ll
cy53ZWlnaHQgPSA2OwotICAgICAgICBjb2x1bW5zLmNvb2tpZXMuYWxpZ25lZCA9ICJyaWdodCI7
Ci0KLSAgICAgICAgY29sdW1ucy5zZXRDb29raWVzLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJTZXQtQ29va2llcyIpOwotICAgICAgICBjb2x1bW5zLnNldENvb2tpZXMuc29ydGFibGUg
PSB0cnVlOwotICAgICAgICBjb2x1bW5zLnNldENvb2tpZXMud2VpZ2h0ID0gNjsKLSAgICAgICAg
Y29sdW1ucy5zZXRDb29raWVzLmFsaWduZWQgPSAicmlnaHQiOwotCi0gICAgICAgIGNvbHVtbnMu
c2l6ZS50aXRsZURPTUZyYWdtZW50ID0gdGhpcy5fbWFrZUhlYWRlckZyYWdtZW50KFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiU2l6ZSIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnRlbnQiKSk7
Ci0gICAgICAgIGNvbHVtbnMuc2l6ZS5uYW1lID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaXpl
Iik7Ci0gICAgICAgIGNvbHVtbnMuc2l6ZS5zb3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVt
bnMuc2l6ZS53ZWlnaHQgPSA2OwotICAgICAgICBjb2x1bW5zLnNpemUuYWxpZ25lZCA9ICJyaWdo
dCI7Ci0KLSAgICAgICAgY29sdW1ucy50aW1lLnRpdGxlRE9NRnJhZ21lbnQgPSB0aGlzLl9tYWtl
SGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lIiksIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiTGF0ZW5jeSIpKTsKLSAgICAgICAgY29sdW1ucy50aW1lLm5hbWUgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlRpbWUiKTsKLSAgICAgICAgY29sdW1ucy50aW1lLnNvcnRhYmxl
ID0gdHJ1ZTsKLSAgICAgICAgY29sdW1ucy50aW1lLndlaWdodCA9IDY7Ci0gICAgICAgIGNvbHVt
bnMudGltZS5hbGlnbmVkID0gInJpZ2h0IjsKLQotICAgICAgICBjb2x1bW5zLnRpbWVsaW5lLnRp
dGxlID0gIiI7Ci0gICAgICAgIGNvbHVtbnMudGltZWxpbmUubmFtZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiVGltZWxpbmUiKTsKLSAgICAgICAgY29sdW1ucy50aW1lbGluZS5zb3J0YWJsZSA9
IGZhbHNlOwotICAgICAgICBjb2x1bW5zLnRpbWVsaW5lLndlaWdodCA9IDQwOwotICAgICAgICBj
b2x1bW5zLnRpbWVsaW5lLnNvcnQgPSAiYXNjZW5kaW5nIjsKKyAgICAgICAgdmFyIGNvbHVtbnMg
PSBbXTsKKyAgICAgICAgY29sdW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlkOiAibmFtZSIsIAor
ICAgICAgICAgICAgdGl0bGVET01GcmFnbWVudDogdGhpcy5fbWFrZUhlYWRlckZyYWdtZW50KFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdGgi
KSksCisgICAgICAgICAgICBuYW1lOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5hbWUiKSwKKyAg
ICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAgICAgICAgd2VpZ2h0OiAyMCwKKyAgICAg
ICAgICAgIGRpc2Nsb3N1cmU6IHRydWUKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29sdW1ucy5w
dXNoKHsKKyAgICAgICAgICAgIGlkOiAibWV0aG9kIiwKKyAgICAgICAgICAgIHRpdGxlOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIk1ldGhvZCIpLAorICAgICAgICAgICAgc29ydGFibGU6IHRydWUs
CisgICAgICAgICAgICB3ZWlnaHQ6IDYKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29sdW1ucy5w
dXNoKHsKKyAgICAgICAgICAgIGlkOiAic3RhdHVzIiwKKyAgICAgICAgICAgIHRpdGxlRE9NRnJh
Z21lbnQ6IHRoaXMuX21ha2VIZWFkZXJGcmFnbWVudChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0
YXR1cyIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRleHQiKSksCisgICAgICAgICAgICBuYW1l
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0YXR1cyIpLAorICAgICAgICAgICAgc29ydGFibGU6
IHRydWUsCisgICAgICAgICAgICB3ZWlnaHQ6IDYKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29s
dW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlkOiAiZG9tYWluIiwKKyAgICAgICAgICAgIHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvbWFpbiIpLAorICAgICAgICAgICAgc29ydGFibGU6
IHRydWUsCisgICAgICAgICAgICB3ZWlnaHQ6IDYKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29s
dW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlkOiAidHlwZSIsCisgICAgICAgICAgICB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBlIiksCisgICAgICAgICAgICBzb3J0YWJsZTogdHJ1
ZSwKKyAgICAgICAgICAgIHdlaWdodDogNgorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5z
LnB1c2goeworICAgICAgICAgICAgaWQ6ICJpbml0aWF0b3IiLAorICAgICAgICAgICAgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5pdGlhdG9yIiksCisgICAgICAgICAgICBzb3J0YWJs
ZTogdHJ1ZSwKKyAgICAgICAgICAgIHdlaWdodDogMTAKKyAgICAgICAgfSk7CisKKyAgICAgICAg
Y29sdW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlkOiAiY29va2llcyIsCisgICAgICAgICAgICB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb29raWVzIiksCisgICAgICAgICAgICBzb3J0
YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgIHdlaWdodDogNiwKKyAgICAgICAgICAgIGFsaWduZWQ6
ICJyaWdodCIKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29sdW1ucy5wdXNoKHsKKyAgICAgICAg
ICAgIGlkOiAic2V0Q29va2llcyIsCisgICAgICAgICAgICB0aXRsZTogV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJTZXQtQ29va2llcyIpLAorICAgICAgICAgICAgc29ydGFibGU6IHRydWUsCisgICAg
ICAgICAgICB3ZWlnaHQ6IDYsCisgICAgICAgICAgICBhbGlnbmVkOiAicmlnaHQiCisgICAgICAg
IH0pOworCisgICAgICAgIGNvbHVtbnMucHVzaCh7CisgICAgICAgICAgICBpZDogInNpemUiLAor
ICAgICAgICAgICAgdGl0bGVET01GcmFnbWVudDogdGhpcy5fbWFrZUhlYWRlckZyYWdtZW50KFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnRl
bnQiKSksCisgICAgICAgICAgICBuYW1lOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKSwK
KyAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAgICAgICAgd2VpZ2h0OiA2LAorICAg
ICAgICAgICAgYWxpZ25lZDogInJpZ2h0IgorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5z
LnB1c2goeworICAgICAgICAgICAgaWQ6ICJ0aW1lIiwKKyAgICAgICAgICAgIHRpdGxlRE9NRnJh
Z21lbnQ6IHRoaXMuX21ha2VIZWFkZXJGcmFnbWVudChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRp
bWUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXRlbmN5IikpLAorICAgICAgICAgICAgbmFt
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lIiksCisgICAgICAgICAgICBzb3J0YWJsZTog
dHJ1ZSwKKyAgICAgICAgICAgIHdlaWdodDogNiwKKyAgICAgICAgICAgIGFsaWduZWQ6ICJyaWdo
dCIKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29sdW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlk
OiAidGltZWxpbmUiLAorICAgICAgICAgICAgdGl0bGU6ICIiLAorICAgICAgICAgICAgbmFtZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZSIpLAorICAgICAgICAgICAgc29ydGFibGU6
IGZhbHNlLAorICAgICAgICAgICAgd2VpZ2h0OiA0MCwKKyAgICAgICAgICAgIHNvcnQ6ICJhc2Nl
bmRpbmciCisgICAgICAgIH0pOwogCiAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYklu
c3BlY3Rvci5EYXRhR3JpZChjb2x1bW5zKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQucmVzaXpl
TWV0aG9kID0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkLlJlc2l6ZU1ldGhvZC5MYXN0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdlYlNvY2tl
dEZyYW1lVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VXZWJTb2NrZXRGcmFtZVZpZXcuanMKaW5kZXggOTg4NDgyOGJhOTE1YzcxMmRjNDgxMTZhOWQz
ZDA0YzQxYTljN2Y1ZS4uODhjNmJmMzk5ODQ5M2QwMzA5M2YyMzBjZjU0ODhlNTZhMzEyNTVjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdl
YlNvY2tldEZyYW1lVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3LmpzCkBAIC0yNywxMSArMjcsMTEgQEAgV2Vi
SW5zcGVjdG9yLlJlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3ID0gZnVuY3Rpb24ocmVzb3VyY2Up
CiAgICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlOwogICAgIHRoaXMuZWxlbWVudC5yZW1vdmVD
aGlsZHJlbigpOwogCi0gICAgdmFyIGRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZCh7Ci0gICAgICAgIGRhdGE6IHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEYXRhIiks
IHNvcnRhYmxlOiBmYWxzZX0sCi0gICAgICAgIGxlbmd0aDoge3RpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkxlbmd0aCIpLCBzb3J0YWJsZTogZmFsc2UsIGFsaWduZWQ6ICJyaWdodCIsIHdp
ZHRoOiAiNTBweCJ9LAotICAgICAgICB0aW1lOiB7dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiVGltZSIpLCB3aWR0aDogIjcwcHgifQotICAgIH0pOworICAgIHZhciBkYXRhR3JpZCA9IG5l
dyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQoWworICAgICAgICB7aWQ6ICJkYXRhIiwgdGl0bGU6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiRGF0YSIpLCBzb3J0YWJsZTogZmFsc2V9LAorICAgICAgICB7
aWQ6ICJsZW5ndGgiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMZW5ndGgiKSwgc29y
dGFibGU6IGZhbHNlLCBhbGlnbmVkOiAicmlnaHQiLCB3aWR0aDogIjUwcHgifSwKKyAgICAgICAg
e2lkOiAidGltZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWUiKSwgd2lkdGg6
ICI3MHB4In0KKyAgICBdKTsKIAogICAgIHZhciBmcmFtZXMgPSB0aGlzLnJlc291cmNlLmZyYW1l
cygpOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZnJhbWVzLmxlbmd0aDsgaSsrKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193117</attachid>
            <date>2013-03-14 07:03:17 -0700</date>
            <delta_ts>2013-03-14 22:31:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112338-20130314175912.patch</filename>
            <type>text/plain</type>
            <size>41301</size>
            <attacher name="Eugene Klyuchnikov">eustas</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1ODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRiOWE2MmM4MmMwOTUx
NGQ4MDJiYjBjZWIzZTA1MGIyZDM3YTI0OC4uYmU2NzgyMWFhZWI0N2I1NGEwNWIzZWYxZTEyZTY1
MGUxZGY0MzA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTE0ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtEYXRhR3JpZF0gU3BlY2lmeSBjb2x1bW5zIHdpdGggYXJyYXkgb2YgZGVzY3JpcHRv
cnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIz
MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJy
ZW50bHkgY29sdW1ucyBhcmUgc3BlY2lmaWVkIGJ5IE9iamVjdCB0aGF0IG1hcHMKKyAgICAgICAg
Y29sdW1uIGlkZW50aWZpZXJzIHRvIGNvbHVtbiBkZXNjcmlwdG9ycy4gSXRlcmF0aW9uIG9yZGVy
IG92ZXIKKyAgICAgICAgT2JqZWN0IGtleXMgaXMgbm90IGd1YXJhbnRlZWQuCisKKyAgICAgICAg
QXJyYXkgc2hvdWxkIGJlIHVzZWQgdG8gc3BlY2lmeSBjb2x1bW4gb3JkZXIuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzOiBDaGFuZ2UgY29uc3J0cnVjdG9yIHBh
cmFtZXRlciB0eXBlLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25D
YWNoZUl0ZW1zVmlldy5qczogQWRvcHQgY2hhbmdlcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanM6IERpdHRvLgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanM6IERpdHRvLgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvQ29va2llSXRlbXNWaWV3LmpzOiBEaXR0by4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tpZXNUYWJsZS5qczogRGl0dG8uCisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzOiBEaXR0by4KKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNvbnRlbnRWaWV3LmpzOiBEaXR0by4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qczogRGl0dG8uCisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3REYXRhR3JpZHMuanM6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCVmlld3MuanM6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3
LmpzOiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
czogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdlYlNvY2tl
dEZyYW1lVmlldy5qczogRGl0dG8uCisKIDIwMTMtMDMtMTQgIE1hcmphIEjDtmx0dMOkICA8bWFy
amFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gU3RvcmUgbWFpbiB3b3JsZCBhbmQgbm9u
LW1haW4gd29ybGQgdGVtcGxhdGVzIHNlcGFyYXRlbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1Zp
ZXcuanMKaW5kZXggZDU5NDQ3MDcwMTgyZmVmOWYxNGFhZDNkNWY3MzcxYWZmMmUxMTkwMi4uN2Nj
M2JjYjYzOTViNzEwMGFlZjg2Mjc3NGIzOTE1YWQ0MTZjYTI5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNo
ZUl0ZW1zVmlldy5qcwpAQCAtMTk2LDE1ICsxOTYsMTEgQEAgV2ViSW5zcGVjdG9yLkFwcGxpY2F0
aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2NyZWF0ZURhdGFHcmlkOiBm
dW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgY29sdW1ucyA9IHsgMDoge30sIDE6IHt9LCAy
OiB7fSB9OwotICAgICAgICBjb2x1bW5zWzBdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJSZXNvdXJjZSIpOwotICAgICAgICBjb2x1bW5zWzBdLnNvcnQgPSAiYXNjZW5kaW5nIjsKLSAg
ICAgICAgY29sdW1uc1swXS5zb3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnNbMV0udGl0
bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUiKTsKLSAgICAgICAgY29sdW1uc1sxXS5z
b3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnNbMl0udGl0bGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlNpemUiKTsKLSAgICAgICAgY29sdW1uc1syXS5hbGlnbmVkID0gInJpZ2h0IjsK
LSAgICAgICAgY29sdW1uc1syXS5zb3J0YWJsZSA9IHRydWU7CisgICAgICAgIHZhciBjb2x1bW5z
ID0gWworICAgICAgICAgICAge3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlc291cmNl
IiksIHNvcnQ6ICJhc2NlbmRpbmciLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAgICAgICAgICB7dGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVHlwZSIpLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAg
ICAgICAgICB7dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBhbGlnbmVkOiAi
cmlnaHQiLCBzb3J0YWJsZTogdHJ1ZX0KKyAgICAgICAgXTsKICAgICAgICAgdGhpcy5fZGF0YUdy
aWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkKGNvbHVtbnMpOwogICAgICAgICB0aGlzLl9k
YXRhR3JpZC5zaG93KHRoaXMuZWxlbWVudCk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2
ZW50TGlzdGVuZXIoInNvcnRpbmcgY2hhbmdlZCIsIHRoaXMuX3BvcHVsYXRlRGF0YUdyaWQsIHRo
aXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQ
cm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJv
ZmlsZVZpZXcuanMKaW5kZXggNjhkNzMyODlmOWMzYTMzMDYxNWZhZjk5MTk2ZDRlM2Y5MjNmOTdh
Ny4uMzllMmU2NjUxMmM4YTY4Y2QyMzhmZWYwNzU3YjA4YjU4OTc4NTI1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzCkBA
IC0zOSwxNiArMzksMTQgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3ID0gZnVuY3Rpb24o
cHJvZmlsZSkKICAgICB0aGlzLnNob3dBdmVyYWdlVGltZUFzUGVyY2VudCA9IFdlYkluc3BlY3Rv
ci5zZXR0aW5ncy5jcmVhdGVTZXR0aW5nKCJjcHVQcm9maWxlclNob3dBdmVyYWdlVGltZUFzUGVy
Y2VudCIsIHRydWUpOwogICAgIHRoaXMuX3ZpZXdUeXBlID0gV2ViSW5zcGVjdG9yLnNldHRpbmdz
LmNyZWF0ZVNldHRpbmcoImNwdVByb2ZpbGVyVmlldyIsIFdlYkluc3BlY3Rvci5DUFVQcm9maWxl
Vmlldy5fVHlwZUhlYXZ5KTsKIAotICAgIHZhciBjb2x1bW5zID0geyAic2VsZiI6IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZiIpLCB3aWR0aDogIjcycHgiLCBzb3J0OiAiZGVz
Y2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgICAgICAgICAgICAgICJ0b3RhbCI6
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVG90YWwiKSwgd2lkdGg6ICI3MnB4Iiwg
c29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgImF2ZXJhZ2UiOiB7IHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF2ZXJhZ2UiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFi
bGU6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgImNhbGxzIjogeyB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDYWxscyIpLCB3aWR0aDogIjU0cHgiLCBzb3J0YWJsZTogdHJ1ZSB9
LAotICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24iOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkZ1bmN0aW9uIiksIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlIH0g
fTsKLQotICAgIGlmIChDYXBhYmlsaXRpZXMuc2FtcGxpbmdDUFVQcm9maWxlcikgewotICAgICAg
ICBkZWxldGUgY29sdW1ucy5hdmVyYWdlOwotICAgICAgICBkZWxldGUgY29sdW1ucy5jYWxsczsK
KyAgICB2YXIgY29sdW1ucyA9IFtdOworICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJzZWxmIiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZiIpLCB3aWR0aDogIjcycHgiLCBzb3J0OiAi
ZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlfSk7CisgICAgY29sdW1ucy5wdXNoKHtpZDogInRv
dGFsIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVG90YWwiKSwgd2lkdGg6ICI3MnB4
Iiwgc29ydGFibGU6IHRydWV9KTsKKyAgICBpZiAoIUNhcGFiaWxpdGllcy5zYW1wbGluZ0NQVVBy
b2ZpbGVyKSB7CisgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJhdmVyYWdlIiwgdGl0bGU6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiQXZlcmFnZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTog
dHJ1ZX0pOworICAgICAgICBjb2x1bW5zLnB1c2goe2lkOiAiY2FsbHMiLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDYWxscyIpLCB3aWR0aDogIjU0cHgiLCBzb3J0YWJsZTogdHJ1ZX0p
OwogICAgIH0KKyAgICBjb2x1bW5zLnB1c2goe2lkOiAiZnVuY3Rpb24iLCB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJGdW5jdGlvbiIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTog
dHJ1ZX0pOwogCiAgICAgdGhpcy5kYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQo
Y29sdW1ucyk7CiAgICAgdGhpcy5kYXRhR3JpZC5hZGRFdmVudExpc3RlbmVyKCJzb3J0aW5nIGNo
YW5nZWQiLCB0aGlzLl9zb3J0UHJvZmlsZSwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMK
aW5kZXggZjQzM2MxMzA2ZmJhNWQwZjMyOGU3NjlmODE5YjdjYTgxYzc4ZWI0Ni4uMjU3ZTM3MjA2
YjExZmEzYzRmYjQ3MTRlNzhkZDA3MzI4MzQ4YzY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2ZpbGVWaWV3LmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5q
cwpAQCAtOTIsMTAgKzkyLDEyIEBAIFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvclByb2ZpbGVWaWV3
ID0gZnVuY3Rpb24ocHJvZmlsZSkKIAogICAgIHRoaXMuc2hvd1RpbWVBc1BlcmNlbnQgPSBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3MuY3JlYXRlU2V0dGluZygic2VsZWN0b3JQcm9maWxlclNob3dUaW1l
QXNQZXJjZW50IiwgdHJ1ZSk7CiAKLSAgICB2YXIgY29sdW1ucyA9IHsgInNlbGVjdG9yIjogeyB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxlY3RvciIpLCB3aWR0aDogIjU1MHB4Iiwg
c29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgInNvdXJjZSI6IHsgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU291cmNlIiksIHdpZHRoOiAiMTAwcHgiLCBzb3J0YWJs
ZTogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICAidGltZSI6IHsgdGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiVG90YWwiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydDogImRlc2NlbmRpbmci
LCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICAgICAgICAgICAgICAibWF0Y2hlcyI6IHsgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWF0Y2hlcyIpLCB3aWR0aDogIjcycHgiLCBzb3J0
YWJsZTogdHJ1ZSB9IH07CisgICAgdmFyIGNvbHVtbnMgPSBbCisgICAgICAgIHtpZDogInNlbGVj
dG9yIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZWN0b3IiKSwgd2lkdGg6ICI1
NTBweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAic291cmNlIiwgdGl0bGU6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiU291cmNlIiksIHdpZHRoOiAiMTAwcHgiLCBzb3J0YWJsZTog
dHJ1ZX0sCisgICAgICAgIHtpZDogInRpbWUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJUb3RhbCIpLCB3aWR0aDogIjcycHgiLCBzb3J0OiAiZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0
cnVlfSwKKyAgICAgICAge2lkOiAibWF0Y2hlcyIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIk1hdGNoZXMiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWV9CisgICAgXTsKIAog
ICAgIHRoaXMuZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkKGNvbHVtbnMpOwog
ICAgIHRoaXMuZGF0YUdyaWQuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJzZWxlY3Rvci1wcm9maWxl
LXZpZXciKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q2FudmFzUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NhbnZhc1Byb2ZpbGVWaWV3LmpzCmluZGV4IDY4YTdlZTEyZDY0YmFhMTFhZDM0ZTg0ZjAzY2Ey
YWRkNzc1NWZjMzcuLmExYjZmM2EyMGRhNDQzZmViMmI4ZjU3NTY3MjI3NTYwNGRkY2VmOTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmls
ZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYW52YXNQ
cm9maWxlVmlldy5qcwpAQCAtNzAsMTcgKzcwLDExIEBAIFdlYkluc3BlY3Rvci5DYW52YXNQcm9m
aWxlVmlldyA9IGZ1bmN0aW9uKHByb2ZpbGUpCiAgICAgLyoqIEB0eXBlIHshT2JqZWN0LjxzdHJp
bmcsIENhbnZhc0FnZW50LlJlc291cmNlU3RhdGU+fSAqLwogICAgIHRoaXMuX2N1cnJlbnRSZXNv
dXJjZVN0YXRlcyA9IHt9OwogCi0gICAgdmFyIGNvbHVtbnMgPSB7IDA6IHt9LCAxOiB7fSwgMjog
e30gfTsKLSAgICBjb2x1bW5zWzBdLnRpdGxlID0gIiMiOwotICAgIGNvbHVtbnNbMF0uc29ydGFi
bGUgPSB0cnVlOwotICAgIGNvbHVtbnNbMF0ud2lkdGggPSAiNSUiOwotICAgIGNvbHVtbnNbMV0u
dGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbGwiKTsKLSAgICBjb2x1bW5zWzFdLnNv
cnRhYmxlID0gdHJ1ZTsKLSAgICBjb2x1bW5zWzFdLndpZHRoID0gIjc1JSI7Ci0gICAgY29sdW1u
c1sxXS5kaXNjbG9zdXJlID0gdHJ1ZTsKLSAgICBjb2x1bW5zWzJdLnRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJMb2NhdGlvbiIpOwotICAgIGNvbHVtbnNbMl0uc29ydGFibGUgPSB0cnVl
OwotICAgIGNvbHVtbnNbMl0ud2lkdGggPSAiMjAlIjsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAg
ICAgICAge3RpdGxlOiAiIyIsIHNvcnRhYmxlOiB0cnVlLCB3aWR0aDogIjUlIn0sCisgICAgICAg
IHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYWxsIiksIHNvcnRhYmxlOiB0cnVlLCB3
aWR0aDogIjc1JSIsIGRpc2Nsb3N1cmU6IHRydWV9LAorICAgICAgICB7dGl0bGU6IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiTG9jYXRpb24iKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiMjAlIn0K
KyAgICBdOwogCiAgICAgdGhpcy5fbG9nR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQo
Y29sdW1ucyk7CiAgICAgdGhpcy5fbG9nR3JpZC5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImZpbGwi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2ll
SXRlbXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJ
dGVtc1ZpZXcuanMKaW5kZXggZDk4MWE3ZjdhNWExNTAzM2MwMTI5ZjZjYWZkZmY2OGJkNmZiZThk
Mi4uZDRjY2YzYmRmMWU5NTJhMjczMmE5YTNhMGEzMmQyZmVlMGYxMjE4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJdGVtc1ZpZXcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJdGVtc1ZpZXcuanMK
QEAgLTE3MiwxMSArMTcyLDEwIEBAIFdlYkluc3BlY3Rvci5TaW1wbGVDb29raWVzVGFibGUgPSBm
dW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlZpZXcuY2FsbCh0aGlzKTsKIAotICAgIHZh
ciBjb2x1bW5zID0ge307Ci0gICAgY29sdW1uc1swXSA9IHt9OwotICAgIGNvbHVtbnNbMV0gPSB7
fTsKLSAgICBjb2x1bW5zWzBdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7
Ci0gICAgY29sdW1uc1sxXS50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVmFsdWUiKTsK
KyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAgICAge3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIk5hbWUiKX0sCisgICAgICAgIHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJWYWx1
ZSIpfQorICAgIF07CiAKICAgICB0aGlzLl9kYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0
YUdyaWQoY29sdW1ucyk7CiAgICAgdGhpcy5fZGF0YUdyaWQuYXV0b1NpemVDb2x1bW5zKDIwLCA4
MCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tp
ZXNUYWJsZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1Rh
YmxlLmpzCmluZGV4IDVjYzZjM2IwZWVhYWE1ZTc1ZjA4NjRiNWFjOGMwODhkNjdmZThlNWMuLjJh
NDk3ODc2NTg1NGVhZjBlMjgyNTI4YjZiNzM3ZTVmMWE5YzY2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1RhYmxlLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2llc1RhYmxlLmpzCkBAIC00MiwzNiAr
NDIsMTYgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZXNUYWJsZSA9IGZ1bmN0aW9uKGV4cGFuZGFibGUs
IHJlZnJlc2hDYWxsYmFjaykKICAgICB2YXIgcmVhZE9ubHkgPSBleHBhbmRhYmxlOwogICAgIHRo
aXMuX3JlZnJlc2hDYWxsYmFjayA9IHJlZnJlc2hDYWxsYmFjazsKIAotICAgIHZhciBjb2x1bW5z
ID0ge25hbWU6IHt9LCB2YWx1ZToge30sIGRvbWFpbjoge30sIHBhdGg6IHt9LCBleHBpcmVzOiB7
fSwgc2l6ZToge30sIGh0dHBPbmx5OiB7fSwgc2VjdXJlOiB7fX07Ci0gICAgY29sdW1ucy5uYW1l
LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7Ci0gICAgY29sdW1ucy5uYW1l
LnNvcnRhYmxlID0gdHJ1ZTsKLSAgICBjb2x1bW5zLm5hbWUuZGlzY2xvc3VyZSA9IGV4cGFuZGFi
bGU7Ci0gICAgY29sdW1ucy5uYW1lLndpZHRoID0gIjI0JSI7Ci0gICAgY29sdW1ucy5uYW1lLnNv
cnQgPSAiYXNjZW5kaW5nIjsKLSAgICBjb2x1bW5zLnZhbHVlLnRpdGxlID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJWYWx1ZSIpOwotICAgIGNvbHVtbnMudmFsdWUuc29ydGFibGUgPSB0cnVlOwot
ICAgIGNvbHVtbnMudmFsdWUud2lkdGggPSAiMzQlIjsKLSAgICBjb2x1bW5zLmRvbWFpbi50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRG9tYWluIik7Ci0gICAgY29sdW1ucy5kb21haW4u
c29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnMuZG9tYWluLndpZHRoID0gIjclIjsKLSAgICBj
b2x1bW5zLnBhdGgudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhdGgiKTsKLSAgICBj
b2x1bW5zLnBhdGguc29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVtbnMucGF0aC53aWR0aCA9ICI3
JSI7Ci0gICAgY29sdW1ucy5leHBpcmVzLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJF
eHBpcmVzIC8gTWF4LUFnZSIpOwotICAgIGNvbHVtbnMuZXhwaXJlcy5zb3J0YWJsZSA9IHRydWU7
Ci0gICAgY29sdW1ucy5leHBpcmVzLndpZHRoID0gIjclIjsKLSAgICBjb2x1bW5zLnNpemUudGl0
bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKTsKLSAgICBjb2x1bW5zLnNpemUuYWxp
Z25lZCA9ICJyaWdodCI7Ci0gICAgY29sdW1ucy5zaXplLnNvcnRhYmxlID0gdHJ1ZTsKLSAgICBj
b2x1bW5zLnNpemUud2lkdGggPSAiNyUiOwotICAgIGNvbHVtbnMuaHR0cE9ubHkudGl0bGUgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhUVFAiKTsKLSAgICBjb2x1bW5zLmh0dHBPbmx5LmFsaWdu
ZWQgPSAiY2VudGVyZWQiOwotICAgIGNvbHVtbnMuaHR0cE9ubHkuc29ydGFibGUgPSB0cnVlOwot
ICAgIGNvbHVtbnMuaHR0cE9ubHkud2lkdGggPSAiNyUiOwotICAgIGNvbHVtbnMuc2VjdXJlLnRp
dGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWN1cmUiKTsKLSAgICBjb2x1bW5zLnNlY3Vy
ZS5hbGlnbmVkID0gImNlbnRlcmVkIjsKLSAgICBjb2x1bW5zLnNlY3VyZS5zb3J0YWJsZSA9IHRy
dWU7Ci0gICAgY29sdW1ucy5zZWN1cmUud2lkdGggPSAiNyUiOworICAgIHZhciBjb2x1bW5zID0g
WworICAgICAgICB7aWQ6ICJuYW1lIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFt
ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgZGlzY2xvc3VyZTogZXhwYW5kYWJsZSwgc29ydDogImFzY2Vu
ZGluZyIsIHdpZHRoOiAiMjQlIn0sCisgICAgICAgIHtpZDogInZhbHVlIiwgdGl0bGU6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiVmFsdWUiKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiMzQlIn0s
CisgICAgICAgIHtpZDogImRvbWFpbiIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRv
bWFpbiIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICI3JSJ9LAorICAgICAgICB7aWQ6ICJwYXRo
IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF0aCIpLCBzb3J0YWJsZTogdHJ1ZSwg
d2lkdGg6ICI3JSJ9LAorICAgICAgICB7aWQ6ICJleHBpcmVzIiwgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRXhwaXJlcyAvIE1heC1BZ2UiKSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAi
NyUifSwKKyAgICAgICAge2lkOiAic2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNpemUiKSwgc29ydGFibGU6IHRydWUsIGFsaWduZWQ6ICJyaWdodCIsIHdpZHRoOiAiNyUifSwK
KyAgICAgICAge2lkOiAiaHR0cE9ubHkiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJI
VFRQIiksIHNvcnRhYmxlOiB0cnVlLCBhbGlnbmVkOiAiY2VudGVyZWQiLCB3aWR0aDogIjclIn0s
CisgICAgICAgIHtpZDogInNlY3VyZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNl
Y3VyZSIpLCBzb3J0YWJsZTogdHJ1ZSwgYWxpZ25lZDogImNlbnRlcmVkIiwgd2lkdGg6ICI3JSJ9
CisgICAgXTsKIAogICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZChjb2x1bW5zLCBudWxsLCByZWFkT25seSA/IG51bGwgOiB0aGlzLl9vbkRlbGV0ZUNvb2tpZS5i
aW5kKHRoaXMpLCByZWZyZXNoQ2FsbGJhY2spOwogICAgIHRoaXMuX2RhdGFHcmlkLmFkZEV2ZW50
TGlzdGVuZXIoInNvcnRpbmcgY2hhbmdlZCIsIHRoaXMuX3JlYnVpbGRUYWJsZSwgdGhpcyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJ
dGVtc1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3Jh
Z2VJdGVtc1ZpZXcuanMKaW5kZXggZWJiZDg3NDM1NzM2Yjk3MGI4MmNlZGM3ZTU4YmJiMjJkNDQ3
ZTQxMy4uY2M3NTM0M2Q5OGY4YmQxMDNjNTY5ZTcxMjkzZmMzYjBmMDQxYjMyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0
ZW1zVmlldy5qcwpAQCAtMTc5LDEzICsxNzksMTAgQEAgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VJ
dGVtc1ZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2RhdGFHcmlkRm9yRE9NU3RvcmFnZUl0ZW1z
OiBmdW5jdGlvbihpdGVtcykKICAgICB7Ci0gICAgICAgIHZhciBjb2x1bW5zID0ge2tleToge30s
IHZhbHVlOiB7fX07Ci0KLSAgICAgICAgY29sdW1ucy5rZXkudGl0bGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIktleSIpOwotICAgICAgICBjb2x1bW5zLmtleS5lZGl0YWJsZSA9IHRydWU7Ci0K
LSAgICAgICAgY29sdW1ucy52YWx1ZS50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVmFs
dWUiKTsKLSAgICAgICAgY29sdW1ucy52YWx1ZS5lZGl0YWJsZSA9IHRydWU7CisgICAgICAgIHZh
ciBjb2x1bW5zID0gWworICAgICAgICAgICAge2lkOiAia2V5IiwgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiS2V5IiksIGVkaXRhYmxlOiB0cnVlfSwKKyAgICAgICAgICAgIHtpZDogInZh
bHVlIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVmFsdWUiKSwgZWRpdGFibGU6IHRy
dWV9CisgICAgICAgIF07CiAKICAgICAgICAgdmFyIG5vZGVzID0gW107CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCmluZGV4IDQzOTljN2Y2MjQ2
YTM5M2E3YmZmMWRjZDVkMzNmZjc5OGRmOGJlNDEuLjdjNWNlOTk0Y2RlNWNjMGE3MmNiNWI2M2Ex
NDQyNjFhYTZkYzNiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EYXRhR3JpZC5qcwpAQCAtMjYsMTIgKzI2LDEyIEBACiAvKioKICAqIEBjb25zdHJ1Y3Rvcgog
ICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5WaWV3fQotICogQHBhcmFtIHtPYmplY3QuPHN0cmlu
ZywgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkNvbHVtbkRlc2NyaXB0b3I+fSBjb2x1bW5zCisgKiBA
cGFyYW0geyFBcnJheS48IVdlYkluc3BlY3Rvci5EYXRhR3JpZC5Db2x1bW5EZXNjcmlwdG9yPn0g
Y29sdW1uc0FycmF5CiAgKiBAcGFyYW0gez9mdW5jdGlvbihXZWJJbnNwZWN0b3IuRGF0YUdyaWRO
b2RlLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nKT19IGVkaXRDYWxsYmFjawogICogQHBhcmFtIHs/
ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZSk9fSBkZWxldGVDYWxsYmFjawogICog
QHBhcmFtIHs/ZnVuY3Rpb24oKT19IHJlZnJlc2hDYWxsYmFjawogICovCi1XZWJJbnNwZWN0b3Iu
RGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5zLCBlZGl0Q2FsbGJhY2ssIGRlbGV0ZUNhbGxiYWNr
LCByZWZyZXNoQ2FsbGJhY2spCitXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1
bW5zQXJyYXksIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2ssIHJlZnJlc2hDYWxsYmFjaykK
IHsKICAgICBXZWJJbnNwZWN0b3IuVmlldy5jYWxsKHRoaXMpOwogICAgIHRoaXMucmVnaXN0ZXJS
ZXF1aXJlZENTUygiZGF0YUdyaWQuY3NzIik7CkBAIC03MSwxMCArNzEsMTkgQEAgV2ViSW5zcGVj
dG9yLkRhdGFHcmlkID0gZnVuY3Rpb24oY29sdW1ucywgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxs
YmFjaywgcmVmcmVzaEMKIAogICAgIHZhciBoZWFkZXJSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ0ciIpOwogICAgIHZhciBjb2x1bW5Hcm91cCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImNvbGdyb3VwIik7Ci0gICAgdGhpcy5fY29sdW1uQ291bnQgPSAwOworICAgIGNvbHVtbkdyb3Vw
LnNwYW4gPSBjb2x1bW5zQXJyYXkubGVuZ3RoOwogCi0gICAgZm9yICh2YXIgY29sdW1uSWRlbnRp
ZmllciBpbiBjb2x1bW5zKSB7Ci0gICAgICAgIHZhciBjb2x1bW4gPSBjb2x1bW5zW2NvbHVtbklk
ZW50aWZpZXJdOworICAgIHZhciBmaWxsZXJSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0
ciIpOworICAgIGZpbGxlclJvdy5jbGFzc05hbWUgPSAiZmlsbGVyIjsKKworICAgIHRoaXMuX2Nv
bHVtbnNBcnJheSA9IGNvbHVtbnNBcnJheTsKKyAgICB0aGlzLmNvbHVtbnMgPSB7fTsKKworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgY29sdW1uc0FycmF5Lmxlbmd0aDsgKytpKSB7CisgICAgICAg
IHZhciBjb2x1bW4gPSBjb2x1bW5zQXJyYXlbaV07CisgICAgICAgIGNvbHVtbi5vcmRpbmFsID0g
aTsKKyAgICAgICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSBjb2x1bW4uaWRlbnRpZmllciA9IGNv
bHVtbi5pZCB8fCBpOworICAgICAgICB0aGlzLmNvbHVtbnNbY29sdW1uSWRlbnRpZmllcl0gPSBj
b2x1bW47CiAgICAgICAgIGlmIChjb2x1bW4uZGlzY2xvc3VyZSkKICAgICAgICAgICAgIHRoaXMu
ZGlzY2xvc3VyZUNvbHVtbklkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwogCkBAIC0xMTAs
NDAgKzExOSwyMCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBmdW5jdGlvbihjb2x1bW5zLCBl
ZGl0Q2FsbGJhY2ssIGRlbGV0ZUNhbGxiYWNrLCByZWZyZXNoQwogICAgICAgICAgICAgdGhpcy5h
bGlnbmVkW2NvbHVtbklkZW50aWZpZXJdID0gY29sdW1uLmFsaWduZWQ7CiAKICAgICAgICAgaGVh
ZGVyUm93LmFwcGVuZENoaWxkKGNlbGwpOwotCi0gICAgICAgICsrdGhpcy5fY29sdW1uQ291bnQ7
CisgICAgICAgIGZpbGxlclJvdy5jcmVhdGVDaGlsZCgidGQiLCBjb2x1bW5JZGVudGlmaWVyICsg
Ii1jb2x1bW4iKTsKICAgICB9CiAKLSAgICBjb2x1bW5Hcm91cC5zcGFuID0gdGhpcy5fY29sdW1u
Q291bnQ7Ci0KICAgICBoZWFkZXJSb3cuY3JlYXRlQ2hpbGQoInRoIiwgImNvcm5lciIpOworICAg
IGZpbGxlclJvdy5jcmVhdGVDaGlsZCgidGQiLCAiY29ybmVyIik7CiAKICAgICB0aGlzLl9oZWFk
ZXJUYWJsZUNvbHVtbkdyb3VwID0gY29sdW1uR3JvdXA7CiAgICAgdGhpcy5faGVhZGVyVGFibGUu
YXBwZW5kQ2hpbGQodGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cCk7CiAgICAgdGhpcy5oZWFk
ZXJUYWJsZUJvZHkuYXBwZW5kQ2hpbGQoaGVhZGVyUm93KTsKIAotICAgIHZhciBmaWxsZXJSb3cg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOwotICAgIGZpbGxlclJvdy5jbGFzc05hbWUg
PSAiZmlsbGVyIjsKLQotICAgIGZvciAodmFyIGNvbHVtbklkZW50aWZpZXIgaW4gY29sdW1ucykK
LSAgICAgICAgZmlsbGVyUm93LmNyZWF0ZUNoaWxkKCJ0ZCIsIGNvbHVtbklkZW50aWZpZXIgKyAi
LWNvbHVtbiIpOwotICAgIGZpbGxlclJvdy5jcmVhdGVDaGlsZCgidGQiLCAiY29ybmVyIik7Ci0K
ICAgICB0aGlzLl9kYXRhVGFibGVDb2x1bW5Hcm91cCA9IGNvbHVtbkdyb3VwLmNsb25lTm9kZSh0
cnVlKTsKICAgICB0aGlzLl9kYXRhVGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fZGF0YVRhYmxlQ29s
dW1uR3JvdXApOwogICAgIHRoaXMuZGF0YVRhYmxlQm9keS5hcHBlbmRDaGlsZChmaWxsZXJSb3cp
OwogCi0gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucyB8fCB7fTsKLSAgICB0aGlzLl9jb2x1bW5z
QXJyYXkgPSBbXTsKLSAgICBmb3IgKHZhciBjb2x1bW5JZGVudGlmaWVyIGluIGNvbHVtbnMpIHsK
LSAgICAgICAgY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXS5vcmRpbmFsID0gdGhpcy5fY29sdW1u
c0FycmF5Lmxlbmd0aDsKLSAgICAgICAgY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXS5pZGVudGlm
aWVyID0gY29sdW1uSWRlbnRpZmllcjsKLSAgICAgICAgdGhpcy5fY29sdW1uc0FycmF5LnB1c2go
Y29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXSk7Ci0gICAgfQotCi0gICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0aGlzLl9jb2x1bW5zQXJyYXkubGVuZ3RoOyArK2kpCi0gICAgICAgIHRoaXMuX2NvbHVt
bnNBcnJheVtpXS5ib2R5RWxlbWVudCA9IHRoaXMuX2RhdGFUYWJsZUNvbHVtbkdyb3VwLmNoaWxk
cmVuW2ldOwotCiAgICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBudWxsOwogICAgIHRoaXMuZXhwYW5k
Tm9kZXNXaGVuQXJyb3dpbmcgPSBmYWxzZTsKICAgICB0aGlzLnNldFJvb3ROb2RlKG5ldyBXZWJJ
bnNwZWN0b3IuRGF0YUdyaWROb2RlKCkpOwpAQCAtMTUyLDcgKzE0MSw3IEBAIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZCA9IGZ1bmN0aW9uKGNvbHVtbnMsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJh
Y2ssIHJlZnJlc2hDCiAgICAgdGhpcy5fY29sdW1uV2lkdGhzSW5pdGlhbGl6ZWQgPSBmYWxzZTsK
IH0KIAotLyoqIEB0eXBlZGVmIHt7ZWRpdGFibGU6Ym9vbGVhbiwgc29ydDpzdHJpbmcsIHNvcnRh
YmxlOmJvb2xlYW4sIGFsaWduZWQ6c3RyaW5nfX0gKi8KKy8qKiBAdHlwZWRlZiB7e2lkOj9zdHJp
bmcsIGVkaXRhYmxlOmJvb2xlYW4sIHNvcnQ6c3RyaW5nLCBzb3J0YWJsZTpib29sZWFuLCBhbGln
bmVkOnN0cmluZ319ICovCiBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuQ29sdW1uRGVzY3JpcHRvcjsK
IAogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLkV2ZW50cyA9IHsKQEAgLTE3MCwxNCArMTU5LDkgQEAg
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLmNyZWF0ZVNvcnRhYmxlRGF0YUdyaWQgPSBmdW5jdGlvbihj
b2x1bW5OYW1lcywgdmFsdWVzKQogICAgIGlmICghbnVtQ29sdW1ucykKICAgICAgICAgcmV0dXJu
IG51bGw7CiAKLSAgICB2YXIgY29sdW1ucyA9IHt9OwotCi0gICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBjb2x1bW5OYW1lcy5sZW5ndGg7ICsraSkgewotICAgICAgICBjb2x1bW5zW2ldID0ge307Ci0g
ICAgICAgIGNvbHVtbnNbaV0ud2lkdGggPSBjb2x1bW5OYW1lc1tpXS5sZW5ndGg7Ci0gICAgICAg
IGNvbHVtbnNbaV0udGl0bGUgPSBjb2x1bW5OYW1lc1tpXTsKLSAgICAgICAgY29sdW1uc1tpXS5z
b3J0YWJsZSA9IHRydWU7Ci0gICAgfQorICAgIHZhciBjb2x1bW5zID0gW107CisgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBjb2x1bW5OYW1lcy5sZW5ndGg7ICsraSkKKyAgICAgICAgY29sdW1ucy5w
dXNoKHt0aXRsZTogY29sdW1uTmFtZXNbaV0sIHdpZHRoOiBjb2x1bW5OYW1lc1tpXS5sZW5ndGgs
IHNvcnRhYmxlOiB0cnVlfSk7CiAKICAgICB2YXIgbm9kZXMgPSBbXTsKICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHZhbHVlcy5sZW5ndGggLyBudW1Db2x1bW5zOyArK2kpIHsKQEAgLTQwOCw3ICsz
OTIsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICB2YXIg
Y29sdW1ucyA9IHRoaXMuX2NvbHVtbnNBcnJheTsKICAgICAgICAgZm9yICh2YXIgaSA9IGNvbHVt
bk9yZGluYWwgKyBpbmNyZW1lbnQ7IChpID49IDApICYmIChpIDwgY29sdW1ucy5sZW5ndGgpOyBp
ICs9IGluY3JlbWVudCkgewogICAgICAgICAgICAgaWYgKGNvbHVtbnNbaV0uZWRpdGFibGUpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIGNvbHVtbnNbaV0ub3JkaW5hbDsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gaTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gLTE7CiAgICAgfSwKQEAgLTUy
MCwxNiArNTA0LDE1IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAg
YXV0b1NpemVDb2x1bW5zOiBmdW5jdGlvbihtaW5QZXJjZW50LCBtYXhQZXJjZW50LCBtYXhEZXNj
ZW50TGV2ZWwpCiAgICAgewogICAgICAgICB2YXIgd2lkdGhzID0gW107Ci0gICAgICAgIHZhciBj
b2x1bW5JZGVudGlmaWVycyA9IE9iamVjdC5rZXlzKHRoaXMuY29sdW1ucyk7Ci0gICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgY29sdW1uSWRlbnRpZmllcnMubGVuZ3RoOyArK2kpCi0gICAgICAg
ICAgICB3aWR0aHNbaV0gPSAodGhpcy5jb2x1bW5zW2NvbHVtbklkZW50aWZpZXJzW2ldXS50aXRs
ZSB8fCAiIikubGVuZ3RoOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2NvbHVt
bnNBcnJheS5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIHdpZHRocy5wdXNoKCh0aGlzLl9jb2x1
bW5zQXJyYXlbaV0udGl0bGUgfHwgIiIpLmxlbmd0aCk7CiAKICAgICAgICAgbWF4RGVzY2VudExl
dmVsID0gbWF4RGVzY2VudExldmVsIHx8IDA7CiAgICAgICAgIHZhciBjaGlsZHJlbiA9IHRoaXMu
X2VudW1lcmF0ZUNoaWxkcmVuKHRoaXMuX3Jvb3ROb2RlLCBbXSwgbWF4RGVzY2VudExldmVsICsg
MSk7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsK
ICAgICAgICAgICAgIHZhciBub2RlID0gY2hpbGRyZW5baV07Ci0gICAgICAgICAgICBmb3IgKHZh
ciBqID0gMDsgaiA8IGNvbHVtbklkZW50aWZpZXJzLmxlbmd0aDsgKytqKSB7Ci0gICAgICAgICAg
ICAgICAgdmFyIHRleHQgPSBub2RlLmRhdGFbY29sdW1uSWRlbnRpZmllcnNbal1dIHx8ICIiOwor
ICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0aGlzLl9jb2x1bW5zQXJyYXkubGVuZ3Ro
OyArK2opIHsKKyAgICAgICAgICAgICAgICB2YXIgdGV4dCA9IG5vZGUuZGF0YVt0aGlzLl9jb2x1
bW5zQXJyYXlbal0uaWRlbnRpZmllcl0gfHwgIiI7CiAgICAgICAgICAgICAgICAgaWYgKHRleHQu
bGVuZ3RoID4gd2lkdGhzW2pdKQogICAgICAgICAgICAgICAgICAgICB3aWR0aHNbal0gPSB0ZXh0
Lmxlbmd0aDsKICAgICAgICAgICAgIH0KQEAgLTUzNyw4ICs1MjAsOCBAQCBXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQucHJvdG90eXBlID0gewogCiAgICAgICAgIHdpZHRocyA9IHRoaXMuX2F1dG9TaXpl
V2lkdGhzKHdpZHRocywgbWluUGVyY2VudCwgbWF4UGVyY2VudCk7CiAKLSAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBjb2x1bW5JZGVudGlmaWVycy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAg
IHRoaXMuY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyc1tpXV0uZWxlbWVudC5zdHlsZS53aWR0aCA9
IHdpZHRoc1tpXSArICIlIjsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9jb2x1
bW5zQXJyYXkubGVuZ3RoOyArK2kpCisgICAgICAgICAgICB0aGlzLl9jb2x1bW5zQXJyYXlbaV0u
ZWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoc1tpXSArICIlIjsKICAgICAgICAgdGhpcy5fY29s
dW1uV2lkdGhzSW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy51cGRhdGVXaWR0aHMo
KTsKICAgICB9LApAQCAtNTk3LDE3ICs1ODAsMTggQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnBy
b3RvdHlwZSA9IHsKICAgICBhcHBseUNvbHVtbldlaWdodHM6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHZhciBzdW1PZldlaWdodHMgPSAwLjA7Ci0gICAgICAgIGZvciAodmFyIGNvbHVtbklk
ZW50aWZpZXIgaW4gdGhpcy5jb2x1bW5zKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5pc0NvbHVt
blZpc2libGUoY29sdW1uSWRlbnRpZmllcikpCi0gICAgICAgICAgICAgICAgc3VtT2ZXZWlnaHRz
ICs9IHRoaXMuY29sdW1uc1tjb2x1bW5JZGVudGlmaWVyXS53ZWlnaHQ7CisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdGhpcy5fY29sdW1uc0FycmF5Lmxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICB2YXIgY29sdW1uID0gdGhpcy5fY29sdW1uc0FycmF5W2ldOworICAgICAgICAgICAgaWYg
KHRoaXMuaXNDb2x1bW5WaXNpYmxlKGNvbHVtbikpCisgICAgICAgICAgICAgICAgc3VtT2ZXZWln
aHRzICs9IGNvbHVtbi53ZWlnaHQ7CiAgICAgICAgIH0KICAgICAgICAgdmFyIGZhY3RvciA9IDEw
MCAvIHN1bU9mV2VpZ2h0czsKIAotICAgICAgICBmb3IgKHZhciBjb2x1bW5JZGVudGlmaWVyIGlu
IHRoaXMuY29sdW1ucykgewotICAgICAgICAgICAgdmFyIGNvbHVtbiA9IHRoaXMuY29sdW1uc1tj
b2x1bW5JZGVudGlmaWVyXTsKLSAgICAgICAgICAgIHZhciB3aWR0aCA9IHRoaXMuaXNDb2x1bW5W
aXNpYmxlKGNvbHVtbklkZW50aWZpZXIpID8gKChmYWN0b3IgKiBjb2x1bW4ud2VpZ2h0KSArICIl
Iik6ICIwJSI7Ci0gICAgICAgICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwLmNoaWxk
cmVuW2NvbHVtbi5vcmRpbmFsXS5zdHlsZS53aWR0aCA9IHdpZHRoOwotICAgICAgICAgICAgdGhp
cy5fZGF0YVRhYmxlQ29sdW1uR3JvdXAuY2hpbGRyZW5bY29sdW1uLm9yZGluYWxdLnN0eWxlLndp
ZHRoID0gd2lkdGg7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fY29sdW1uc0Fy
cmF5Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5fY29sdW1u
c0FycmF5W2ldOworICAgICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5pc0NvbHVtblZpc2libGUo
Y29sdW1uKSA/ICgoZmFjdG9yICogY29sdW1uLndlaWdodCkgKyAiJSIpOiAiMCUiOworICAgICAg
ICAgICAgdGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cC5jaGlsZHJlbltpXS5zdHlsZS53aWR0
aCA9IHdpZHRoOworICAgICAgICAgICAgdGhpcy5fZGF0YVRhYmxlQ29sdW1uR3JvdXAuY2hpbGRy
ZW5baV0uc3R5bGUud2lkdGggPSB3aWR0aDsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3Bv
c2l0aW9uUmVzaXplcnMoKTsKQEAgLTYxNSwxMSArNTk5LDEyIEBAIFdlYkluc3BlY3Rvci5EYXRh
R3JpZC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3Ry
aW5nfSBjb2x1bW5JZGVudGlmaWVyCisgICAgICogQHBhcmFtIHshV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLkNvbHVtbkRlc2NyaXB0b3J9IGNvbHVtbgorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAg
ICAgICovCi0gICAgaXNDb2x1bW5WaXNpYmxlOiBmdW5jdGlvbihjb2x1bW5JZGVudGlmaWVyKQor
ICAgIGlzQ29sdW1uVmlzaWJsZTogZnVuY3Rpb24oY29sdW1uKQogICAgIHsKLSAgICAgICAgcmV0
dXJuICF0aGlzLmNvbHVtbnNbY29sdW1uSWRlbnRpZmllcl0uaGlkZGVuOworICAgICAgICByZXR1
cm4gIWNvbHVtbi5oaWRkZW47CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMTExOCw4ICsxMTAzLDkg
QEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBjcmVhdGVD
ZWxsczogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgZm9yICh2YXIgY29sdW1uSWRlbnRpZmll
ciBpbiB0aGlzLmRhdGFHcmlkLmNvbHVtbnMpIHsKLSAgICAgICAgICAgIHZhciBjZWxsID0gdGhp
cy5jcmVhdGVDZWxsKGNvbHVtbklkZW50aWZpZXIpOworICAgICAgICB2YXIgY29sdW1uc0FycmF5
ID0gdGhpcy5kYXRhR3JpZC5fY29sdW1uc0FycmF5OworICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGNvbHVtbnNBcnJheS5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGNlbGwgPSB0
aGlzLmNyZWF0ZUNlbGwoY29sdW1uc0FycmF5W2ldLmlkZW50aWZpZXIpOwogICAgICAgICAgICAg
dGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZChjZWxsKTsKICAgICAgICAgfQogICAgIH0sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNvbnRl
bnRWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EaXJlY3RvcnlD
b250ZW50Vmlldy5qcwppbmRleCA0MmFmMGViM2M0MmJjYWVmNTEzNjEyZGRkMjkxZTY4NmQ1OGIx
YjI4Li5lOTYwY2RhNDY4M2FlZDViZWYzYTE3NmQzNTI1ZjFhMWRiMjk3MDNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9yeUNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGlyZWN0b3J5Q29u
dGVudFZpZXcuanMKQEAgLTM1LDI4ICszNSwxMyBAQAogV2ViSW5zcGVjdG9yLkRpcmVjdG9yeUNv
bnRlbnRWaWV3ID0gZnVuY3Rpb24oKQogewogICAgIGNvbnN0IGluZGV4ZXMgPSBXZWJJbnNwZWN0
b3IuRGlyZWN0b3J5Q29udGVudFZpZXcuY29sdW1uSW5kZXhlczsKLSAgICB2YXIgY29sdW1ucyA9
IHt9OwotICAgIGNvbHVtbnNbaW5kZXhlcy5OYW1lXSA9IHt9OwotICAgIGNvbHVtbnNbaW5kZXhl
cy5OYW1lXS50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpOwotICAgIGNvbHVt
bnNbaW5kZXhlcy5OYW1lXS5zb3J0ID0gImFzY2VuZGluZyI7Ci0gICAgY29sdW1uc1tpbmRleGVz
Lk5hbWVdLnNvcnRhYmxlID0gdHJ1ZTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuTmFtZV0ud2lkdGgg
PSAiMjAlIjsKLSAgICBjb2x1bW5zW2luZGV4ZXMuVVJMXSA9IHt9OwotICAgIGNvbHVtbnNbaW5k
ZXhlcy5VUkxdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVUkwiKTsKLSAgICBjb2x1
bW5zW2luZGV4ZXMuVVJMXS5zb3J0YWJsZSA9IHRydWU7Ci0gICAgY29sdW1uc1tpbmRleGVzLlVS
TF0ud2lkdGggPSAiMjAlIjsKLSAgICBjb2x1bW5zW2luZGV4ZXMuVHlwZV0gPSB7fTsKLSAgICBj
b2x1bW5zW2luZGV4ZXMuVHlwZV0udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUi
KTsKLSAgICBjb2x1bW5zW2luZGV4ZXMuVHlwZV0uc29ydGFibGUgPSB0cnVlOwotICAgIGNvbHVt
bnNbaW5kZXhlcy5UeXBlXS53aWR0aCA9ICIxNSUiOwotICAgIGNvbHVtbnNbaW5kZXhlcy5TaXpl
XSA9IHt9OwotICAgIGNvbHVtbnNbaW5kZXhlcy5TaXplXS50aXRsZSA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU2l6ZSIpOwotICAgIGNvbHVtbnNbaW5kZXhlcy5TaXplXS5zb3J0YWJsZSA9IHRy
dWU7Ci0gICAgY29sdW1uc1tpbmRleGVzLlNpemVdLndpZHRoID0gIjEwJSI7Ci0gICAgY29sdW1u
c1tpbmRleGVzLk1vZGlmaWNhdGlvblRpbWVdID0ge307Ci0gICAgY29sdW1uc1tpbmRleGVzLk1v
ZGlmaWNhdGlvblRpbWVdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNb2RpZmljYXRp
b24gVGltZSIpOwotICAgIGNvbHVtbnNbaW5kZXhlcy5Nb2RpZmljYXRpb25UaW1lXS5zb3J0YWJs
ZSA9IHRydWU7Ci0gICAgY29sdW1uc1tpbmRleGVzLk1vZGlmaWNhdGlvblRpbWVdLndpZHRoID0g
IjI1JSI7CisgICAgdmFyIGNvbHVtbnMgPSBbCisgICAgICAgIHtpZDogaW5kZXhlcy5OYW1lLCB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIiksIHNvcnRhYmxlOiB0cnVlLCBzb3J0
OiAiYXNjZW5kaW5nIiwgd2lkdGg6ICIyMCUifSwKKyAgICAgICAge2lkOiBpbmRleGVzLlVSTCwg
dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVVJMIiksIHNvcnRhYmxlOiB0cnVlLCB3aWR0
aDogIjIwJSJ9LAorICAgICAgICB7aWQ6IGluZGV4ZXMuVHlwZSwgdGl0bGU6IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiVHlwZSIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIxNSUifSwKKyAgICAg
ICAge2lkOiBpbmRleGVzLlNpemUsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUi
KSwgc29ydGFibGU6IHRydWUsIHdpZHRoOiAiMTAlIn0sCisgICAgICAgIHtpZDogaW5kZXhlcy5N
b2RpZmljYXRpb25UaW1lLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNb2RpZmljYXRp
b24gVGltZSIpLCBzb3J0YWJsZTogdHJ1ZSwgd2lkdGg6ICIyNSUifQorICAgIF07CiAKICAgICBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKICAgICB0aGlzLmFkZEV2
ZW50TGlzdGVuZXIoInNvcnRpbmcgY2hhbmdlZCIsIHRoaXMuX3NvcnQsIHRoaXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwppbmRl
eCBhOTA5NzgyMDFjMWM4NGVhNTA5ZDQ0NThlMTc3ZjhlMjM3ZTg1ZmQ2Li41MTdlNzM3MDNkZWVi
ZGQxYzM5ODRmOWJlZGM0ODEyNGU4YmU3ZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcwpAQCAtMTU4Nyw3ICsxNTg3LDcgQEAg
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEZpbHRlcmVkT3JkZXJlZEl0ZXJhdG9yLnByb3RvdHlw
ZSA9IHsKIAogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEZpbHRlcmVkT3JkZXJlZEl0ZXJhdG9y
LnByb3RvdHlwZS5jcmVhdGVDb21wYXJhdG9yID0gZnVuY3Rpb24oZmllbGROYW1lcykKIHsKLSAg
ICByZXR1cm4ge2ZpZWxkTmFtZTE6ZmllbGROYW1lc1swXSwgYXNjZW5kaW5nMTpmaWVsZE5hbWVz
WzFdLCBmaWVsZE5hbWUyOmZpZWxkTmFtZXNbMl0sIGFzY2VuZGluZzI6ZmllbGROYW1lc1szXX07
CisgICAgcmV0dXJuIHtmaWVsZE5hbWUxOiBmaWVsZE5hbWVzWzBdLCBhc2NlbmRpbmcxOiBmaWVs
ZE5hbWVzWzFdLCBmaWVsZE5hbWUyOiBmaWVsZE5hbWVzWzJdLCBhc2NlbmRpbmcyOiBmaWVsZE5h
bWVzWzNdfTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCmluZGV4IGRlMzhiYzY5ODRm
YWI5MTQ1OWExMTQ5Y2ZiNzYxZDY3NGQ4ZmNhMzMuLjAxMTk2MWY2Njc4NjFmNDI3ZTU0MDcxYmNj
ZWQ0MWFjZTEwMzc0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCkBAIC00MjUsMTUgKzQyNSwx
NSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UGFkZGluZ05vZGUucHJvdG90eXBlID0gewog
LyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90U29ydGFibGVEYXRhR3JpZH0KLSAqIEBwYXJhbSB7T2JqZWN0PX0gY29sdW1ucworICogQHBh
cmFtIHtBcnJheS48IVdlYkluc3BlY3Rvci5EYXRhR3JpZC5Db2x1bW5EZXNjcmlwdG9yPj19IGNv
bHVtbnMKICAqLwogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnRhaW5tZW50RGF0YUdyaWQg
PSBmdW5jdGlvbihjb2x1bW5zKQogewotICAgIGNvbHVtbnMgPSBjb2x1bW5zIHx8IHsKLSAgICAg
ICAgb2JqZWN0OiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVjdCIpLCBkaXNj
bG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBzaGFsbG93U2l6ZTogeyB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBw
eCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHJldGFpbmVkU2l6ZTogeyB0aXRsZTogV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0
YWJsZTogdHJ1ZSwgc29ydDogImRlc2NlbmRpbmciIH0KLSAgICB9OworICAgIGNvbHVtbnMgPSBj
b2x1bW5zIHx8IFsKKyAgICAgICAge2lkOiAib2JqZWN0IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiT2JqZWN0IiksIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlfSwKKyAg
ICAgICAge2lkOiAic2hhbGxvd1NpemUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
aGFsbG93IFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAg
e2lkOiAicmV0YWluZWRTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmV0YWlu
ZWQgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5k
aW5nIn0KKyAgICBdOwogICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFH
cmlkLmNhbGwodGhpcywgY29sdW1ucyk7CiB9CiAKQEAgLTQ2MywxMiArNDYzLDEyIEBAIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RDb250YWlubWVudERhdGFHcmlkLnByb3RvdHlwZSA9IHsKIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3RSZXRhaW5tZW50RGF0YUdyaWQgPSBmdW5jdGlvbigpCiB7
CiAgICAgdGhpcy5zaG93UmV0YWluaW5nRWRnZXMgPSB0cnVlOwotICAgIHZhciBjb2x1bW5zID0g
ewotICAgICAgICBvYmplY3Q6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0
IiksIGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHNoYWxsb3dT
aXplOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNoYWxsb3cgU2l6ZSIpLCB3aWR0
aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgcmV0YWluZWRTaXplOiB7IHRp
dGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJldGFpbmVkIFNpemUiKSwgd2lkdGg6ICIxMjBw
eCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIGRpc3RhbmNlOiB7IHRpdGxlOiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkRpc3RhbmNlIiksIHdpZHRoOiAiODBweCIsIHNvcnRhYmxlOiB0cnVl
LCBzb3J0OiAiYXNjZW5kaW5nIiB9Ci0gICAgfTsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAg
ICAge2lkOiAib2JqZWN0IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2JqZWN0Iiks
IGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAic2hhbGxv
d1NpemUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lk
dGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAicmV0YWluZWRTaXpl
IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmV0YWluZWQgU2l6ZSIpLCB3aWR0aDog
IjEyMHB4Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJkaXN0YW5jZSIsIHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRpc3RhbmNlIiksIHdpZHRoOiAiODBweCIsIHNvcnRh
YmxlOiB0cnVlLCBzb3J0OiAiYXNjZW5kaW5nIn0KKyAgICBdOwogICAgIFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RDb250YWlubWVudERhdGFHcmlkLmNhbGwodGhpcywgY29sdW1ucyk7CiB9CiAK
QEAgLTUwMCwxMyArNTAwLDEzIEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RSZXRhaW5tZW50
RGF0YUdyaWQucHJvdG90eXBlID0gewogICovCiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29u
c3RydWN0b3JzRGF0YUdyaWQgPSBmdW5jdGlvbigpCiB7Ci0gICAgdmFyIGNvbHVtbnMgPSB7Ci0g
ICAgICAgIG9iamVjdDogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb25zdHJ1Y3Rv
ciIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBkaXN0YW5j
ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEaXN0YW5jZSIpLCB3aWR0aDogIjkw
cHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBjb3VudDogeyB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJPYmplY3RzIENvdW50IiksIHdpZHRoOiAiOTBweCIsIHNvcnRhYmxlOiB0
cnVlIH0sCi0gICAgICAgIHNoYWxsb3dTaXplOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlNoYWxsb3cgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWUgfSwKLSAg
ICAgICAgcmV0YWluZWRTaXplOiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJldGFp
bmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnQ6ICJkZXNjZW5kaW5nIiwgc29ydGFibGU6
IHRydWUgfQotICAgIH07CisgICAgdmFyIGNvbHVtbnMgPSBbCisgICAgICAgIHtpZDogIm9iamVj
dCIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnN0cnVjdG9yIiksIGRpc2Nsb3N1
cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAiZGlzdGFuY2UiLCB0aXRs
ZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEaXN0YW5jZSIpLCB3aWR0aDogIjkwcHgiLCBzb3J0
YWJsZTogdHJ1ZX0sCisgICAgICAgIHtpZDogImNvdW50IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiT2JqZWN0cyBDb3VudCIpLCB3aWR0aDogIjkwcHgiLCBzb3J0YWJsZTogdHJ1ZX0s
CisgICAgICAgIHtpZDogInNoYWxsb3dTaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiU2hhbGxvdyBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0YWJsZTogdHJ1ZX0sCisgICAg
ICAgIHtpZDogInJldGFpbmVkU2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJl
dGFpbmVkIFNpemUiKSwgd2lkdGg6ICIxMjBweCIsIHNvcnQ6ICJkZXNjZW5kaW5nIiwgc29ydGFi
bGU6IHRydWV9CisgICAgXTsKICAgICBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Vmlld3BvcnRE
YXRhR3JpZC5jYWxsKHRoaXMsIGNvbHVtbnMpOwogICAgIHRoaXMuX3Byb2ZpbGVJbmRleCA9IC0x
OwogICAgIHRoaXMuX3RvcExldmVsTm9kZXMgPSBbXTsKQEAgLTYwOCwxNSArNjA4LDE1IEBAIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3RDb25zdHJ1Y3RvcnNEYXRhR3JpZC5wcm90b3R5cGUgPSB7
CiAgKi8KIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3REaWZmRGF0YUdyaWQgPSBmdW5jdGlvbigp
CiB7Ci0gICAgdmFyIGNvbHVtbnMgPSB7Ci0gICAgICAgIG9iamVjdDogeyB0aXRsZTogV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDb25zdHJ1Y3RvciIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJs
ZTogdHJ1ZSB9LAotICAgICAgICBhZGRlZENvdW50OiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIiMgTmV3IiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAg
IHJlbW92ZWRDb3VudDogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIjIERlbGV0ZWQi
KSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWUgfSwKLSAgICAgICAgY291bnREZWx0YTog
eyB0aXRsZTogIiMgRGVsdGEiLCB3aWR0aDogIjY0cHgiLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAg
ICAgICBhZGRlZFNpemU6IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWxsb2MuIFNp
emUiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWUsIHNvcnQ6ICJkZXNjZW5kaW5nIiB9
LAotICAgICAgICByZW1vdmVkU2l6ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJG
cmVlZCBTaXplIiksIHdpZHRoOiAiNzJweCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHNp
emVEZWx0YTogeyB0aXRsZTogIlNpemUgRGVsdGEiLCB3aWR0aDogIjcycHgiLCBzb3J0YWJsZTog
dHJ1ZSB9Ci0gICAgfTsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAgICAge2lkOiAib2JqZWN0
IiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29uc3RydWN0b3IiKSwgZGlzY2xvc3Vy
ZTogdHJ1ZSwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJhZGRlZENvdW50IiwgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiIyBOZXciKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFi
bGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJyZW1vdmVkQ291bnQiLCB0aXRsZTogV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCIjIERlbGV0ZWQiKSwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWV9
LAorICAgICAgICB7aWQ6ICJjb3VudERlbHRhIiwgdGl0bGU6ICIjIERlbHRhIiwgd2lkdGg6ICI2
NHB4Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6ICJhZGRlZFNpemUiLCB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBbGxvYy4gU2l6ZSIpLCB3aWR0aDogIjcycHgiLCBzb3J0
YWJsZTogdHJ1ZSwgc29ydDogImRlc2NlbmRpbmcifSwKKyAgICAgICAge2lkOiAicmVtb3ZlZFNp
emUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGcmVlZCBTaXplIiksIHdpZHRoOiAi
NzJweCIsIHNvcnRhYmxlOiB0cnVlfSwKKyAgICAgICAge2lkOiAic2l6ZURlbHRhIiwgdGl0bGU6
ICJTaXplIERlbHRhIiwgd2lkdGg6ICI3MnB4Iiwgc29ydGFibGU6IHRydWV9CisgICAgXTsKICAg
ICBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Vmlld3BvcnREYXRhR3JpZC5jYWxsKHRoaXMsIGNv
bHVtbnMpOwogfQogCkBAIC02OTQsMTEgKzY5NCwxMSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90RGlmZkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAqLwogV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdERvbWluYXRvcnNEYXRhR3JpZCA9IGZ1bmN0aW9uKCkKIHsKLSAgICB2YXIgY29sdW1ucyA9
IHsKLSAgICAgICAgb2JqZWN0OiB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVj
dCIpLCBkaXNjbG9zdXJlOiB0cnVlLCBzb3J0YWJsZTogdHJ1ZSB9LAotICAgICAgICBzaGFsbG93
U2l6ZTogeyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFsbG93IFNpemUiKSwgd2lk
dGg6ICIxMjBweCIsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHJldGFpbmVkU2l6ZTogeyB0
aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRhaW5lZCBTaXplIiksIHdpZHRoOiAiMTIw
cHgiLCBzb3J0OiAiZGVzY2VuZGluZyIsIHNvcnRhYmxlOiB0cnVlIH0KLSAgICB9OworICAgIHZh
ciBjb2x1bW5zID0gWworICAgICAgICB7aWQ6ICJvYmplY3QiLCB0aXRsZTogV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJPYmplY3QiKSwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWV9LAor
ICAgICAgICB7aWQ6ICJzaGFsbG93U2l6ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNoYWxsb3cgU2l6ZSIpLCB3aWR0aDogIjEyMHB4Iiwgc29ydGFibGU6IHRydWV9LAorICAgICAg
ICB7aWQ6ICJyZXRhaW5lZFNpemUiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXRh
aW5lZCBTaXplIiksIHdpZHRoOiAiMTIwcHgiLCBzb3J0OiAiZGVzY2VuZGluZyIsIHNvcnRhYmxl
OiB0cnVlfQorICAgIF07CiAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0
YUdyaWQuY2FsbCh0aGlzLCBjb2x1bW5zKTsKICAgICB0aGlzLl9vYmplY3RJZFRvU2VsZWN0ID0g
bnVsbDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5kZXhlZERCVmlld3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lu
ZGV4ZWREQlZpZXdzLmpzCmluZGV4IDA3YWM5MTk1NjMwYzc2ZjQ2MGU0MjYwOWYyMGEyNDBkN2Ew
ZmIyMjcuLmY5MzUwMDg2MmU4NzFmMTk1YzRhYTkzNDFhMWQyMDAyMjNmNmNmNWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCVmlld3MuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJWaWV3cy5q
cwpAQCAtMTQwLDIyICsxNDAsMTQgQEAgV2ViSW5zcGVjdG9yLklEQkRhdGFWaWV3LnByb3RvdHlw
ZSA9IHsKICAgICAgKi8KICAgICBfY3JlYXRlRGF0YUdyaWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0g
ICAgICAgIHZhciBjb2x1bW5zID0ge307Ci0gICAgICAgIGNvbHVtbnNbIm51bWJlciJdID0ge307
Ci0gICAgICAgIGNvbHVtbnNbIm51bWJlciJdLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCIjIik7Ci0gICAgICAgIGNvbHVtbnNbIm51bWJlciJdLndpZHRoID0gIjUwcHgiOwotCiAgICAg
ICAgIHZhciBrZXlQYXRoID0gdGhpcy5faXNJbmRleCA/IHRoaXMuX2luZGV4LmtleVBhdGggOiB0
aGlzLl9vYmplY3RTdG9yZS5rZXlQYXRoOwotICAgICAgICBjb2x1bW5zWyJrZXkiXSA9IHt9Owot
ICAgICAgICBjb2x1bW5zWyJrZXkiXS50aXRsZURPTUZyYWdtZW50ID0gdGhpcy5fa2V5Q29sdW1u
SGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJLZXkiKSwga2V5UGF0aCk7Ci0g
ICAgICAgIAotICAgICAgICBpZiAodGhpcy5faXNJbmRleCkgewotICAgICAgICAgICAgY29sdW1u
c1sicHJpbWFyeUtleSJdID0ge307Ci0gICAgICAgICAgICBjb2x1bW5zWyJwcmltYXJ5S2V5Il0u
dGl0bGVET01GcmFnbWVudCA9IHRoaXMuX2tleUNvbHVtbkhlYWRlckZyYWdtZW50KFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiUHJpbWFyeSBrZXkiKSwgdGhpcy5fb2JqZWN0U3RvcmUua2V5UGF0aCk7
Ci0gICAgICAgIH0KIAotICAgICAgICBjb2x1bW5zWyJ2YWx1ZSJdID0ge307Ci0gICAgICAgIGNv
bHVtbnNbInZhbHVlIl0udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZhbHVlIik7Cisg
ICAgICAgIHZhciBjb2x1bW5zID0gW107CisgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJudW1i
ZXIiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIjIiksIHdpZHRoOiAiNTBweCJ9KTsK
KyAgICAgICAgY29sdW1ucy5wdXNoKHtpZDogImtleSIsIHRpdGxlRE9NRnJhZ21lbnQ6IHRoaXMu
X2tleUNvbHVtbkhlYWRlckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygiS2V5IiksIGtl
eVBhdGgpfSk7CisgICAgICAgIGlmICh0aGlzLl9pc0luZGV4KQorICAgICAgICAgICAgY29sdW1u
cy5wdXNoKHtpZDogInByaW1hcnlLZXkiLCB0aXRsZURPTUZyYWdtZW50OiB0aGlzLl9rZXlDb2x1
bW5IZWFkZXJGcmFnbWVudChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlByaW1hcnkga2V5IiksIHRo
aXMuX29iamVjdFN0b3JlLmtleVBhdGgpfSk7CisgICAgICAgIGNvbHVtbnMucHVzaCh7aWQ6ICJ2
YWx1ZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZhbHVlIil9KTsKIAogICAgICAg
ICB2YXIgZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkKGNvbHVtbnMpOwogICAg
ICAgICByZXR1cm4gZGF0YUdyaWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCmluZGV4IDA2
ZWQ4ZTFkZmM5NGQ2NDU4ZDdkMzQxODY2Mzc0MWFmYjY5MWIxMDguLjczZGFlMjAxMjg0NDZmMzEx
YTFjNGJjNjllODgxZDg5NjgzM2FmMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCkBA
IC01NSwxMCArNTUsMTAgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5w
cm90b3R5cGUgPSB7CiAgKi8KIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdERhdGFHcmlkID0g
ZnVuY3Rpb24ocHJvZmlsZSkKIHsKLSAgICB2YXIgY29sdW1ucyA9IHsKLSAgICAgICAgbmFtZTog
eyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPYmplY3QiKSwgd2lkdGg6ICIyMDBweCIs
IGRpc2Nsb3N1cmU6IHRydWUsIHNvcnRhYmxlOiB0cnVlIH0sCi0gICAgICAgIHNpemU6IHsgdGl0
bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBzb3J0YWJsZTogdHJ1ZSwgc29ydDog
ImRlc2NlbmRpbmciIH0sCi0gICAgfTsKKyAgICB2YXIgY29sdW1ucyA9IFsKKyAgICAgICAge2lk
OiAibmFtZSIsIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9iamVjdCIpLCB3aWR0aDog
IjIwMHB4IiwgZGlzY2xvc3VyZTogdHJ1ZSwgc29ydGFibGU6IHRydWV9LAorICAgICAgICB7aWQ6
ICJzaXplIiwgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLCBzb3J0YWJsZTog
dHJ1ZSwgc29ydDogImRlc2NlbmRpbmcifSwKKyAgICBdOwogICAgIFdlYkluc3BlY3Rvci5EYXRh
R3JpZC5jYWxsKHRoaXMsIGNvbHVtbnMpOwogICAgIHRoaXMuX3Byb2ZpbGUgPSBwcm9maWxlOwog
ICAgIHRoaXMuX3RvdGFsTm9kZSA9IG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlU25hcHNob3ROb2Rl
KHByb2ZpbGUuX21lbW9yeUJsb2NrLCBwcm9maWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggN2ZhMmZhMDQyMzNmNzFm
ZDg2ZDljNjQ3YTlmMjgyYTkwYjZkNzA4NC4uNTA3MzUzMTMyZTQ1YmFlYTMxNWQwODRkZDk4Yjgx
YzRmMmRjMGUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9OZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9OZXR3b3JrUGFuZWwuanMKQEAgLTE1Nyw2MiArMTU3LDk0IEBAIFdlYkluc3BlY3Rvci5OZXR3
b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfY3JlYXRlVGFibGU6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHZhciBjb2x1bW5zID0ge25hbWU6IHt9LCBtZXRob2Q6IHt9LCBzdGF0
dXM6IHt9LCBkb21haW46IHt9LCB0eXBlOiB7fSwgaW5pdGlhdG9yOiB7fSwgY29va2llczoge30s
IHNldENvb2tpZXM6IHt9LCBzaXplOiB7fSwgdGltZToge30sIHRpbWVsaW5lOiB7fX07Ci0KLSAg
ICAgICAgY29sdW1ucy5uYW1lLnRpdGxlRE9NRnJhZ21lbnQgPSB0aGlzLl9tYWtlSGVhZGVyRnJh
Z21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIiksIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiUGF0aCIpKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLm5hbWUgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIk5hbWUiKTsKLSAgICAgICAgY29sdW1ucy5uYW1lLnNvcnRhYmxlID0gdHJ1ZTsKLSAg
ICAgICAgY29sdW1ucy5uYW1lLndlaWdodCA9IDIwOwotICAgICAgICBjb2x1bW5zLm5hbWUuZGlz
Y2xvc3VyZSA9IHRydWU7Ci0KLSAgICAgICAgY29sdW1ucy5tZXRob2QudGl0bGUgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIk1ldGhvZCIpOwotICAgICAgICBjb2x1bW5zLm1ldGhvZC5zb3J0YWJs
ZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnMubWV0aG9kLndlaWdodCA9IDY7Ci0KLSAgICAgICAg
Y29sdW1ucy5zdGF0dXMudGl0bGVET01GcmFnbWVudCA9IHRoaXMuX21ha2VIZWFkZXJGcmFnbWVu
dChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0YXR1cyIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlRleHQiKSk7Ci0gICAgICAgIGNvbHVtbnMuc3RhdHVzLm5hbWUgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlN0YXR1cyIpOwotICAgICAgICBjb2x1bW5zLnN0YXR1cy5zb3J0YWJsZSA9IHRydWU7
Ci0gICAgICAgIGNvbHVtbnMuc3RhdHVzLndlaWdodCA9IDY7Ci0KLSAgICAgICAgY29sdW1ucy5k
b21haW4udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRvbWFpbiIpOwotICAgICAgICBj
b2x1bW5zLmRvbWFpbi5zb3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNvbHVtbnMuZG9tYWluLndl
aWdodCA9IDY7Ci0KLSAgICAgICAgY29sdW1ucy50eXBlLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJUeXBlIik7Ci0gICAgICAgIGNvbHVtbnMudHlwZS5zb3J0YWJsZSA9IHRydWU7Ci0g
ICAgICAgIGNvbHVtbnMudHlwZS53ZWlnaHQgPSA2OwotCi0gICAgICAgIGNvbHVtbnMuaW5pdGlh
dG9yLnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbml0aWF0b3IiKTsKLSAgICAgICAg
Y29sdW1ucy5pbml0aWF0b3Iuc29ydGFibGUgPSB0cnVlOwotICAgICAgICBjb2x1bW5zLmluaXRp
YXRvci53ZWlnaHQgPSAxMDsKLQotICAgICAgICBjb2x1bW5zLmNvb2tpZXMudGl0bGUgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkNvb2tpZXMiKTsKLSAgICAgICAgY29sdW1ucy5jb29raWVzLnNv
cnRhYmxlID0gdHJ1ZTsKLSAgICAgICAgY29sdW1ucy5jb29raWVzLndlaWdodCA9IDY7Ci0gICAg
ICAgIGNvbHVtbnMuY29va2llcy5hbGlnbmVkID0gInJpZ2h0IjsKLQotICAgICAgICBjb2x1bW5z
LnNldENvb2tpZXMudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNldC1Db29raWVzIik7
Ci0gICAgICAgIGNvbHVtbnMuc2V0Q29va2llcy5zb3J0YWJsZSA9IHRydWU7Ci0gICAgICAgIGNv
bHVtbnMuc2V0Q29va2llcy53ZWlnaHQgPSA2OwotICAgICAgICBjb2x1bW5zLnNldENvb2tpZXMu
YWxpZ25lZCA9ICJyaWdodCI7Ci0KLSAgICAgICAgY29sdW1ucy5zaXplLnRpdGxlRE9NRnJhZ21l
bnQgPSB0aGlzLl9tYWtlSGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaXpl
IiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29udGVudCIpKTsKLSAgICAgICAgY29sdW1ucy5z
aXplLm5hbWUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNpemUiKTsKLSAgICAgICAgY29sdW1u
cy5zaXplLnNvcnRhYmxlID0gdHJ1ZTsKLSAgICAgICAgY29sdW1ucy5zaXplLndlaWdodCA9IDY7
Ci0gICAgICAgIGNvbHVtbnMuc2l6ZS5hbGlnbmVkID0gInJpZ2h0IjsKLQotICAgICAgICBjb2x1
bW5zLnRpbWUudGl0bGVET01GcmFnbWVudCA9IHRoaXMuX21ha2VIZWFkZXJGcmFnbWVudChXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlRpbWUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXRlbmN5
IikpOwotICAgICAgICBjb2x1bW5zLnRpbWUubmFtZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
VGltZSIpOwotICAgICAgICBjb2x1bW5zLnRpbWUuc29ydGFibGUgPSB0cnVlOwotICAgICAgICBj
b2x1bW5zLnRpbWUud2VpZ2h0ID0gNjsKLSAgICAgICAgY29sdW1ucy50aW1lLmFsaWduZWQgPSAi
cmlnaHQiOwotCi0gICAgICAgIGNvbHVtbnMudGltZWxpbmUudGl0bGUgPSAiIjsKLSAgICAgICAg
Y29sdW1ucy50aW1lbGluZS5uYW1lID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZSIp
OwotICAgICAgICBjb2x1bW5zLnRpbWVsaW5lLnNvcnRhYmxlID0gZmFsc2U7Ci0gICAgICAgIGNv
bHVtbnMudGltZWxpbmUud2VpZ2h0ID0gNDA7Ci0gICAgICAgIGNvbHVtbnMudGltZWxpbmUuc29y
dCA9ICJhc2NlbmRpbmciOworICAgICAgICB2YXIgY29sdW1ucyA9IFtdOworICAgICAgICBjb2x1
bW5zLnB1c2goeworICAgICAgICAgICAgaWQ6ICJuYW1lIiwgCisgICAgICAgICAgICB0aXRsZURP
TUZyYWdtZW50OiB0aGlzLl9tYWtlSGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJOYW1lIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGF0aCIpKSwKKyAgICAgICAgICAgIG5h
bWU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTmFtZSIpLAorICAgICAgICAgICAgc29ydGFibGU6
IHRydWUsCisgICAgICAgICAgICB3ZWlnaHQ6IDIwLAorICAgICAgICAgICAgZGlzY2xvc3VyZTog
dHJ1ZQorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAgICAgICAg
aWQ6ICJtZXRob2QiLAorICAgICAgICAgICAgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
TWV0aG9kIiksCisgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgIHdlaWdo
dDogNgorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAgICAgICAg
aWQ6ICJzdGF0dXMiLAorICAgICAgICAgICAgdGl0bGVET01GcmFnbWVudDogdGhpcy5fbWFrZUhl
YWRlckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3RhdHVzIiksIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiVGV4dCIpKSwKKyAgICAgICAgICAgIG5hbWU6IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiU3RhdHVzIiksCisgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKKyAgICAgICAgICAg
IHdlaWdodDogNgorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAg
ICAgICAgaWQ6ICJkb21haW4iLAorICAgICAgICAgICAgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiRG9tYWluIiksCisgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKKyAgICAgICAgICAg
IHdlaWdodDogNgorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAg
ICAgICAgaWQ6ICJ0eXBlIiwKKyAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlR5cGUiKSwKKyAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAgICAgICAgd2Vp
Z2h0OiA2CisgICAgICAgIH0pOworCisgICAgICAgIGNvbHVtbnMucHVzaCh7CisgICAgICAgICAg
ICBpZDogImluaXRpYXRvciIsCisgICAgICAgICAgICB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJJbml0aWF0b3IiKSwKKyAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAgICAg
ICAgd2VpZ2h0OiAxMAorICAgICAgICB9KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAg
ICAgICAgICAgaWQ6ICJjb29raWVzIiwKKyAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkNvb2tpZXMiKSwKKyAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAg
ICAgICAgd2VpZ2h0OiA2LAorICAgICAgICAgICAgYWxpZ25lZDogInJpZ2h0IgorICAgICAgICB9
KTsKKworICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAgICAgICAgaWQ6ICJzZXRDb29raWVz
IiwKKyAgICAgICAgICAgIHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNldC1Db29raWVz
IiksCisgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgIHdlaWdodDogNiwK
KyAgICAgICAgICAgIGFsaWduZWQ6ICJyaWdodCIKKyAgICAgICAgfSk7CisKKyAgICAgICAgY29s
dW1ucy5wdXNoKHsKKyAgICAgICAgICAgIGlkOiAic2l6ZSIsCisgICAgICAgICAgICB0aXRsZURP
TUZyYWdtZW50OiB0aGlzLl9tYWtlSGVhZGVyRnJhZ21lbnQoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJTaXplIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29udGVudCIpKSwKKyAgICAgICAgICAg
IG5hbWU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2l6ZSIpLAorICAgICAgICAgICAgc29ydGFi
bGU6IHRydWUsCisgICAgICAgICAgICB3ZWlnaHQ6IDYsCisgICAgICAgICAgICBhbGlnbmVkOiAi
cmlnaHQiCisgICAgICAgIH0pOworCisgICAgICAgIGNvbHVtbnMucHVzaCh7CisgICAgICAgICAg
ICBpZDogInRpbWUiLAorICAgICAgICAgICAgdGl0bGVET01GcmFnbWVudDogdGhpcy5fbWFrZUhl
YWRlckZyYWdtZW50KFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZSIpLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkxhdGVuY3kiKSksCisgICAgICAgICAgICBuYW1lOiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlRpbWUiKSwKKyAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLAorICAgICAgICAgICAg
d2VpZ2h0OiA2LAorICAgICAgICAgICAgYWxpZ25lZDogInJpZ2h0IgorICAgICAgICB9KTsKKwor
ICAgICAgICBjb2x1bW5zLnB1c2goeworICAgICAgICAgICAgaWQ6ICJ0aW1lbGluZSIsCisgICAg
ICAgICAgICB0aXRsZTogIiIsCisgICAgICAgICAgICBuYW1lOiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlRpbWVsaW5lIiksCisgICAgICAgICAgICBzb3J0YWJsZTogZmFsc2UsCisgICAgICAgICAg
ICB3ZWlnaHQ6IDQwLAorICAgICAgICAgICAgc29ydDogImFzY2VuZGluZyIKKyAgICAgICAgfSk7
CiAKICAgICAgICAgdGhpcy5fZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkKGNv
bHVtbnMpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5yZXNpemVNZXRob2QgPSBXZWJJbnNwZWN0
b3IuRGF0YUdyaWQuUmVzaXplTWV0aG9kLkxhc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdlYlNvY2tldEZyYW1lVmll
dy5qcwppbmRleCA5ODg0ODI4YmE5MTVjNzEyZGM0ODExNmE5ZDNkMDRjNDFhOWM3ZjVlLi44OGM2
YmYzOTk4NDkzZDAzMDkzZjIzMGNmNTQ4OGU1NmEzMTI1NWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VXZWJTb2Nr
ZXRGcmFtZVZpZXcuanMKQEAgLTI3LDExICsyNywxMSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VX
ZWJTb2NrZXRGcmFtZVZpZXcgPSBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB0aGlzLnJlc291cmNl
ID0gcmVzb3VyY2U7CiAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CiAKLSAgICB2
YXIgZGF0YUdyaWQgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkKHsKLSAgICAgICAgZGF0YTog
e3RpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRhdGEiKSwgc29ydGFibGU6IGZhbHNlfSwK
LSAgICAgICAgbGVuZ3RoOiB7dGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGVuZ3RoIiks
IHNvcnRhYmxlOiBmYWxzZSwgYWxpZ25lZDogInJpZ2h0Iiwgd2lkdGg6ICI1MHB4In0sCi0gICAg
ICAgIHRpbWU6IHt0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lIiksIHdpZHRoOiAi
NzBweCJ9Ci0gICAgfSk7CisgICAgdmFyIGRhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRh
R3JpZChbCisgICAgICAgIHtpZDogImRhdGEiLCB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJEYXRhIiksIHNvcnRhYmxlOiBmYWxzZX0sCisgICAgICAgIHtpZDogImxlbmd0aCIsIHRpdGxl
OiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxlbmd0aCIpLCBzb3J0YWJsZTogZmFsc2UsIGFsaWdu
ZWQ6ICJyaWdodCIsIHdpZHRoOiAiNTBweCJ9LAorICAgICAgICB7aWQ6ICJ0aW1lIiwgdGl0bGU6
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZSIpLCB3aWR0aDogIjcwcHgifQorICAgIF0pOwog
CiAgICAgdmFyIGZyYW1lcyA9IHRoaXMucmVzb3VyY2UuZnJhbWVzKCk7CiAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBmcmFtZXMubGVuZ3RoOyBpKyspIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>