<?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>136665</bug_id>
          
          <creation_ts>2014-09-08 22:05:55 -0700</creation_ts>
          <short_desc>Web Inspector: Fix ESLint semi (missing semicolon)</short_desc>
          <delta_ts>2014-09-09 10:29:12 -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>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="Jonathan Wells">jonowells</reporter>
          <assigned_to name="Jonathan Wells">jonowells</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1034058</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2014-09-08 22:05:55 -0700</bug_when>
    <thetext>Missing semicolons as identified by ESLint should be added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034059</commentid>
    <comment_count>1</comment_count>
      <attachid>237839</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2014-09-08 22:13:36 -0700</bug_when>
    <thetext>Created attachment 237839
[PATCH] Fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034129</commentid>
    <comment_count>2</comment_count>
      <attachid>237839</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-09 10:29:10 -0700</bug_when>
    <thetext>Comment on attachment 237839
[PATCH] Fix.

Clearing flags on attachment: 237839

Committed r173431: &lt;http://trac.webkit.org/changeset/173431&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034130</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-09 10:29:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237839</attachid>
            <date>2014-09-08 22:13:36 -0700</date>
            <delta_ts>2014-09-09 10:29:10 -0700</delta_ts>
            <desc>[PATCH] Fix.</desc>
            <filename>semicolon.diff</filename>
            <type>text/plain</type>
            <size>84221</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS8uZXNsaW50cmMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvLmVzbGludHJjCmluZGV4IGMxMWQ0YmIuLjBkZjg3N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS8uZXNsaW50cmMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJLy5lc2xpbnRyYwpAQCAtNjAsNiArNjAsNyBAQAogICAgICAgICAiY3VybHkiOiAwLAogICAg
