<?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>157385</bug_id>
          
          <creation_ts>2016-05-05 13:19:02 -0700</creation_ts>
          <short_desc>Web Inspector: Remove HeapSnapshot Summary View</short_desc>
          <delta_ts>2016-05-06 12:53:53 -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</component>
          <version>WebKit 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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1190430</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-05-05 13:19:02 -0700</bug_when>
    <thetext>* SUMMARY
Remove HeapSnapshot Summary View

I don&apos;t think this visualization is useful to developers at the moment. It doesn&apos;t provide very actionable data.

We should provide a better visualization / breakdown at a later time, one that would be more useful to developers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190432</commentid>
    <comment_count>1</comment_count>
      <attachid>278184</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-05-05 13:20:13 -0700</bug_when>
    <thetext>Created attachment 278184
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190711</commentid>
    <comment_count>2</comment_count>
      <attachid>278257</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-05-06 12:05:30 -0700</bug_when>
    <thetext>Created attachment 278257
[PATCH] Proposed Fix

Hopefully this can be applied now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190725</commentid>
    <comment_count>3</comment_count>
      <attachid>278257</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-06 12:53:50 -0700</bug_when>
    <thetext>Comment on attachment 278257
[PATCH] Proposed Fix

Clearing flags on attachment: 278257

Committed r200517: &lt;http://trac.webkit.org/changeset/200517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1190726</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-06 12:53:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278184</attachid>
            <date>2016-05-05 13:20:13 -0700</date>
            <delta_ts>2016-05-06 12:05:41 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>rm-summary-1.patch</filename>
            <type>text/plain</type>
            <size>28641</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDhiM2RlZGIuLjVkZTY1YTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDE2LTA1LTA1ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3Zl