ICAgICAicXVvdGVzIjogWzIsICJkb3VibGUiXSwKICAgICAgICAgIm5vLXVuZGVyc2NvcmUtZGFu
Z2xlIjogMCwKLSAgICAgICAgIm5ldy1wYXJlbnMiOiAwCisgICAgICAgICJuZXctcGFyZW5zIjog
MCwKKyAgICAgICAgInNlbWkiOiAyCiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5k
ZXggMmM4MTJjNi4uN2Y1ZjRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjI1IEBACisyMDE0LTA5LTA4ICBKb25vIFdlbGxzICA8am9ub3dlbGxzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBGaXggRVNMaW50IHNlbWkgKG1pc3Npbmcgc2VtaWNvbG9u
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjY1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1p
c3Npbmcgc2VtaWNvbG9ucyBhcyBpZGVudGlmaWVkIGJ5IEVTTGludC4gQWRkIGV4cGxpY2l0IHNl
bWkgcnVsZSB0byAuZXNsaW50cmMuCisKKyAgICAgICAgKiAuZXNsaW50cmM6CisgICAgICAgICog
VG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIuanM6CisgICAgICAg
ICogVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyRGVidWcuanM6CisgICAgICAgIChGb3Jt
YXR0ZXIucHJvdG90eXBlLmRlYnVnKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvRE9N
VXRpbGl0aWVzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9FdmVudExpc3RlbmVy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXIucHJvdG90eXBlLnRoaXMuX2NhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyLnByb3RvdHlwZS5jb25uZWN0KToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvT2JqZWN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk9iamVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0LmFkZENvbnN0cnVjdG9yRnVu
Y3Rpb25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9CYXNlL1VSTFV0aWxpdGllcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNw
bGF5TmFtZUZvclVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JIb3N0
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvVXRpbGl0aWVzLmpzOgorICAgICAgICAo
Lik6CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9CcmFuY2hNYW5hZ2VyLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJyYW5jaE1hbmFnZXIpOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTU3R5bGVNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNTU1N0eWxlTWFuYWdlcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9Db2RlTWlycm9yQ29sb3JFZGl0aW5nQ29udHJvbGxlci5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Db2RlTWlycm9yQ29sb3JFZGl0aW5nQ29udHJvbGxlcik6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9Db2RlTWlycm9yRWRpdGluZ0NvbnRyb2xsZXIuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckVkaXRpbmdDb250cm9sbGVyKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NvZGVNaXJyb3JHcmFkaWVudEVkaXRpbmdD
b250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JHcmFkaWVudEVk
aXRpbmdDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yR3JhZGll
bnRFZGl0aW5nQ29udHJvbGxlci5wcm90b3R5cGUucG9wb3ZlckRpZFByZXNlbnQpOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250
cm9sbGVyLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRm9ybWF0dGVy
Q29udGVudEJ1aWxkZXIuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9G
b3JtYXR0ZXJTb3VyY2VNYXAuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRm9ybWF0dGVyU291
cmNlTWFwLmZyb21CdWlsZGVyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L0lzc3VlTWFuYWdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Jc3N1ZU1hbmFnZXIpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvTG9nTWFuYWdlci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Mb2dNYW5hZ2VyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01v
ZGVscy9CcmVha3BvaW50QWN0aW9uLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxz
L0NTU0NvbXBsZXRpb25zLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25z
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5yZXF1ZXN0Q1NTTmFtZUNv
bXBsZXRpb25zKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NLZXl3b3JkQ29t
cGxldGlvbnMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25z
LmZvclByb3BlcnR5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlv
bnMuaXNDb2xvckF3YXJlUHJvcGVydHkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxz
L0NTU1N0eWxlU2hlZXQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVTaGVldC5y
ZXNldFVuaXF1ZURpc3BsYXlOYW1lTnVtYmVycyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9N
b2RlbHMvQ29sb3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29sb3IpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbG9yLmZyb21TdHJpbmcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
TW9kZWxzL0RPTU5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZSk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NU2VhcmNoTWF0Y2hPYmplY3QuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRE9NU2VhcmNoTWF0Y2hPYmplY3QudGl0bGVGb3JET01Ob2RlKToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9FeGVjdXRpb25Db250ZXh0LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkV4ZWN1dGlvbkNvbnRleHQuc3VwcG9ydGVkKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL01vZGVscy9HcmFkaWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5MaW5lYXJHcmFkaWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGluZWFyR3JhZGllbnQu
bGluZWFyR3JhZGllbnRXaXRoQ29tcG9uZW50cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmFk
aWFsR3JhZGllbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50LnJhZGlh
bEdyYWRpZW50V2l0aENvbXBvbmVudHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxz
L0lzc3VlTWVzc2FnZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Jc3N1ZU1lc3NhZ2UpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1JlcGxheVNlc3Npb25TZWdtZW50LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkluY29tcGxldGVTZXNzaW9uU2VnbWVudCk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVzb3VyY2UucHJvdG90eXBlLmFzc29jaWF0ZVdpdGhTY3JpcHQpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHQucmVzZXRVbmlxdWVEaXNwbGF5TmFtZU51bWJlcnMpOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvTW9kZWxzL1NldHRpbmcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZyk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZVBvc2l0aW9uLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVQb3NpdGlvbik6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9Nb2RlbHMvU291cmNlTWFwLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZU1hcCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlTWFwLlN0cmluZ0NoYXJJdGVyYXRv
cik6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvVGV4dE1hcmtlci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UZXh0TWFya2VyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01v
ZGVscy9UZXh0UmFuZ2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKToKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIu
anM6CisgICAgICAgICguV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVzc2FnZURpc3BhdGNoZXIuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuZGlzcGF0Y2hOZXh0UXVldWVkTWVzc2FnZUZyb21CYWNrZW5k
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNwYXRjaE1lc3NhZ2VGcm9tQmFja2VuZCk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9Qcm90b2NvbC9SZW1vdGVPYmplY3QuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1v
dGVPYmplY3QuZnJvbVByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1v
dGVPYmplY3QuZnJvbUxvY2FsT2JqZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVP
YmplY3QucmVzb2x2ZU5vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5m
cm9tUGF5bG9hZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnR5cGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5SZW1vdGVPYmplY3RQcm9wZXJ0eS5mcm9tUHJpbWl0aXZlVmFsdWUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkxvY2FsSlNPTk9iamVjdCk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9Qcm90b2NvbC9SZXBsYXlPYnNlcnZlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXBsYXlQb3NpdGlvbi5mcm9tUHJvdG9jb2wpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvQnJlYWtwb2ludEFjdGlvblZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQnJlYWtw
b2ludEFjdGlvblZpZXcuZGlzcGxheVN0cmluZ0ZvclR5cGUpOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IucHJvdG90eXBlLmlmKToK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5DbHVzdGVyQ29udGVudFZpZXcucHJvdG90eXBlLmdvQmFjayk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2x1c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZS5nb0Zv
cndhcmQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckFkZGl0aW9u
cy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbG9yV2hlZWwuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ29sb3JXaGVlbCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9Db25zb2xlTWVzc2FnZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVz
c2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlKToKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlSW1wbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwpOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvQ29udGV4dE1lbnUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGV4
dE1lbnVJdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZXh0U3ViTWVudUl0ZW0pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Db250ZXh0TWVudS5Qcm92aWRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGV4dE1l
bnUucmVnaXN0ZXJQcm92aWRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuY29udGV4dE1lbnVJ
dGVtU2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmNvbnRleHRNZW51Q2xlYXJlZCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudCk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVl
T3V0bGluZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlVXBkYXRlci5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVlVXBkYXRlcik6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9EYXRhYmFzZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRhdGFiYXNlQ29udGVudFZpZXcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvRWRpdGluZ1N1cHBvcnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaXNCZWluZ0VkaXRl
ZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IubWFya0JlaW5nRWRpdGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5pc0VkaXRpbmdBbnlGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuaXNF
dmVudFRhcmdldEFuRWRpdGFibGVGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWRpdGlu
Z0NvbmZpZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKToKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uKToKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9GaW5kQmFubmVyLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR2Vu
ZXJhbFRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxl
bWVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Hb1RvTGluZURpYWxvZy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxvZyk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9JbmRldGVybWluYXRlUHJvZ3Jlc3NTcGlubmVyLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkluZGV0ZXJtaW5hdGVQcm9ncmVzc1NwaW5uZXIpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGltZWxpbmVEYXRhR3JpZC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkKToKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxvZ0Nv
bnRlbnRWaWV3KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25JdGVt
LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0UHJvcGVydGllc1NlY3Rp
b24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLkNvbXBhcmVQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGV0YWlsc1NlY3Rpb24u
anM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Qcm9wZXJ0aWVzU2VjdGlvbi5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbik6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQuY29tcGFyZVJlc291cmNlVHJlZUVsZW1lbnRzKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LmNvbXBhcmVGb2xkZXJB
bmRSZXNvdXJjZVRyZWVFbGVtZW50cyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9T
Y3JpcHRUaW1lbGluZURhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdFRp
bWVsaW5lRGF0YUdyaWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoUmVz
dWx0VHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJl
ZUVsZW1lbnQudHJ1bmNhdGVBbmRIaWdobGlnaHRUaXRsZSk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUnVsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBl
LmdldCBhbGxvd3NDbGlwcGVkTGFiZWxzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJ1bGVyLnByb3RvdHlwZS5faGFuZGxlTW91c2VVcCk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9Ub29sYmFyLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91
dGxpbmUuanM6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuYXBwZW5kQ2hpbGQpOgor
ICAgICAgICAoVHJlZU91dGxpbmUucHJvdG90eXBlLmluc2VydENoaWxkKToKKyAgICAgICAgKFRy
ZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZEF0SW5kZXgpOgorICAgICAgICAoVHJlZU91
dGxpbmUucHJvdG90eXBlLnJlbW92ZUNoaWxkKToKKyAgICAgICAgKFRyZWVPdXRsaW5lLnByb3Rv
dHlwZS5yZW1vdmVDaGlsZHJlbik6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUucmVt
b3ZlQ2hpbGRyZW5SZWN1cnNpdmUpOgorICAgICAgICAoVHJlZU91dGxpbmUucHJvdG90eXBlLl9y
ZW1lbWJlclRyZWVFbGVtZW50KToKKyAgICAgICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS5fZm9y
Z2V0VHJlZUVsZW1lbnQpOgorICAgICAgICAoVHJlZU91dGxpbmUucHJvdG90eXBlLl9mb3JnZXRD
aGlsZHJlblJlY3Vyc2l2ZSk6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuZ2V0Q2Fj
aGVkVHJlZUVsZW1lbnQpOgorICAgICAgICAoVHJlZU91dGxpbmUucHJvdG90eXBlLmZpbmRUcmVl
RWxlbWVudCk6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuX3RyZWVFbGVtZW50RGlk
Q2hhbmdlKToKKyAgICAgICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS50cmVlRWxlbWVudEZyb21Q
b2ludCk6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUuX3RyZWVLZXlEb3duKToKKyAg
ICAgICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS5leHBhbmQpOgorICAgICAgICAoVHJlZU91dGxp
bmUucHJvdG90eXBlLmNvbGxhcHNlKToKKyAgICAgICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS5y
ZXZlYWxlZCk6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUucmV2ZWFsKToKKyAgICAg
ICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZWxlY3QpOgorICAgICAgICAoVHJlZU91dGxpbmUu
cHJvdG90eXBlLnJldmVhbEFuZFNlbGVjdCk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5
cGUuX2F0dGFjaCk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUuX2RldGFjaCk6Cisg
ICAgICAgIChUcmVlRWxlbWVudC50cmVlRWxlbWVudE1vdXNlRG93bik6CisgICAgICAgIChUcmVl
RWxlbWVudC50cmVlRWxlbWVudFRvZ2dsZWQpOgorICAgICAgICAoVHJlZUVsZW1lbnQudHJlZUVs
ZW1lbnREb3VibGVDbGlja2VkKToKKyAgICAgICAgKFRyZWVFbGVtZW50LnByb3RvdHlwZS5jb2xs
YXBzZSk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUuY29sbGFwc2VSZWN1cnNpdmVs
eSk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUuZXhwYW5kKToKKyAgICAgICAgKFRy
ZWVFbGVtZW50LnByb3RvdHlwZS5leHBhbmRSZWN1cnNpdmVseSk6CisgICAgICAgIChUcmVlRWxl
bWVudC5wcm90b3R5cGUuaGFzQW5jZXN0b3IpOgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90
eXBlLnJldmVhbCk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5cGUucmV2ZWFsZWQpOgor
ICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLnNlbGVjdE9uTW91c2VEb3duKToKKyAgICAg
ICAgKFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3QpOgorICAgICAgICAoVHJlZUVsZW1lbnQu
cHJvdG90eXBlLnJldmVhbEFuZFNlbGVjdCk6CisgICAgICAgIChUcmVlRWxlbWVudC5wcm90b3R5
cGUuZGVzZWxlY3QpOgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUp
OgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50
KToKKyAgICAgICAgKFRyZWVFbGVtZW50LnByb3RvdHlwZS50cmF2ZXJzZVByZXZpb3VzVHJlZUVs
ZW1lbnQpOgorICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLmlzRXZlbnRXaXRoaW5EaXNj
bG9zdXJlVHJpYW5nbGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxp
bmVEYXRhR3JpZFN5bmNocm9uaXplci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UcmVlT3V0
bGluZURhdGFHcmlkU3luY2hyb25pemVyKToKKwogMjAxNC0wOS0wOCAgSm9zZXBoIFBlY29yYXJv
ICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluc3BlY3Rv
ciBmcmVxdWVudGx5IHJlc3RvcmVzIHdyb25nIHZpZXcgd2hlbiBvcGVuZWQgKG9mdGVuIFRpbWVs
aW5lcyBpbnN0ZWFkIG9mIFJlc291cmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL0Zvcm1hdHRlckNvbnRlbnRCdWlsZGVyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL0Zvcm1hdHRlckNvbnRlbnRC
dWlsZGVyLmpzCmluZGV4IDcyZDlhMTUuLmY1MzJkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9Gb3JtYXR0ZXJDb250ZW50QnVpbGRlci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0
dGVyQ29udGVudEJ1aWxkZXIuanMKQEAgLTIyNiw0ICsyMjYsNCBAQCBGb3JtYXR0ZXJDb250ZW50
QnVpbGRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2Zvcm1h
dHRlZENvbnRlbnQubGFzdFZhbHVlID09PSAiXG4iKTsKICAgICAgICAgdGhpcy5fZm9ybWF0dGVk
TGluZUVuZGluZ3MucHVzaCh0aGlzLl9mb3JtYXR0ZWRDb250ZW50TGVuZ3RoIC0gMSk7CiAgICAg
fQotfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQ
cmludGluZy9Gb3JtYXR0ZXJEZWJ1Zy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9Q
cmV0dHlQcmludGluZy9Gb3JtYXR0ZXJEZWJ1Zy5qcwppbmRleCA0Mzc0ZTk5Li43ZTgwM2EwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9y
bWF0dGVyRGVidWcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVBy
aW50aW5nL0Zvcm1hdHRlckRlYnVnLmpzCkBAIC00OSw0ICs0OSw0IEBAIEZvcm1hdHRlci5wcm90
b3R5cGUuZGVidWcgPSBmdW5jdGlvbihmcm9tLCB0bykKICAgICB9CiAKICAgICByZXR1cm4gZGVi
dWc7Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9ET01VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwppbmRleCAyZGJhNjEzNC4uNTA4YTk4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRp
ZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01V
dGlsaXRpZXMuanMKQEAgLTU3LDcgKzU3LDcgQEAgV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9y
Tm9kZSA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgfQogCiAgICAgcmV0dXJuIHRpdGxlOwotfQorfTsK
IAogV2ViSW5zcGVjdG9yLnJvbGVTZWxlY3RvckZvck5vZGUgPSBmdW5jdGlvbihub2RlKQogewpA
QCAtNjgsNyArNjgsNyBAQCBXZWJJbnNwZWN0b3Iucm9sZVNlbGVjdG9yRm9yTm9kZSA9IGZ1bmN0
aW9uKG5vZGUpCiAgICAgaWYgKHJvbGUpCiAgICAgICAgIHRpdGxlID0gIjpyb2xlKCIgKyByb2xl
ICsgIikiOwogICAgIHJldHVybiB0aXRsZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5saW5raWZ5
QWNjZXNzaWJpbGl0eU5vZGVSZWZlcmVuY2UgPSBmdW5jdGlvbihub2RlKQogewpAQCAtODUsNyAr
ODUsNyBAQCBXZWJJbnNwZWN0b3IubGlua2lmeUFjY2Vzc2liaWxpdHlOb2RlUmVmZXJlbmNlID0g
ZnVuY3Rpb24obm9kZSkKICAgICBsaW5rLnRleHRDb250ZW50ID0gdGFnSWRTZWxlY3RvciArIHJv
bGVTZWxlY3RvcjsKICAgICBsaW5rLnRpdGxlICs9IHJvbGVTZWxlY3RvcjsKICAgICByZXR1cm4g
bGluazsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5saW5raWZ5Tm9kZVJlZmVyZW5jZSA9IGZ1bmN0
aW9uKG5vZGUpCiB7CkBAIC0xMDIsNCArMTAyLDQgQEAgV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2Rl
UmVmZXJlbmNlID0gZnVuY3Rpb24obm9kZSkKICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoIm1v
dXNlb3V0IiwgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0
LmJpbmQoV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyKSk7CiAKICAgICByZXR1cm4gbGluazsK
LX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL0V2ZW50TGlzdGVuZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL0V2ZW50TGlzdGVuZXIuanMKaW5kZXggZTUzZDFmYy4uMTBmMTc1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9FdmVudExpc3RlbmVy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRXZlbnRM
aXN0ZW5lci5qcwpAQCAtMzAsNyArMzAsNyBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lciA9
IGZ1bmN0aW9uKHRoaXNPYmplY3QsIGZpcmVPbmNlKQogICAgIHRoaXMuX2VtaXR0ZXIgPSBudWxs
OwogICAgIHRoaXMuX2NhbGxiYWNrID0gbnVsbDsKICAgICB0aGlzLl9maXJlT25jZSA9IGZpcmVP
bmNlOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXIucHJvdG90eXBlID0gewog
ICAgIGNvbm5lY3Q6IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUsIGNhbGxiYWNrLCB1c2VzQ2FwdHVy
ZSkKQEAgLTU2LDcgKzU2LDcgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXIucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgdGhpcy5fY2FsbGJhY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICAg
ICAgICAgICBsaXN0ZW5lci5kaXNjb25uZWN0KCk7CiAgICAgICAgICAgICAgICAgY2FsbGJhY2su
YXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CiAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgdGhpcy5fY2FsbGJhY2sgPSBjYWxsYmFjazsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9PYmpl
Y3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL09iamVjdC5q
cwppbmRleCBlNTgyZmViLi45ZTUxYzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL09iamVjdC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL09iamVjdC5qcwpAQCAtMjUsNyArMjUsNyBAQAogCiBXZWJJ
bnNwZWN0b3IuT2JqZWN0ID0gZnVuY3Rpb24oKQogewotfQorfTsKIAogV2ViSW5zcGVjdG9yLk9i
amVjdC5hZGRDb25zdHJ1Y3RvckZ1bmN0aW9ucyA9IGZ1bmN0aW9uKHN1YmNsYXNzQ29uc3RydWN0
b3IpCiB7CkBAIC0zOCw3ICszOCw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3QuYWRkQ29uc3RydWN0
b3JGdW5jdGlvbnMgPSBmdW5jdGlvbihzdWJjbGFzc0NvbnN0cnVjdG9yKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIHN1YmNsYXNzQ29uc3RydWN0b3JbcHJvcGVydHldID0gdmFsdWU7
CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLk9iamVjdC5hZGRFdmVudExpc3RlbmVyID0g
ZnVuY3Rpb24oZXZlbnRUeXBlLCBsaXN0ZW5lciwgdGhpc09iamVjdCkKIHsKQEAgLTE2Myw3ICsx
NjMsNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXR1
cm4gZXZlbnQuZGVmYXVsdFByZXZlbnRlZDsKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3Iu
RXZlbnQgPSBmdW5jdGlvbih0YXJnZXQsIHR5cGUsIGRhdGEpCiB7CkBAIC0xNzIsNyArMTcyLDcg
QEAgV2ViSW5zcGVjdG9yLkV2ZW50ID0gZnVuY3Rpb24odGFyZ2V0LCB0eXBlLCBkYXRhKQogICAg
IHRoaXMuZGF0YSA9IGRhdGE7CiAgICAgdGhpcy5kZWZhdWx0UHJldmVudGVkID0gZmFsc2U7CiAg
ICAgdGhpcy5fc3RvcHBlZFByb3BhZ2F0aW9uID0gZmFsc2U7Ci19Cit9OwogCiBXZWJJbnNwZWN0
b3IuRXZlbnQucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuRXZl
bnQsCkBAIC0xODYsNiArMTg2LDYgQEAgV2ViSW5zcGVjdG9yLkV2ZW50LnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHRoaXMuZGVmYXVsdFByZXZlbnRlZCA9IHRydWU7CiAgICAgfQotfQor
fTsKIAogV2ViSW5zcGVjdG9yLm5vdGlmaWNhdGlvbnMgPSBuZXcgV2ViSW5zcGVjdG9yLk9iamVj
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
VVJMVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9VUkxVdGlsaXRpZXMuanMKaW5kZXggZjBhYjhhMC4uN2JjMDRjNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VUkxVdGlsaXRpZXMuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VUkxVdGlsaXRpZXMu
anMKQEAgLTIwMiwxMCArMjAyLDEwIEBAIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCA9
IGZ1bmN0aW9uKHVybCwgdXJsQ29tcG9uZW50cykKICAgICB9CiAKICAgICByZXR1cm4gZGlzcGxh
eU5hbWUgfHwgV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9ySG9zdCh1cmxDb21wb25lbnRzLmhv
c3QpIHx8IHVybDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvckhvc3QgPSBm
dW5jdGlvbihob3N0KQogewogICAgIC8vIEZJWE1FIDxyZGFyOi8vcHJvYmxlbS8xMTIzNzQxMz46
IFRoaXMgc2hvdWxkIGRlY29kZSBwdW55Y29kZSBob3N0bmFtZXMuCiAgICAgcmV0dXJuIGhvc3Q7
Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL1V0aWxpdGllcy5qcwppbmRleCA2ZTM0ZTRlLi42MDgxMWUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1V0aWxpdGllcy5qcwpAQCAt
MTE1LDcgKzExNSw3IEBAIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOb2RlLnByb3RvdHlwZSwgImVu
Y2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWVJbkFycmF5IiwKIHsKICAgICB2YWx1ZTogZnVu
Y3Rpb24obmFtZUFycmF5KQogICAgIHsKLSAgICAgICAgdmFyIGxvd2VyQ2FzZU5hbWVBcnJheSA9
IG5hbWVBcnJheS5tYXAoZnVuY3Rpb24obmFtZSkgeyByZXR1cm4gbmFtZS50b0xvd2VyQ2FzZSgp
IH0pOworICAgICAgICB2YXIgbG93ZXJDYXNlTmFtZUFycmF5ID0gbmFtZUFycmF5Lm1hcChmdW5j
dGlvbihuYW1lKSB7IHJldHVybiBuYW1lLnRvTG93ZXJDYXNlKCk7IH0pOwogICAgICAgICBmb3Ig
KHZhciBub2RlID0gdGhpczsgbm9kZSAmJiBub2RlICE9PSB0aGlzLm93bmVyRG9jdW1lbnQ7IG5v
ZGUgPSBub2RlLnBhcmVudE5vZGUpIHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
bmFtZUFycmF5Lmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5h
bWUudG9Mb3dlckNhc2UoKSA9PT0gbG93ZXJDYXNlTmFtZUFycmF5W2ldKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQnJhbmNoTWFu
YWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L0JyYW5jaE1hbmFnZXIuanMKaW5kZXggMzkwMDRjNi4uMjczZTc0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQnJhbmNoTWFuYWdl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9CcmFuY2hNYW5hZ2VyLmpzCkBAIC0zMCw3ICszMCw3IEBAIFdlYkluc3BlY3Rvci5CcmFuY2hN
YW5hZ2VyID0gZnVuY3Rpb24oKQogICAgIFdlYkluc3BlY3Rvci5GcmFtZS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VEaWRDaGFuZ2UsIHRoaXMu
X21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CiAKICAgICB0aGlzLmluaXRpYWxpemUoKTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5CcmFuY2hNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICBj
b25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkJyYW5jaE1hbmFnZXIsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DU1NTdHlsZU1hbmFn
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9D
U1NTdHlsZU1hbmFnZXIuanMKaW5kZXggZDhmMDQ5YS4uN2FhNjRhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ1NTU3R5bGVNYW5h
Z2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0NTU1N0eWxlTWFuYWdlci5qcwpAQCAtNDQsNyArNDQsNyBAQCBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVNYW5hZ2VyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3N0eWxlU2hlZXRJZGVudGlmaWVy
TWFwID0ge307CiAgICAgdGhpcy5fc3R5bGVTaGVldEZyYW1lVVJMTWFwID0ge307CiAgICAgdGhp
cy5fbm9kZVN0eWxlc01hcCA9IHt9OwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkNTU1N0eWxlTWFu
YWdlci5Gb3JjZWFibGVQc2V1ZG9DbGFzc2VzID0gWyJhY3RpdmUiLCAiZm9jdXMiLCAiaG92ZXIi
LCAidmlzaXRlZCJdOwogCkBAIC0zNjIsNiArMzYyLDYgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxl
TWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjbGVhclRpbWVvdXQoc3R5bGVTaGVl
dC5fX3BlbmRpbmdDaGFuZ2VUaW1lb3V0KTsKICAgICAgICAgc3R5bGVTaGVldC5fX3BlbmRpbmdD
aGFuZ2VUaW1lb3V0ID0gc2V0VGltZW91dChhcHBseVN0eWxlU2hlZXRDaGFuZ2VzLmJpbmQodGhp
cyksIDUwMCk7CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLkNTU1N0eWxlTWFuYWdlci5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9D
b2RlTWlycm9yQ29sb3JFZGl0aW5nQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NvZGVNaXJyb3JDb2xvckVkaXRpbmdDb250cm9s
bGVyLmpzCmluZGV4IGUwYzJlOGEuLjhiNTY1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NvZGVNaXJyb3JDb2xvckVkaXRpbmdD
b250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0NvZGVNaXJyb3JDb2xvckVkaXRpbmdDb250cm9sbGVyLmpzCkBAIC0yNiw3ICsy
Niw3IEBACiBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckNvbG9yRWRpdGluZ0NvbnRyb2xsZXIgPSBm
dW5jdGlvbihjb2RlTWlycm9yLCBtYXJrZXIpCiB7CiAgICAgV2ViSW5zcGVjdG9yLkNvZGVNaXJy
b3JFZGl0aW5nQ29udHJvbGxlci5jYWxsKHRoaXMsIGNvZGVNaXJyb3IsIG1hcmtlcik7Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckNvbG9yRWRpdGluZ0NvbnRyb2xsZXIucHJvdG90
eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckNvbG9yRWRp
dGluZ0NvbnRyb2xsZXIsCkBAIC02Miw0ICs2Miw0IEBAIFdlYkluc3BlY3Rvci5Db2RlTWlycm9y
Q29sb3JFZGl0aW5nQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlz
LnZhbHVlID0gZXZlbnQudGFyZ2V0LmNvbG9yOwogICAgIH0gICAgCi19Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1p
cnJvckVkaXRpbmdDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvQ29kZU1pcnJvckVkaXRpbmdDb250cm9sbGVyLmpzCmluZGV4IDM0
MjI2YWIuLmY4MGE3M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0NvZGVNaXJyb3JFZGl0aW5nQ29udHJvbGxlci5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Db2RlTWlycm9y
RWRpdGluZ0NvbnRyb2xsZXIuanMKQEAgLTM3LDcgKzM3LDcgQEAgV2ViSW5zcGVjdG9yLkNvZGVN
aXJyb3JFZGl0aW5nQ29udHJvbGxlciA9IGZ1bmN0aW9uKGNvZGVNaXJyb3IsIG1hcmtlcikKICAg
ICB0aGlzLl92YWx1ZSA9IHRoaXMuaW5pdGlhbFZhbHVlOwogCiAgICAgdGhpcy5fa2V5Ym9hcmRT
aG9ydGN1dEVzYyA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChudWxsLCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuRXNjYXBlKTsKLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5Db2RlTWlycm9yRWRpdGluZ0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIGNvbnN0
cnVjdG9yOiBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvckVkaXRpbmdDb250cm9sbGVyLApAQCAtMTg3
LDQgKzE4Nyw0IEBAIFdlYkluc3BlY3Rvci5Db2RlTWlycm9yRWRpdGluZ0NvbnRyb2xsZXIucHJv
dG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUgJiYgdHlwZW9mIHRoaXMuX2Rl
bGVnYXRlLmVkaXRpbmdDb250cm9sbGVyRGlkRmluaXNoRWRpdGluZyA9PT0gImZ1bmN0aW9uIikK
ICAgICAgICAgICAgIHRoaXMuX2RlbGVnYXRlLmVkaXRpbmdDb250cm9sbGVyRGlkRmluaXNoRWRp
dGluZyh0aGlzKTsKICAgICB9Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1pcnJvckdyYWRpZW50RWRpdGluZ0Nv
bnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9Db2RlTWlycm9yR3JhZGllbnRFZGl0aW5nQ29udHJvbGxlci5qcwppbmRleCBlM2M1NDI1
Li5jZjM5MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250cm9sbGVycy9Db2RlTWlycm9yR3JhZGllbnRFZGl0aW5nQ29udHJvbGxlci5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Db2RlTWly
cm9yR3JhZGllbnRFZGl0aW5nQ29udHJvbGxlci5qcwpAQCAtNTQsNyArNTQsNyBAQCBXZWJJbnNw
ZWN0b3IuQ29kZU1pcnJvckdyYWRpZW50RWRpdGluZ0NvbnRyb2xsZXIgPSBmdW5jdGlvbihjb2Rl
TWlycm9yLCBtYXJrZXIpCiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAgfQotfQorfTsK
IAogV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JHcmFkaWVudEVkaXRpbmdDb250cm9sbGVyLlN0eWxl
Q2xhc3NOYW1lID0gImdyYWRpZW50LWVkaXRpbmctY29udHJvbGxlciI7CiBXZWJJbnNwZWN0b3Iu
Q29kZU1pcnJvckdyYWRpZW50RWRpdGluZ0NvbnRyb2xsZXIuRWRpdHNDb2xvckNsYXNzTmFtZSA9
ICJlZGl0cy1jb2xvciI7CkBAIC0xNDAsNyArMTQwLDcgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJy
b3JHcmFkaWVudEVkaXRpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRo
aXMuX2dyYWRpZW50VHlwZVBpY2tlci52YWx1ZSA9IHRoaXMudmFsdWUucmVwZWF0cyA/ICJyZXBl
YXRpbmctbGluZWFyLWdyYWRpZW50IiA6ICJsaW5lYXItZ3JhZGllbnQiOwogICAgICAgICAgICAg
dGhpcy5fYW5nbGVJbnB1dC52YWx1ZSA9IHRoaXMudmFsdWUuYW5nbGUgKyAiXHUwMEIwIjsKICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0aGlzLl9ncmFkaWVudFR5cGVQaWNrZXIudmFsdWUg
PSB0aGlzLnZhbHVlLnJlcGVhdHMgPyAicmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCIgOiAicmFk
aWFsLWdyYWRpZW50IgorICAgICAgICAgICAgdGhpcy5fZ3JhZGllbnRUeXBlUGlja2VyLnZhbHVl
ID0gdGhpcy52YWx1ZS5yZXBlYXRzID8gInJlcGVhdGluZy1yYWRpYWwtZ3JhZGllbnQiIDogInJh
ZGlhbC1ncmFkaWVudCI7CiAKICAgICAgICAgdGhpcy5fZ3JhZGllbnRTbGlkZXIuZGVsZWdhdGUg
PSB0aGlzOwogICAgIH0sCkBAIC0yNDYsNCArMjQ2LDQgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJy
b3JHcmFkaWVudEVkaXRpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLkNv
ZGVNaXJyb3JHcmFkaWVudEVkaXRpbmdDb250cm9sbGVyLlJhZGlhbEdyYWRpZW50Q2xhc3NOYW1l
KTsKICAgICB9Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1p
cnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLmpzCmluZGV4IGJkNWY3MmYuLmRkMzc5YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L0NvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Db2RlTWlycm9yVG9rZW5UcmFja2lu
Z0NvbnRyb2xsZXIuanMKQEAgLTUxLDcgKzUxLDcgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JU
b2tlblRyYWNraW5nQ29udHJvbGxlci5Nb2RlID0gewogICAgIEphdmFTY3JpcHRFeHByZXNzaW9u
OiAiamF2YXNjcmlwdC1leHByZXNzaW9uIiwKICAgICBKYXZhU2NyaXB0VHlwZUluZm9ybWF0aW9u
OiAiamF2YXNjcmlwdC10eXBlLWluZm9ybWF0aW9uIiwKICAgICBNYXJrZWRUb2tlbnM6ICJtYXJr
ZWQtdG9rZW5zIgotfQorfTsKIAogV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5n
Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5D
b2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Gb3JtYXR0ZXJDb250ZW50QnVp
bGRlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L0Zvcm1hdHRlckNvbnRlbnRCdWlsZGVyLmpzCmluZGV4IDcyZDlhMTUuLmY1MzJkNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Zv
cm1hdHRlckNvbnRlbnRCdWlsZGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Zvcm1hdHRlckNvbnRlbnRCdWlsZGVyLmpzCkBAIC0yMjYs
NCArMjI2LDQgQEAgRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIucHJvdG90eXBlID0gewogICAgICAg
ICBjb25zb2xlLmFzc2VydCh0aGlzLl9mb3JtYXR0ZWRDb250ZW50Lmxhc3RWYWx1ZSA9PT0gIlxu
Iik7CiAgICAgICAgIHRoaXMuX2Zvcm1hdHRlZExpbmVFbmRpbmdzLnB1c2godGhpcy5fZm9ybWF0
dGVkQ29udGVudExlbmd0aCAtIDEpOwogICAgIH0KLX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Gb3JtYXR0ZXJTb3VyY2VN
YXAuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9G
b3JtYXR0ZXJTb3VyY2VNYXAuanMKaW5kZXggZGE3MjkyOC4uNGVjYjJkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRm9ybWF0dGVy
U291cmNlTWFwLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0Zvcm1hdHRlclNvdXJjZU1hcC5qcwpAQCAtMzUsNyArMzUsNyBAQCBXZWJJbnNw
ZWN0b3IuRm9ybWF0dGVyU291cmNlTWFwID0gZnVuY3Rpb24ob3JpZ2luYWxMaW5lRW5kaW5ncywg
Zm9ybWF0dGVkTGluZUVuZAogV2ViSW5zcGVjdG9yLkZvcm1hdHRlclNvdXJjZU1hcC5mcm9tQnVp
bGRlciA9IGZ1bmN0aW9uKGJ1aWxkZXIpCiB7CiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3Iu
Rm9ybWF0dGVyU291cmNlTWFwKGJ1aWxkZXIub3JpZ2luYWxMaW5lRW5kaW5ncywgYnVpbGRlci5m
b3JtYXR0ZWRMaW5lRW5kaW5ncywgYnVpbGRlci5tYXBwaW5nKTsKLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5Gb3JtYXR0ZXJTb3VyY2VNYXAucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBX
ZWJJbnNwZWN0b3IuRm9ybWF0dGVyU291cmNlTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSXNzdWVNYW5hZ2VyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvSXNzdWVNYW5hZ2Vy
LmpzCmluZGV4IGY3MGU1YWMuLjZkYjM3YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0lzc3VlTWFuYWdlci5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Jc3N1ZU1hbmFnZXIu
anMKQEAgLTMxLDcgKzMxLDcgQEAgV2ViSW5zcGVjdG9yLklzc3VlTWFuYWdlciA9IGZ1bmN0aW9u
KCkKICAgICBXZWJJbnNwZWN0b3IubG9nTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5Mb2dNYW5hZ2VyLkV2ZW50LkFjdGl2ZUxvZ0NsZWFyZWQsIHRoaXMuX2FjdGl2ZUxvZ0Ns
ZWFyZWQsIHRoaXMpOwogCiAgICAgdGhpcy5pbml0aWFsaXplKCk7Ci19Cit9OwogCiBXZWJJbnNw
ZWN0b3IuSXNzdWVNYW5hZ2VyLkV2ZW50ID0gewogICAgIElzc3VlV2FzQWRkZWQ6ICJpc3N1ZS1t
YW5hZ2VyLWlzc3VlLXdhcy1hZGRlZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Mb2dNYW5hZ2VyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvTG9nTWFuYWdlci5qcwppbmRleCBm
MDQ0MzM5Li5mMTBiYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db250cm9sbGVycy9Mb2dNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0xvZ01hbmFnZXIuanMKQEAgLTI4LDcgKzI4
LDcgQEAgV2ViSW5zcGVjdG9yLkxvZ01hbmFnZXIgPSBmdW5jdGlvbigpCiAgICAgV2ViSW5zcGVj
dG9yLk9iamVjdC5jYWxsKHRoaXMpOwogCiAgICAgV2ViSW5zcGVjdG9yLkZyYW1lLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZyYW1lLkV2ZW50Lk1haW5SZXNvdXJjZURpZENoYW5nZSwg
dGhpcy5fbWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzKTsKLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5Mb2dNYW5hZ2VyLkV2ZW50ID0gewogICAgIFNlc3Npb25TdGFydGVkOiAibG9nLW1hbmFnZXIt
c2Vzc2lvbi13YXMtc3RhcnRlZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvQnJlYWtwb2ludEFjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVha3BvaW50QWN0aW9uLmpzCmluZGV4IGE0
ZTU3NzEuLmE1NWExNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9CcmVha3BvaW50QWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVha3BvaW50QWN0aW9uLmpzCkBAIC01MCw3ICs1
MCw3IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50QWN0aW9uLlR5cGUgPSB7CiAgICAgRXZhbHVh
dGU6ICJldmFsdWF0ZSIsCiAgICAgU291bmQ6ICJzb3VuZCIsCiAgICAgUHJvYmU6ICJwcm9iZSIK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5CcmVha3BvaW50QWN0aW9uLnByb3RvdHlwZSA9IHsKICAg
ICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRBY3Rpb24sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTQ29tcGxldGlv
bnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTQ29t
cGxldGlvbnMuanMKaW5kZXggYWVhZmU2Ny4uM2ZlN2MzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0NvbXBsZXRpb25zLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NDb21wbGV0aW9u
cy5qcwpAQCAtNzAsNyArNzAsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMgPSBmdW5j
dGlvbihwcm9wZXJ0aWVzLCBhY2NlcHRFbXB0eVByZWZpeCkKICAgICB0aGlzLl92YWx1ZXMuc29y
dCgpOwogCiAgICAgdGhpcy5fYWNjZXB0RW1wdHlQcmVmaXggPSBhY2NlcHRFbXB0eVByZWZpeDsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5jc3NOYW1lQ29tcGxldGlvbnMg
PSBudWxsOwogCkBAIC0xNTMsNyArMTUzLDcgQEAgV2ViSW5zcGVjdG9yLkNTU0NvbXBsZXRpb25z
LnJlcXVlc3RDU1NOYW1lQ29tcGxldGlvbnMgPSBmdW5jdGlvbigpCiAKICAgICBpZiAod2luZG93
LkNTU0FnZW50KQogICAgICAgICBDU1NBZ2VudC5nZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKHBy
b3BlcnR5TmFtZXNDYWxsYmFjayk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlv
bnMucHJvdG90eXBlID0gewogICAgIGdldCB2YWx1ZXMoKQpAQCAtMjY3LDQgKzI2Nyw0IEBAIFdl
Ykluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBy
ZXR1cm4gdGhpcy5fc2hvcnRoYW5kc1tsb25naGFuZF0gfHwgW107CiAgICAgfQotfQorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCmluZGV4IGJhYjBhMWEuLjVkNmM2OGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9D
U1NLZXl3b3JkQ29tcGxldGlvbnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwpAQCAtNTgsMTIgKzU4LDEy
IEBAIFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29tcGxldGlvbnMuZm9yUHJvcGVydHkgPSBmdW5j
dGlvbihwcm9wZXJ0eU5hbWUpCiAgICAgfQogCiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3Iu
Q1NTQ29tcGxldGlvbnMoYWNjZXB0ZWRLZXl3b3JkcywgdHJ1ZSk7Ci19Cit9OwogCiBXZWJJbnNw
ZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmlzQ29sb3JBd2FyZVByb3BlcnR5ID0gZnVuY3Rp
b24ocHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENv
bXBsZXRpb25zLl9jb2xvckF3YXJlUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdID09PSB0cnVlOwot
fQorfTsKIAogV2ViSW5zcGVjdG9yLkNTU0tleXdvcmRDb21wbGV0aW9ucy5BbGxQcm9wZXJ0eU5h
bWVzUGxhY2Vob2xkZXIgPSAiX19hbGwtcHJvcGVydGllc19fIjsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU1N0eWxlU2hlZXQuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVTaGVl
dC5qcwppbmRleCBlZjI2YWViLi41MWQ5ZTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVTaGVldC5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTU3R5bGVTaGVldC5qcwpAQCAt
MzksNyArMzksNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0LmFkZENvbnN0cnVjdG9yRnVuY3Rpb25z
KFdlYkluc3BlY3Rvci5DU1NTdHlsZVNoZWV0KTsKIFdlYkluc3BlY3Rvci5DU1NTdHlsZVNoZWV0
LnJlc2V0VW5pcXVlRGlzcGxheU5hbWVOdW1iZXJzID0gZnVuY3Rpb24oKQogewogICAgIFdlYklu
c3BlY3Rvci5DU1NTdHlsZVNoZWV0Ll9uZXh0VW5pcXVlRGlzcGxheU5hbWVOdW1iZXIgPSAxOwot
fQorfTsKIAogV2ViSW5zcGVjdG9yLkNTU1N0eWxlU2hlZXQuX25leHRVbmlxdWVEaXNwbGF5TmFt
ZU51bWJlciA9IDE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9Db2xvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9Db2xvci5qcwppbmRleCA3MThiZDIyLi5jZmE3ZThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ29sb3IuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NvbG9yLmpzCkBAIC0z
OCw3ICszOCw3IEBAIFdlYkluc3BlY3Rvci5Db2xvciA9IGZ1bmN0aW9uKGZvcm1hdCwgY29tcG9u
ZW50cykKICAgICB0aGlzLnZhbGlkID0gIWNvbXBvbmVudHMuc29tZShmdW5jdGlvbihjb21wb25l
bnQpIHsKICAgICAgICAgcmV0dXJuIGlzTmFOKGNvbXBvbmVudCk7CiAgICAgfSk7Ci19Cit9Owog
CiBXZWJJbnNwZWN0b3IuQ29sb3IuRm9ybWF0ID0gewogICAgIE9yaWdpbmFsOiAiY29sb3ItZm9y
bWF0LW9yaWdpbmFsIiwKQEAgLTEzNSw3ICsxMzUsNyBAQCBXZWJJbnNwZWN0b3IuQ29sb3IuZnJv
bVN0cmluZyA9IGZ1bmN0aW9uKGNvbG9yU3RyaW5nKQogICAgIH0KIAogICAgIHJldHVybiBudWxs
OwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkNvbG9yLnByb3RvdHlwZSA9IHsKICAgICBuZXh0Rm9y
bWF0OiBmdW5jdGlvbihmb3JtYXQpCkBAIC00NDksNyArNDQ5LDcgQEAgV2ViSW5zcGVjdG9yLkNv
bG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmdiYS5wdXNoKGhzbGFbM10pOwogICAgICAgICBy
ZXR1cm4gcmdiYTsKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuQ29sb3IuTmlja25hbWVz
ID0gewogICAgICJhbGljZWJsdWUiOiBbMjQwLCAyNDgsIDI1NV0sCkBAIC02MjUsNyArNjI1LDcg
QEAgV2ViSW5zcGVjdG9yLkNvbG9yLnJnYjJoc3YgPSBmdW5jdGlvbihyLCBnLCBiKQogICAgICAg
ICBzID0gMSAtIChtaW4vbWF4KTsKIAogICAgIHJldHVybiBbaCwgcywgdl07Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuQ29sb3IuaHN2MnJnYiA9IGZ1bmN0aW9uKGgsIHMsIHYpCiB7CkBAIC02NjMs
NCArNjYzLDQgQEAgV2ViSW5zcGVjdG9yLkNvbG9yLmhzdjJyZ2IgPSBmdW5jdGlvbihoLCBzLCB2
KQogICAgIH0KIAogICAgIHJldHVybiByZ2I7Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGUuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcwppbmRleCA0OTQ2ZjU4
Li45MmU3OTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvRE9NTm9kZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZS5qcwpAQCAtMTAzLDcgKzEwMyw3IEBAIFdlYkluc3BlY3Rvci5E
T01Ob2RlID0gZnVuY3Rpb24oZG9tQWdlbnQsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQp
IHsKICAgICAgICAgdGhpcy5uYW1lID0gcGF5bG9hZC5uYW1lOwogICAgICAgICB0aGlzLnZhbHVl
ID0gcGF5bG9hZC52YWx1ZTsKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuT2JqZWN0LmFk
ZENvbnN0cnVjdG9yRnVuY3Rpb25zKFdlYkluc3BlY3Rvci5ET01Ob2RlKTsKIApAQCAtNTkyLDYg
KzU5Miw2IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
ICAgICBjYWxsYmFjay5hcHBseShudWxsLCBhcmd1bWVudHMpOwogICAgICAgICB9OwogICAgIH0K
LX0KK307CiAKIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01TZWFyY2hNYXRjaE9iamVjdC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01TZWFyY2hNYXRjaE9iamVj
dC5qcwppbmRleCA2YmEwNDU3Li4xOTU5YjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NU2VhcmNoTWF0Y2hPYmplY3QuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTVNlYXJjaE1hdGNo
T2JqZWN0LmpzCkBAIC0xNDUsNiArMTQ1LDYgQEAgV2ViSW5zcGVjdG9yLkRPTVNlYXJjaE1hdGNo
T2JqZWN0LnRpdGxlRm9yRE9NTm9kZSA9IGZ1bmN0aW9uKGRvbU5vZGUpCiAgICAgICAgIGNvbnNv
bGUuZXJyb3IoIlVua25vd24gRE9NIG5vZGUgdHlwZTogIiwgZG9tTm9kZS5ub2RlVHlwZSgpKTsK
ICAgICAgICAgcmV0dXJuIGRvbU5vZGUubm9kZU5hbWVJbkNvcnJlY3RDYXNlKCk7CiAgICAgfQot
fQorfTsKIAogV2ViSW5zcGVjdG9yLkRPTVNlYXJjaE1hdGNoT2JqZWN0LnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9FeGVjdXRpb25Db250ZXh0Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0V4ZWN1dGlvbkNv
bnRleHQuanMKaW5kZXggMGI4YjgxZC4uMTQzNzVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0V4ZWN1dGlvbkNvbnRleHQuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0V4ZWN1dGlvbkNvbnRl
eHQuanMKQEAgLTQyLDcgKzQyLDcgQEAgV2ViSW5zcGVjdG9yLkV4ZWN1dGlvbkNvbnRleHQuc3Vw
cG9ydGVkID0gZnVuY3Rpb24oKQogICAgIC8vIGRpc2FibGUgbWV0aG9kcywgd2hpY2ggdHVybiBv
biBhbmQgb2ZmIHNlbmRpbmcgUnVudGltZSBhZ2VudCBleGVjdXRpb24gY29udGV4dCBjcmVhdGVk
IGV2ZW50cy4KICAgICAvLyBTbyB3ZSBjYW4gZmVhdHVyZSBkZXRlY3Qgc3VwcG9ydCBmb3IgZXhl
Y3V0aW9uIGNvbnRleHRzIHdpdGggdGhlc2UgUnVudGltZUFnZW50IGZ1bmN0aW9ucy4KICAgICBy
ZXR1cm4gdHlwZW9mIFJ1bnRpbWVBZ2VudC5lbmFibGUgPT09ICJmdW5jdGlvbiI7Ci19Cit9Owog
CiBXZWJJbnNwZWN0b3IuRXhlY3V0aW9uQ29udGV4dC5wcm90b3R5cGUgPSB7CiAgICAgY29uc3Ry
dWN0b3I6IFdlYkluc3BlY3Rvci5FeGVjdXRpb25Db250ZXh0LApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0dyYWRpZW50LmpzCmluZGV4IDEw
YWEzZjYuLjE3Njc5MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9HcmFkaWVudC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvR3JhZGllbnQuanMKQEAgLTE0Nyw3ICsxNDcsNyBAQCBXZWJJbnNw
ZWN0b3IuTGluZWFyR3JhZGllbnQgPSBmdW5jdGlvbihhbmdsZSwgc3RvcHMpCiAgICAgdGhpcy50
eXBlID0gV2ViSW5zcGVjdG9yLkdyYWRpZW50LlR5cGVzLkxpbmVhcjsKICAgICB0aGlzLmFuZ2xl
ID0gYW5nbGU7CiAgICAgdGhpcy5zdG9wcyA9IHN0b3BzOwotfQorfTsKIAogV2ViSW5zcGVjdG9y
LkxpbmVhckdyYWRpZW50LmxpbmVhckdyYWRpZW50V2l0aENvbXBvbmVudHMgPSBmdW5jdGlvbihj
b21wb25lbnRzKQogewpAQCAtMTk5LDcgKzE5OSw3IEBAIFdlYkluc3BlY3Rvci5MaW5lYXJHcmFk
aWVudC5saW5lYXJHcmFkaWVudFdpdGhDb21wb25lbnRzID0gZnVuY3Rpb24oY29tcG9uZW50cykK
ICAgICAgICAgcmV0dXJuIG51bGw7CiAKICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5MaW5l
YXJHcmFkaWVudChhbmdsZSwgc3RvcHMpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkxpbmVhckdy
YWRpZW50LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkxpbmVh
ckdyYWRpZW50LApAQCAtMjM3LDE0ICsyMzcsMTQgQEAgV2ViSW5zcGVjdG9yLkxpbmVhckdyYWRp
ZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXR1cm4gKHRoaXMucmVwZWF0cyA/ICJyZXBl
YXRpbmctIiA6ICIiKSArIHRoaXMudHlwZSArICIoIiArIHN0ciArICIpIjsKICAgICB9Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuUmFkaWFsR3JhZGllbnQgPSBmdW5jdGlvbihzaXppbmcsIHN0b3Bz
KQogewogICAgIHRoaXMudHlwZSA9IFdlYkluc3BlY3Rvci5HcmFkaWVudC5UeXBlcy5SYWRpYWw7
CiAgICAgdGhpcy5zaXppbmcgPSBzaXppbmc7CiAgICAgdGhpcy5zdG9wcyA9IHN0b3BzOwotfQor
fTsKIAogV2ViSW5zcGVjdG9yLlJhZGlhbEdyYWRpZW50LnJhZGlhbEdyYWRpZW50V2l0aENvbXBv
bmVudHMgPSBmdW5jdGlvbihjb21wb25lbnRzKQogewpAQCAtMjU1LDcgKzI1NSw3IEBAIFdlYklu
c3BlY3Rvci5SYWRpYWxHcmFkaWVudC5yYWRpYWxHcmFkaWVudFdpdGhDb21wb25lbnRzID0gZnVu
Y3Rpb24oY29tcG9uZW50cykKICAgICAgICAgcmV0dXJuIG51bGw7CiAKICAgICByZXR1cm4gbmV3
IFdlYkluc3BlY3Rvci5SYWRpYWxHcmFkaWVudChzaXppbmcsIHN0b3BzKTsKLX0KK307CiAKIFdl
Ykluc3BlY3Rvci5SYWRpYWxHcmFkaWVudC5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6
IFdlYkluc3BlY3Rvci5SYWRpYWxHcmFkaWVudCwKQEAgLTI3Niw0ICsyNzYsNCBAQCBXZWJJbnNw
ZWN0b3IuUmFkaWFsR3JhZGllbnQucHJvdG90eXBlID0gewogICAgICAgICAKICAgICAgICAgcmV0
dXJuICh0aGlzLnJlcGVhdHMgPyAicmVwZWF0aW5nLSIgOiAiIikgKyB0aGlzLnR5cGUgKyAiKCIg
KyBzdHIgKyAiKSI7CiAgICAgfQotfQorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Jc3N1ZU1lc3NhZ2UuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvSXNzdWVNZXNzYWdlLmpzCmluZGV4IDY4OTQx
NzUuLmNiZmZhZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9Jc3N1ZU1lc3NhZ2UuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0lzc3VlTWVzc2FnZS5qcwpAQCAtOTAsNyArOTAsNyBAQCBXZWJJ
bnNwZWN0b3IuSXNzdWVNZXNzYWdlID0gZnVuY3Rpb24oc291cmNlLCBsZXZlbCwgdGV4dCwgdXJs
LCBsaW5lTnVtYmVyLCBwYXJhbQogICAgICAgICBjb25zb2xlLmVycm9yKCJVbmtub3duIGlzc3Vl
IHNvdXJjZToiLCBzb3VyY2UpOwogICAgICAgICB0aGlzLl90eXBlID0gV2ViSW5zcGVjdG9yLklz
c3VlTWVzc2FnZS5UeXBlLk90aGVySXNzdWU7CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9y
Lklzc3VlTWVzc2FnZS5MZXZlbCA9IHsKICAgICBFcnJvcjogImVycm9yIiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXBsYXlTZXNzaW9u
U2VnbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9S
ZXBsYXlTZXNzaW9uU2VnbWVudC5qcwppbmRleCA5NzY0ZjM1Li5jMjVlYTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVwbGF5U2Vzc2lv
blNlZ21lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL1JlcGxheVNlc3Npb25TZWdtZW50LmpzCkBAIC0zMSw3ICszMSw3IEBAIFdlYkluc3BlY3Rv
ci5JbmNvbXBsZXRlU2Vzc2lvblNlZ21lbnQgPSBmdW5jdGlvbihpZGVudGlmaWVyKQogCiAgICAg
dGhpcy5pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKICAgICB0aGlzLl90aW1lc3RhbXAgPSBEYXRl
Lm5vdygpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkluY29tcGxldGVTZXNzaW9uU2VnbWVudC5w
cm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5JbmNvbXBsZXRlU2Vz
c2lvblNlZ21lbnQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUmVzb3VyY2UuanMKaW5kZXggODI2NDFhOC4uNWIyMTBiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Jlc291cmNlLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXNvdXJj
ZS5qcwpAQCAtNjg0LDcgKzY4NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUg
PSB7CiAgICAgYXNzb2NpYXRlV2l0aFNjcmlwdDogZnVuY3Rpb24oc2NyaXB0KQogICAgIHsKICAg
ICAgICAgaWYgKCF0aGlzLl9zY3JpcHRzKQotICAgICAgICAgICAgdGhpcy5fc2NyaXB0cyA9IFtd
CisgICAgICAgICAgICB0aGlzLl9zY3JpcHRzID0gW107CiAKICAgICAgICAgdGhpcy5fc2NyaXB0
cy5wdXNoKHNjcmlwdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvU2NyaXB0LmpzCmluZGV4IDE0ZmNjOGQuLjBhMmZkNDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TY3JpcHQuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NjcmlwdC5q
cwpAQCAtNTIsNyArNTIsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0LkRpc3BsYXlOYW1lQ29va2ll
S2V5ID0gInNjcmlwdC1kaXNwbGF5LW5hbWUiOwogV2ViSW5zcGVjdG9yLlNjcmlwdC5yZXNldFVu
aXF1ZURpc3BsYXlOYW1lTnVtYmVycyA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3Iu
U2NyaXB0Ll9uZXh0VW5pcXVlRGlzcGxheU5hbWVOdW1iZXIgPSAxOwotfQorfTsKIAogV2ViSW5z
cGVjdG9yLlNjcmlwdC5fbmV4dFVuaXF1ZURpc3BsYXlOYW1lTnVtYmVyID0gMTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NldHRpbmcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2V0dGluZy5q
cwppbmRleCA3OWE4MDExLi5kMTNiNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2V0dGluZy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU2V0dGluZy5qcwpAQCAtMzQsNyArMzQsNyBAQCBX
ZWJJbnNwZWN0b3IuU2V0dGluZyA9IGZ1bmN0aW9uKG5hbWUsIGRlZmF1bHRWYWx1ZSkKICAgICB0
aGlzLl9uYW1lID0gbmFtZTsKICAgICB0aGlzLl9sb2NhbFN0b3JhZ2VLZXkgPSBXZWJJbnNwZWN0
b3IuU2V0dGluZy5Mb2NhbFN0b3JhZ2VLZXlQcmVmaXggKyBuYW1lOwogICAgIHRoaXMuX2RlZmF1
bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5PYmplY3QuYWRk
Q29uc3RydWN0b3JGdW5jdGlvbnMoV2ViSW5zcGVjdG9yLlNldHRpbmcpOwogCkBAIC05MSw2ICs5
MSw2IEBAIFdlYkluc3BlY3Rvci5TZXR0aW5nLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU2V0dGluZy5FdmVudC5DaGFu
Z2VkLCB0aGlzLl92YWx1ZSwge25hbWU6IHRoaXMuX25hbWV9KTsKICAgICB9Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuU2V0dGluZy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9i
amVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvU291cmNlQ29kZVBvc2l0aW9uLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZUNvZGVQb3NpdGlvbi5qcwppbmRleCBhYzY3
Mzc3Li43YjBhMmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvU291cmNlQ29kZVBvc2l0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VDb2RlUG9zaXRpb24uanMKQEAgLTI5LDcg
KzI5LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVQb3NpdGlvbiA9IGZ1bmN0aW9uKGxpbmVO
dW1iZXIsIGNvbHVtTnVtYmVyKQogCiAgICAgdGhpcy5fbGluZU51bWJlciA9IGxpbmVOdW1iZXIg
fHwgMDsKICAgICB0aGlzLl9jb2x1bW5OdW1iZXIgPSBjb2x1bU51bWJlciB8fCAwOwotfQorfTsK
IAogV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVQb3NpdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgY29u
c3RydWN0b3I6IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlUG9zaXRpb24sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlTWFwLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1hcC5qcwpp
bmRleCAyOTNhMDQwLi4xYTc2MjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlTWFwLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXAuanMKQEAgLTQzLDcgKzQzLDcgQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZU1hcCA9IGZ1bmN0aW9uKHNvdXJjZU1hcHBpbmdVUkwsIHBheWxv
YWQsIG9yaWdpbmFsU291cmNlQ29kZSkKICAgICB0aGlzLl9zb3VyY2VSb290ID0gbnVsbDsKICAg
ICB0aGlzLl9zb3VyY2VDb250ZW50QnlVUkwgPSB7fTsKICAgICB0aGlzLl9wYXJzZU1hcHBpbmdQ
YXlsb2FkKHBheWxvYWQpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLlNvdXJjZU1hcC5wcm90b3R5
cGUgPSB7CiAKQEAgLTI1MCwxMyArMjUwLDEzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAucHJv
dG90eXBlID0gewogICAgIF9WTFFfQkFTRV9TSElGVDogNSwKICAgICBfVkxRX0JBU0VfTUFTSzog
KDEgPDwgNSkgLSAxLAogICAgIF9WTFFfQ09OVElOVUFUSU9OX01BU0s6IDEgPDwgNQotfQorfTsK
IAogV2ViSW5zcGVjdG9yLlNvdXJjZU1hcC5TdHJpbmdDaGFySXRlcmF0b3IgPSBmdW5jdGlvbihz
dHJpbmcpCiB7CiAgICAgdGhpcy5fc3RyaW5nID0gc3RyaW5nOwogICAgIHRoaXMuX3Bvc2l0aW9u
ID0gMDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAuU3RyaW5nQ2hhckl0ZXJhdG9y
LnByb3RvdHlwZSA9IHsKICAgICBuZXh0OiBmdW5jdGlvbigpCkBAIC0yNzMsNCArMjczLDQgQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZU1hcC5TdHJpbmdDaGFySXRlcmF0b3IucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uIDwgdGhpcy5fc3RyaW5nLmxlbmd0
aDsKICAgICB9Ci19Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1RleHRNYXJrZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvVGV4dE1hcmtlci5qcwppbmRleCBlODE5YWVmLi42YWM5ZWZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGV4
dE1hcmtlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvVGV4dE1hcmtlci5qcwpAQCAtMzEsNyArMzEsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dE1hcmtl
ciA9IGZ1bmN0aW9uKGNvZGVNaXJyb3JUZXh0TWFya2VyLCB0eXBlKQogICAgIGNvZGVNaXJyb3JU
ZXh0TWFya2VyLl9fd2ViSW5zcGVjdG9yVGV4dE1hcmtlciA9IHRoaXM7CiAKICAgICB0aGlzLl90
eXBlID0gdHlwZSB8fCBXZWJJbnNwZWN0b3IuVGV4dE1hcmtlci5UeXBlLlBsYWluOwotfQorfTsK
IAogV2ViSW5zcGVjdG9yLlRleHRNYXJrZXIuVHlwZSA9IHsKICAgICBDb2xvcjogInRleHQtbWFy
a2VyLXR5cGUtY29sb3IiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL1RleHRSYW5nZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9UZXh0UmFuZ2UuanMKaW5kZXggZjAxMTU2OS4uMWZiMWQzZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RleHRS
YW5nZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
VGV4dFJhbmdlLmpzCkBAIC00OSw3ICs0OSw3IEBAIFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UgPSBm
dW5jdGlvbihzdGFydExpbmVPclN0YXJ0T2Zmc2V0LCBzdGFydENvbHVtbk9yRW5kT2Zmc2V0CiAg
ICAgICAgIHRoaXMuX2VuZExpbmUgPSBOYU47CiAgICAgICAgIHRoaXMuX2VuZENvbHVtbiA9IE5h
TjsKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlLnByb3RvdHlwZSA9IHsK
ICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlRleHRSYW5nZSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0luc3BlY3RvckZyb250
ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90
b2NvbC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCmluZGV4IGUwZWZiNjYuLjViN2E2ZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29s
L0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAt
MzMsNyArMzMsNyBAQAogaWYgKCF3aW5kb3cuSW5zcGVjdG9yRnJvbnRlbmRIb3N0KSB7CiAgICAg
V2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIgPSBmdW5jdGlvbigpCiAgICAg
ewotICAgIH0KKyAgICB9OwogCiAgICAgV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9z
dFN0dWIucHJvdG90eXBlID0gewogICAgICAgICAvLyBQdWJsaWMKQEAgLTE1NSw3ICsxNTUsNyBA
QCBpZiAoIXdpbmRvdy5JbnNwZWN0b3JGcm9udGVuZEhvc3QpIHsKIAogICAgICAgICAgICAgZGVs
ZXRlIHRoaXMuX3BlbmRpbmdNZXNzYWdlczsKICAgICAgICAgfQotICAgIH0KKyAgICB9OwogCiAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0ID0gbmV3IFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9u
dGVuZEhvc3RTdHViKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1Byb3RvY29sL01lc3NhZ2VEaXNwYXRjaGVyLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVzc2FnZURpc3BhdGNoZXIuanMKaW5kZXgg
NDgxMjQ1MC4uMTFjOGY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvUHJvdG9jb2wvTWVzc2FnZURpc3BhdGNoZXIuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTWVzc2FnZURpc3BhdGNoZXIuanMKQEAg
LTUyLDcgKzUyLDcgQEAgV2ViSW5zcGVjdG9yLmRpc3BhdGNoTmV4dFF1ZXVlZE1lc3NhZ2VGcm9t
QmFja2VuZCA9IGZ1bmN0aW9uKCkKIAogICAgIGlmIChJbnNwZWN0b3JCYWNrZW5kLmR1bXBJbnNw
ZWN0b3JUaW1lU3RhdHMpCiAgICAgICAgIGNvbnNvbGUubG9nKCJ0aW1lLXN0YXRzOiAtLS0gUnVu
TG9vcCBkdXJhdGlvbjogIiArIChEYXRlLm5vdygpIC0gc3RhcnRUaW1lKSArICJtczsgZGlzcGF0
Y2hlZDogIiArIChzdGFydENvdW50IC0gV2ViSW5zcGVjdG9yLm1lc3NhZ2VzVG9EaXNwYXRjaC5s
ZW5ndGgpICsgIjsgcmVtYWluaW5nOiAiICsgV2ViSW5zcGVjdG9yLm1lc3NhZ2VzVG9EaXNwYXRj
aC5sZW5ndGgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmRpc3BhdGNoTWVzc2FnZUZyb21CYWNr
ZW5kID0gZnVuY3Rpb24obWVzc2FnZSkKIHsKQEAgLTY1LDQgKzY1LDQgQEAgV2ViSW5zcGVjdG9y
LmRpc3BhdGNoTWVzc2FnZUZyb21CYWNrZW5kID0gZnVuY3Rpb24obWVzc2FnZSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgdGhpcy5fZGlzcGF0Y2hUaW1lb3V0ID0gc2V0VGltZW91dChXZWJJbnNw
ZWN0b3IuZGlzcGF0Y2hOZXh0UXVldWVkTWVzc2FnZUZyb21CYWNrZW5kLCAwKTsKLX0KK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9S
ZW1vdGVPYmplY3QuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90
b2NvbC9SZW1vdGVPYmplY3QuanMKaW5kZXggMDIyOWIxMi4uYjgyNzRiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVtb3RlT2JqZWN0
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL1Jl
bW90ZU9iamVjdC5qcwpAQCAtNDQsMTcgKzQ0LDE3IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3QgPSBmdW5jdGlvbihvYmplY3RJZCwgdHlwZSwgc3VidHlwZSwgdmFsdWUsIGRlc2NyaXB0aW9u
CiAgICAgICAgIHRoaXMuX2hhc0NoaWxkcmVuID0gZmFsc2U7CiAgICAgICAgIHRoaXMudmFsdWUg
PSB2YWx1ZTsKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Q
cmltaXRpdmVWYWx1ZSA9IGZ1bmN0aW9uKHZhbHVlKQogewogICAgIHJldHVybiBuZXcgV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdCh1bmRlZmluZWQsIHR5cGVvZiB2YWx1ZSwgdW5kZWZpbmVkLCB2
YWx1ZSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Mb2NhbE9iamVj
dCA9IGZ1bmN0aW9uKHZhbHVlKQogewogICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkxvY2Fs
SlNPTk9iamVjdCh2YWx1ZSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnJl
c29sdmVOb2RlID0gZnVuY3Rpb24obm9kZSwgb2JqZWN0R3JvdXAsIGNhbGxiYWNrKQogewpAQCAt
NjksMTQgKzY5LDE0IEBAIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QucmVzb2x2ZU5vZGUgPSBm
dW5jdGlvbihub2RlLCBvYmplY3RHcm91cCwgY2FsbGJhY2spCiAgICAgICAgICAgICBjYWxsYmFj
ayhXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKG9iamVjdCkpOwogICAgIH0K
ICAgICBET01BZ2VudC5yZXNvbHZlTm9kZShub2RlLmlkLCBvYmplY3RHcm91cCwgbXljYWxsYmFj
ayk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkID0gZnVu
Y3Rpb24ocGF5bG9hZCkKIHsKICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgcGF5bG9hZCA9PT0g
Im9iamVjdCIsICJSZW1vdGUgb2JqZWN0IHBheWxvYWQgc2hvdWxkIG9ubHkgYmUgYW4gb2JqZWN0
Iik7CiAKICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QocGF5bG9hZC5v
YmplY3RJZCwgcGF5bG9hZC50eXBlLCBwYXlsb2FkLnN1YnR5cGUsIHBheWxvYWQudmFsdWUsIHBh
eWxvYWQuZGVzY3JpcHRpb24pOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC50
eXBlID0gZnVuY3Rpb24ocmVtb3RlT2JqZWN0KQogewpAQCAtODgsNyArODgsNyBAQCBXZWJJbnNw
ZWN0b3IuUmVtb3RlT2JqZWN0LnR5cGUgPSBmdW5jdGlvbihyZW1vdGVPYmplY3QpCiAgICAgICAg
IHJldHVybiB0eXBlOwogCiAgICAgcmV0dXJuIHJlbW90ZU9iamVjdC50eXBlOwotfQorfTsKIAog
V2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgZ2V0IG9iamVjdElk
KCkKQEAgLTIzNSw3ICsyMzUsNyBAQCBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICByZXR1cm4gcGFyc2VJbnQobWF0
Y2hlc1sxXSwgMTApOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3RQ
cm9wZXJ0eSA9IGZ1bmN0aW9uKG5hbWUsIHZhbHVlLCBkZXNjcmlwdG9yKQogewpAQCAtMjQ1LDEy
ICsyNDUsMTIgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5ID0gZnVuY3Rpb24o
bmFtZSwgdmFsdWUsIGRlc2NyaXB0b3IpCiAgICAgdGhpcy53cml0YWJsZSA9IGRlc2NyaXB0b3Ig
PyAhIWRlc2NyaXB0b3Iud3JpdGFibGUgOiB0cnVlOwogICAgIGlmIChkZXNjcmlwdG9yICYmIGRl
c2NyaXB0b3Iud2FzVGhyb3duKQogICAgICAgICB0aGlzLndhc1Rocm93biA9IHRydWU7Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVByaW1pdGl2ZVZhbHVl
ID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpCiB7CiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3Iu
UmVtb3RlT2JqZWN0UHJvcGVydHkobmFtZSwgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9t
UHJpbWl0aXZlVmFsdWUodmFsdWUpKTsKLX0KK307CiAKIC8vIFRoZSBiZWxvdyBpcyBhIHdyYXBw
ZXIgYXJvdW5kIGEgbG9jYWwgb2JqZWN0IHRoYXQgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGNvbWFw
dGlibGUKIC8vIHdpdGggUmVtb3RlT2JqZWN0LCB0byBiZSB1c2VkIGJ5IHRoZSBVSSBjb2RlIChw
cmltYXJpbHkgT2JqZWN0UHJvcGVydGllc1NlY3Rpb24pLgpAQCAtMjYxLDcgKzI2MSw3IEBAIFdl
Ykluc3BlY3Rvci5SZW1vdGVPYmplY3RQcm9wZXJ0eS5mcm9tUHJpbWl0aXZlVmFsdWUgPSBmdW5j
dGlvbihuYW1lLCB2YWx1ZSkKIFdlYkluc3BlY3Rvci5Mb2NhbEpTT05PYmplY3QgPSBmdW5jdGlv
bih2YWx1ZSkKIHsKICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlOwotfQorfTsKIAogV2ViSW5zcGVj
dG9yLkxvY2FsSlNPTk9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAgZ2V0IGRlc2NyaXB0aW9uKCkK
QEAgLTM2Myw0ICszNjMsNCBAQCBXZWJJbnNwZWN0b3IuTG9jYWxKU09OT2JqZWN0LnByb3RvdHlw
ZSA9IHsKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Ci19Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvUmVwbGF5
T2JzZXJ2ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2Nv
bC9SZXBsYXlPYnNlcnZlci5qcwppbmRleCA1YjlkM2RkLi45MTY2ZGI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9SZXBsYXlPYnNlcnZl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9S
ZXBsYXlPYnNlcnZlci5qcwpAQCAtMzMsNyArMzMsNyBAQCBXZWJJbnNwZWN0b3IuUmVwbGF5UG9z
aXRpb24gPSBmdW5jdGlvbihzZWdtZW50T2Zmc2V0LCBpbnB1dE9mZnNldCkKIFdlYkluc3BlY3Rv
ci5SZXBsYXlQb3NpdGlvbi5mcm9tUHJvdG9jb2wgPSBmdW5jdGlvbihwYXlsb2FkKQogewogICAg
IHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uKHBheWxvYWQuc2VnbWVudE9m
ZnNldCwgcGF5bG9hZC5pbnB1dE9mZnNldCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUmVwbGF5
T2JzZXJ2ZXIgPSBmdW5jdGlvbigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9CcmVha3BvaW50QWN0aW9uVmlldy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JyZWFrcG9pbnRBY3Rpb25WaWV3Lmpz
CmluZGV4IDNkOGU2NmMuLjA3NWRhODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JyZWFrcG9pbnRBY3Rpb25WaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JyZWFrcG9pbnRBY3Rpb25WaWV3
LmpzCkBAIC04Myw3ICs4Myw3IEBAIFdlYkluc3BlY3Rvci5CcmVha3BvaW50QWN0aW9uVmlldy5k
aXNwbGF5U3RyaW5nRm9yVHlwZSA9IGZ1bmN0aW9uKHR5cGUpCiAgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KGZhbHNlKTsKICAgICAgICAgcmV0dXJuICIiOwogICAgIH0KLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50QWN0aW9uVmlldy5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6
IFdlYkluc3BlY3Rvci5CcmVha3BvaW50QWN0aW9uVmlldywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0
RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NT
U3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKaW5kZXggMWYxNzQ2Yy4uNjE1YzA4ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5
bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKQEAgLTUz
NSw3ICs1MzUsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3Iu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgfSkuYmluZCh0aGlzKSk7CiAKICAgICAgICAgICAg
IGlmICh0aGlzLl9zb3J0UHJvcGVydGllcykKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnNv
cnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSB9
KTsKKyAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1
cm4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKTsgfSk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BlcnRpZXMubGVuZ3RoOyArK2kpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NsdXN0ZXJDb250
ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Ns
dXN0ZXJDb250ZW50Vmlldy5qcwppbmRleCA0NjMxYTAxLi5hYzk4MzZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DbHVzdGVyQ29udGVudFZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2x1
c3RlckNvbnRlbnRWaWV3LmpzCkBAIC0xMDEsMTIgKzEwMSwxMiBAQCBXZWJJbnNwZWN0b3IuQ2x1
c3RlckNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIGdvQmFjazogZnVuY3Rpb24oKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZ29CYWNrKCkKKyAgICAg
ICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZ29CYWNrKCk7CiAgICAgfSwKIAogICAgIGdv
Rm9yd2FyZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250
YWluZXIuZ29Gb3J3YXJkKCkKKyAgICAgICAgdGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZ29G
b3J3YXJkKCk7CiAgICAgfSwKIAogICAgIGdldCBzZWxlY3Rpb25QYXRoQ29tcG9uZW50cygpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2Rl
TWlycm9yQWRkaXRpb25zLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29kZU1pcnJvckFkZGl0aW9ucy5qcwppbmRleCA5NTVjZTFjLi4xODY5MGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2RlTWly
cm9yQWRkaXRpb25zLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NvZGVNaXJyb3JBZGRpdGlvbnMuanMKQEAgLTQ1Miw3ICs0NTIsNyBAQAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpbmVSZWN0cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuUmVj
dChtaW5YLCBtaW5ZLCBtYXhYIC0gbWluWCwgbWF4WSAtIG1pblkpKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW5YID0gTWF0aC5mbG9v
cihjb29yZHMubGVmdCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWluWSA9IE1hdGgu
Zmxvb3IoY29vcmRzLnRvcCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtaW5ZID0gTWF0
aC5mbG9vcihjb29yZHMudG9wKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1heFkgPSBNYXRo
LmNlaWwoY29vcmRzLmJvdHRvbSk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Db2xvcldoZWVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ29sb3JXaGVlbC5qcwppbmRleCA4OWY2NDM2Li44NThiZTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2xvcldoZWVsLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbG9yV2hlZWwu
anMKQEAgLTQxLDcgKzQxLDcgQEAgV2ViSW5zcGVjdG9yLkNvbG9yV2hlZWwgPSBmdW5jdGlvbigp
CiAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jcm9zc2hhaXIpOwogCiAgICAg
dGhpcy5fZmluYWxDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcyk7Ci19
Cit9OwogCiBXZWJJbnNwZWN0b3IuQ29sb3JXaGVlbC5wcm90b3R5cGUgPSB7CiAgICAgY29udHJ1
Y3RvcjogV2ViSW5zcGVjdG9yLkNvbG9yV2hlZWwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZS5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlLmpzCmluZGV4
IDY2NDYxODIuLmEyOTM1ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlLmpzCkBAIC00MCw3ICs0MCw3
IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZSA9IGZ1bmN0aW9uKHNvdXJjZSwgbGV2ZWws
IHVybCwgbGluZSwgY29sdW1uLCByZXBlYXRDCiAgICAgdGhpcy5yZXBlYXRDb3VudCA9IHJlcGVh
dENvdW50OwogICAgIHRoaXMucmVwZWF0RGVsdGEgPSByZXBlYXRDb3VudDsKICAgICB0aGlzLnRv
dGFsUmVwZWF0Q291bnQgPSByZXBlYXRDb3VudDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5Db25z
b2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgaXNFcnJvck9yV2FybmluZzogZnVuY3Rpb24o
KQpAQCAtNTcsMTIgKzU3LDEyIEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICAvLyBJbXBsZW1lbnRlZCBieSBjb25jcmV0ZSBpbnN0YW5j
ZXMKICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuY3JlYXRlID0g
ZnVuY3Rpb24oc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgdHlwZSwgdXJsLCBsaW5lLCBjb2x1bW4s
IHJlcGVhdENvdW50LCBwYXJhbWV0ZXJzLCBzdGFja1RyYWNlLCByZXF1ZXN0KQogewogICAgIHJl
dHVybiBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbChzb3VyY2UsIGxldmVsLCBt
ZXNzYWdlLCBudWxsLCB0eXBlLCB1cmwsIGxpbmUsIGNvbHVtbiwgcmVwZWF0Q291bnQsIHBhcmFt
ZXRlcnMsIHN0YWNrVHJhY2UsIHJlcXVlc3QpOwotfQorfTsKIAogLy8gTm90ZTogS2VlcCB0aGVz
ZSBjb25zdGFudHMgaW4gc3luYyB3aXRoIHRoZSBvbmVzIGluIENvbnNvbGUuaAogV2ViSW5zcGVj
dG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VTb3VyY2UgPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZUltcGwuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2Fn
ZUltcGwuanMKaW5kZXggNDEzMjJiZi4uOTU2ZTgyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VJbXBsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdl
SW1wbC5qcwpAQCAtNDUsNyArNDUsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBs
ID0gZnVuY3Rpb24oc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgbGlua2lmaWVyLCB0eQogICAgICAg
ICAibm9kZSI6ICAgdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNOb2RlLAogICAgICAgICAic3RyaW5n
IjogdGhpcy5fZm9ybWF0UGFyYW1ldGVyQXNTdHJpbmcKICAgICB9OwotfQorfTsKIAogV2ViSW5z
cGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUgPSB7CiAKQEAgLTcyNCw2ICs3MjQs
NiBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICByZXR1cm4gY2xpcGJvYXJkU3RyaW5nOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZS5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51LmpzCmluZGV4IDkzMTljMWIuLmZm
YzllNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbnRleHRNZW51LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NvbnRleHRNZW51LmpzCkBAIC0zOCw3ICszOCw3IEBAIFdlYkluc3BlY3Rvci5D
b250ZXh0TWVudUl0ZW0gPSBmdW5jdGlvbih0b3BMZXZlbE1lbnUsIHR5cGUsIGxhYmVsLCBkaXNh
YmxlZCwgY2hlCiAgICAgdGhpcy5fY29udGV4dE1lbnUgPSB0b3BMZXZlbE1lbnU7CiAgICAgaWYg
KHR5cGUgPT09ICJpdGVtIiB8fCB0eXBlID09PSAiY2hlY2tib3giKQogICAgICAgICB0aGlzLl9p
ZCA9IHRvcExldmVsTWVudS5uZXh0SWQoKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5Db250ZXh0
TWVudUl0ZW0ucHJvdG90eXBlID0gewogICAgIGlkOiBmdW5jdGlvbigpCkBAIC03MiwxMyArNzIs
MTMgQEAgV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51SXRlbS5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICByZXR1cm4geyB0eXBlOiAiY2hlY2tib3giLCBpZDogdGhpcy5faWQsIGxhYmVsOiB0aGlz
Ll9sYWJlbCwgY2hlY2tlZDogISF0aGlzLl9jaGVja2VkLCBlbmFibGVkOiAhdGhpcy5fZGlzYWJs
ZWQgfTsKICAgICAgICAgfQogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5Db250ZXh0U3Vi
TWVudUl0ZW0gPSBmdW5jdGlvbih0b3BMZXZlbE1lbnUsIGxhYmVsLCBkaXNhYmxlZCkKIHsKICAg
ICBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnVJdGVtLmNhbGwodGhpcywgdG9wTGV2ZWxNZW51LCAi
c3ViTWVudSIsIGxhYmVsLCBkaXNhYmxlZCk7CiAgICAgdGhpcy5faXRlbXMgPSBbXTsKLX0KK307
CiAKIFdlYkluc3BlY3Rvci5Db250ZXh0U3ViTWVudUl0ZW0ucHJvdG90eXBlID0gewogICAgIGFw
cGVuZEl0ZW06IGZ1bmN0aW9uKGxhYmVsLCBoYW5kbGVyLCBkaXNhYmxlZCkKQEAgLTEzMywxNCAr
MTMzLDE0IEBAIFdlYkluc3BlY3Rvci5Db250ZXh0U3ViTWVudUl0ZW0ucHJvdG90eXBlID0gewog
ICAgIH0sCiAKICAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudUl0ZW0ucHJv
dG90eXBlCi19Cit9OwogCiBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUgPSBmdW5jdGlvbihldmVu
dCkgewogICAgIFdlYkluc3BlY3Rvci5Db250ZXh0U3ViTWVudUl0ZW0uY2FsbCh0aGlzLCB0aGlz
LCAiIik7CiAgICAgdGhpcy5fZXZlbnQgPSBldmVudDsKICAgICB0aGlzLl9oYW5kbGVycyA9IHt9
OwogICAgIHRoaXMuX2lkID0gMDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5Db250ZXh0TWVudS5w
cm90b3R5cGUgPSB7CiAKQEAgLTIxNCwyMCArMjE0LDIwIEBAIFdlYkluc3BlY3Rvci5Db250ZXh0
TWVudS5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LkNvbnRleHRTdWJNZW51SXRlbS5wcm90b3R5cGUKLX0KK307CiAKIFdlYkluc3BlY3Rvci5Db250
ZXh0TWVudS5Qcm92aWRlciA9IGZ1bmN0aW9uKCkKIHsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5D
b250ZXh0TWVudS5Qcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAgYXBwZW5kQXBwbGljYWJsZUl0
ZW1zOiBmdW5jdGlvbihldmVudCwgY29udGV4dE1lbnUsIHRhcmdldCkgeyB9Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUucmVnaXN0ZXJQcm92aWRlciA9IGZ1bmN0aW9uKHByb3Zp
ZGVyKQogewogICAgIFdlYkluc3BlY3Rvci5Db250ZXh0TWVudS5fcHJvdmlkZXJzLnB1c2gocHJv
dmlkZXIpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51Ll9wcm92aWRlcnMgPSBb
XTsKIApAQCAtMjM1LDEwICsyMzUsMTAgQEAgV2ViSW5zcGVjdG9yLmNvbnRleHRNZW51SXRlbVNl
bGVjdGVkID0gZnVuY3Rpb24oaWQpCiB7CiAgICAgaWYgKFdlYkluc3BlY3Rvci5fY29udGV4dE1l
bnUpCiAgICAgICAgIFdlYkluc3BlY3Rvci5fY29udGV4dE1lbnUuX2l0ZW1TZWxlY3RlZChpZCk7
Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuY29udGV4dE1lbnVDbGVhcmVkID0gZnVuY3Rpb24oKQog
ewogICAgIC8vIEZJWE1FOiBVbmZvcnR1bmF0ZWx5LCBjb250ZXh0TWVudUNsZWFyZWQgaXMgaW52
b2tlZCBiZXR3ZWVuIHNob3cgYW5kIGl0ZW0gc2VsZWN0ZWQKICAgICAvLyBzbyB3ZSBjYW4ndCBk
ZWxldGUgbGFzdCBtZW51IG9iamVjdCBmcm9tIFdlYkluc3BlY3Rvci4gRml4IHRoZSBjb250cmFj
dC4KLX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IGViOWM3OTQuLjQxNTZkN2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRy
ZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC00MCw3ICs0MCw3IEBAIFdlYkluc3BlY3Rvci5ET01U
cmVlRWxlbWVudCA9IGZ1bmN0aW9uKG5vZGUsIGVsZW1lbnRDbG9zZVRhZykKICAgICAgICAgdGhp
cy5fY2FuQWRkQXR0cmlidXRlcyA9IHRydWU7CiAgICAgdGhpcy5fc2VhcmNoUXVlcnkgPSBudWxs
OwogICAgIHRoaXMuX2V4cGFuZGVkQ2hpbGRyZW5MaW1pdCA9IFdlYkluc3BlY3Rvci5ET01UcmVl
RWxlbWVudC5Jbml0aWFsQ2hpbGRyZW5MaW1pdDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5ET01U
cmVlRWxlbWVudC5Jbml0aWFsQ2hpbGRyZW5MaW1pdCA9IDUwMDsKIFdlYkluc3BlY3Rvci5ET01U
cmVlRWxlbWVudC5NYXhpbXVtSW5saW5lVGV4dENoaWxkTGVuZ3RoID0gODA7CkBAIC0xMjk3LDYg
KzEyOTcsNiBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAg
ICAgICBpZiAoZXZlbnQudHlwZSA9PT0gImRyYWdzdGFydCIgJiYgdGhpcy5fZWRpdGluZykKICAg
ICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgfQotfQorfTsKIAogV2ViSW5z
cGVjdG9yLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVudC5w
cm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVPdXRsaW5lLmpzCmluZGV4IDJiZjJkMTQuLjA3Yzk3NTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRy
ZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVPdXRsaW5lLmpzCkBAIC02MSw3ICs2MSw3IEBAIFdlYkluc3BlY3Rvci5ET01U
cmVlT3V0bGluZSA9IGZ1bmN0aW9uKG9taXRSb290RE9NTm9kZSwgc2VsZWN0RW5hYmxlZCwgc2hv
d0luRWxlCiAgICAgdGhpcy5faGlkZUVsZW1lbnRLZXlib2FyZFNob3J0Y3V0LmltcGxpY2l0bHlQ
cmV2ZW50c0RlZmF1bHQgPSBmYWxzZTsKIAogICAgIFdlYkluc3BlY3Rvci5zaG93U2hhZG93RE9N
U2V0dGluZy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TZXR0aW5nLkV2ZW50LkNoYW5n
ZWQsIHRoaXMuX3Nob3dTaGFkb3dET01TZXR0aW5nQ2hhbmdlZCwgdGhpcyk7Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuT2JqZWN0LmFkZENvbnN0cnVjdG9yRnVuY3Rpb25zKFdlYkluc3BlY3Rvci5E
T01UcmVlT3V0bGluZSk7CiAKQEAgLTY5LDcgKzY5LDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVP
dXRsaW5lLlN0eWxlQ2xhc3NOYW1lID0gImRvbS10cmVlLW91dGxpbmUiOwogCiBXZWJJbnNwZWN0
b3IuRE9NVHJlZU91dGxpbmUuRXZlbnQgPSB7CiAgICAgU2VsZWN0ZWROb2RlQ2hhbmdlZDogImRv
bS10cmVlLW91dGxpbmUtc2VsZWN0ZWQtbm9kZS1jaGFuZ2VkIgotfQorfTsKIAogV2ViSW5zcGVj
dG9yLkRPTVRyZWVPdXRsaW5lLnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5z
cGVjdG9yLkRPTVRyZWVPdXRsaW5lLApAQCAtNTc3LDYgKzU3Nyw2IEBAIFdlYkluc3BlY3Rvci5E
T01UcmVlT3V0bGluZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
dG9nZ2xlUHJvcGVydGllcy5jYWxsKHRoaXMpOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5ET01UcmVlT3V0bGluZS5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZU91dGxpbmUucHJvdG90
eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRE9NVHJlZVVwZGF0ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01UcmVlVXBkYXRlci5qcwppbmRleCA0NDdlNGExLi5jZDI1MDBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlVXBk
YXRlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlVXBkYXRlci5qcwpAQCAtNDAsNyArNDAsNyBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZVVw
ZGF0ZXIgPSBmdW5jdGlvbih0cmVlT3V0bGluZSkKIAogICAgIHRoaXMuX3RyZWVPdXRsaW5lID0g
dHJlZU91dGxpbmU7CiAgICAgdGhpcy5fcmVjZW50bHlNb2RpZmllZE5vZGVzID0gW107Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuRE9NVHJlZVVwZGF0ZXIucHJvdG90eXBlID0gewogICAgIGNsb3Nl
OiBmdW5jdGlvbigpCkBAIC0xMzcsNCArMTM3LDQgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVVcGRh
dGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLmhp
ZGVET01Ob2RlSGlnaGxpZ2h0KCk7CiAgICAgICAgIHRoaXMuX3JlY2VudGx5TW9kaWZpZWROb2Rl
cyA9IFtdOwogICAgIH0KLX0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9EYXRhYmFzZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YWJhc2VDb250ZW50Vmlldy5qcwppbmRl
eCAwN2RiZGIzLi5iYTVhZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EYXRhYmFzZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFiYXNlQ29udGVudFZpZXcuanMKQEAg
LTQxLDcgKzQxLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFiYXNlQ29udGVudFZpZXcgPSBmdW5jdGlv
bihyZXByZXNlbnRlZE9iamVjdCkKICAgICB0aGlzLl9wcm9tcHRFbGVtZW50LmFwcGVuZENoaWxk
KHRoaXMucHJvbXB0LmVsZW1lbnQpOwogCiAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgdGhpcy5fbWVzc2FnZXNDbGlja2VkLmJpbmQodGhpcyksIHRydWUpOwotfQor
fTsKIAogV2ViSW5zcGVjdG9yLkRhdGFiYXNlQ29udGVudFZpZXcuRXZlbnQgPSB7CiAgICAgU2No
ZW1hVXBkYXRlZDogIlNjaGVtYVVwZGF0ZWQiCkBAIC0xNzcsNiArMTc3LDYgQEAgV2ViSW5zcGVj
dG9yLkRhdGFiYXNlQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAgICBlbGVtZW50LmFw
cGVuZENoaWxkKHJlc3VsdEVsZW1lbnQpOwogICAgICAgICByZXR1cm4gcmVzdWx0RWxlbWVudDsK
ICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuRGF0YWJhc2VDb250ZW50Vmlldy5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LnByb3RvdHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0VkaXRpbmdT
dXBwb3J0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWRp
dGluZ1N1cHBvcnQuanMKaW5kZXggOGU2ZTAzOS4uNTM4YThkYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWRpdGluZ1N1cHBvcnQuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRWRpdGluZ1N1cHBv
cnQuanMKQEAgLTMyLDcgKzMyLDcgQEAgV2ViSW5zcGVjdG9yLmlzQmVpbmdFZGl0ZWQgPSBmdW5j
dGlvbihlbGVtZW50KQogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKLX0KK307CiAKIFdlYklu
c3BlY3Rvci5tYXJrQmVpbmdFZGl0ZWQgPSBmdW5jdGlvbihlbGVtZW50LCB2YWx1ZSkKIHsKQEAg
LTQ4LDEyICs0OCwxMiBAQCBXZWJJbnNwZWN0b3IubWFya0JlaW5nRWRpdGVkID0gZnVuY3Rpb24o
ZWxlbWVudCwgdmFsdWUpCiAgICAgICAgIC0tV2ViSW5zcGVjdG9yLl9fZWRpdGluZ0NvdW50Owog
ICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5pc0VkaXRpbmdB
bnlGaWVsZCA9IGZ1bmN0aW9uKCkKIHsKICAgICByZXR1cm4gISFXZWJJbnNwZWN0b3IuX19lZGl0
aW5nQ291bnQ7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuaXNFdmVudFRhcmdldEFuRWRpdGFibGVG
aWVsZCA9IGZ1bmN0aW9uKGV2ZW50KQogewpAQCAtNzIsNyArNzIsNyBAQCBXZWJJbnNwZWN0b3Iu
aXNFdmVudFRhcmdldEFuRWRpdGFibGVGaWVsZCA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVybiBmYWxzZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5F
ZGl0aW5nQ29uZmlnID0gZnVuY3Rpb24oY29tbWl0SGFuZGxlciwgY2FuY2VsSGFuZGxlciwgY29u
dGV4dCkKIHsKQEAgLTgzLDcgKzgzLDcgQEAgV2ViSW5zcGVjdG9yLkVkaXRpbmdDb25maWcgPSBm
dW5jdGlvbihjb21taXRIYW5kbGVyLCBjYW5jZWxIYW5kbGVyLCBjb250ZXh0KQogICAgIHRoaXMu
bXVsdGlsaW5lOwogICAgIHRoaXMuY3VzdG9tRmluaXNoSGFuZGxlcjsKICAgICB0aGlzLnNwZWxs
Y2hlY2sgPSBmYWxzZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnLnByb3Rv
dHlwZSA9IHsKICAgICBzZXRQYXN0ZUhhbmRsZXI6IGZ1bmN0aW9uKHBhc3RlSGFuZGxlcikKQEAg
LTEwMCw3ICsxMDAsNyBAQCBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZy5wcm90b3R5cGUgPSB7
CiAgICAgewogICAgICAgICB0aGlzLmN1c3RvbUZpbmlzaEhhbmRsZXIgPSBjdXN0b21GaW5pc2hI
YW5kbGVyOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcgPSBmdW5j
dGlvbihlbGVtZW50LCBjb25maWcpCiB7CkBAIC0yMzUsNCArMjM1LDQgQEAgV2ViSW5zcGVjdG9y
LnN0YXJ0RWRpdGluZyA9IGZ1bmN0aW9uKGVsZW1lbnQsIGNvbmZpZykKICAgICAgICAgY2FuY2Vs
OiBlZGl0aW5nQ2FuY2VsbGVkLmJpbmQoZWxlbWVudCksCiAgICAgICAgIGNvbW1pdDogZWRpdGlu
Z0NvbW1pdHRlZC5iaW5kKGVsZW1lbnQpCiAgICAgfTsKLX0KK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlz
dGVuZXJTZWN0aW9uLmpzCmluZGV4IGU3NGI0NTQuLjljYzM4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9u
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50
TGlzdGVuZXJTZWN0aW9uLmpzCkBAIC0zMCw3ICszMCw3IEBAIFdlYkluc3BlY3Rvci5FdmVudExp
c3RlbmVyU2VjdGlvbiA9IGZ1bmN0aW9uKHR5cGUsIG5vZGVJZCkKICAgICB0aGlzLmVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgiZXZlbnQtbGlzdGVuZXItc2VjdGlvbiIpOwogCiAgICAgdGhpcy5fbm9k
ZUlkID0gbm9kZUlkOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9u
LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVu
ZXJTZWN0aW9uLApAQCAtNDEsNiArNDEsNiBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lclNl
Y3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICBncm91cHMucHVzaChuZXcgV2ViSW5zcGVjdG9y
LkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAoZXZlbnRMaXN0ZW5lciwgdGhpcy5fbm9kZUlkKSk7
CiAgICAgICAgIHRoaXMuZ3JvdXBzID0gZ3JvdXBzOwogICAgIH0KLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5FdmVudExpc3RlbmVyU2VjdGlvbi5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkRldGFpbHNTZWN0aW9uLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVy
U2VjdGlvbkdyb3VwLmpzCmluZGV4IDJkOGVjOTAuLjllNGMzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9u
R3JvdXAuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcwpAQCAtMzQsNyArMzQsNyBAQCBXZWJJbnNwZWN0
b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCA9IGZ1bmN0aW9uKGV2ZW50TGlzdGVuZXIsIG5v
ZGVJZCkKICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBs
ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUiKSwgdGhpcy5fdHlwZSgpKSk7CiAKICAg
ICBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Hcm91cC5jYWxsKHRoaXMsIHJvd3MpOwotfQor
fTsKIAogV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAucHJvdG90eXBlID0g
ewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91
cCwKQEAgLTk2LDYgKzk2LDYgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3Jv
dXAucHJvdG90eXBlID0gewogICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShmdW5jdGlvbk5hbWUpKTsKICAgICAgICAgcmV0dXJuIGZyYWdtZW50Owog
ICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Hcm91cC5wcm90
b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9GaW5kQmFubmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRmluZEJhbm5lci5qcwppbmRleCAzNTI2YmEwLi5mOGFkODZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9GaW5kQmFubmVyLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbmRCYW5uZXIu
anMKQEAgLTEwMSw3ICsxMDEsNyBAQCBXZWJJbnNwZWN0b3IuRmluZEJhbm5lci5TZWdtZW50R2x5
cGhTdHlsZUNsYXNzTmFtZSA9ICJnbHlwaCI7CiBXZWJJbnNwZWN0b3IuRmluZEJhbm5lci5FdmVu
dCA9IHsKICAgICBEaWRTaG93OiAiZmluZC1iYW5uZXItZGlkLXNob3ciLAogICAgIERpZEhpZGU6
ICJmaW5kLWJhbm5lci1kaWQtaGlkZSIKLX0KK307CiAKIFdlYkluc3BlY3Rvci5GaW5kQmFubmVy
LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkZpbmRCYW5uZXIs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9H
ZW5lcmFsVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9HZW5lcmFsVHJlZUVsZW1lbnQuanMKaW5kZXggZGEyYmQ4NS4uYWZlZTVkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJh
bFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5qcwpAQCAtMzMsNyArMzMsNyBAQCBXZWJJbnNwZWN0
b3IuR2VuZXJhbFRyZWVFbGVtZW50ID0gZnVuY3Rpb24oY2xhc3NOYW1lcywgdGl0bGUsIHN1YnRp
dGxlLCByZXByZXNlbgogICAgIHRoaXMuX21haW5UaXRsZSA9IHRpdGxlIHx8ICIiOwogICAgIHRo
aXMuX3N1YnRpdGxlID0gc3VidGl0bGUgfHwgIiI7CiAgICAgdGhpcy5fc3RhdHVzID0gIiI7Ci19
Cit9OwogCiBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50LlN0eWxlQ2xhc3NOYW1lID0g
Iml0ZW0iOwogV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudC5EaXNjbG9zdXJlQnV0dG9u
U3R5bGVDbGFzc05hbWUgPSAiZGlzY2xvc3VyZS1idXR0b24iOwpAQCAtMzkzLDYgKzM5Myw2IEBA
IFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICB9
IGVsc2UKICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0VsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlz
Ll9zdGF0dXM7CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVu
dC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR29Ub0xpbmVEaWFs
b2cuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Hb1RvTGlu
ZURpYWxvZy5qcwppbmRleCAxOGRiZDM1Li4xYTVlMTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Hb1RvTGluZURpYWxvZy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Hb1RvTGluZURpYWxvZy5q
cwpAQCAtNDQsNyArNDQsNyBAQCBXZWJJbnNwZWN0b3IuR29Ub0xpbmVEaWFsb2cgPSBmdW5jdGlv
bigpCiAgICAgdGhpcy5faW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsIHRoaXMpOwogICAg
IHRoaXMuX2NsZWFySWNvbi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzKTsKICAg
ICB0aGlzLl9jbGVhckljb24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzKTsKLX0KK307
CiAKIFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxvZy5TdHlsZUNsYXNzTmFtZSA9ICJnby10by1s
aW5lLWRpYWxvZyI7CiBXZWJJbnNwZWN0b3IuR29Ub0xpbmVEaWFsb2cuTm9uRW1wdHlDbGFzc05h
bWUgPSAibm9uLWVtcHR5IjsKQEAgLTE1Niw0ICsxNTYsNCBAQCBXZWJJbnNwZWN0b3IuR29Ub0xp
bmVEaWFsb2cucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9pbnB1dC52YWx1ZSA9ICIiOwog
ICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLkdvVG9M
aW5lRGlhbG9nLk5vbkVtcHR5Q2xhc3NOYW1lKTsKICAgICB9Ci19Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW5kZXRlcm1pbmF0ZVBy
b2dyZXNzU3Bpbm5lci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0luZGV0ZXJtaW5hdGVQcm9ncmVzc1NwaW5uZXIuanMKaW5kZXggMDBiY2FmOC4uOTQ5OGJk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
SW5kZXRlcm1pbmF0ZVByb2dyZXNzU3Bpbm5lci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9JbmRldGVybWluYXRlUHJvZ3Jlc3NTcGlubmVyLmpzCkBA
IC0yOSw3ICsyOSw3IEBAIFdlYkluc3BlY3Rvci5JbmRldGVybWluYXRlUHJvZ3Jlc3NTcGlubmVy
ID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLklu
ZGV0ZXJtaW5hdGVQcm9ncmVzc1NwaW5uZXIuU3R5bGVDbGFzc05hbWU7Ci19Cit9OwogCiBXZWJJ
bnNwZWN0b3IuSW5kZXRlcm1pbmF0ZVByb2dyZXNzU3Bpbm5lci5TdHlsZUNsYXNzTmFtZSA9ICJp
bmRldGVybWluYXRlLXByb2dyZXNzLXNwaW5uZXIiOwogCkBAIC00Miw2ICs0Miw2IEBAIFdlYklu
c3BlY3Rvci5JbmRldGVybWluYXRlUHJvZ3Jlc3NTcGlubmVyLnByb3RvdHlwZSA9IHsKICAgICB7
CiAgICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50OwogICAgIH0KLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5JbmRldGVybWluYXRlUHJvZ3Jlc3NTcGlubmVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWQuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXlvdXRUaW1lbGluZURh
dGFHcmlkLmpzCmluZGV4IGY0NDc3NzEuLjM1ZjgyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWQuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5b3V0VGlt
ZWxpbmVEYXRhR3JpZC5qcwpAQCAtMzAsNyArMzAsNyBAQCBXZWJJbnNwZWN0b3IuTGF5b3V0VGlt
ZWxpbmVEYXRhR3JpZCA9IGZ1bmN0aW9uKHRyZWVPdXRsaW5lLCBjb2x1bW5zLCBkZWxlZ2F0ZSwg
ZQogICAgIHRoaXMuX3Nob3dpbmdIaWdobGlnaHQgPSBmYWxzZTsKIAogICAgIHRoaXMuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnQuU2VsZWN0ZWROb2RlQ2hhbmdl
ZCwgdGhpcy5fbGF5b3V0RGF0YUdyaWRTZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzKTsKLX0KK307
CiAKIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAg
ICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWQsCkBAIC05
Miw2ICs5Miw2IEBAIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlkLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3Nob3dpbmdIaWdobGlnaHQgPSBmYWxzZTsKICAgICAg
ICAgfQogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5MYXlvdXRUaW1lbGluZURhdGFHcmlk
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZC5wcm90
b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDNlNmNlZTQuLjIyZThjNGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRl
bnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC04Nyw3ICs4Nyw3IEBAIFdlYkluc3BlY3Rvci5Mb2dDb250
ZW50VmlldyA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogICAgIFdlYkluc3BlY3Rvci5s
b2dNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkxvZ01hbmFnZXIuRXZlbnQu
TWVzc2FnZUFkZGVkLCB0aGlzLl9tZXNzYWdlQWRkZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rv
ci5sb2dNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkxvZ01hbmFnZXIuRXZl
bnQuUHJldmlvdXNNZXNzYWdlUmVwZWF0Q291bnRVcGRhdGVkLCB0aGlzLl9wcmV2aW91c01lc3Nh
Z2VSZXBlYXRDb3VudFVwZGF0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5sb2dNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkxvZ01hbmFnZXIuRXZlbnQuQWN0aXZlTG9n
Q2xlYXJlZCwgdGhpcy5fYWN0aXZlTG9nQ2xlYXJlZCwgdGhpcyk7Ci19Cit9OwogCiBXZWJJbnNw
ZWN0b3IuTG9nQ29udGVudFZpZXcuU2NvcGVzID0gewogICAgIEFsbDogImxvZy1hbGwiLApAQCAt
NDIyLDcgKzQyMiw3IEBAIFdlYkluc3BlY3Rvci5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICB0aGlzLl9jbGVhck1lc3NhZ2VzU2VsZWN0aW9uKCk7CiAKICAgICAgICAg
ICAgIC8vIEZvY3VzIHRoZSBwcm9tcHQuIEZvY3VzaW5nIHRoZSBwcm9tcHQgbmVlZHMgdG8gaGFw
cGVuIGFmdGVyIHRoZSBjbGljayB0byB3b3JrLgotICAgICAgICAgICAgc2V0VGltZW91dChmdW5j
dGlvbiAoKSB7IHRoaXMucHJvbXB0LmZvY3VzKCkgfS5iaW5kKHRoaXMpLCAwKTsKKyAgICAgICAg
ICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyB0aGlzLnByb21wdC5mb2N1cygpOyB9LmJpbmQo
dGhpcyksIDApOwogICAgICAgICB9CiAKICAgICAgICAgZGVsZXRlIHRoaXMuX21vdXNlTW92ZUlz
Um93U2VsZWN0aW9uOwpAQCAtOTQ4LDYgKzk0OCw2IEBAIFdlYkluc3BlY3Rvci5Mb2dDb250ZW50
Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fZW5zdXJlTWVzc2FnZUlzVmlzaWJs
ZSh0aGlzLl9zZWxlY3RlZFNlYXJjaE1hdGNoLm1lc3NhZ2UpOwogICAgIH0KLX0KK307CiAKIFdl
Ykluc3BlY3Rvci5Mb2dDb250ZW50Vmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkNvbnRlbnRWaWV3LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25JdGVtLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvbkl0ZW0uanMKaW5kZXggNTlk
MDk5ZC4uZjU3M2Y4NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25JdGVtLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25JdGVtLmpzCkBAIC0xMDQsNiArMTA0LDYg
QEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25JdGVtLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IGNsYXNzTmFtZXMgPSBjbGFzc05hbWVzLmNvbmNhdCh0aGlzLl9hZGRpdGlvbmFsQ2xhc3NOYW1l
cyk7CiAgICAgICAgIHJldHVybiBjbGFzc05hbWVzOwogICAgIH0KLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5OYXZpZ2F0aW9uSXRlbS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9i
amVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmlu
ZGV4IDI4ZmYzZWYuLmEwMzA0ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL09iamVjdFByb3BlcnRpZXNTZWN0
aW9uLmpzCkBAIC0zMyw3ICszMyw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2Vj
dGlvbiA9IGZ1bmN0aW9uKG9iamVjdCwgdGl0bGUsIHN1YnRpdGxlLCBlbXB0eVBsCiAgICAgdGhp
cy5lZGl0YWJsZSA9IHRydWU7CiAKICAgICBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24u
Y2FsbCh0aGlzLCB0aXRsZSwgc3VidGl0bGUpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLk9iamVj
dFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICBvbnBvcHVsYXRlOiBmdW5jdGlv
bigpCkBAIC04OCw3ICs4OCw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bi5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlNlY3Rpb24uRXZlbnQuVmlzaWJsZUNvbnRlbnREaWRDaGFuZ2UpOwogICAg
IH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZTsK
IApAQCAtMTM1LDcgKzEzNSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bi5Db21wYXJlUHJvcGVydGllcyA9IGZ1bmN0aW9uKHByb3BlcnR5QSwgcHJvCiAgICAgICAgIGIg
PSBiLnN1YnN0cmluZyhjaHVua2IubGVuZ3RoKTsKICAgICB9CiAgICAgcmV0dXJuIGRpZmY7Ci19
Cit9OwogCiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudCA9IGZ1bmN0aW9u
KHByb3BlcnR5KQogewpAQCAtMTQ1LDcgKzE0NSw3IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9w
ZXJ0eVRyZWVFbGVtZW50ID0gZnVuY3Rpb24ocHJvcGVydHkpCiAgICAgVHJlZUVsZW1lbnQuY2Fs
bCh0aGlzLCAiIiwgbnVsbCwgZmFsc2UpOwogICAgIHRoaXMudG9nZ2xlT25DbGljayA9IHRydWU7
CiAgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuT2Jq
ZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgb25wb3B1bGF0ZTogZnVu
Y3Rpb24oKQpAQCAtMzM4LDYgKzMzOCw2IEBAIFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRy
ZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgfTsKICAgICAgICAgdGhpcy5wcm9wZXJ0
eS5wYXJlbnRPYmplY3Quc2V0UHJvcGVydHlWYWx1ZSh0aGlzLnByb3BlcnR5Lm5hbWUsIGV4cHJl
c3Npb24udHJpbSgpLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKICAgICB9Ci19Cit9OwogCiBXZWJJ
bnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0g
VHJlZUVsZW1lbnQucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREZXRhaWxzU2VjdGlvbi5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGV0YWlsc1NlY3Rpb24u
anMKaW5kZXggNTg3MzVmZi4uNzdhYTIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREZXRhaWxzU2VjdGlvbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZVNldERldGFpbHNT
ZWN0aW9uLmpzCkBAIC0xMjcsNyArMTI3LDcgQEAgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGV0YWls
c1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICBjb250ZW50LmNyZWF0ZUNoaWxkKCJkaXYi
KS50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWRkIE5ldyBQcm9iZSBFeHBy
ZXNzaW9uIik7CiAgICAgICAgIHZhciB0ZXh0Qm94ID0gY29udGVudC5jcmVhdGVDaGlsZCgiaW5w
dXQiKTsKICAgICAgICAgdGV4dEJveC5hZGRFdmVudExpc3RlbmVyKCJrZXlwcmVzcyIsIGNyZWF0
ZVByb2JlRnJvbUVudGVyZWRFeHByZXNzaW9uLmJpbmQodGhpcywgcG9wb3ZlcikpOwotICAgICAg
ICB0ZXh0Qm94LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKGV2ZW50KSB7ZXZl
bnQudGFyZ2V0LnNlbGVjdCgpfSk7CisgICAgICAgIHRleHRCb3guYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBmdW5jdGlvbiAoZXZlbnQpIHsgZXZlbnQudGFyZ2V0LnNlbGVjdCgpOyB9KTsKICAg
ICAgICAgdGV4dEJveC50eXBlID0gInRleHQiOwogICAgICAgICB0ZXh0Qm94LnBsYWNlaG9sZGVy
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFeHByZXNzaW9uIik7CiAgICAgICAgIHBvcG92ZXIu
Y29udGVudCA9IGNvbnRlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Qcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IGMzZTg5
ZjUuLjU3MTQ3MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Byb3BlcnRpZXNTZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC0zNCw2ICszNCw2
IEBAIFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbiA9IGZ1bmN0aW9uKHRpdGxlLCBzdWJ0
aXRsZSkKICAgICBXZWJJbnNwZWN0b3IuU2VjdGlvbi5jYWxsKHRoaXMsIHRpdGxlLCBzdWJ0aXRs
ZSk7CiAKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5wcm9wZXJ0aWVzRWxlbWVu
dCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TZWN0aW9uLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVHJlZUVsZW1l
bnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJj
ZVRyZWVFbGVtZW50LmpzCmluZGV4IDJjMzhmMzUuLmNlNTkyNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlVHJlZUVsZW1lbnQu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3Vy
Y2VUcmVlRWxlbWVudC5qcwpAQCAtNTcsNyArNTcsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VU
cmVlRWxlbWVudC5jb21wYXJlUmVzb3VyY2VUcmVlRWxlbWVudHMgPSBmdW5jdGlvbihhLCBiKQog
CiAgICAgLy8gQ29tcGFyZSBieSB0aXRsZSB3aGVuIHRoZSBzdWJ0aXRsZXMgYXJlIHRoZSBzYW1l
LgogICAgIHJldHVybiBhLm1haW5UaXRsZS5sb2NhbGVDb21wYXJlKGIubWFpblRpdGxlKTsKLX0K
K307CiAKIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LmNvbXBhcmVGb2xkZXJBbmRS
ZXNvdXJjZVRyZWVFbGVtZW50cyA9IGZ1bmN0aW9uKGEsIGIpCiB7CkBAIC03Miw3ICs3Miw3IEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LmNvbXBhcmVGb2xkZXJBbmRSZXNvdXJj
ZVRyZWVFbGVtZW50cyA9IGZ1bmN0aW9uCiAgICAgICAgIHJldHVybiBhLm1haW5UaXRsZS5sb2Nh
bGVDb21wYXJlKGIubWFpblRpdGxlKTsKIAogICAgIHJldHVybiBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VUcmVlRWxlbWVudC5jb21wYXJlUmVzb3VyY2VUcmVlRWxlbWVudHMoYSwgYik7Ci19Cit9Owog
CiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgY29u
c3RydWN0b3I6IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxpbmVE
YXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
cmlwdFRpbWVsaW5lRGF0YUdyaWQuanMKaW5kZXggMzU5YzNjMi4uMDIyM2EyOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NyaXB0VGltZWxp
bmVEYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkLmpzCkBAIC0yNiw3ICsyNiw3IEBACiBXZWJJbnNw
ZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZCA9IGZ1bmN0aW9uKHRyZWVPdXRsaW5lLCBjb2x1
bW5zLCBkZWxlZ2F0ZSwgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFjaykKIHsKICAgICBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZC5jYWxsKHRoaXMsIHRyZWVPdXRsaW5lLCBjb2x1bW5z
LCBkZWxlZ2F0ZSwgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFjayk7Ci19Cit9OwogCiBXZWJJ
bnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgY29uc3Ry
dWN0b3I6IFdlYkluc3BlY3Rvci5TY3JpcHRUaW1lbGluZURhdGFHcmlkLApAQCAtMzcsNiArMzcs
NiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0VGltZWxpbmVEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE5vZGUuZWxlbWVudFdpdGhDb2x1bW5J
ZGVudGlmaWVyKCJsb2NhdGlvbiIpOwogICAgIH0KLX0KK307CiAKIFdlYkluc3BlY3Rvci5TY3Jp
cHRUaW1lbGluZURhdGFHcmlkLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVEYXRhR3JpZC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFJlc3VsdFRyZWVFbGVt
ZW50LmpzCmluZGV4IGQ2NjhkMGYuLjNiMzI3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFJlc3VsdFRyZWVFbGVtZW50LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFJlc3Vs
dFRyZWVFbGVtZW50LmpzCkBAIC04Niw0ICs4Niw0IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hSZXN1
bHRUcmVlRWxlbWVudC50cnVuY2F0ZUFuZEhpZ2hsaWdodFRpdGxlID0gZnVuY3Rpb24odGl0bGUs
CiAgICAgaGlnaGxpZ2h0ZWRUaXRsZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShtb2RpZmllZFRpdGxlLnN1YnN0cmluZyhzZWFyY2hUZXJtSW5kZXggKyBzZWFyY2hUZXJtLmxl
bmd0aCkpKTsKIAogICAgIHJldHVybiBoaWdobGlnaHRlZFRpdGxlOwotfQorfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVs
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVJ1bGVyLmpzCmluZGV4IGIxZWZkYmQuLmJlYTJhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qcwpA
QCAtNTAsNyArNTAsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGZ1bmN0aW9uKCkK
ICAgICB0aGlzLl9hbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24gPSBmYWxzZTsKIAogICAgIHRoaXMu
X21hcmtlckVsZW1lbnRNYXAgPSBuZXcgTWFwOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUnVsZXIuTWluaW11bUxlZnREaXZpZGVyU3BhY2luZyA9IDQ4OwogV2ViSW5zcGVjdG9yLlRp
bWVsaW5lUnVsZXIuTWluaW11bURpdmlkZXJTcGFjaW5nID0gNjQ7CkBAIC04Niw3ICs4Niw3IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZSA9IHsKIAogICAgIGdldCBhbGxv
d3NDbGlwcGVkTGFiZWxzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9hbGxvd3NDbGlw
cGVkTGFiZWxzCisgICAgICAgIHJldHVybiB0aGlzLl9hbGxvd3NDbGlwcGVkTGFiZWxzOwogICAg
IH0sCiAKICAgICBzZXQgYWxsb3dzQ2xpcHBlZExhYmVscyh4KQpAQCAtNjY0LDcgKzY2NCw3IEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAg
ICB0aGlzLnNlbGVjdGlvblN0YXJ0VGltZSA9IHRoaXMuc2VsZWN0aW9uRW5kVGltZSAtIFdlYklu
c3BlY3Rvci5UaW1lbGluZVJ1bGVyLk1pbmltdW1TZWxlY3Rpb25UaW1lUmFuZ2U7CiAgICAgICAg
ICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lID0g
TWF0aC5tYXgodGhpcy5zdGFydFRpbWUsIHRoaXMuc2VsZWN0aW9uRW5kVGltZSAtIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJ1bGVyLk1pbmltdW1TZWxlY3Rpb25UaW1lUmFuZ2UpOwotICAgICAgICAg
ICAgICAgIHRoaXMuc2VsZWN0aW9uRW5kVGltZSA9IHRoaXMuc2VsZWN0aW9uU3RhcnRUaW1lICsg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIuTWluaW11bVNlbGVjdGlvblRpbWVSYW5nZQorICAg
ICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uRW5kVGltZSA9IHRoaXMuc2VsZWN0aW9uU3RhcnRU
aW1lICsgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIuTWluaW11bVNlbGVjdGlvblRpbWVSYW5n
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC03NTUsNiArNzU1LDYgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlID0gewogICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICB9Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Ub29sYmFyLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVG9vbGJhci5qcwppbmRleCA1ZWJmYzVkLi5hNmFiMWZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
b29sYmFyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Rvb2xiYXIuanMKQEAgLTE0NSw3ICsxNDUsNyBAQCBXZWJJbnNwZWN0b3IuVG9vbGJhci5wcm90
b3R5cGUgPSB7CiAKICAgICAgICAgLy8gRm9yY2UgY29sbGFwc2VkIHN0eWxlIGZvciBKYXZhU2Ny
aXB0IGRlYnVnZ2FibGVzLgogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRlYnVnZ2FibGVUeXBl
ID09PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJsZVR5cGUuSmF2YVNjcmlwdCkgewotICAgICAgICAg
ICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFy
LkNvbGxhcHNlZFN0eWxlQ2xhc3NOYW1lKQorICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyLkNvbGxhcHNlZFN0eWxlQ2xhc3NO
YW1lKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmlu
ZGV4IGIxOTRiYjEuLjM1ZjQxODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzCkBAIC05Myw3ICs5Myw3IEBA
IFRyZWVPdXRsaW5lLnByb3RvdHlwZS5hcHBlbmRDaGlsZCA9IGZ1bmN0aW9uKGNoaWxkKQogCiAg
ICAgaWYgKGlzRmlyc3RDaGlsZCAmJiB0aGlzLmV4cGFuZGVkKQogICAgICAgICB0aGlzLmV4cGFu
ZCgpOwotfQorfTsKIAogVHJlZU91dGxpbmUucHJvdG90eXBlLmluc2VydENoaWxkID0gZnVuY3Rp
b24oY2hpbGQsIGluZGV4KQogewpAQCAtMTQyLDcgKzE0Miw3IEBAIFRyZWVPdXRsaW5lLnByb3Rv
dHlwZS5pbnNlcnRDaGlsZCA9IGZ1bmN0aW9uKGNoaWxkLCBpbmRleCkKIAogICAgIGlmIChpc0Zp
cnN0Q2hpbGQgJiYgdGhpcy5leHBhbmRlZCkKICAgICAgICAgdGhpcy5leHBhbmQoKTsKLX0KK307
CiAKIFRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZEF0SW5kZXggPSBmdW5jdGlvbihj
aGlsZEluZGV4LCBzdXBwcmVzc09uRGVzZWxlY3QsIHN1cHByZXNzU2VsZWN0U2libGluZykKIHsK
QEAgLTE4MCw3ICsxODAsNyBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGRBdElu
ZGV4ID0gZnVuY3Rpb24oY2hpbGRJbmRleCwgc3VwcHJlc3NPbkRlc2VsZQogCiAgICAgaWYgKHRo
aXMudHJlZU91dGxpbmUgJiYgdGhpcy50cmVlT3V0bGluZS5vbnJlbW92ZSkKICAgICAgICAgdGhp
cy50cmVlT3V0bGluZS5vbnJlbW92ZShjaGlsZCk7Ci19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90
b3R5cGUucmVtb3ZlQ2hpbGQgPSBmdW5jdGlvbihjaGlsZCwgc3VwcHJlc3NPbkRlc2VsZWN0LCBz
dXBwcmVzc1NlbGVjdFNpYmxpbmcpCiB7CkBAIC0xOTIsNyArMTkyLDcgQEAgVHJlZU91dGxpbmUu
cHJvdG90eXBlLnJlbW92ZUNoaWxkID0gZnVuY3Rpb24oY2hpbGQsIHN1cHByZXNzT25EZXNlbGVj
dCwgc3VwcHJlc3MKICAgICAgICAgdGhyb3coImNoaWxkIG5vdCBmb3VuZCBpbiB0aGlzIG5vZGUn
cyBjaGlsZHJlbiIpOwogCiAgICAgdGhpcy5yZW1vdmVDaGlsZEF0SW5kZXgoY2hpbGRJbmRleCwg
c3VwcHJlc3NPbkRlc2VsZWN0LCBzdXBwcmVzc1NlbGVjdFNpYmxpbmcpOwotfQorfTsKIAogVHJl
ZU91dGxpbmUucHJvdG90eXBlLnJlbW92ZUNoaWxkcmVuID0gZnVuY3Rpb24oc3VwcHJlc3NPbkRl
c2VsZWN0KQogewpAQCAtMjE4LDcgKzIxOCw3IEBAIFRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1v
dmVDaGlsZHJlbiA9IGZ1bmN0aW9uKHN1cHByZXNzT25EZXNlbGVjdCkKICAgICB9CiAKICAgICB0
aGlzLmNoaWxkcmVuID0gW107Ci19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3Zl
Q2hpbGRyZW5SZWN1cnNpdmUgPSBmdW5jdGlvbihzdXBwcmVzc09uRGVzZWxlY3QpCiB7CkBAIC0y
NTIsNyArMjUyLDcgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLnJlbW92ZUNoaWxkcmVuUmVjdXJz
aXZlID0gZnVuY3Rpb24oc3VwcHJlc3NPbkRlc2VsZWN0KQogICAgIH0KIAogICAgIHRoaXMuY2hp
bGRyZW4gPSBbXTsKLX0KK307CiAKIFRyZWVPdXRsaW5lLnByb3RvdHlwZS5fcmVtZW1iZXJUcmVl
RWxlbWVudCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiB7CkBAIC0yNjYsNyArMjY2LDcgQEAgVHJlZU91
dGxpbmUucHJvdG90eXBlLl9yZW1lbWJlclRyZWVFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCkK
IAogICAgIC8vIGFkZCB0aGUgZWxlbWVudAogICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7Ci19
Cit9OwogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUuX2ZvcmdldFRyZWVFbGVtZW50ID0gZnVuY3Rp
b24oZWxlbWVudCkKIHsKQEAgLTI3NCw3ICsyNzQsNyBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUu
X2ZvcmdldFRyZWVFbGVtZW50ID0gZnVuY3Rpb24oZWxlbWVudCkKICAgICAgICAgdGhpcy5zZWxl
Y3RlZFRyZWVFbGVtZW50ID0gbnVsbDsKICAgICBpZiAodGhpcy5fa25vd25UcmVlRWxlbWVudHNb
ZWxlbWVudC5pZGVudGlmaWVyXSkKICAgICAgICAgdGhpcy5fa25vd25UcmVlRWxlbWVudHNbZWxl
bWVudC5pZGVudGlmaWVyXS5yZW1vdmUoZWxlbWVudCwgdHJ1ZSk7Ci19Cit9OwogCiBUcmVlT3V0
bGluZS5wcm90b3R5cGUuX2ZvcmdldENoaWxkcmVuUmVjdXJzaXZlID0gZnVuY3Rpb24ocGFyZW50
RWxlbWVudCkKIHsKQEAgLTI4Myw3ICsyODMsNyBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUuX2Zv
cmdldENoaWxkcmVuUmVjdXJzaXZlID0gZnVuY3Rpb24ocGFyZW50RWxlbWVudCkKICAgICAgICAg
dGhpcy5fZm9yZ2V0VHJlZUVsZW1lbnQoY2hpbGQpOwogICAgICAgICBjaGlsZCA9IGNoaWxkLnRy
YXZlcnNlTmV4dFRyZWVFbGVtZW50KGZhbHNlLCBwYXJlbnRFbGVtZW50LCB0cnVlKTsKICAgICB9
Ci19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUuZ2V0Q2FjaGVkVHJlZUVsZW1lbnQgPSBm
dW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCkKIHsKQEAgLTMwMSw3ICszMDEsNyBAQCBUcmVlT3V0
bGluZS5wcm90b3R5cGUuZ2V0Q2FjaGVkVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihyZXByZXNlbnRl
ZE9iamVjdCkKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gbnVsbDsKLX0KK307CiAKIFRy
ZWVPdXRsaW5lLnByb3RvdHlwZS5maW5kVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihyZXByZXNlbnRl
ZE9iamVjdCwgaXNBbmNlc3RvciwgZ2V0UGFyZW50KQogewpAQCAtMzUzLDcgKzM1Myw3IEBAIFRy
ZWVPdXRsaW5lLnByb3RvdHlwZS5maW5kVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihyZXByZXNlbnRl
ZE9iamVjdCwgaXNBbmNlc3RvciwKICAgICB9CiAKICAgICByZXR1cm4gdGhpcy5nZXRDYWNoZWRU
cmVlRWxlbWVudChyZXByZXNlbnRlZE9iamVjdCk7Ci19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90
b3R5cGUuX3RyZWVFbGVtZW50RGlkQ2hhbmdlID0gZnVuY3Rpb24odHJlZUVsZW1lbnQpCiB7CkBA
IC0zNjIsNyArMzYyLDcgQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLl90cmVlRWxlbWVudERpZENo
YW5nZSA9IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQogCiAgICAgaWYgKHRoaXMub25jaGFuZ2UpCiAg
ICAgICAgIHRoaXMub25jaGFuZ2UodHJlZUVsZW1lbnQpOwotfQorfTsKIAogVHJlZU91dGxpbmUu
cHJvdG90eXBlLnRyZWVFbGVtZW50RnJvbVBvaW50ID0gZnVuY3Rpb24oeCwgeSkKIHsKQEAgLTM3
NCw3ICszNzQsNyBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUudHJlZUVsZW1lbnRGcm9tUG9pbnQg
PSBmdW5jdGlvbih4LCB5KQogICAgIGlmIChsaXN0Tm9kZSkKICAgICAgICAgcmV0dXJuIGxpc3RO
b2RlLnBhcmVudFRyZWVFbGVtZW50IHx8IGxpc3ROb2RlLnRyZWVFbGVtZW50OwogICAgIHJldHVy
biBudWxsOwotfQorfTsKIAogVHJlZU91dGxpbmUucHJvdG90eXBlLl90cmVlS2V5RG93biA9IGZ1
bmN0aW9uKGV2ZW50KQogewpAQCAtNDU3LDM3ICs0NTcsMzcgQEAgVHJlZU91dGxpbmUucHJvdG90
eXBlLl90cmVlS2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKICAgICB9Ci19Cit9
OwogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUuZXhwYW5kID0gZnVuY3Rpb24oKQogewogICAgIC8v
IHRoaXMgaXMgdGhlIHJvb3QsIGRvIG5vdGhpbmcKLX0KK307CiAKIFRyZWVPdXRsaW5lLnByb3Rv
dHlwZS5jb2xsYXBzZSA9IGZ1bmN0aW9uKCkKIHsKICAgICAvLyB0aGlzIGlzIHRoZSByb290LCBk
byBub3RoaW5nCi19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUucmV2ZWFsZWQgPSBmdW5j
dGlvbigpCiB7CiAgICAgcmV0dXJuIHRydWU7Ci19Cit9OwogCiBUcmVlT3V0bGluZS5wcm90b3R5
cGUucmV2ZWFsID0gZnVuY3Rpb24oKQogewogICAgIC8vIHRoaXMgaXMgdGhlIHJvb3QsIGRvIG5v
dGhpbmcKLX0KK307CiAKIFRyZWVPdXRsaW5lLnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbigp
CiB7CiAgICAgLy8gdGhpcyBpcyB0aGUgcm9vdCwgZG8gbm90aGluZwotfQorfTsKIAogVHJlZU91
dGxpbmUucHJvdG90eXBlLnJldmVhbEFuZFNlbGVjdCA9IGZ1bmN0aW9uKG9taXRGb2N1cykKIHsK
ICAgICAvLyB0aGlzIGlzIHRoZSByb290LCBkbyBub3RoaW5nCi19Cit9OwogCiBUcmVlT3V0bGlu
ZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiAK
QEAgLTY2Nyw3ICs2NjcsNyBAQCBUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICB0aGlzLl9saXN0SXRlbU5vZGUuYXBwZW5kQ2hpbGQodGhpcy5fdGl0bGUpOwogICAgICAgICB9
CiAgICAgfQotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLmFwcGVuZENoaWxkID0gVHJl
ZU91dGxpbmUucHJvdG90eXBlLmFwcGVuZENoaWxkOwogVHJlZUVsZW1lbnQucHJvdG90eXBlLmlu
c2VydENoaWxkID0gVHJlZU91dGxpbmUucHJvdG90eXBlLmluc2VydENoaWxkOwpAQCAtNzE0LDcg
KzcxNCw3IEBAIFRyZWVFbGVtZW50LnByb3RvdHlwZS5fYXR0YWNoID0gZnVuY3Rpb24oKQogICAg
ICAgICB0aGlzLnNlbGVjdCgpOwogICAgIGlmICh0aGlzLmV4cGFuZGVkKQogICAgICAgICB0aGlz
LmV4cGFuZCgpOwotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLl9kZXRhY2ggPSBmdW5j
dGlvbigpCiB7CkBAIC03MjQsNyArNzI0LDcgQEAgVHJlZUVsZW1lbnQucHJvdG90eXBlLl9kZXRh
Y2ggPSBmdW5jdGlvbigpCiAgICAgICAgIHRoaXMuX2xpc3RJdGVtTm9kZS5wYXJlbnROb2RlLnJl
bW92ZUNoaWxkKHRoaXMuX2xpc3RJdGVtTm9kZSk7CiAgICAgaWYgKHRoaXMuX2NoaWxkcmVuTGlz
dE5vZGUgJiYgdGhpcy5fY2hpbGRyZW5MaXN0Tm9kZS5wYXJlbnROb2RlKQogICAgICAgICB0aGlz
Ll9jaGlsZHJlbkxpc3ROb2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY2hpbGRyZW5M
aXN0Tm9kZSk7Ci19Cit9OwogCiBUcmVlRWxlbWVudC50cmVlRWxlbWVudE1vdXNlRG93biA9IGZ1
bmN0aW9uKGV2ZW50KQogewpAQCAtNzM4LDcgKzczOCw3IEBAIFRyZWVFbGVtZW50LnRyZWVFbGVt
ZW50TW91c2VEb3duID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgfQogCiAgICAgZWxlbWVudC50cmVl
RWxlbWVudC5zZWxlY3RPbk1vdXNlRG93bihldmVudCk7Ci19Cit9OwogCiBUcmVlRWxlbWVudC50
cmVlRWxlbWVudFRvZ2dsZWQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTc2Myw3ICs3NjMsNyBA
QCBUcmVlRWxlbWVudC50cmVlRWxlbWVudFRvZ2dsZWQgPSBmdW5jdGlvbihldmVudCkKICAgICAg
ICAgICAgIGVsZW1lbnQudHJlZUVsZW1lbnQuZXhwYW5kKCk7CiAgICAgfQogICAgIGV2ZW50LnN0
b3BQcm9wYWdhdGlvbigpOwotfQorfTsKIAogVHJlZUVsZW1lbnQudHJlZUVsZW1lbnREb3VibGVD
bGlja2VkID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC03NzgsNyArNzc4LDcgQEAgVHJlZUVsZW1l
bnQudHJlZUVsZW1lbnREb3VibGVDbGlja2VkID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIGVs
ZW1lbnQudHJlZUVsZW1lbnQub25kYmxjbGljay5jYWxsKGVsZW1lbnQudHJlZUVsZW1lbnQsIGV2
ZW50KTsKICAgICBlbHNlIGlmIChlbGVtZW50LnRyZWVFbGVtZW50Lmhhc0NoaWxkcmVuICYmICFl
bGVtZW50LnRyZWVFbGVtZW50LmV4cGFuZGVkKQogICAgICAgICBlbGVtZW50LnRyZWVFbGVtZW50
LmV4cGFuZCgpOwotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLmNvbGxhcHNlID0gZnVu
Y3Rpb24oKQogewpAQCAtNzk2LDcgKzc5Niw3IEBAIFRyZWVFbGVtZW50LnByb3RvdHlwZS5jb2xs
YXBzZSA9IGZ1bmN0aW9uKCkKIAogICAgIGlmICh0aGlzLnRyZWVPdXRsaW5lICYmIHRoaXMudHJl
ZU91dGxpbmUub25jb2xsYXBzZSkKICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5vbmNvbGxhcHNl
KHRoaXMpOwotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLmNvbGxhcHNlUmVjdXJzaXZl
bHkgPSBmdW5jdGlvbigpCiB7CkBAIC04MDYsNyArODA2LDcgQEAgVHJlZUVsZW1lbnQucHJvdG90
eXBlLmNvbGxhcHNlUmVjdXJzaXZlbHkgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICBpdGVtLmNv
bGxhcHNlKCk7CiAgICAgICAgIGl0ZW0gPSBpdGVtLnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50KGZh
bHNlLCB0aGlzLCB0cnVlKTsKICAgICB9Ci19Cit9OwogCiBUcmVlRWxlbWVudC5wcm90b3R5cGUu
ZXhwYW5kID0gZnVuY3Rpb24oKQogewpAQCAtODU4LDcgKzg1OCw3IEBAIFRyZWVFbGVtZW50LnBy
b3RvdHlwZS5leHBhbmQgPSBmdW5jdGlvbigpCiAKICAgICBpZiAodGhpcy50cmVlT3V0bGluZSAm
JiB0aGlzLnRyZWVPdXRsaW5lLm9uZXhwYW5kKQogICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLm9u
ZXhwYW5kKHRoaXMpOwotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLmV4cGFuZFJlY3Vy
c2l2ZWx5ID0gZnVuY3Rpb24obWF4RGVwdGgpCiB7CkBAIC04NzgsNyArODc4LDcgQEAgVHJlZUVs
ZW1lbnQucHJvdG90eXBlLmV4cGFuZFJlY3Vyc2l2ZWx5ID0gZnVuY3Rpb24obWF4RGVwdGgpCiAg
ICAgICAgIGl0ZW0gPSBpdGVtLnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50KGZhbHNlLCB0aGlzLCAo
ZGVwdGggPj0gbWF4RGVwdGgpLCBpbmZvKTsKICAgICAgICAgZGVwdGggKz0gaW5mby5kZXB0aENo
YW5nZTsKICAgICB9Ci19Cit9OwogCiBUcmVlRWxlbWVudC5wcm90b3R5cGUuaGFzQW5jZXN0b3Ig
PSBmdW5jdGlvbihhbmNlc3RvcikgewogICAgIGlmICghYW5jZXN0b3IpCkBAIC04OTIsNyArODky
LDcgQEAgVHJlZUVsZW1lbnQucHJvdG90eXBlLmhhc0FuY2VzdG9yID0gZnVuY3Rpb24oYW5jZXN0
b3IpIHsKICAgICB9CiAKICAgICByZXR1cm4gZmFsc2U7Ci19Cit9OwogCiBUcmVlRWxlbWVudC5w
cm90b3R5cGUucmV2ZWFsID0gZnVuY3Rpb24oKQogewpAQCAtOTA1LDcgKzkwNSw3IEBAIFRyZWVF
bGVtZW50LnByb3RvdHlwZS5yZXZlYWwgPSBmdW5jdGlvbigpCiAKICAgICBpZiAodGhpcy5vbnJl
dmVhbCkKICAgICAgICAgdGhpcy5vbnJldmVhbCh0aGlzKTsKLX0KK307CiAKIFRyZWVFbGVtZW50
LnByb3RvdHlwZS5yZXZlYWxlZCA9IGZ1bmN0aW9uKCkKIHsKQEAgLTkyMiwxMiArOTIyLDEyIEBA
IFRyZWVFbGVtZW50LnByb3RvdHlwZS5yZXZlYWxlZCA9IGZ1bmN0aW9uKCkKICAgICB9CiAKICAg
ICByZXR1cm4gdHJ1ZTsKLX0KK307CiAKIFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3RPbk1v
dXNlRG93biA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIHRoaXMuc2VsZWN0KGZhbHNlLCB0cnVl
KTsKLX0KK307CiAKIFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZWxlY3QgPSBmdW5jdGlvbihvbWl0
Rm9jdXMsIHNlbGVjdGVkQnlVc2VyLCBzdXBwcmVzc09uU2VsZWN0LCBzdXBwcmVzc09uRGVzZWxl
Y3QpCiB7CkBAIC05NjQsMTMgKzk2NCwxMyBAQCBUcmVlRWxlbWVudC5wcm90b3R5cGUuc2VsZWN0
ID0gZnVuY3Rpb24ob21pdEZvY3VzLCBzZWxlY3RlZEJ5VXNlciwgc3VwcHJlc3NPblNlbAogICAg
ICAgICB0aGlzLnRyZWVPdXRsaW5lLm9uc2VsZWN0KHRoaXMsIHNlbGVjdGVkQnlVc2VyKTsKIAog
ICAgIGRlbGV0ZSB0aGlzLnRyZWVPdXRsaW5lLnByb2Nlc3NpbmdTZWxlY3Rpb25DaGFuZ2U7Ci19
Cit9OwogCiBUcmVlRWxlbWVudC5wcm90b3R5cGUucmV2ZWFsQW5kU2VsZWN0ID0gZnVuY3Rpb24o
b21pdEZvY3VzLCBzZWxlY3RlZEJ5VXNlciwgc3VwcHJlc3NPblNlbGVjdCwgc3VwcHJlc3NPbkRl
c2VsZWN0KQogewogICAgIHRoaXMucmV2ZWFsKCk7CiAgICAgdGhpcy5zZWxlY3Qob21pdEZvY3Vz
LCBzZWxlY3RlZEJ5VXNlciwgc3VwcHJlc3NPblNlbGVjdCwgc3VwcHJlc3NPbkRlc2VsZWN0KTsK
LX0KK307CiAKIFRyZWVFbGVtZW50LnByb3RvdHlwZS5kZXNlbGVjdCA9IGZ1bmN0aW9uKHN1cHBy
ZXNzT25EZXNlbGVjdCkKIHsKQEAgLTk5MCwxMiArOTkwLDEyIEBAIFRyZWVFbGVtZW50LnByb3Rv
dHlwZS5kZXNlbGVjdCA9IGZ1bmN0aW9uKHN1cHByZXNzT25EZXNlbGVjdCkKICAgICAgICAgdGhp
cy50cmVlT3V0bGluZS5vbmRlc2VsZWN0KHRoaXMpOwogCiAgICAgcmV0dXJuIHRydWU7Ci19Cit9
OwogCiBUcmVlRWxlbWVudC5wcm90b3R5cGUub25wb3B1bGF0ZSA9IGZ1bmN0aW9uKCkKIHsKICAg
ICAvLyBPdmVycmlkZW4gYnkgc3ViY2xhc3Nlcy4KLX0KK307CiAKIFRyZWVFbGVtZW50LnByb3Rv
dHlwZS50cmF2ZXJzZU5leHRUcmVlRWxlbWVudCA9IGZ1bmN0aW9uKHNraXBVbnJldmVhbGVkLCBz
dGF5V2l0aGluLCBkb250UG9wdWxhdGUsIGluZm8pCiB7CkBAIC0xMDMwLDcgKzEwMzAsNyBAQCBU
cmVlRWxlbWVudC5wcm90b3R5cGUudHJhdmVyc2VOZXh0VHJlZUVsZW1lbnQgPSBmdW5jdGlvbihz
a2lwVW5yZXZlYWxlZCwgc3RheVdpdAogICAgICAgICByZXR1cm4gbnVsbDsKIAogICAgIHJldHVy
biAoc2tpcFVucmV2ZWFsZWQgPyAoZWxlbWVudC5yZXZlYWxlZCgpID8gZWxlbWVudC5uZXh0U2li
bGluZyA6IG51bGwpIDogZWxlbWVudC5uZXh0U2libGluZyk7Ci19Cit9OwogCiBUcmVlRWxlbWVu
dC5wcm90b3R5cGUudHJhdmVyc2VQcmV2aW91c1RyZWVFbGVtZW50ID0gZnVuY3Rpb24oc2tpcFVu
cmV2ZWFsZWQsIGRvbnRQb3B1bGF0ZSkKIHsKQEAgLTEwNTEsNyArMTA1MSw3IEBAIFRyZWVFbGVt
ZW50LnByb3RvdHlwZS50cmF2ZXJzZVByZXZpb3VzVHJlZUVsZW1lbnQgPSBmdW5jdGlvbihza2lw
VW5yZXZlYWxlZCwgZG9uCiAgICAgICAgIHJldHVybiBudWxsOwogCiAgICAgcmV0dXJuIHRoaXMu
cGFyZW50OwotfQorfTsKIAogVHJlZUVsZW1lbnQucHJvdG90eXBlLmlzRXZlbnRXaXRoaW5EaXNj
bG9zdXJlVHJpYW5nbGUgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTEwNjIsNiArMTA2Miw2IEBA
IFRyZWVFbGVtZW50LnByb3RvdHlwZS5pc0V2ZW50V2l0aGluRGlzY2xvc3VyZVRyaWFuZ2xlID0g
ZnVuY3Rpb24oZXZlbnQpCiAgICAgdmFyIGNvbXB1dGVkTGVmdFBhZGRpbmcgPSB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZSh0aGlzLl9saXN0SXRlbU5vZGUpLmdldFByb3BlcnR5Q1NTVmFsdWUoInBh
ZGRpbmctbGVmdCIpLmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUuQ1NTX1BYKTsKICAg
ICB2YXIgbGVmdCA9IHRoaXMuX2xpc3RJdGVtTm9kZS50b3RhbE9mZnNldExlZnQgKyBjb21wdXRl
ZExlZnRQYWRkaW5nOwogICAgIHJldHVybiBldmVudC5wYWdlWCA+PSBsZWZ0ICYmIGV2ZW50LnBh
Z2VYIDw9IGxlZnQgKyB0aGlzLmFycm93VG9nZ2xlV2lkdGggJiYgdGhpcy5oYXNDaGlsZHJlbjsK
LX0KK307CiAKIFRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3Iu
T2JqZWN0LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZURhdGFHcmlk
U3luY2hyb25pemVyLmpzCmluZGV4IDRlNTJiZjYuLjM5MWY5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lRGF0YUdyaWRT
eW5jaHJvbml6ZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5qcwpAQCAtODQsNyArODQsNyBA
QCBXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplciA9IGZ1bmN0aW9u
KHRyZWVPdXRsaW5lLCBkYXRhR3JpZCwgZAogICAgICAgICBpZiAoZXhpc3RpbmdPblNlbGVjdCkK
ICAgICAgICAgICAgIGV4aXN0aW5nT25TZWxlY3QuY2FsbCh0cmVlT3V0bGluZSwgZWxlbWVudCwg
c2VsZWN0ZWRCeVVzZXIpOwogICAgIH0uYmluZCh0aGlzKTsKLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5UcmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25pemVyLnByb3RvdHlwZSA9IHsKICAgICBjb25z
dHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIsCkBA
IC0yOTMsNiArMjkzLDYgQEAgV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJv
bml6ZXIucHJvdG90eXBlID0gewogCiAgICAgICAgIGRhdGFHcmlkTm9kZS5lbGVtZW50LmNsYXNz
TGlzdC50b2dnbGUoImhpZGRlbiIsIGhpZGRlbik7CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVj
dG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>