IEhlYXBTbmFwc2hvdCBTdW1tYXJ5IFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1NzM4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlw
ZS5nZXQgc3VtbWFyeUNvbnRlbnRWaWV3KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcucHJvdG90eXBlLnNob3dTdW1tYXJ5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVu
dFZpZXcucHJvdG90eXBlLl9wYXRoQ29tcG9uZW50Rm9yQ29udGVudFZpZXcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5wcm90b3R5cGUuX2lk
ZW50aWZpZXJGb3JDb250ZW50Vmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90Q2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZS5fc2hvd0NvbnRlbnRWaWV3Rm9ySWRlbnRp
Zmllcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5
Q29udGVudFZpZXcuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzOiBSZW1vdmVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNzczoKKyAgICAgICAgKDpyb290KToKKworMjAx
Ni0wNS0wNSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IFByb3ZpZGUgZ28tdG8gbGlua3MgbmV4dCB0byBGdW5jdGlvbnMgaW4g
R0MgUm9vdCBQYXRoIHBvcG92ZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NzM4MQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjYxMjI1MzE+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA4NThjMjZkM2ExYmI3YWJlMjI3NGIy
MGNhNzgxZThjOGE5ODUwOGUyLi5mODg0ODU1ZWU5ZDYyZmJlYmY3MGU2MGQwNzM0ODQzZGUzN2Rh
ZDg1IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEwNwp6Y21WLXgwRj9pejswNDt5MStZ
bVF2KlIxKzR6cGI9P2dYPGJGKipVVzJRPU9XbFcjaip2ciMtRWtGJnxrNUQmOTYKeitndVR8P2Qo
UUZtI1opVjQ3WmdxMGgkdUdma09jcjc/KkVkMFQ3b2pGOThVYiYwR08pbSFEaCMjK05OIzBTTEcy
Ck5UPis+R3hBQThJSHdhelJEZVY5TgoKZGVsdGEgOTM4CnpjbWNiMGZweF9MKSh4SzBsYjBTNTs4
dEo9WDJAaXlWbn02Qm43bTMpZSk3VTJBfUNAZl5sVWV+TzI2VG9kfEZkTAp6SSp9bTwyPWZffDg0
Pyp2ZlpGbUlAKSM1dGlhYGNVZXhOQllqemZNTEZRZWdSTCM9bCN5NFZ5SDFDN1c4OGRMJV8KejRy
Jjw0SDRNcDxfYmlwMWR7UiV5UX5AWkgxezVKbF93Oz4lak9MUzk+amBaWipMUHheeWpELVo3LW1q
QkxsUSQ0CnooMml1Rm9qYGtscms4XjQyZX5BUHAlTl5YMUdLR31wP0xCaEokWFp0Xi1XJkRxemtn
ejhLeDhEdy1UYFh2SEpxcQp6LSZrRFdOVT1FfTdpfHRWYyktVCg0RUhXMSFvQUlUUHtlPXtLM1Vz
NTEwQGxGNShaRW1DbkJqcFJCPXJ7eD5OdXQKeiE/ayY+SVkmUWg1a29wZD5nMGZucVU/emI1Y1k8
MSMreEBFNlhJNyowWS01dExvUDZBUmVgfigjMUlRKSojZlo9CnpnRCleNXB0NiQtRSpmdD5kXkp2
UmRhTmctNnRmPmd7YDNRJGpNa0ltQDNLdH1lWGNTJl9tMDVrKEMwJFZqSD1Wfgp6dj4ycilHeE8r
ZWtKZShgQiV+WStIYXImPyFiUU9OTHBCflJHeEA8KXtxNE5BajhZUWZJTzJjJGYqP2pvVkp3bzkK
ekNsdSpWPytzJCkqeyZZUz0pKlhAS1p1Y1FJKj0qQW8mamB4QjB+WEtDcz4zUEVIYiUzUzlrakVG
aDtLSiluU1kpCmxJQ1dGTyZRZjZUMFhxO0ZOR01KVzFNKSU2aFJSUH51dCRIcFZnalFqMkxRLVM8
N05OPQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01h
aW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApp
bmRleCAxODE2OWU0Li4zMmQ5MzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTWFpbi5odG1sCkBAIC05Myw3ICs5Myw2IEBACiAgICAgPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSJWaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGgu
Y3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0hlYXBBbGxvY2F0
aW9uc1RpbWVsaW5lVmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Vmlld3MvSGVhcFNuYXBzaG90SW5zdGFuY2VzQ29udGVudFZpZXcuY3NzIj4KLSAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0hlYXBTbmFwc2hvdFN1bW1hcnlDb250ZW50Vmll
dy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvSGllcmFyY2hp
Y2FsUGF0aENvbXBvbmVudC5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
Vmlld3MvSG92ZXJNZW51LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJW
aWV3cy9JbWFnZVJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KQEAgLTUzMyw3ICs1MzIsNiBAQAog
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9IZWFwU25hcHNob3REYXRhR3JpZFRyZWUuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9IZWFwU25hcHNob3RJbnN0YW5jZURhdGFHcmlk
Tm9kZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0hlYXBTbmFwc2hvdElu
c3RhbmNlRmV0Y2hNb3JlRGF0YUdyaWROb2RlLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNy
Yz0iVmlld3MvSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iVmlld3MvSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvSG92ZXJNZW51LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5q
cwppbmRleCA1YWUyMTZmLi5lMjdmYjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBz
aG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzCkBAIC00MSwxNyArNDEsMTIgQEAgV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0
ZXJDb250ZW50VmkKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3Nob3duSW5pdGlhbENvbnRl
bnQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fc3VtbWFyeUNvbnRlbnRWaWV3ID0gbnVsbDsKICAg
ICAgICAgdGhpcy5faW5zdGFuY2VzQ29udGVudFZpZXcgPSBudWxsOwogICAgICAgICB0aGlzLl9v
YmplY3RHcmFwaENvbnRlbnRWaWV3ID0gbnVsbDsKIAotICAgICAgICB0aGlzLl9zdW1tYXJ5UGF0
aENvbXBvbmVudCA9IGNyZWF0ZVBhdGhDb21wb25lbnQuY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlN1bW1hcnkiKSwgImhlYXAtc25hcHNob3Qtc3VtbWFyeS1pY29uIiwgV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5TdW1tYXJ5SWRlbnRpZmllcik7
CiAgICAgICAgIHRoaXMuX2luc3RhbmNlc1BhdGhDb21wb25lbnQgPSBjcmVhdGVQYXRoQ29tcG9u
ZW50LmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnN0YW5jZXMiKSwgImhlYXAt
c25hcHNob3QtaW5zdGFuY2VzLWljb24iLCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3Rl
ckNvbnRlbnRWaWV3Lkluc3RhbmNlc0lkZW50aWZpZXIpOwogICAgICAgICB0aGlzLl9vYmplY3RH
cmFwaFBhdGhDb21wb25lbnQgPSBjcmVhdGVQYXRoQ29tcG9uZW50LmNhbGwodGhpcywgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJPYmplY3QgR3JhcGgiKSwgImhlYXAtc25hcHNob3Qtb2JqZWN0LWdy
YXBoLWljb24iLCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3Lk9i
amVjdEdyYXBoSWRlbnRpZmllcik7CiAKLSAgICAgICAgdGhpcy5fc3VtbWFyeVBhdGhDb21wb25l
bnQubmV4dFNpYmxpbmcgPSB0aGlzLl9pbnN0YW5jZXNQYXRoQ29tcG9uZW50OwotICAgICAgICB0
aGlzLl9pbnN0YW5jZXNQYXRoQ29tcG9uZW50LnByZXZpb3VzU2libGluZyA9IHRoaXMuX3N1bW1h
cnlQYXRoQ29tcG9uZW50OwotCiAgICAgICAgIGlmICh0aGlzLl9zdXBwb3J0c09iamVjdEdyYXBo
KCkpIHsKICAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1BhdGhDb21wb25lbnQubmV4dFNpYmxp
bmcgPSB0aGlzLl9vYmplY3RHcmFwaFBhdGhDb21wb25lbnQ7CiAgICAgICAgICAgICB0aGlzLl9v
YmplY3RHcmFwaFBhdGhDb21wb25lbnQucHJldmlvdXNTaWJsaW5nID0gdGhpcy5faW5zdGFuY2Vz
UGF0aENvbXBvbmVudDsKQEAgLTExMSwxMyArMTA2LDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50
VmkKIAogICAgIGdldCBoZWFwU25hcHNob3QoKSB7IHJldHVybiB0aGlzLl9oZWFwU25hcHNob3Q7
IH0KIAotICAgIGdldCBzdW1tYXJ5Q29udGVudFZpZXcoKQotICAgIHsKLSAgICAgICAgaWYgKCF0
aGlzLl9zdW1tYXJ5Q29udGVudFZpZXcpCi0gICAgICAgICAgICB0aGlzLl9zdW1tYXJ5Q29udGVu
dFZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFN1bW1hcnlDb250ZW50Vmlldyh0
aGlzLl9oZWFwU25hcHNob3QpOwotICAgICAgICByZXR1cm4gdGhpcy5fc3VtbWFyeUNvbnRlbnRW
aWV3OwotICAgIH0KLQogICAgIGdldCBpbnN0YW5jZXNDb250ZW50VmlldygpCiAgICAgewogICAg
ICAgICBpZiAoIXRoaXMuX2luc3RhbmNlc0NvbnRlbnRWaWV3KQpAQCAtMTcyLDEyICsxNjAsNiBA
QCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3ID0gY2xhc3MgSGVh
cFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaQogICAgICAgICB0aGlzLl9zaG93Q29udGVudFZpZXdG
b3JJZGVudGlmaWVyKGNvb2tpZVtXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRl
bnRWaWV3LkNvbnRlbnRWaWV3SWRlbnRpZmllckNvb2tpZUtleV0pOwogICAgIH0KIAotICAgIHNo
b3dTdW1tYXJ5KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Nob3duSW5pdGlhbENvbnRlbnQgPSB0
cnVlOwotICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvbnRlbnRWaWV3Rm9ySWRlbnRpZmllcihX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LlN1bW1hcnlJZGVudGlm
aWVyKTsKLSAgICB9Ci0KICAgICBzaG93SW5zdGFuY2VzKCkKICAgICB7CiAgICAgICAgIHRoaXMu
X3Nob3duSW5pdGlhbENvbnRlbnQgPSB0cnVlOwpAQCAtMjAyLDggKzE4NCw2IEBAIFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RD
bHVzdGVyQ29udGVudFZpCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGNvbnRlbnRWaWV3KTsKICAg
ICAgICAgaWYgKCFjb250ZW50VmlldykKICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAg
ICBpZiAoY29udGVudFZpZXcgPT09IHRoaXMuX3N1bW1hcnlDb250ZW50VmlldykKLSAgICAgICAg
ICAgIHJldHVybiB0aGlzLl9zdW1tYXJ5UGF0aENvbXBvbmVudDsKICAgICAgICAgaWYgKGNvbnRl
bnRWaWV3ID09PSB0aGlzLl9pbnN0YW5jZXNDb250ZW50VmlldykKICAgICAgICAgICAgIHJldHVy
biB0aGlzLl9pbnN0YW5jZXNQYXRoQ29tcG9uZW50OwogICAgICAgICBpZiAoY29udGVudFZpZXcg
PT09IHRoaXMuX29iamVjdEdyYXBoQ29udGVudFZpZXcpCkBAIC0yMTcsOCArMTk3LDYgQEAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFw
c2hvdENsdXN0ZXJDb250ZW50VmkKICAgICAgICAgY29uc29sZS5hc3NlcnQoY29udGVudFZpZXcp
OwogICAgICAgICBpZiAoIWNvbnRlbnRWaWV3KQogICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0g
ICAgICAgIGlmIChjb250ZW50VmlldyA9PT0gdGhpcy5fc3VtbWFyeUNvbnRlbnRWaWV3KQotICAg
ICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZp
ZXcuU3VtbWFyeUlkZW50aWZpZXI7CiAgICAgICAgIGlmIChjb250ZW50VmlldyA9PT0gdGhpcy5f
aW5zdGFuY2VzQ29udGVudFZpZXcpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5JbnN0YW5jZXNJZGVudGlmaWVyOwogICAgICAg
ICBpZiAoY29udGVudFZpZXcgPT09IHRoaXMuX29iamVjdEdyYXBoQ29udGVudFZpZXcpCkBAIC0y
MzIsOSArMjEwLDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmll
dyA9IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmkKICAgICAgICAgbGV0IGNvbnRl
bnRWaWV3VG9TaG93ID0gbnVsbDsKIAogICAgICAgICBzd2l0Y2ggKGlkZW50aWZpZXIpIHsKLSAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LlN1
bW1hcnlJZGVudGlmaWVyOgotICAgICAgICAgICAgY29udGVudFZpZXdUb1Nob3cgPSB0aGlzLnN1
bW1hcnlDb250ZW50VmlldzsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcuSW5zdGFuY2VzSWRlbnRpZmll
cjoKICAgICAgICAgICAgIGNvbnRlbnRWaWV3VG9TaG93ID0gdGhpcy5pbnN0YW5jZXNDb250ZW50
VmlldzsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjYzLDYgKzIzOCw1IEBAIFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RDbHVz
dGVyQ29udGVudFZpCiAKIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZp
ZXcuQ29udGVudFZpZXdJZGVudGlmaWVyQ29va2llS2V5ID0gImhlYXAtc25hcHNob3QtY2x1c3Rl
ci1jb250ZW50LXZpZXctaWRlbnRpZmllciI7CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RD
bHVzdGVyQ29udGVudFZpZXcuU3VtbWFyeUlkZW50aWZpZXIgPSAic3VtbWFyeSI7CiBXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3Lkluc3RhbmNlc0lkZW50aWZpZXIg
PSAiaW5zdGFuY2VzIjsKIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZp
ZXcuT2JqZWN0R3JhcGhJZGVudGlmaWVyID0gIm9iamVjdC1ncmFwaCI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1t
YXJ5Q29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmNzcwpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZTBmNDM3My4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5Q29udGVudFZpZXcuY3Nz
CisrKyAvZGV2L251bGwKQEAgLTEsMTc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0uY29udGVudC12
aWV3LWNvbnRhaW5lciA+IC5jb250ZW50LXZpZXcuaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IHsKLSAg
ICBvdmVyZmxvdzogc2Nyb2xsOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5ID4gLmNvbnRl
bnQgewotICAgIHdpZHRoOiA0NzBweDsKLSAgICBtYXJnaW46IDEwcHggYXV0bzsKLX0KLQotLmhl
YXAtc25hcHNob3Qtc3VtbWFyeSA+IC5jb250ZW50ID4gLm92ZXJ2aWV3IHsKLSAgICBwYWRkaW5n
OiAxMHB4OwotICAgIG1hcmdpbi1ib3R0b206IDEwcHg7Ci0gICAgYm9yZGVyLWJvdHRvbTogMXB4
IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkg
PiAuY29udGVudCAuc3VidGl0bGUgewotICAgIGZvbnQtZmFtaWx5OiAnLXdlYmtpdC1zeXN0ZW0t
Zm9udCc7Ci0gICAgZm9udC1zaXplOiAxNHB4OwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5
ID4gLmNvbnRlbnQgPiAub3ZlcnZpZXcgewotICAgIGRpc3BsYXk6IGZsZXg7Ci0gICAganVzdGlm
eS1jb250ZW50OiBjZW50ZXI7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVu
dCA+IC5vdmVydmlldyA+IC5jaGFydCB7Ci0gICAgd2lkdGg6IDQyMHB4OwotICAgIHRleHQtYWxp
Z246IGNlbnRlcjsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSA+IC5jb250ZW50ID4gLm92
ZXJ2aWV3ID4gLmNoYXJ0ID4gLnN1YnRpdGxlIHsKLSAgICBtYXJnaW4tYm90dG9tOiAxZW07Ci19
Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5vdmVydmlldyA+IC5jaGFy
dCA+IC5jb250YWluZXIgewotICAgIGRpc3BsYXk6IGZsZXg7Ci0gICAganVzdGlmeS1jb250ZW50
OiBjZW50ZXI7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5vdmVy
dmlldyAudG90YWwtc2l6ZSwKLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5v
dmVydmlldyAudG90YWwtY291bnQsCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5ID4gLmNvbnRlbnQg
PiAub3ZlcnZpZXcgLmF2ZXJhZ2UtYWxsb2NhdGlvbi1zaXplIHsKLSAgICBtYXJnaW46IGF1dG87
Ci0gICAgY29sb3I6IGhzbCgwLCAwJSwgNzAlKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFy
eSAubGVnZW5kIHsKLSAgICB3aWR0aDogMTIwcHg7Ci0gICAgcGFkZGluZy1sZWZ0OiAyMHB4Owot
ICAgIHRleHQtYWxpZ246IGxlZnQ7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2Vu
ZCA+IC5yb3cgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBoZWlnaHQ6IDI3cHg7Ci19
Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5yb3cgPiAuc3dhdGNoIHsKLSAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiAxcHg7Ci0gICAgbGVmdDogMDsKLSAgICB3
aWR0aDogMWVtOwotICAgIGhlaWdodDogMWVtOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5
IC5sZWdlbmQgPiAucm93ID4gcCB7Ci0gICAgbWFyZ2luOiAwOwotfQotCi0uaGVhcC1zbmFwc2hv
dC1zdW1tYXJ5IC5sZWdlbmQgPiAucm93ID4gLmxhYmVsIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1
dGU7Ci0gICAgdG9wOiAwOwotICAgIGxlZnQ6IDIwcHg7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1
bW1hcnkgLmxlZ2VuZCA+IC5yb3cgPiAuc2l6ZSB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwot
ICAgIHRvcDogMTJweDsKLSAgICBsZWZ0OiAyMHB4OwotICAgIGNvbG9yOiBoc2woMCwgMCUsIDcw
JSk7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5yb3cgPiAuc3dhdGNo
LnRvcC1jbGFzcy0xLAotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5kID4gLnJvdyA+IC5z
d2F0Y2guc21hbGwgewotICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1lbW9yeS1qYXZhc2Ny
aXB0LXN0cm9rZS1jb2xvcik7Ci0gICAgYmFja2dyb3VuZDogdmFyKC0tbWVtb3J5LWphdmFzY3Jp
cHQtZmlsbC1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5y
b3cgPiAuc3dhdGNoLnRvcC1jbGFzcy0yLAotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5k
ID4gLnJvdyA+IC5zd2F0Y2gubWVkaXVtIHsKLSAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1t
ZW1vcnktaW1hZ2VzLXN0cm9rZS1jb2xvcik7Ci0gICAgYmFja2dyb3VuZDogdmFyKC0tbWVtb3J5
LWltYWdlcy1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5k
ID4gLnJvdyA+IC5zd2F0Y2gudG9wLWNsYXNzLTMsCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IC5s
ZWdlbmQgPiAucm93ID4gLnN3YXRjaC5sYXJnZSB7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgdmFy
KC0tbWVtb3J5LWxheWVycy1zdHJva2UtY29sb3IpOwotICAgIGJhY2tncm91bmQ6IHZhcigtLW1l
bW9yeS1sYXllcnMtZmlsbC1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxl
Z2VuZCA+IC5yb3cgPiAuc3dhdGNoLnRvcC1jbGFzcy00LAotLmhlYXAtc25hcHNob3Qtc3VtbWFy
eSAubGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gudmVyeS1sYXJnZSB7Ci0gICAgYm9yZGVyOiAxcHgg
c29saWQgdmFyKC0tbWVtb3J5LXBhZ2Utc3Ryb2tlLWNvbG9yKTsKLSAgICBiYWNrZ3JvdW5kOiB2
YXIoLS1tZW1vcnktcGFnZS1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFy
eSAubGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gudG9wLWNsYXNzLTUgewotICAgIGJvcmRlcjogMXB4
IHNvbGlkIHZhcigtLW1lbW9yeS1leHRyYS1zdHJva2UtY29sb3IpOwotICAgIGJhY2tncm91bmQ6
IHZhcigtLW1lbW9yeS1leHRyYS1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3Vt
bWFyeSAubGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gub3RoZXIgewotICAgIGJvcmRlcjogMXB4IHNv
bGlkIHZhcigtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1zdHJva2UtY29sb3IpOwotICAgIGJhY2tn
cm91bmQ6IHZhcigtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1maWxsLWNvbG9yKTsKLX0KLQotLmhl
YXAtc25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3Mt
MSwKLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGguc21h
bGwgewotICAgIHN0cm9rZTogdmFyKC0tbWVtb3J5LWphdmFzY3JpcHQtc3Ryb2tlLWNvbG9yKTsK
LSAgICBmaWxsOiB2YXIoLS1tZW1vcnktamF2YXNjcmlwdC1maWxsLWNvbG9yKTsKLX0KLQotLmhl
YXAtc25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3Mt
MiwKLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGgubWVk
aXVtIHsKLSAgICBzdHJva2U6IHZhcigtLW1lbW9yeS1pbWFnZXMtc3Ryb2tlLWNvbG9yKTsKLSAg
ICBmaWxsOiB2YXIoLS1tZW1vcnktaW1hZ2VzLWZpbGwtY29sb3IpOwotfQotCi0uaGVhcC1zbmFw
c2hvdC1zdW1tYXJ5IC5jaXJjbGUtY2hhcnQgPiBzdmcgPiBwYXRoLnRvcC1jbGFzcy0zLAotLmhl
YXAtc25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC5sYXJnZSB7Ci0g
ICAgc3Ryb2tlOiB2YXIoLS1tZW1vcnktbGF5ZXJzLXN0cm9rZS1jb2xvcik7Ci0gICAgZmlsbDog
dmFyKC0tbWVtb3J5LWxheWVycy1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3Vt
bWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3MtNCwKLS5oZWFwLXNuYXBz
aG90LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGgudmVyeS1sYXJnZSB7Ci0gICAg
c3Ryb2tlOiB2YXIoLS1tZW1vcnktcGFnZS1zdHJva2UtY29sb3IpOwotICAgIGZpbGw6IHZhcigt
LW1lbW9yeS1wYWdlLWZpbGwtY29sb3IpOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IC5j
aXJjbGUtY2hhcnQgPiBzdmcgPiBwYXRoLnRvcC1jbGFzcy01IHsKLSAgICBzdHJva2U6IHZhcigt
LW1lbW9yeS1leHRyYS1zdHJva2UtY29sb3IpOwotICAgIGZpbGw6IHZhcigtLW1lbW9yeS1leHRy
YS1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0
ID4gc3ZnID4gcGF0aC5vdGhlciB7Ci0gICAgc3Ryb2tlOiB2YXIoLS1tZW1vcnktbWF4LWNvbXBh
cmlzb24tc3Ryb2tlLWNvbG9yKTsKLSAgICBmaWxsOiB2YXIoLS1tZW1vcnktbWF4LWNvbXBhcmlz
b24tZmlsbC1jb2xvcik7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5Q29udGVudFZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5
Q29udGVudFZpZXcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1Yjc1ODQuLjAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVh
cFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRl
bnRWaWV3ID0gY2xhc3MgSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3IGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLkNvbnRlbnRWaWV3Ci17Ci0gICAgY29uc3RydWN0b3IoaGVhcFNuYXBzaG90KQot
ICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoaGVhcFNuYXBzaG90IGluc3RhbmNlb2YgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3h5IHx8IGhlYXBTbmFwc2hvdCBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3REaWZmUHJveHkpOwotCi0gICAgICAgIHN1cGVyKGhlYXBT
bmFwc2hvdCk7Ci0KLSAgICAgICAgdGhpcy5faGVhcFNuYXBzaG90ID0gaGVhcFNuYXBzaG90Owot
Ci0gICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJoZWFwLXNuYXBzaG90LXN1bW1h
cnkiKTsKLQotICAgICAgICBsZXQgY29udGVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAgICBjb250ZW50RWxl
bWVudC5jbGFzc0xpc3QuYWRkKCJjb250ZW50Iik7Ci0KLSAgICAgICAgbGV0IG92ZXJ2aWV3RWxl
bWVudCA9IGNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpKTsKLSAgICAgICAgb3ZlcnZpZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoIm92ZXJ2aWV3
Iik7Ci0KLSAgICAgICAgZnVuY3Rpb24gY3JlYXRlQ2hhcnRDb250YWluZXIocGFyZW50RWxlbWVu
dCwgc3VidGl0bGUsIHRvb2x0aXApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxldCBjaGFydEVs
ZW1lbnQgPSBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpKTsKLSAgICAgICAgICAgIGNoYXJ0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjaGFydCIp
OwotCi0gICAgICAgICAgICBsZXQgY2hhcnRTdWJ0aXRsZUVsZW1lbnQgPSBjaGFydEVsZW1lbnQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAgICAgICAg
Y2hhcnRTdWJ0aXRsZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic3VidGl0bGUiKTsKLSAgICAgICAg
ICAgIGNoYXJ0U3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50ID0gc3VidGl0bGU7Ci0gICAgICAg
ICAgICBjaGFydFN1YnRpdGxlRWxlbWVudC50aXRsZSA9IHRvb2x0aXA7Ci0KLSAgICAgICAgICAg
IGxldCBjaGFydEZsZXhDb250YWluZXJFbGVtZW50ID0gY2hhcnRFbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIGNoYXJ0RmxleENv
bnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiY29udGFpbmVyIik7Ci0gICAgICAgICAgICBy
ZXR1cm4gY2hhcnRGbGV4Q29udGFpbmVyRWxlbWVudDsKLSAgICAgICAgfQotCi0gICAgICAgIGNv
bnN0IGNpcmNsZUNoYXJ0Q29uZmlnID0ge3NpemU6IDEyMCwgaW5uZXJSYWRpdXNSYXRpbzogMC41
fTsKLQotICAgICAgICBsZXQgY2xhc3NTaXplQnJlYWtkb3duVG9vbHRpcCA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiQnJlYWtkb3duIG9mIHRvdGFsIGFsbG9jYXRpb24gc2l6ZSBieSBjbGFzcyIp
OwotICAgICAgICBsZXQgY2xhc3NTaXplQnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50ID0g
Y3JlYXRlQ2hhcnRDb250YWluZXIob3ZlcnZpZXdFbGVtZW50LCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkNsYXNzIFNpemUgQnJlYWtkb3duIiksIGNsYXNzU2l6ZUJyZWFrZG93blRvb2x0aXApOwot
ICAgICAgICB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25DaXJjbGVDaGFydCA9IG5ldyBXZWJJbnNw
ZWN0b3IuQ2lyY2xlQ2hhcnQoY2lyY2xlQ2hhcnRDb25maWcpOwotICAgICAgICBjbGFzc1NpemVC
cmVha2Rvd25DaGFydENvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY2xhc3NTaXpl
QnJlYWtkb3duQ2lyY2xlQ2hhcnQuZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuX2NsYXNzU2l6ZUJy
ZWFrZG93bkxlZ2VuZEVsZW1lbnQgPSBjbGFzc1NpemVCcmVha2Rvd25DaGFydENvbnRhaW5lckVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAg
ICB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImxl
Z2VuZCIsICJjbGFzcy1icmVha2Rvd24iKTsKLQotICAgICAgICBsZXQgc2Vjb25kT3ZlcnZpZXdF
bGVtZW50ID0gY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2IikpOwotICAgICAgICBzZWNvbmRPdmVydmlld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgi
b3ZlcnZpZXciKTsKLQotICAgICAgICBsZXQgY2xhc3NDb3VudEJyZWFrZG93blRvb2x0aXAgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJyZWFrZG93biBvZiBvYmplY3QgY291bnRzIGJ5IGNsYXNz
Iik7Ci0gICAgICAgIGxldCBjbGFzc0NvdW50QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50
ID0gY3JlYXRlQ2hhcnRDb250YWluZXIoc2Vjb25kT3ZlcnZpZXdFbGVtZW50LCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkNsYXNzIENvdW50IEJyZWFrZG93biIpLCBjbGFzc0NvdW50QnJlYWtkb3du
VG9vbHRpcCk7Ci0gICAgICAgIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydCA9
IG5ldyBXZWJJbnNwZWN0b3IuQ2lyY2xlQ2hhcnQoY2lyY2xlQ2hhcnRDb25maWcpOwotICAgICAg
ICBjbGFzc0NvdW50QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydC5lbGVtZW50KTsKLSAgICAgICAgdGhp
cy5fY2xhc3NDb3VudEJyZWFrZG93bkxlZ2VuZEVsZW1lbnQgPSBjbGFzc0NvdW50QnJlYWtkb3du
Q2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpKTsKLSAgICAgICAgdGhpcy5fY2xhc3NDb3VudEJyZWFrZG93bkxlZ2VuZEVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgibGVnZW5kIiwgImNvdW50LWJyZWFrZG93biIpOwotCi0gICAgICAgIGxl
dCB0aGlyZE92ZXJ2aWV3RWxlbWVudCA9IGNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgdGhpcmRPdmVydmlld0VsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgib3ZlcnZpZXciKTsKLQotICAgICAgICBsZXQgYWxsb2NhdGlvblNpemVC
cmVha2Rvd25Ub29sdGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJCcmVha2Rvd24gb2YgYWxs
b2NhdGlvbnMgaW50byBzaXplIGNsYXNzZXMiKTsKLSAgICAgICAgbGV0IGFsbG9jYXRpb25TaXpl
QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50ID0gY3JlYXRlQ2hhcnRDb250YWluZXIodGhp
cmRPdmVydmlld0VsZW1lbnQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWxsb2NhdGlvbiBTaXpl
IEJyZWFrZG93biIpLCBhbGxvY2F0aW9uU2l6ZUJyZWFrZG93blRvb2x0aXApOwotICAgICAgICB0
aGlzLl9hbGxvY2F0aW9uU2l6ZUJyZWFrZG93bkNpcmNsZUNoYXJ0ID0gbmV3IFdlYkluc3BlY3Rv
ci5DaXJjbGVDaGFydChjaXJjbGVDaGFydENvbmZpZyk7Ci0gICAgICAgIGFsbG9jYXRpb25TaXpl
QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2FsbG9jYXRp
b25TaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQuZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuX2FsbG9j
YXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCA9IGFsbG9jYXRpb25TaXplQnJlYWtkb3du
Q2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpKTsKLSAgICAgICAgdGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25MZWdlbmRFbGVt
ZW50LmNsYXNzTGlzdC5hZGQoImxlZ2VuZCIsICJhbGxvY2F0aW9uLXNpemUtYnJlYWtkb3duIik7
Ci0KLSAgICAgICAgZnVuY3Rpb24gYXBwZW5kTGVnZW5kUm93KGxlZ2VuZEVsZW1lbnQsIHN3YXRj
aENsYXNzLCBsYWJlbCwgc3VidGl0bGUsIHRvb2x0aXApIHsKLSAgICAgICAgICAgIGxldCByb3dF
bGVtZW50ID0gbGVnZW5kRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKSk7Ci0gICAgICAgICAgICByb3dFbGVtZW50LmNsYXNzTGlzdC5hZGQoInJvdyIpOwot
ICAgICAgICAgICAgbGV0IHN3YXRjaEVsZW1lbnQgPSByb3dFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIHN3YXRjaEVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgic3dhdGNoIiwgc3dhdGNoQ2xhc3MpOwotICAgICAgICAgICAgbGV0IGxh
YmVsRWxlbWVudCA9IHJvd0VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgicCIpKTsKLSAgICAgICAgICAgIGxhYmVsRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJsYWJlbCIp
OwotICAgICAgICAgICAgbGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gbGFiZWw7Ci0gICAgICAg
ICAgICBsZXQgc2l6ZUVsZW1lbnQgPSByb3dFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInAiKSk7Ci0gICAgICAgICAgICBzaXplRWxlbWVudC5jbGFzc0xpc3QuYWRk
KCJzaXplIik7Ci0gICAgICAgICAgICBzaXplRWxlbWVudC50ZXh0Q29udGVudCA9IHN1YnRpdGxl
OwotICAgICAgICAgICAgaWYgKHRvb2x0aXApCi0gICAgICAgICAgICAgICAgcm93RWxlbWVudC50
aXRsZSA9IHRvb2x0aXA7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhcHBlbmRFbXB0
eU1lc3NhZ2UobGVnZW5kRWxlbWVudCwgdGV4dCkgewotICAgICAgICAgICAgbGV0IGVtcHR5RWxl
bWVudCA9IGxlZ2VuZEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOwotICAgICAgICAgICAgZW1wdHlFbGVtZW50LmNsYXNzTGlzdC5hZGQoImVtcHR5Iik7
Ci0gICAgICAgICAgICBlbXB0eUVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwotICAgICAgICB9
Ci0KLSAgICAgICAgLy8gTGFyZ2VzdCBjbGFzc2VzIGJ5IHNpemUuCi0gICAgICAgIGxldCBjYXRl
Z29yaWVzQnlTaXplID0gWy4uLnRoaXMuX2hlYXBTbmFwc2hvdC5jYXRlZ29yaWVzLnZhbHVlcygp
XS5zb3J0KChhLCBiKSA9PiBiLnNpemUgLSBhLnNpemUpOwotICAgICAgICBsZXQgY2F0ZWdvcmll
c0J5U2l6ZUxpbWl0ID0gTWF0aC5taW4oY2F0ZWdvcmllc0J5U2l6ZS5sZW5ndGgsIDUpOwotICAg
ICAgICBpZiAoY2F0ZWdvcmllc0J5U2l6ZUxpbWl0KSB7Ci0gICAgICAgICAgICBsZXQgdG9wQ2xh
c3NTaXplcyA9IGNhdGVnb3JpZXNCeVNpemUuc3BsaWNlKDAsIGNhdGVnb3JpZXNCeVNpemVMaW1p
dCk7Ci0gICAgICAgICAgICBsZXQgb3RoZXJDbGFzc1NpemUgPSBjYXRlZ29yaWVzQnlTaXplLnJl
ZHVjZSgoc3VtLCBjYXRlZ29yeSkgPT4gc3VtICs9IGNhdGVnb3J5LnNpemUsIDApOwotCi0gICAg
ICAgICAgICBsZXQgc2VnbWVudHMgPSBbXTsKLSAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBbXTsK
LQotICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXRlZ29yaWVzQnlTaXplTGltaXQ7
ICsraSkgewotICAgICAgICAgICAgICAgIGxldCB0b3BDbGFzc1NpemUgPSB0b3BDbGFzc1NpemVz
W2ldOwotICAgICAgICAgICAgICAgIGxldCBzZWdtZW50TmFtZSA9ICJ0b3AtY2xhc3MtIiArIChp
ICsgMSk7Ci0gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChzZWdtZW50TmFtZSk7Ci0gICAg
ICAgICAgICAgICAgdmFsdWVzLnB1c2godG9wQ2xhc3NTaXplLnNpemUpOwotICAgICAgICAgICAg
ICAgIGFwcGVuZExlZ2VuZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzU2l6ZUJyZWFrZG93bkxl
Z2VuZEVsZW1lbnQsIHNlZ21lbnROYW1lLCB0b3BDbGFzc1NpemUuY2xhc3NOYW1lLCBOdW1iZXIu
Ynl0ZXNUb1N0cmluZyh0b3BDbGFzc1NpemUuc2l6ZSkpOwotICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICBpZiAob3RoZXJDbGFzc1NpemUpIHsKLSAgICAgICAgICAgICAgICBsZXQgb3RoZXJT
ZWdtZW50TmFtZSA9ICJvdGhlciI7Ci0gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChvdGhl
clNlZ21lbnROYW1lKTsKLSAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaChvdGhlckNsYXNzU2l6
ZSk7Ci0gICAgICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywgdGhpcy5fY2xh
c3NTaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgb3RoZXJTZWdtZW50TmFtZSwgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJPdGhlciIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhvdGhlckNsYXNzU2l6
ZSkpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlzLl9jbGFzc1NpemVCcmVha2Rv
d25DaXJjbGVDaGFydC5zZWdtZW50cyA9IHNlZ21lbnRzOwotICAgICAgICAgICAgdGhpcy5fY2xh
c3NTaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQudmFsdWVzID0gdmFsdWVzOwotICAgICAgICAgICAg
dGhpcy5fY2xhc3NTaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQudXBkYXRlTGF5b3V0KCk7Ci0KLSAg
ICAgICAgICAgIGxldCB0b3RhbFNpemVFbGVtZW50ID0gdGhpcy5fY2xhc3NTaXplQnJlYWtkb3du
Q2lyY2xlQ2hhcnQuY2VudGVyRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKSk7Ci0gICAgICAgICAgICB0b3RhbFNpemVFbGVtZW50LmNsYXNzTGlzdC5hZGQo
InRvdGFsLXNpemUiKTsKLSAgICAgICAgICAgIHRvdGFsU2l6ZUVsZW1lbnQuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsgLy8gZmlyc3RDaGlsZAotICAgICAgICAg
ICAgdG90YWxTaXplRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJi
ciIpKTsKLSAgICAgICAgICAgIHRvdGFsU2l6ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic3BhbiIpKTsgLy8gbGFzdENoaWxkCi0gICAgICAgICAgICBsZXQgdG90
YWxTaXplID0gTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5faGVhcFNuYXBzaG90LnRvdGFsU2l6
ZSkuc3BsaXQoL1xzKy8pOwotICAgICAgICAgICAgdG90YWxTaXplRWxlbWVudC5maXJzdENoaWxk
LnRleHRDb250ZW50ID0gdG90YWxTaXplWzBdOwotICAgICAgICAgICAgdG90YWxTaXplRWxlbWVu
dC5sYXN0Q2hpbGQudGV4dENvbnRlbnQgPSB0b3RhbFNpemVbMV07Ci0gICAgICAgICAgICB0b3Rh
bFNpemVFbGVtZW50LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCBzaXplIG9m
IGhlYXAiKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBhcHBlbmRFbXB0eU1lc3NhZ2Uu
Y2FsbCh0aGlzLCB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIk5vIG9iamVjdHMiKSk7Ci0KLSAgICAgICAgLy8gTGFyZ2VzdCBjbGFz
c2VzIGJ5IGNvdW50LgotICAgICAgICBsZXQgY2F0ZWdvcmllc0J5Q291bnQgPSBbLi4udGhpcy5f
aGVhcFNuYXBzaG90LmNhdGVnb3JpZXMudmFsdWVzKCldLnNvcnQoKGEsIGIpID0+IGIuY291bnQg
LSBhLmNvdW50KTsKLSAgICAgICAgbGV0IGNhdGVnb3JpZXNCeUNvdW50TGltaXQgPSBNYXRoLm1p
bihjYXRlZ29yaWVzQnlDb3VudC5sZW5ndGgsIDUpOwotICAgICAgICBpZiAoY2F0ZWdvcmllc0J5
Q291bnRMaW1pdCkgewotICAgICAgICAgICAgbGV0IHRvcENsYXNzQ291bnRzID0gY2F0ZWdvcmll
c0J5Q291bnQuc3BsaWNlKDAsIGNhdGVnb3JpZXNCeUNvdW50TGltaXQpOwotICAgICAgICAgICAg
bGV0IG90aGVyQ2xhc3NDb3VudCA9IGNhdGVnb3JpZXNCeUNvdW50LnJlZHVjZSgoc3VtLCBjYXRl
Z29yeSkgPT4gc3VtICs9IGNhdGVnb3J5LmNvdW50LCAwKTsKLQotICAgICAgICAgICAgbGV0IHNl
Z21lbnRzID0gW107Ci0gICAgICAgICAgICBsZXQgdmFsdWVzID0gW107Ci0KLSAgICAgICAgICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgY2F0ZWdvcmllc0J5Q291bnRMaW1pdDsgKytpKSB7Ci0gICAg
ICAgICAgICAgICAgbGV0IHRvcENsYXNzQ291bnQgPSB0b3BDbGFzc0NvdW50c1tpXTsKLSAgICAg
ICAgICAgICAgICBsZXQgc2VnbWVudE5hbWUgPSAidG9wLWNsYXNzLSIgKyAoaSArIDEpOwotICAg
ICAgICAgICAgICAgIHNlZ21lbnRzLnB1c2goc2VnbWVudE5hbWUpOwotICAgICAgICAgICAgICAg
IHZhbHVlcy5wdXNoKHRvcENsYXNzQ291bnQuY291bnQpOwotICAgICAgICAgICAgICAgIGFwcGVu
ZExlZ2VuZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25MZWdlbmRFbGVt
ZW50LCBzZWdtZW50TmFtZSwgdG9wQ2xhc3NDb3VudC5jbGFzc05hbWUsIHRvcENsYXNzQ291bnQu
Y291bnQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAob3RoZXJDbGFzc0NvdW50
KSB7Ci0gICAgICAgICAgICAgICAgbGV0IG90aGVyU2VnbWVudE5hbWUgPSAib3RoZXIiOwotICAg
ICAgICAgICAgICAgIHNlZ21lbnRzLnB1c2gob3RoZXJTZWdtZW50TmFtZSk7Ci0gICAgICAgICAg
ICAgICAgdmFsdWVzLnB1c2gob3RoZXJDbGFzc0NvdW50KTsKLSAgICAgICAgICAgICAgICBhcHBl
bmRMZWdlbmRSb3cuY2FsbCh0aGlzLCB0aGlzLl9jbGFzc0NvdW50QnJlYWtkb3duTGVnZW5kRWxl
bWVudCwgb3RoZXJTZWdtZW50TmFtZSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPdGhlciIpLCBv
dGhlckNsYXNzQ291bnQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlzLl9jbGFz
c0NvdW50QnJlYWtkb3duQ2lyY2xlQ2hhcnQuc2VnbWVudHMgPSBzZWdtZW50czsKLSAgICAgICAg
ICAgIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydC52YWx1ZXMgPSB2YWx1ZXM7
Ci0gICAgICAgICAgICB0aGlzLl9jbGFzc0NvdW50QnJlYWtkb3duQ2lyY2xlQ2hhcnQudXBkYXRl
TGF5b3V0KCk7Ci0KLSAgICAgICAgICAgIGxldCB0b3RhbENvdW50RWxlbWVudCA9IHRoaXMuX2Ns
YXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIHRvdGFsQ291bnRFbGVt
ZW50LmNsYXNzTGlzdC5hZGQoInRvdGFsLWNvdW50Iik7Ci0gICAgICAgICAgICB0b3RhbENvdW50
RWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuX2hlYXBTbmFwc2hvdC50b3RhbE9iamVjdENvdW50
OwotICAgICAgICAgICAgdG90YWxDb3VudEVsZW1lbnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlRvdGFsIG9iamVjdCBjb3VudCIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAg
IGFwcGVuZEVtcHR5TWVzc2FnZS5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25M
ZWdlbmRFbGVtZW50LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIG9iamVjdHMiKSk7Ci0KLSAg
ICAgICAgLy8gQWxsb2NhdGlvbiBzaXplIGdyb3Vwcy4KLSAgICAgICAgY29uc3Qgc21hbGxBbGxv
Y2F0aW9uU2l6ZSA9IDQ4OwotICAgICAgICBjb25zdCBtZWRpdW1BbGxvY2F0aW9uU2l6ZSA9IDEy
ODsKLSAgICAgICAgY29uc3QgbGFyZ2VBbGxvY2F0aW9uU2l6ZSA9IDUxMjsKLQotICAgICAgICB0
aGlzLl9oZWFwU25hcHNob3QuYWxsb2NhdGlvbkJ1Y2tldENvdW50cyhbc21hbGxBbGxvY2F0aW9u
U2l6ZSwgbWVkaXVtQWxsb2NhdGlvblNpemUsIGxhcmdlQWxsb2NhdGlvblNpemVdLCAocmVzdWx0
cykgPT4gewotICAgICAgICAgICAgbGV0IFtzbWFsbCwgbWVkaXVtLCBsYXJnZSwgdmVyeUxhcmdl
XSA9IHJlc3VsdHM7Ci0KLSAgICAgICAgICAgIGlmIChzbWFsbCArIG1lZGl1bSArIGxhcmdlICsg
dmVyeUxhcmdlKSB7Ci0gICAgICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywg
dGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCAic21hbGwiLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlNtYWxsICVzIikuZm9ybWF0KE51bWJlci5ieXRlc1RvU3RyaW5n
KHNtYWxsQWxsb2NhdGlvblNpemUpKSwgc21hbGwpOwotICAgICAgICAgICAgICAgIGFwcGVuZExl
Z2VuZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxl
bWVudCwgIm1lZGl1bSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWVkaXVtICVzIikuZm9ybWF0
KE51bWJlci5ieXRlc1RvU3RyaW5nKG1lZGl1bUFsbG9jYXRpb25TaXplKSksIG1lZGl1bSk7Ci0g
ICAgICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywgdGhpcy5fYWxsb2NhdGlv
blNpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCAibGFyZ2UiLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxhcmdlICVzIikuZm9ybWF0KE51bWJlci5ieXRlc1RvU3RyaW5nKGxhcmdlQWxsb2NhdGlv
blNpemUpKSwgbGFyZ2UpOwotICAgICAgICAgICAgICAgIGFwcGVuZExlZ2VuZFJvdy5jYWxsKHRo
aXMsIHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgInZlcnktbGFy
Z2UiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZlcnkgTGFyZ2UiKSwgdmVyeUxhcmdlKTsKLQot
ICAgICAgICAgICAgICAgIHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQu
c2VnbWVudHMgPSBbInNtYWxsIiwgIm1lZGl1bSIsICJsYXJnZSIsICJ2ZXJ5LWxhcmdlIl07Ci0g
ICAgICAgICAgICAgICAgdGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC52
YWx1ZXMgPSBbc21hbGwsIG1lZGl1bSwgbGFyZ2UsIHZlcnlMYXJnZV07Ci0gICAgICAgICAgICAg
ICAgdGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC51cGRhdGVMYXlvdXQo
KTsKLQotICAgICAgICAgICAgICAgIGxldCBhdmVyYWdlQWxsb2NhdGlvblNpemVFbGVtZW50ID0g
dGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgICAg
ICBhdmVyYWdlQWxsb2NhdGlvblNpemVFbGVtZW50LmNsYXNzTGlzdC5hZGQoImF2ZXJhZ2UtYWxs
b2NhdGlvbi1zaXplIik7Ci0gICAgICAgICAgICAgICAgYXZlcmFnZUFsbG9jYXRpb25TaXplRWxl
bWVudC50ZXh0Q29udGVudCA9IE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuX2hlYXBTbmFwc2hv
dC50b3RhbFNpemUgLyB0aGlzLl9oZWFwU25hcHNob3QudG90YWxPYmplY3RDb3VudCk7Ci0gICAg
ICAgICAgICAgICAgYXZlcmFnZUFsbG9jYXRpb25TaXplRWxlbWVudC50aXRsZSA9IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQXZlcmFnZSBhbGxvY2F0aW9uIHNpemUiKTsKLSAgICAgICAgICAgIH0g
ZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZEVtcHR5TWVzc2FnZS5jYWxsKHRoaXMsIHRoaXMu
X2FsbG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJObyBvYmplY3RzIikpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICAvLyBQcm90ZWN0
ZWQKLQotICAgIGxheW91dCgpCi0gICAgewotICAgICAgICAvLyBOb3RoaW5nIHRvIGNoYW5nZS4K
LSAgICB9Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVmFyaWFibGVzLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1ZhcmlhYmxlcy5jc3MKaW5kZXggYTkwZWI4Ni4uNWJmZTk0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNz
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WYXJpYWJs
ZXMuY3NzCkBAIC02Nyw4ICs2Nyw2IEBACiAgICAgLS1tZW1vcnktcGFnZS1zdHJva2UtY29sb3I6
IGhzbCgyMiwgNDAlLCA1MCUpOwogICAgIC0tbWVtb3J5LW1heC1jb21wYXJpc29uLWZpbGwtY29s
b3I6IGhzbCgyMjAsIDEwJSwgNzUlKTsKICAgICAtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1zdHJv
a2UtY29sb3I6IGhzbCgyMjAsIDEwJSwgNTUlKTsKLSAgICAtLW1lbW9yeS1leHRyYS1maWxsLWNv
bG9yOiBoc2woMjExLCA1MyUsIDcwJSk7Ci0gICAgLS1tZW1vcnktZXh0cmEtc3Ryb2tlLWNvbG9y
OiBoc2woMjExLCA1MyUsIDU1JSk7CiAKICAgICAtLWV2ZW4temVicmEtc3RyaXBlLXJvdy1iYWNr
Z3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAgICAtLW9kZC16ZWJyYS1zdHJpcGUtcm93LWJhY2tncm91
bmQtY29sb3I6IGhzbCgwLCAwJSwgOTUlKTsK
</data>
<flag name="review"
          id="302301"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278257</attachid>
            <date>2016-05-06 12:05:30 -0700</date>
            <delta_ts>2016-05-06 12:53:50 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>rm-Summary-View.patch</filename>
            <type>text/plain</type>
            <size>28524</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGRhNjQ4YTAuLmMxYjFlNzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA1LTA1ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3Zl
IEhlYXBTbmFwc2hvdCBTdW1tYXJ5IFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1NzM4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlw
ZS5nZXQgc3VtbWFyeUNvbnRlbnRWaWV3KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcucHJvdG90eXBlLnNob3dTdW1tYXJ5KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVu
dFZpZXcucHJvdG90eXBlLl9wYXRoQ29tcG9uZW50Rm9yQ29udGVudFZpZXcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5wcm90b3R5cGUuX2lk
ZW50aWZpZXJGb3JDb250ZW50Vmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90Q2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZS5fc2hvd0NvbnRlbnRWaWV3Rm9ySWRlbnRp
Zmllcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5
Q29udGVudFZpZXcuY3NzOiBSZW1vdmVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
SGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzOiBSZW1vdmVkLgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNzczoKKyAgICAgICAgKDpyb290KToKKwogMjAx
Ni0wNS0wNiAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbY3NzLWdyaWRdIFVucHJlZml4IENTUyBHcmlkIExheW91dCBwcm9wZXJ0aWVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA4NThjMjZkM2ExYmI3YWJlMjI3NGIyMGNh
NzgxZThjOGE5ODUwOGUyLi5mODg0ODU1ZWU5ZDYyZmJlYmY3MGU2MGQwNzM0ODQzZGUzN2RhZDg1
IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDEwNwp6Y21WLXgwRj9pejswNDt5MStZbVF2
KlIxKzR6cGI9P2dYPGJGKipVVzJRPU9XbFcjaip2ciMtRWtGJnxrNUQmOTYKeitndVR8P2QoUUZt
I1opVjQ3WmdxMGgkdUdma09jcjc/KkVkMFQ3b2pGOThVYiYwR08pbSFEaCMjK05OIzBTTEcyCk5U
Pis+R3hBQThJSHdhelJEZVY5TgoKZGVsdGEgOTM4CnpjbWNiMGZweF9MKSh4SzBsYjBTNTs4dEo9
WDJAaXlWbn02Qm43bTMpZSk3VTJBfUNAZl5sVWV+TzI2VG9kfEZkTAp6SSp9bTwyPWZffDg0Pyp2
ZlpGbUlAKSM1dGlhYGNVZXhOQllqemZNTEZRZWdSTCM9bCN5NFZ5SDFDN1c4OGRMJV8KejRyJjw0
SDRNcDxfYmlwMWR7UiV5UX5AWkgxezVKbF93Oz4lak9MUzk+amBaWipMUHheeWpELVo3LW1qQkxs
USQ0CnooMml1Rm9qYGtscms4XjQyZX5BUHAlTl5YMUdLR31wP0xCaEokWFp0Xi1XJkRxemtnejhL
eDhEdy1UYFh2SEpxcQp6LSZrRFdOVT1FfTdpfHRWYyktVCg0RUhXMSFvQUlUUHtlPXtLM1VzNTEw
QGxGNShaRW1DbkJqcFJCPXJ7eD5OdXQKeiE/ayY+SVkmUWg1a29wZD5nMGZucVU/emI1Y1k8MSMr
eEBFNlhJNyowWS01dExvUDZBUmVgfigjMUlRKSojZlo9CnpnRCleNXB0NiQtRSpmdD5kXkp2UmRh
TmctNnRmPmd7YDNRJGpNa0ltQDNLdH1lWGNTJl9tMDVrKEMwJFZqSD1Wfgp6dj4ycilHeE8rZWtK
ZShgQiV+WStIYXImPyFiUU9OTHBCflJHeEA8KXtxNE5BajhZUWZJTzJjJGYqP2pvVkp3bzkKekNs
dSpWPytzJCkqeyZZUz0pKlhAS1p1Y1FJKj0qQW8mamB4QjB+WEtDcz4zUEVIYiUzUzlrakVGaDtL
SiluU1kpCmxJQ1dGTyZRZjZUMFhxO0ZOR01KVzFNKSU2aFJSUH51dCRIcFZnalFqMkxRLVM8N05O
PQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4u
aHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRl
eCAxODE2OWU0Li4zMmQ5MzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTWFpbi5odG1sCkBAIC05Myw3ICs5Myw2IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJWaWV3cy9IZWFwQWxsb2NhdGlvbnNUaW1lbGluZU92ZXJ2aWV3R3JhcGguY3Nz
Ij4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0hlYXBBbGxvY2F0aW9u
c1RpbWVsaW5lVmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmll
d3MvSGVhcFNuYXBzaG90SW5zdGFuY2VzQ29udGVudFZpZXcuY3NzIj4KLSAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0hlYXBTbmFwc2hvdFN1bW1hcnlDb250ZW50Vmlldy5j
c3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvSGllcmFyY2hpY2Fs
UGF0aENvbXBvbmVudC5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmll
d3MvSG92ZXJNZW51LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3
cy9JbWFnZVJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KQEAgLTUzMyw3ICs1MzIsNiBAQAogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9IZWFwU25hcHNob3REYXRhR3JpZFRyZWUuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9IZWFwU25hcHNob3RJbnN0YW5jZURhdGFHcmlkTm9k
ZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0hlYXBTbmFwc2hvdEluc3Rh
bmNlRmV0Y2hNb3JlRGF0YUdyaWROb2RlLmpzIj48L3NjcmlwdD4KLSAgICA8c2NyaXB0IHNyYz0i
Vmlld3MvSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iVmlld3MvSGllcmFyY2hpY2FsUGF0aE5hdmlnYXRpb25JdGVtLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvSG92ZXJNZW51LmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iVmlld3MvSW1hZ2VSZXNvdXJjZUNvbnRlbnRWaWV3LmpzIj48L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0hlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5qcwpp
bmRleCA1YWUyMTZmLi5lMjdmYjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNuYXBzaG90
Q2x1c3RlckNvbnRlbnRWaWV3LmpzCkBAIC00MSwxNyArNDEsMTIgQEAgV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJD
b250ZW50VmkKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3Nob3duSW5pdGlhbENvbnRlbnQg
PSBmYWxzZTsKLSAgICAgICAgdGhpcy5fc3VtbWFyeUNvbnRlbnRWaWV3ID0gbnVsbDsKICAgICAg
ICAgdGhpcy5faW5zdGFuY2VzQ29udGVudFZpZXcgPSBudWxsOwogICAgICAgICB0aGlzLl9vYmpl
Y3RHcmFwaENvbnRlbnRWaWV3ID0gbnVsbDsKIAotICAgICAgICB0aGlzLl9zdW1tYXJ5UGF0aENv
bXBvbmVudCA9IGNyZWF0ZVBhdGhDb21wb25lbnQuY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlN1bW1hcnkiKSwgImhlYXAtc25hcHNob3Qtc3VtbWFyeS1pY29uIiwgV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5TdW1tYXJ5SWRlbnRpZmllcik7CiAg
ICAgICAgIHRoaXMuX2luc3RhbmNlc1BhdGhDb21wb25lbnQgPSBjcmVhdGVQYXRoQ29tcG9uZW50
LmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnN0YW5jZXMiKSwgImhlYXAtc25h
cHNob3QtaW5zdGFuY2VzLWljb24iLCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNv
bnRlbnRWaWV3Lkluc3RhbmNlc0lkZW50aWZpZXIpOwogICAgICAgICB0aGlzLl9vYmplY3RHcmFw
aFBhdGhDb21wb25lbnQgPSBjcmVhdGVQYXRoQ29tcG9uZW50LmNhbGwodGhpcywgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJPYmplY3QgR3JhcGgiKSwgImhlYXAtc25hcHNob3Qtb2JqZWN0LWdyYXBo
LWljb24iLCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3Lk9iamVj
dEdyYXBoSWRlbnRpZmllcik7CiAKLSAgICAgICAgdGhpcy5fc3VtbWFyeVBhdGhDb21wb25lbnQu
bmV4dFNpYmxpbmcgPSB0aGlzLl9pbnN0YW5jZXNQYXRoQ29tcG9uZW50OwotICAgICAgICB0aGlz
Ll9pbnN0YW5jZXNQYXRoQ29tcG9uZW50LnByZXZpb3VzU2libGluZyA9IHRoaXMuX3N1bW1hcnlQ
YXRoQ29tcG9uZW50OwotCiAgICAgICAgIGlmICh0aGlzLl9zdXBwb3J0c09iamVjdEdyYXBoKCkp
IHsKICAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlc1BhdGhDb21wb25lbnQubmV4dFNpYmxpbmcg
PSB0aGlzLl9vYmplY3RHcmFwaFBhdGhDb21wb25lbnQ7CiAgICAgICAgICAgICB0aGlzLl9vYmpl
Y3RHcmFwaFBhdGhDb21wb25lbnQucHJldmlvdXNTaWJsaW5nID0gdGhpcy5faW5zdGFuY2VzUGF0
aENvbXBvbmVudDsKQEAgLTExMSwxMyArMTA2LDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmkK
IAogICAgIGdldCBoZWFwU25hcHNob3QoKSB7IHJldHVybiB0aGlzLl9oZWFwU25hcHNob3Q7IH0K
IAotICAgIGdldCBzdW1tYXJ5Q29udGVudFZpZXcoKQotICAgIHsKLSAgICAgICAgaWYgKCF0aGlz
Ll9zdW1tYXJ5Q29udGVudFZpZXcpCi0gICAgICAgICAgICB0aGlzLl9zdW1tYXJ5Q29udGVudFZp
ZXcgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFN1bW1hcnlDb250ZW50Vmlldyh0aGlz
Ll9oZWFwU25hcHNob3QpOwotICAgICAgICByZXR1cm4gdGhpcy5fc3VtbWFyeUNvbnRlbnRWaWV3
OwotICAgIH0KLQogICAgIGdldCBpbnN0YW5jZXNDb250ZW50VmlldygpCiAgICAgewogICAgICAg
ICBpZiAoIXRoaXMuX2luc3RhbmNlc0NvbnRlbnRWaWV3KQpAQCAtMTcyLDEyICsxNjAsNiBAQCBX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3ID0gY2xhc3MgSGVhcFNu
YXBzaG90Q2x1c3RlckNvbnRlbnRWaQogICAgICAgICB0aGlzLl9zaG93Q29udGVudFZpZXdGb3JJ
ZGVudGlmaWVyKGNvb2tpZVtXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRW
aWV3LkNvbnRlbnRWaWV3SWRlbnRpZmllckNvb2tpZUtleV0pOwogICAgIH0KIAotICAgIHNob3dT
dW1tYXJ5KCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3Nob3duSW5pdGlhbENvbnRlbnQgPSB0cnVl
OwotICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0NvbnRlbnRWaWV3Rm9ySWRlbnRpZmllcihXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LlN1bW1hcnlJZGVudGlmaWVy
KTsKLSAgICB9Ci0KICAgICBzaG93SW5zdGFuY2VzKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3No
b3duSW5pdGlhbENvbnRlbnQgPSB0cnVlOwpAQCAtMjAyLDggKzE4NCw2IEBAIFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RDbHVz
dGVyQ29udGVudFZpCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGNvbnRlbnRWaWV3KTsKICAgICAg
ICAgaWYgKCFjb250ZW50VmlldykKICAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICBp
ZiAoY29udGVudFZpZXcgPT09IHRoaXMuX3N1bW1hcnlDb250ZW50VmlldykKLSAgICAgICAgICAg
IHJldHVybiB0aGlzLl9zdW1tYXJ5UGF0aENvbXBvbmVudDsKICAgICAgICAgaWYgKGNvbnRlbnRW
aWV3ID09PSB0aGlzLl9pbnN0YW5jZXNDb250ZW50VmlldykKICAgICAgICAgICAgIHJldHVybiB0
aGlzLl9pbnN0YW5jZXNQYXRoQ29tcG9uZW50OwogICAgICAgICBpZiAoY29udGVudFZpZXcgPT09
IHRoaXMuX29iamVjdEdyYXBoQ29udGVudFZpZXcpCkBAIC0yMTcsOCArMTk3LDYgQEAgV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9IGNsYXNzIEhlYXBTbmFwc2hv
dENsdXN0ZXJDb250ZW50VmkKICAgICAgICAgY29uc29sZS5hc3NlcnQoY29udGVudFZpZXcpOwog
ICAgICAgICBpZiAoIWNvbnRlbnRWaWV3KQogICAgICAgICAgICAgcmV0dXJuIG51bGw7Ci0gICAg
ICAgIGlmIChjb250ZW50VmlldyA9PT0gdGhpcy5fc3VtbWFyeUNvbnRlbnRWaWV3KQotICAgICAg
ICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcu
U3VtbWFyeUlkZW50aWZpZXI7CiAgICAgICAgIGlmIChjb250ZW50VmlldyA9PT0gdGhpcy5faW5z
dGFuY2VzQ29udGVudFZpZXcpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdENsdXN0ZXJDb250ZW50Vmlldy5JbnN0YW5jZXNJZGVudGlmaWVyOwogICAgICAgICBp
ZiAoY29udGVudFZpZXcgPT09IHRoaXMuX29iamVjdEdyYXBoQ29udGVudFZpZXcpCkBAIC0yMzIs
OSArMjEwLDYgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmlldyA9
IGNsYXNzIEhlYXBTbmFwc2hvdENsdXN0ZXJDb250ZW50VmkKICAgICAgICAgbGV0IGNvbnRlbnRW
aWV3VG9TaG93ID0gbnVsbDsKIAogICAgICAgICBzd2l0Y2ggKGlkZW50aWZpZXIpIHsKLSAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3LlN1bW1h
cnlJZGVudGlmaWVyOgotICAgICAgICAgICAgY29udGVudFZpZXdUb1Nob3cgPSB0aGlzLnN1bW1h
cnlDb250ZW50VmlldzsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcuSW5zdGFuY2VzSWRlbnRpZmllcjoK
ICAgICAgICAgICAgIGNvbnRlbnRWaWV3VG9TaG93ID0gdGhpcy5pbnN0YW5jZXNDb250ZW50Vmll
dzsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjYzLDYgKzIzOCw1IEBAIFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcgPSBjbGFzcyBIZWFwU25hcHNob3RDbHVzdGVy
Q29udGVudFZpCiAKIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcu
Q29udGVudFZpZXdJZGVudGlmaWVyQ29va2llS2V5ID0gImhlYXAtc25hcHNob3QtY2x1c3Rlci1j
b250ZW50LXZpZXctaWRlbnRpZmllciI7CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVz
dGVyQ29udGVudFZpZXcuU3VtbWFyeUlkZW50aWZpZXIgPSAic3VtbWFyeSI7CiBXZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90Q2x1c3RlckNvbnRlbnRWaWV3Lkluc3RhbmNlc0lkZW50aWZpZXIgPSAi
aW5zdGFuY2VzIjsKIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDbHVzdGVyQ29udGVudFZpZXcu
T2JqZWN0R3JhcGhJZGVudGlmaWVyID0gIm9iamVjdC1ncmFwaCI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5
Q29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmNzcwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZTBmNDM3My4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5Q29udGVudFZpZXcuY3NzCisr
KyAvZGV2L251bGwKQEAgLTEsMTc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0uY29udGVudC12aWV3
LWNvbnRhaW5lciA+IC5jb250ZW50LXZpZXcuaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IHsKLSAgICBv
dmVyZmxvdzogc2Nyb2xsOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5ID4gLmNvbnRlbnQg
ewotICAgIHdpZHRoOiA0NzBweDsKLSAgICBtYXJnaW46IDEwcHggYXV0bzsKLX0KLQotLmhlYXAt
c25hcHNob3Qtc3VtbWFyeSA+IC5jb250ZW50ID4gLm92ZXJ2aWV3IHsKLSAgICBwYWRkaW5nOiAx
MHB4OwotICAgIG1hcmdpbi1ib3R0b206IDEwcHg7Ci0gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNv
bGlkIHZhcigtLWJvcmRlci1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAu
Y29udGVudCAuc3VidGl0bGUgewotICAgIGZvbnQtZmFtaWx5OiAnLXdlYmtpdC1zeXN0ZW0tZm9u
dCc7Ci0gICAgZm9udC1zaXplOiAxNHB4OwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5ID4g
LmNvbnRlbnQgPiAub3ZlcnZpZXcgewotICAgIGRpc3BsYXk6IGZsZXg7Ci0gICAganVzdGlmeS1j
b250ZW50OiBjZW50ZXI7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+
IC5vdmVydmlldyA+IC5jaGFydCB7Ci0gICAgd2lkdGg6IDQyMHB4OwotICAgIHRleHQtYWxpZ246
IGNlbnRlcjsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSA+IC5jb250ZW50ID4gLm92ZXJ2
aWV3ID4gLmNoYXJ0ID4gLnN1YnRpdGxlIHsKLSAgICBtYXJnaW4tYm90dG9tOiAxZW07Ci19Ci0K
LS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5vdmVydmlldyA+IC5jaGFydCA+
IC5jb250YWluZXIgewotICAgIGRpc3BsYXk6IGZsZXg7Ci0gICAganVzdGlmeS1jb250ZW50OiBj
ZW50ZXI7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5vdmVydmll
dyAudG90YWwtc2l6ZSwKLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgPiAuY29udGVudCA+IC5vdmVy
dmlldyAudG90YWwtY291bnQsCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5ID4gLmNvbnRlbnQgPiAu
b3ZlcnZpZXcgLmF2ZXJhZ2UtYWxsb2NhdGlvbi1zaXplIHsKLSAgICBtYXJnaW46IGF1dG87Ci0g
ICAgY29sb3I6IGhzbCgwLCAwJSwgNzAlKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAu
bGVnZW5kIHsKLSAgICB3aWR0aDogMTIwcHg7Ci0gICAgcGFkZGluZy1sZWZ0OiAyMHB4OwotICAg
IHRleHQtYWxpZ246IGxlZnQ7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+
IC5yb3cgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBoZWlnaHQ6IDI3cHg7Ci19Ci0K
LS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5yb3cgPiAuc3dhdGNoIHsKLSAgICBw
b3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiAxcHg7Ci0gICAgbGVmdDogMDsKLSAgICB3aWR0
aDogMWVtOwotICAgIGhlaWdodDogMWVtOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IC5s
ZWdlbmQgPiAucm93ID4gcCB7Ci0gICAgbWFyZ2luOiAwOwotfQotCi0uaGVhcC1zbmFwc2hvdC1z
dW1tYXJ5IC5sZWdlbmQgPiAucm93ID4gLmxhYmVsIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7
Ci0gICAgdG9wOiAwOwotICAgIGxlZnQ6IDIwcHg7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1h
cnkgLmxlZ2VuZCA+IC5yb3cgPiAuc2l6ZSB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAg
IHRvcDogMTJweDsKLSAgICBsZWZ0OiAyMHB4OwotICAgIGNvbG9yOiBoc2woMCwgMCUsIDcwJSk7
Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5yb3cgPiAuc3dhdGNoLnRv
cC1jbGFzcy0xLAotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5kID4gLnJvdyA+IC5zd2F0
Y2guc21hbGwgewotICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1lbW9yeS1qYXZhc2NyaXB0
LXN0cm9rZS1jb2xvcik7Ci0gICAgYmFja2dyb3VuZDogdmFyKC0tbWVtb3J5LWphdmFzY3JpcHQt
ZmlsbC1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2VuZCA+IC5yb3cg
PiAuc3dhdGNoLnRvcC1jbGFzcy0yLAotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5kID4g
LnJvdyA+IC5zd2F0Y2gubWVkaXVtIHsKLSAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZW1v
cnktaW1hZ2VzLXN0cm9rZS1jb2xvcik7Ci0gICAgYmFja2dyb3VuZDogdmFyKC0tbWVtb3J5LWlt
YWdlcy1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAubGVnZW5kID4g
LnJvdyA+IC5zd2F0Y2gudG9wLWNsYXNzLTMsCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IC5sZWdl
bmQgPiAucm93ID4gLnN3YXRjaC5sYXJnZSB7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0t
bWVtb3J5LWxheWVycy1zdHJva2UtY29sb3IpOwotICAgIGJhY2tncm91bmQ6IHZhcigtLW1lbW9y
eS1sYXllcnMtZmlsbC1jb2xvcik7Ci19Ci0KLS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmxlZ2Vu
ZCA+IC5yb3cgPiAuc3dhdGNoLnRvcC1jbGFzcy00LAotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAu
bGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gudmVyeS1sYXJnZSB7Ci0gICAgYm9yZGVyOiAxcHggc29s
aWQgdmFyKC0tbWVtb3J5LXBhZ2Utc3Ryb2tlLWNvbG9yKTsKLSAgICBiYWNrZ3JvdW5kOiB2YXIo
LS1tZW1vcnktcGFnZS1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAu
bGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gudG9wLWNsYXNzLTUgewotICAgIGJvcmRlcjogMXB4IHNv
bGlkIHZhcigtLW1lbW9yeS1leHRyYS1zdHJva2UtY29sb3IpOwotICAgIGJhY2tncm91bmQ6IHZh
cigtLW1lbW9yeS1leHRyYS1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFy
eSAubGVnZW5kID4gLnJvdyA+IC5zd2F0Y2gub3RoZXIgewotICAgIGJvcmRlcjogMXB4IHNvbGlk
IHZhcigtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1zdHJva2UtY29sb3IpOwotICAgIGJhY2tncm91
bmQ6IHZhcigtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAt
c25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3MtMSwK
LS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGguc21hbGwg
ewotICAgIHN0cm9rZTogdmFyKC0tbWVtb3J5LWphdmFzY3JpcHQtc3Ryb2tlLWNvbG9yKTsKLSAg
ICBmaWxsOiB2YXIoLS1tZW1vcnktamF2YXNjcmlwdC1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAt
c25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3MtMiwK
LS5oZWFwLXNuYXBzaG90LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGgubWVkaXVt
IHsKLSAgICBzdHJva2U6IHZhcigtLW1lbW9yeS1pbWFnZXMtc3Ryb2tlLWNvbG9yKTsKLSAgICBm
aWxsOiB2YXIoLS1tZW1vcnktaW1hZ2VzLWZpbGwtY29sb3IpOwotfQotCi0uaGVhcC1zbmFwc2hv
dC1zdW1tYXJ5IC5jaXJjbGUtY2hhcnQgPiBzdmcgPiBwYXRoLnRvcC1jbGFzcy0zLAotLmhlYXAt
c25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC5sYXJnZSB7Ci0gICAg
c3Ryb2tlOiB2YXIoLS1tZW1vcnktbGF5ZXJzLXN0cm9rZS1jb2xvcik7Ci0gICAgZmlsbDogdmFy
KC0tbWVtb3J5LWxheWVycy1maWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFy
eSAuY2lyY2xlLWNoYXJ0ID4gc3ZnID4gcGF0aC50b3AtY2xhc3MtNCwKLS5oZWFwLXNuYXBzaG90
LXN1bW1hcnkgLmNpcmNsZS1jaGFydCA+IHN2ZyA+IHBhdGgudmVyeS1sYXJnZSB7Ci0gICAgc3Ry
b2tlOiB2YXIoLS1tZW1vcnktcGFnZS1zdHJva2UtY29sb3IpOwotICAgIGZpbGw6IHZhcigtLW1l
bW9yeS1wYWdlLWZpbGwtY29sb3IpOwotfQotCi0uaGVhcC1zbmFwc2hvdC1zdW1tYXJ5IC5jaXJj
bGUtY2hhcnQgPiBzdmcgPiBwYXRoLnRvcC1jbGFzcy01IHsKLSAgICBzdHJva2U6IHZhcigtLW1l
bW9yeS1leHRyYS1zdHJva2UtY29sb3IpOwotICAgIGZpbGw6IHZhcigtLW1lbW9yeS1leHRyYS1m
aWxsLWNvbG9yKTsKLX0KLQotLmhlYXAtc25hcHNob3Qtc3VtbWFyeSAuY2lyY2xlLWNoYXJ0ID4g
c3ZnID4gcGF0aC5vdGhlciB7Ci0gICAgc3Ryb2tlOiB2YXIoLS1tZW1vcnktbWF4LWNvbXBhcmlz
b24tc3Ryb2tlLWNvbG9yKTsKLSAgICBmaWxsOiB2YXIoLS1tZW1vcnktbWF4LWNvbXBhcmlzb24t
ZmlsbC1jb2xvcik7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5Q29udGVudFZpZXcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9IZWFwU25hcHNob3RTdW1tYXJ5Q29u
dGVudFZpZXcuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1Yjc1ODQuLjAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSGVhcFNu
YXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRW
aWV3ID0gY2xhc3MgSGVhcFNuYXBzaG90U3VtbWFyeUNvbnRlbnRWaWV3IGV4dGVuZHMgV2ViSW5z
cGVjdG9yLkNvbnRlbnRWaWV3Ci17Ci0gICAgY29uc3RydWN0b3IoaGVhcFNuYXBzaG90KQotICAg
IHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoaGVhcFNuYXBzaG90IGluc3RhbmNlb2YgV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdFByb3h5IHx8IGhlYXBTbmFwc2hvdCBpbnN0YW5jZW9mIFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3REaWZmUHJveHkpOwotCi0gICAgICAgIHN1cGVyKGhlYXBTbmFw
c2hvdCk7Ci0KLSAgICAgICAgdGhpcy5faGVhcFNuYXBzaG90ID0gaGVhcFNuYXBzaG90OwotCi0g
ICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJoZWFwLXNuYXBzaG90LXN1bW1hcnki
KTsKLQotICAgICAgICBsZXQgY29udGVudEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAgICBjb250ZW50RWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJjb250ZW50Iik7Ci0KLSAgICAgICAgbGV0IG92ZXJ2aWV3RWxlbWVu
dCA9IGNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpKTsKLSAgICAgICAgb3ZlcnZpZXdFbGVtZW50LmNsYXNzTGlzdC5hZGQoIm92ZXJ2aWV3Iik7
Ci0KLSAgICAgICAgZnVuY3Rpb24gY3JlYXRlQ2hhcnRDb250YWluZXIocGFyZW50RWxlbWVudCwg
c3VidGl0bGUsIHRvb2x0aXApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxldCBjaGFydEVsZW1l
bnQgPSBwYXJlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpKTsKLSAgICAgICAgICAgIGNoYXJ0RWxlbWVudC5jbGFzc0xpc3QuYWRkKCJjaGFydCIpOwot
Ci0gICAgICAgICAgICBsZXQgY2hhcnRTdWJ0aXRsZUVsZW1lbnQgPSBjaGFydEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAgICAgICAgY2hh
cnRTdWJ0aXRsZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic3VidGl0bGUiKTsKLSAgICAgICAgICAg
IGNoYXJ0U3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50ID0gc3VidGl0bGU7Ci0gICAgICAgICAg
ICBjaGFydFN1YnRpdGxlRWxlbWVudC50aXRsZSA9IHRvb2x0aXA7Ci0KLSAgICAgICAgICAgIGxl
dCBjaGFydEZsZXhDb250YWluZXJFbGVtZW50ID0gY2hhcnRFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIGNoYXJ0RmxleENvbnRh
aW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiY29udGFpbmVyIik7Ci0gICAgICAgICAgICByZXR1
cm4gY2hhcnRGbGV4Q29udGFpbmVyRWxlbWVudDsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnN0
IGNpcmNsZUNoYXJ0Q29uZmlnID0ge3NpemU6IDEyMCwgaW5uZXJSYWRpdXNSYXRpbzogMC41fTsK
LQotICAgICAgICBsZXQgY2xhc3NTaXplQnJlYWtkb3duVG9vbHRpcCA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQnJlYWtkb3duIG9mIHRvdGFsIGFsbG9jYXRpb24gc2l6ZSBieSBjbGFzcyIpOwot
ICAgICAgICBsZXQgY2xhc3NTaXplQnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50ID0gY3Jl
YXRlQ2hhcnRDb250YWluZXIob3ZlcnZpZXdFbGVtZW50LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkNsYXNzIFNpemUgQnJlYWtkb3duIiksIGNsYXNzU2l6ZUJyZWFrZG93blRvb2x0aXApOwotICAg
ICAgICB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25DaXJjbGVDaGFydCA9IG5ldyBXZWJJbnNwZWN0
b3IuQ2lyY2xlQ2hhcnQoY2lyY2xlQ2hhcnRDb25maWcpOwotICAgICAgICBjbGFzc1NpemVCcmVh
a2Rvd25DaGFydENvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY2xhc3NTaXplQnJl
YWtkb3duQ2lyY2xlQ2hhcnQuZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuX2NsYXNzU2l6ZUJyZWFr
ZG93bkxlZ2VuZEVsZW1lbnQgPSBjbGFzc1NpemVCcmVha2Rvd25DaGFydENvbnRhaW5lckVsZW1l
bnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOwotICAgICAgICB0
aGlzLl9jbGFzc1NpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LmNsYXNzTGlzdC5hZGQoImxlZ2Vu
ZCIsICJjbGFzcy1icmVha2Rvd24iKTsKLQotICAgICAgICBsZXQgc2Vjb25kT3ZlcnZpZXdFbGVt
ZW50ID0gY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOwotICAgICAgICBzZWNvbmRPdmVydmlld0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgib3Zl
cnZpZXciKTsKLQotICAgICAgICBsZXQgY2xhc3NDb3VudEJyZWFrZG93blRvb2x0aXAgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkJyZWFrZG93biBvZiBvYmplY3QgY291bnRzIGJ5IGNsYXNzIik7
Ci0gICAgICAgIGxldCBjbGFzc0NvdW50QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50ID0g
Y3JlYXRlQ2hhcnRDb250YWluZXIoc2Vjb25kT3ZlcnZpZXdFbGVtZW50LCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkNsYXNzIENvdW50IEJyZWFrZG93biIpLCBjbGFzc0NvdW50QnJlYWtkb3duVG9v
bHRpcCk7Ci0gICAgICAgIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydCA9IG5l
dyBXZWJJbnNwZWN0b3IuQ2lyY2xlQ2hhcnQoY2lyY2xlQ2hhcnRDb25maWcpOwotICAgICAgICBj
bGFzc0NvdW50QnJlYWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydC5lbGVtZW50KTsKLSAgICAgICAgdGhpcy5f
Y2xhc3NDb3VudEJyZWFrZG93bkxlZ2VuZEVsZW1lbnQgPSBjbGFzc0NvdW50QnJlYWtkb3duQ2hh
cnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpKTsKLSAgICAgICAgdGhpcy5fY2xhc3NDb3VudEJyZWFrZG93bkxlZ2VuZEVsZW1lbnQuY2xh
c3NMaXN0LmFkZCgibGVnZW5kIiwgImNvdW50LWJyZWFrZG93biIpOwotCi0gICAgICAgIGxldCB0
aGlyZE92ZXJ2aWV3RWxlbWVudCA9IGNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgdGhpcmRPdmVydmlld0VsZW1lbnQuY2xh
c3NMaXN0LmFkZCgib3ZlcnZpZXciKTsKLQotICAgICAgICBsZXQgYWxsb2NhdGlvblNpemVCcmVh
a2Rvd25Ub29sdGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJCcmVha2Rvd24gb2YgYWxsb2Nh
dGlvbnMgaW50byBzaXplIGNsYXNzZXMiKTsKLSAgICAgICAgbGV0IGFsbG9jYXRpb25TaXplQnJl
YWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50ID0gY3JlYXRlQ2hhcnRDb250YWluZXIodGhpcmRP
dmVydmlld0VsZW1lbnQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWxsb2NhdGlvbiBTaXplIEJy
ZWFrZG93biIpLCBhbGxvY2F0aW9uU2l6ZUJyZWFrZG93blRvb2x0aXApOwotICAgICAgICB0aGlz
Ll9hbGxvY2F0aW9uU2l6ZUJyZWFrZG93bkNpcmNsZUNoYXJ0ID0gbmV3IFdlYkluc3BlY3Rvci5D
aXJjbGVDaGFydChjaXJjbGVDaGFydENvbmZpZyk7Ci0gICAgICAgIGFsbG9jYXRpb25TaXplQnJl
YWtkb3duQ2hhcnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2FsbG9jYXRpb25T
aXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQuZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuX2FsbG9jYXRp
b25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCA9IGFsbG9jYXRpb25TaXplQnJlYWtkb3duQ2hh
cnRDb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpKTsKLSAgICAgICAgdGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50
LmNsYXNzTGlzdC5hZGQoImxlZ2VuZCIsICJhbGxvY2F0aW9uLXNpemUtYnJlYWtkb3duIik7Ci0K
LSAgICAgICAgZnVuY3Rpb24gYXBwZW5kTGVnZW5kUm93KGxlZ2VuZEVsZW1lbnQsIHN3YXRjaENs
YXNzLCBsYWJlbCwgc3VidGl0bGUsIHRvb2x0aXApIHsKLSAgICAgICAgICAgIGxldCByb3dFbGVt
ZW50ID0gbGVnZW5kRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKSk7Ci0gICAgICAgICAgICByb3dFbGVtZW50LmNsYXNzTGlzdC5hZGQoInJvdyIpOwotICAg
ICAgICAgICAgbGV0IHN3YXRjaEVsZW1lbnQgPSByb3dFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIHN3YXRjaEVsZW1lbnQuY2xh
c3NMaXN0LmFkZCgic3dhdGNoIiwgc3dhdGNoQ2xhc3MpOwotICAgICAgICAgICAgbGV0IGxhYmVs
RWxlbWVudCA9IHJvd0VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
cCIpKTsKLSAgICAgICAgICAgIGxhYmVsRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJsYWJlbCIpOwot
ICAgICAgICAgICAgbGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gbGFiZWw7Ci0gICAgICAgICAg
ICBsZXQgc2l6ZUVsZW1lbnQgPSByb3dFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInAiKSk7Ci0gICAgICAgICAgICBzaXplRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJz
aXplIik7Ci0gICAgICAgICAgICBzaXplRWxlbWVudC50ZXh0Q29udGVudCA9IHN1YnRpdGxlOwot
ICAgICAgICAgICAgaWYgKHRvb2x0aXApCi0gICAgICAgICAgICAgICAgcm93RWxlbWVudC50aXRs
ZSA9IHRvb2x0aXA7Ci0gICAgICAgIH0KLQotICAgICAgICBmdW5jdGlvbiBhcHBlbmRFbXB0eU1l
c3NhZ2UobGVnZW5kRWxlbWVudCwgdGV4dCkgewotICAgICAgICAgICAgbGV0IGVtcHR5RWxlbWVu
dCA9IGxlZ2VuZEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
IikpOwotICAgICAgICAgICAgZW1wdHlFbGVtZW50LmNsYXNzTGlzdC5hZGQoImVtcHR5Iik7Ci0g
ICAgICAgICAgICBlbXB0eUVsZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwotICAgICAgICB9Ci0K
LSAgICAgICAgLy8gTGFyZ2VzdCBjbGFzc2VzIGJ5IHNpemUuCi0gICAgICAgIGxldCBjYXRlZ29y
aWVzQnlTaXplID0gWy4uLnRoaXMuX2hlYXBTbmFwc2hvdC5jYXRlZ29yaWVzLnZhbHVlcygpXS5z
b3J0KChhLCBiKSA9PiBiLnNpemUgLSBhLnNpemUpOwotICAgICAgICBsZXQgY2F0ZWdvcmllc0J5
U2l6ZUxpbWl0ID0gTWF0aC5taW4oY2F0ZWdvcmllc0J5U2l6ZS5sZW5ndGgsIDUpOwotICAgICAg
ICBpZiAoY2F0ZWdvcmllc0J5U2l6ZUxpbWl0KSB7Ci0gICAgICAgICAgICBsZXQgdG9wQ2xhc3NT
aXplcyA9IGNhdGVnb3JpZXNCeVNpemUuc3BsaWNlKDAsIGNhdGVnb3JpZXNCeVNpemVMaW1pdCk7
Ci0gICAgICAgICAgICBsZXQgb3RoZXJDbGFzc1NpemUgPSBjYXRlZ29yaWVzQnlTaXplLnJlZHVj
ZSgoc3VtLCBjYXRlZ29yeSkgPT4gc3VtICs9IGNhdGVnb3J5LnNpemUsIDApOwotCi0gICAgICAg
ICAgICBsZXQgc2VnbWVudHMgPSBbXTsKLSAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBbXTsKLQot
ICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXRlZ29yaWVzQnlTaXplTGltaXQ7ICsr
aSkgewotICAgICAgICAgICAgICAgIGxldCB0b3BDbGFzc1NpemUgPSB0b3BDbGFzc1NpemVzW2ld
OwotICAgICAgICAgICAgICAgIGxldCBzZWdtZW50TmFtZSA9ICJ0b3AtY2xhc3MtIiArIChpICsg
MSk7Ci0gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChzZWdtZW50TmFtZSk7Ci0gICAgICAg
ICAgICAgICAgdmFsdWVzLnB1c2godG9wQ2xhc3NTaXplLnNpemUpOwotICAgICAgICAgICAgICAg
IGFwcGVuZExlZ2VuZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzU2l6ZUJyZWFrZG93bkxlZ2Vu
ZEVsZW1lbnQsIHNlZ21lbnROYW1lLCB0b3BDbGFzc1NpemUuY2xhc3NOYW1lLCBOdW1iZXIuYnl0
ZXNUb1N0cmluZyh0b3BDbGFzc1NpemUuc2l6ZSkpOwotICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICBpZiAob3RoZXJDbGFzc1NpemUpIHsKLSAgICAgICAgICAgICAgICBsZXQgb3RoZXJTZWdt
ZW50TmFtZSA9ICJvdGhlciI7Ci0gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChvdGhlclNl
Z21lbnROYW1lKTsKLSAgICAgICAgICAgICAgICB2YWx1ZXMucHVzaChvdGhlckNsYXNzU2l6ZSk7
Ci0gICAgICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywgdGhpcy5fY2xhc3NT
aXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgb3RoZXJTZWdtZW50TmFtZSwgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJPdGhlciIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhvdGhlckNsYXNzU2l6ZSkp
OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25D
aXJjbGVDaGFydC5zZWdtZW50cyA9IHNlZ21lbnRzOwotICAgICAgICAgICAgdGhpcy5fY2xhc3NT
aXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQudmFsdWVzID0gdmFsdWVzOwotICAgICAgICAgICAgdGhp
cy5fY2xhc3NTaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQudXBkYXRlTGF5b3V0KCk7Ci0KLSAgICAg
ICAgICAgIGxldCB0b3RhbFNpemVFbGVtZW50ID0gdGhpcy5fY2xhc3NTaXplQnJlYWtkb3duQ2ly
Y2xlQ2hhcnQuY2VudGVyRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKSk7Ci0gICAgICAgICAgICB0b3RhbFNpemVFbGVtZW50LmNsYXNzTGlzdC5hZGQoInRv
dGFsLXNpemUiKTsKLSAgICAgICAgICAgIHRvdGFsU2l6ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsgLy8gZmlyc3RDaGlsZAotICAgICAgICAgICAg
dG90YWxTaXplRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIp
KTsKLSAgICAgICAgICAgIHRvdGFsU2l6ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpKTsgLy8gbGFzdENoaWxkCi0gICAgICAgICAgICBsZXQgdG90YWxT
aXplID0gTnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5faGVhcFNuYXBzaG90LnRvdGFsU2l6ZSku
c3BsaXQoL1xzKy8pOwotICAgICAgICAgICAgdG90YWxTaXplRWxlbWVudC5maXJzdENoaWxkLnRl
eHRDb250ZW50ID0gdG90YWxTaXplWzBdOwotICAgICAgICAgICAgdG90YWxTaXplRWxlbWVudC5s
YXN0Q2hpbGQudGV4dENvbnRlbnQgPSB0b3RhbFNpemVbMV07Ci0gICAgICAgICAgICB0b3RhbFNp
emVFbGVtZW50LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUb3RhbCBzaXplIG9mIGhl
YXAiKTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBhcHBlbmRFbXB0eU1lc3NhZ2UuY2Fs
bCh0aGlzLCB0aGlzLl9jbGFzc1NpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIk5vIG9iamVjdHMiKSk7Ci0KLSAgICAgICAgLy8gTGFyZ2VzdCBjbGFzc2Vz
IGJ5IGNvdW50LgotICAgICAgICBsZXQgY2F0ZWdvcmllc0J5Q291bnQgPSBbLi4udGhpcy5faGVh
cFNuYXBzaG90LmNhdGVnb3JpZXMudmFsdWVzKCldLnNvcnQoKGEsIGIpID0+IGIuY291bnQgLSBh
LmNvdW50KTsKLSAgICAgICAgbGV0IGNhdGVnb3JpZXNCeUNvdW50TGltaXQgPSBNYXRoLm1pbihj
YXRlZ29yaWVzQnlDb3VudC5sZW5ndGgsIDUpOwotICAgICAgICBpZiAoY2F0ZWdvcmllc0J5Q291
bnRMaW1pdCkgewotICAgICAgICAgICAgbGV0IHRvcENsYXNzQ291bnRzID0gY2F0ZWdvcmllc0J5
Q291bnQuc3BsaWNlKDAsIGNhdGVnb3JpZXNCeUNvdW50TGltaXQpOwotICAgICAgICAgICAgbGV0
IG90aGVyQ2xhc3NDb3VudCA9IGNhdGVnb3JpZXNCeUNvdW50LnJlZHVjZSgoc3VtLCBjYXRlZ29y
eSkgPT4gc3VtICs9IGNhdGVnb3J5LmNvdW50LCAwKTsKLQotICAgICAgICAgICAgbGV0IHNlZ21l
bnRzID0gW107Ci0gICAgICAgICAgICBsZXQgdmFsdWVzID0gW107Ci0KLSAgICAgICAgICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgY2F0ZWdvcmllc0J5Q291bnRMaW1pdDsgKytpKSB7Ci0gICAgICAg
ICAgICAgICAgbGV0IHRvcENsYXNzQ291bnQgPSB0b3BDbGFzc0NvdW50c1tpXTsKLSAgICAgICAg
ICAgICAgICBsZXQgc2VnbWVudE5hbWUgPSAidG9wLWNsYXNzLSIgKyAoaSArIDEpOwotICAgICAg
ICAgICAgICAgIHNlZ21lbnRzLnB1c2goc2VnbWVudE5hbWUpOwotICAgICAgICAgICAgICAgIHZh
bHVlcy5wdXNoKHRvcENsYXNzQ291bnQuY291bnQpOwotICAgICAgICAgICAgICAgIGFwcGVuZExl
Z2VuZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25MZWdlbmRFbGVtZW50
LCBzZWdtZW50TmFtZSwgdG9wQ2xhc3NDb3VudC5jbGFzc05hbWUsIHRvcENsYXNzQ291bnQuY291
bnQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAob3RoZXJDbGFzc0NvdW50KSB7
Ci0gICAgICAgICAgICAgICAgbGV0IG90aGVyU2VnbWVudE5hbWUgPSAib3RoZXIiOwotICAgICAg
ICAgICAgICAgIHNlZ21lbnRzLnB1c2gob3RoZXJTZWdtZW50TmFtZSk7Ci0gICAgICAgICAgICAg
ICAgdmFsdWVzLnB1c2gob3RoZXJDbGFzc0NvdW50KTsKLSAgICAgICAgICAgICAgICBhcHBlbmRM
ZWdlbmRSb3cuY2FsbCh0aGlzLCB0aGlzLl9jbGFzc0NvdW50QnJlYWtkb3duTGVnZW5kRWxlbWVu
dCwgb3RoZXJTZWdtZW50TmFtZSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPdGhlciIpLCBvdGhl
ckNsYXNzQ291bnQpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICB0aGlzLl9jbGFzc0Nv
dW50QnJlYWtkb3duQ2lyY2xlQ2hhcnQuc2VnbWVudHMgPSBzZWdtZW50czsKLSAgICAgICAgICAg
IHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25DaXJjbGVDaGFydC52YWx1ZXMgPSB2YWx1ZXM7Ci0g
ICAgICAgICAgICB0aGlzLl9jbGFzc0NvdW50QnJlYWtkb3duQ2lyY2xlQ2hhcnQudXBkYXRlTGF5
b3V0KCk7Ci0KLSAgICAgICAgICAgIGxldCB0b3RhbENvdW50RWxlbWVudCA9IHRoaXMuX2NsYXNz
Q291bnRCcmVha2Rvd25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgIHRvdGFsQ291bnRFbGVtZW50
LmNsYXNzTGlzdC5hZGQoInRvdGFsLWNvdW50Iik7Ci0gICAgICAgICAgICB0b3RhbENvdW50RWxl
bWVudC50ZXh0Q29udGVudCA9IHRoaXMuX2hlYXBTbmFwc2hvdC50b3RhbE9iamVjdENvdW50Owot
ICAgICAgICAgICAgdG90YWxDb3VudEVsZW1lbnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlRvdGFsIG9iamVjdCBjb3VudCIpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIGFw
cGVuZEVtcHR5TWVzc2FnZS5jYWxsKHRoaXMsIHRoaXMuX2NsYXNzQ291bnRCcmVha2Rvd25MZWdl
bmRFbGVtZW50LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIG9iamVjdHMiKSk7Ci0KLSAgICAg
ICAgLy8gQWxsb2NhdGlvbiBzaXplIGdyb3Vwcy4KLSAgICAgICAgY29uc3Qgc21hbGxBbGxvY2F0
aW9uU2l6ZSA9IDQ4OwotICAgICAgICBjb25zdCBtZWRpdW1BbGxvY2F0aW9uU2l6ZSA9IDEyODsK
LSAgICAgICAgY29uc3QgbGFyZ2VBbGxvY2F0aW9uU2l6ZSA9IDUxMjsKLQotICAgICAgICB0aGlz
Ll9oZWFwU25hcHNob3QuYWxsb2NhdGlvbkJ1Y2tldENvdW50cyhbc21hbGxBbGxvY2F0aW9uU2l6
ZSwgbWVkaXVtQWxsb2NhdGlvblNpemUsIGxhcmdlQWxsb2NhdGlvblNpemVdLCAocmVzdWx0cykg
PT4gewotICAgICAgICAgICAgbGV0IFtzbWFsbCwgbWVkaXVtLCBsYXJnZSwgdmVyeUxhcmdlXSA9
IHJlc3VsdHM7Ci0KLSAgICAgICAgICAgIGlmIChzbWFsbCArIG1lZGl1bSArIGxhcmdlICsgdmVy
eUxhcmdlKSB7Ci0gICAgICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywgdGhp
cy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCAic21hbGwiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlNtYWxsICVzIikuZm9ybWF0KE51bWJlci5ieXRlc1RvU3RyaW5nKHNt
YWxsQWxsb2NhdGlvblNpemUpKSwgc21hbGwpOwotICAgICAgICAgICAgICAgIGFwcGVuZExlZ2Vu
ZFJvdy5jYWxsKHRoaXMsIHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVu
dCwgIm1lZGl1bSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTWVkaXVtICVzIikuZm9ybWF0KE51
bWJlci5ieXRlc1RvU3RyaW5nKG1lZGl1bUFsbG9jYXRpb25TaXplKSksIG1lZGl1bSk7Ci0gICAg
ICAgICAgICAgICAgYXBwZW5kTGVnZW5kUm93LmNhbGwodGhpcywgdGhpcy5fYWxsb2NhdGlvblNp
emVCcmVha2Rvd25MZWdlbmRFbGVtZW50LCAibGFyZ2UiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkxhcmdlICVzIikuZm9ybWF0KE51bWJlci5ieXRlc1RvU3RyaW5nKGxhcmdlQWxsb2NhdGlvblNp
emUpKSwgbGFyZ2UpOwotICAgICAgICAgICAgICAgIGFwcGVuZExlZ2VuZFJvdy5jYWxsKHRoaXMs
IHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgInZlcnktbGFyZ2Ui
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlZlcnkgTGFyZ2UiKSwgdmVyeUxhcmdlKTsKLQotICAg
ICAgICAgICAgICAgIHRoaXMuX2FsbG9jYXRpb25TaXplQnJlYWtkb3duQ2lyY2xlQ2hhcnQuc2Vn
bWVudHMgPSBbInNtYWxsIiwgIm1lZGl1bSIsICJsYXJnZSIsICJ2ZXJ5LWxhcmdlIl07Ci0gICAg
ICAgICAgICAgICAgdGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC52YWx1
ZXMgPSBbc21hbGwsIG1lZGl1bSwgbGFyZ2UsIHZlcnlMYXJnZV07Ci0gICAgICAgICAgICAgICAg
dGhpcy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC51cGRhdGVMYXlvdXQoKTsK
LQotICAgICAgICAgICAgICAgIGxldCBhdmVyYWdlQWxsb2NhdGlvblNpemVFbGVtZW50ID0gdGhp
cy5fYWxsb2NhdGlvblNpemVCcmVha2Rvd25DaXJjbGVDaGFydC5jZW50ZXJFbGVtZW50LmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTsKLSAgICAgICAgICAgICAgICBh
dmVyYWdlQWxsb2NhdGlvblNpemVFbGVtZW50LmNsYXNzTGlzdC5hZGQoImF2ZXJhZ2UtYWxsb2Nh
dGlvbi1zaXplIik7Ci0gICAgICAgICAgICAgICAgYXZlcmFnZUFsbG9jYXRpb25TaXplRWxlbWVu
dC50ZXh0Q29udGVudCA9IE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuX2hlYXBTbmFwc2hvdC50
b3RhbFNpemUgLyB0aGlzLl9oZWFwU25hcHNob3QudG90YWxPYmplY3RDb3VudCk7Ci0gICAgICAg
ICAgICAgICAgYXZlcmFnZUFsbG9jYXRpb25TaXplRWxlbWVudC50aXRsZSA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiQXZlcmFnZSBhbGxvY2F0aW9uIHNpemUiKTsKLSAgICAgICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgICAgIGFwcGVuZEVtcHR5TWVzc2FnZS5jYWxsKHRoaXMsIHRoaXMuX2Fs
bG9jYXRpb25TaXplQnJlYWtkb3duTGVnZW5kRWxlbWVudCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJObyBvYmplY3RzIikpOwotICAgICAgICB9KTsKLSAgICB9Ci0KLSAgICAvLyBQcm90ZWN0ZWQK
LQotICAgIGxheW91dCgpCi0gICAgewotICAgICAgICAvLyBOb3RoaW5nIHRvIGNoYW5nZS4KLSAg
ICB9Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVmFyaWFibGVzLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1ZhcmlhYmxlcy5jc3MKaW5kZXggYTkwZWI4Ni4uNWJmZTk0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNzcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WYXJpYWJsZXMu
Y3NzCkBAIC02Nyw4ICs2Nyw2IEBACiAgICAgLS1tZW1vcnktcGFnZS1zdHJva2UtY29sb3I6IGhz
bCgyMiwgNDAlLCA1MCUpOwogICAgIC0tbWVtb3J5LW1heC1jb21wYXJpc29uLWZpbGwtY29sb3I6
IGhzbCgyMjAsIDEwJSwgNzUlKTsKICAgICAtLW1lbW9yeS1tYXgtY29tcGFyaXNvbi1zdHJva2Ut
Y29sb3I6IGhzbCgyMjAsIDEwJSwgNTUlKTsKLSAgICAtLW1lbW9yeS1leHRyYS1maWxsLWNvbG9y
OiBoc2woMjExLCA1MyUsIDcwJSk7Ci0gICAgLS1tZW1vcnktZXh0cmEtc3Ryb2tlLWNvbG9yOiBo
c2woMjExLCA1MyUsIDU1JSk7CiAKICAgICAtLWV2ZW4temVicmEtc3RyaXBlLXJvdy1iYWNrZ3Jv
dW5kLWNvbG9yOiB3aGl0ZTsKICAgICAtLW9kZC16ZWJyYS1zdHJpcGUtcm93LWJhY2tncm91bmQt
Y29sb3I6IGhzbCgwLCAwJSwgOTUlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>