<?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>98127</bug_id>
          
          <creation_ts>2012-10-02 01:52:12 -0700</creation_ts>
          <short_desc>Web Inspector: migrate from WebInspector.Foo.prototype.__proto__ = to __proto__: syntax</short_desc>
          <delta_ts>2012-10-02 04:02:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>732426</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-02 01:52:12 -0700</bug_when>
    <thetext>This syntax is more compiler-friendly, we will be able to migrate to a newer compiler after that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732433</commentid>
    <comment_count>1</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-02 01:59:16 -0700</bug_when>
    <thetext>How about adding a constructor property while we are here?
This can make debugging inspector easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732437</commentid>
    <comment_count>2</comment_count>
      <attachid>166646</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-02 02:04:12 -0700</bug_when>
    <thetext>Created attachment 166646
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732500</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-02 04:02:49 -0700</bug_when>
    <thetext>Committed r130149: &lt;http://trac.webkit.org/changeset/130149&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166646</attachid>
            <date>2012-10-02 02:04:12 -0700</date>
            <delta_ts>2012-10-02 02:09:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98127-20121002130323.patch</filename>
            <type>text/plain</type>
            <size>200611</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2UzOGEzZjgzZGE2YmVm
NDM1MzMwOTJhOWRlNzhkOGQ0ODg3YzlhZS4uNmZhYTU5YjRkYmI2MGI1MmU2OTJmZTQwNzc1ZDdj
YzFiODAyOGQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzOSBAQAogMjAxMi0xMC0wMiAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBtaWdyYXRlIGZyb20gV2ViSW5zcGVjdG9yLkZvby5wcm90b3R5cGUuX19wcm90b19fID0g
dG8gX19wcm90b19fOiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4MTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ29udmVydGVkIHdpdGggdGhlIHJlZ2V4IG1hdGNoZXIuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanM6CisgICAgICAg
ICguKToKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuX29uQWN0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5GaWxlQmFzZWRTZWFyY2hSZXN1bHRzUGFuZS5wcm90b3R5cGUuX2Ny
ZWF0ZUNvbnRlbnRTcGFuKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0
aW9uQ2FjaGVJdGVtc1ZpZXcuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BcHBs
aWNhdGlvbkNhY2hlTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25D
YWNoZU1vZGVsLnByb3RvdHlwZS5fbmV0d29ya1N0YXRlVXBkYXRlZCk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9BdWRpdENhdGVnb3JpZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQXVkaXRDYXRlZ29yaWVzLlBhZ2VQZXJmb3JtYW5jZS5wcm90b3R5cGUuaW5pdGlhbGl6ZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRDYXRlZ29yaWVzLk5ldHdvcmtVdGlsaXphdGlv
bi5wcm90b3R5cGUuaW5pdGlhbGl6ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9B
dWRpdExhdW5jaGVyVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdExhdW5jaGVy
Vmlldy5wcm90b3R5cGUuX3VwZGF0ZUJ1dHRvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9BdWRpdFJlc3VsdFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRDYXRl
Z29yeVJlc3VsdFBhbmUucHJvdG90eXBlLl9hcHBlbmRSZXN1bHQpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGVzLkd6aXBSdWxlLnByb3RvdHlwZS5fc2hvdWxkQ29tcHJlc3MpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUV4dGVybmFsUmVzb3VyY2VzUnVsZS5wcm90b3R5
cGUuZG9SdW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuTWluaW1pemVEbnNM
b29rdXBzUnVsZS5wcm90b3R5cGUuZG9SdW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuUGFyYWxsZWxpemVEb3dubG9hZFJ1bGUucHJvdG90eXBlLmRvUnVuKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlVudXNlZENzc1J1bGUucHJvdG90eXBlLmRvUnVuKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNhY2hlQ29udHJvbFJ1bGUucHJvdG90
eXBlLmlzQ2FjaGVhYmxlUmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVs
ZXMuQnJvd3NlckNhY2hlQ29udHJvbFJ1bGUucHJvdG90eXBlLl9vbmVZZWFyRXhwaXJhdGlvbkNo
ZWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlByb3h5Q2FjaGVDb250cm9s
UnVsZS5wcm90b3R5cGUuX3NldENvb2tpZUNhY2hlYWJsZUNoZWNrKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5BdWRpdFJ1bGVzLkltYWdlRGltZW5zaW9uc1J1bGUucHJvdG90eXBlLmRvUnVuKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNzc0luSGVhZFJ1bGUucHJvdG90eXBl
LmRvUnVuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlN0eWxlc1NjcmlwdHNP
cmRlclJ1bGUucHJvdG90eXBlLmRvUnVuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJ1
bGVzLkNTU1J1bGVCYXNlLnByb3RvdHlwZS52aXNpdFByb3BlcnR5KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5BdWRpdFJ1bGVzLlZlbmRvclByZWZpeGVkQ1NTUHJvcGVydGllcy5wcm90b3R5cGUu
dmlzaXRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db29raWVS
dWxlQmFzZS5wcm90b3R5cGUuX2NhbGxiYWNrRm9yUmVzb3VyY2VDb29raWVQYWlycyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Db29raWVTaXplUnVsZS5wcm90b3R5cGUucHJv
Y2Vzc0Nvb2tpZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuU3RhdGljQ29v
a2llbGVzc1J1bGUucHJvdG90eXBlLl9jb2xsZWN0b3JDYWxsYmFjayk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5B
dWRpdHNQYW5lbC5wcm90b3R5cGUuX2NsZWFyQnV0dG9uQ2xpY2tlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQXVkaXRzU2lkZWJhclRyZWVFbGVtZW50LnByb3RvdHlwZS5yZWZyZXNoKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5BdWRpdFJlc3VsdFNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5
cGUuZ2V0IHNlbGVjdGFibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQm90dG9t
VXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJvdHRvbVVw
UHJvZmlsZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuX3dpbGxIYXZlQ2hpbGRyZW4pOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludE1hbmFnZXIuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1hbmFnZXIucHJvdG90eXBlLl91aUxvY2F0aW9uUmVtb3Zl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5l
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQ
YW5lLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2lu
dHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuc2V0IF9yZXN0b3JlQnJlYWtwb2ludHMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3Rv
dHlwZS5zZXQgX3Jlc3RvcmVCcmVha3BvaW50cyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9DUFVQcm9maWxlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DUFVQcm9maWxl
Vmlldy5wcm90b3R5cGUuX2Fzc2lnblBhcmVudHNJblByb2ZpbGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNQVVByb2ZpbGVUeXBlLnByb3RvdHlwZS5jcmVhdGVQcm9maWxlKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5DUFVQcm9maWxlSGVhZGVyLnByb3RvdHlwZS5jcmVhdGVWaWV3KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU05hbWVkRmxvd0NvbGxlY3Rpb25zVmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NOYW1lZEZsb3dDb2xsZWN0aW9uc1ZpZXcucHJv
dG90eXBlLndpbGxIaWRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GbG93VHJlZUVsZW1lbnQu
cHJvdG90eXBlLnNldE92ZXJzZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NT
TmFtZWRGbG93Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NOYW1lZEZsb3dWaWV3
LnByb3RvdHlwZS5fdXBkYXRlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1Nl
bGVjdG9yUHJvZmlsZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JE
YXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGwpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1NlbGVjdG9yUHJvZmlsZVR5cGUucHJvdG90eXBlLmNyZWF0ZVRlbXBvcmFyeVByb2ZpbGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1Byb2ZpbGVIZWFkZXIucHJvdG90eXBlLmNyZWF0
ZVZpZXcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5fcmF3TG9jYXRp
b25Ub1VJTG9jYXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNr
U2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBh
bmUucHJvdG90eXBlLl9rZXlEb3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DYWxsU3RhY2tT
aWRlYmFyUGFuZS5QbGFjYXJkLnByb3RvdHlwZS5fcmVzdGFydEZyYW1lKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNhbnZhc1Byb2ZpbGVWaWV3LnByb3RvdHlwZS5fb25UcmFjZUxvZ0l0ZW1DbGljayk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2FudmFzUHJvZmlsZVR5cGUucHJvdG90eXBlLmNyZWF0
ZVByb2ZpbGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVIZWFkZXIucHJv
dG90eXBlLmNyZWF0ZVZpZXcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29kZU1p
cnJvclRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRleHRF
ZGl0b3IucHJvdG90eXBlLl90b1JhbmdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVNZXNzYWdlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
SW1wbC5wcm90b3R5cGUuY2xvbmUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZU1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNb2RlbC5wcm90b3R5
cGUuX21lc3NhZ2VSZXBlYXRDb3VudFVwZGF0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVQYW5l
bC5wcm90b3R5cGUuX2NvbnNvbGVDbGVhcmVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZS5fZHVtcE1lbW9yeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1h
bmRSZXN1bHQucHJvdG90eXBlLnRvTWVzc2FnZUVsZW1lbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25jYXRlbmF0ZWRTY3JpcHRzQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZS5fY29uY2F0ZW5hdGVT
Y3JpcHRzQ29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBw
aW5nQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZS5zZWFyY2hJbkNvbnRlbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUuc2VhcmNoSW5Db250
ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRleHRNZW51LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNvbnRleHRTdWJNZW51SXRlbS5wcm90b3R5cGUuX2J1aWxkRGVz
Y3JpcHRvcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUucHJvdG90eXBlLmFw
cGVuZEFwcGxpY2FibGVJdGVtcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db29r
aWVJdGVtc1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2llSXRlbXNWaWV3LnBy
b3RvdHlwZS5fY29udGV4dE1lbnUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpbXBsZUNvb2tp
ZXNUYWJsZS5wcm90b3R5cGUuc2V0Q29va2llcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Db29raWVzVGFibGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxl
LnByb3RvdHlwZS5fb25EZWxldGVGcm9tR3JpZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01BZ2VudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01BZ2VudC5wcm90b3R5
cGUucmVkbyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01CcmVha3BvaW50c1Np
ZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUucHJvdG90eXBlLnNldCByZXN0b3JlQnJlYWtwb2ludHMpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01T
dG9yYWdlTW9kZWwucHJvdG90eXBlLnN0b3JhZ2VzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9N
U3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUuX2RlbGV0ZUNhbGxiYWNrKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRh
dGFHcmlkTm9kZS5wcm90b3R5cGUucmVzdG9yZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5DcmVhdGlvbkRhdGFHcmlkTm9kZS5wcm90b3R5cGUubWFrZU5vcm1hbCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EYXRhYmFzZU1vZGVsLnByb3RvdHlwZS5fYWRkRGF0YWJhc2UpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGF0YWJhc2VRdWVyeVZpZXcucHJvdG90eXBlLl9hcHBlbmRRdWVyeVJlc3VsdCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZVRhYmxlVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5EYXRhYmFzZVRhYmxlVmlldy5wcm90b3R5cGUuX3JlZnJlc2hCdXR0b25D
bGlja2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RlYnVnZ2VyTW9kZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5wcm90b3R5cGUuY2FsbFN0YWNr
TW9kaWZpZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0
b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVmYXVsdFRleHRFZGl0b3IucHJvdG90eXBl
LndpbGxIaWRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yR3V0dGVyUGFuZWwu
cHJvdG90eXBlLnJlbW92ZURlY29yYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlLl9jb2xsZWN0TGluZXNGcm9tRGl2KToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RpYWxvZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
aWFsb2dEZWxlZ2F0ZS5wcm90b3R5cGUud2lsbEhpZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvRGlyZWN0b3J5Q29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGlyZWN0b3J5Q29udGVudFZpZXcucHJvdG90eXBlLl9zb3J0KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EaXJlY3RvcnlDb250ZW50Vmlldy5Ob2RlLnByb3RvdHlwZS5fbWV0YWRhdGFSZWNlaXZl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLmFwcGVuZEFwcGxpY2Fi
bGVJdGVtcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsRGVz
Y3JpcHRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3JpcHRv
ci5wcm90b3R5cGUuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNUcmVlT3V0bGluZS5wcm90b3R5cGUuX3NlbGVjdE5vZGVBZnRlckVkaXQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzVHJlZU91dGxpbmUuUHNldWRvU3RhdGVEZWNvcmF0
b3IucHJvdG90eXBlLmRlY29yYXRlQW5jZXN0b3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRW1wdHlWaWV3LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXZlbnRM
aXN0ZW5lcnNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3Rl
bmVyc1NpZGViYXJQYW5lLnByb3RvdHlwZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9FeHRlbnNpb25BUEkuanM6CisgICAgICAgIChpbmplY3RlZEV4dGVuc2lvbkFQSS5QYW5lbFdp
dGhTaWRlYmFySW1wbC5wcm90b3R5cGUuY3JlYXRlU2lkZWJhclBhbmUpOgorICAgICAgICAoaW5q
ZWN0ZWRFeHRlbnNpb25BUEkuRXh0ZW5zaW9uUGFuZWxJbXBsLnByb3RvdHlwZS5zaG93KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV4dGVuc2lvblBhbmVsLnByb3RvdHlwZS5qdW1wVG9QcmV2aW91c1NlYXJj
aFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2lkZWJhclBhbmUucHJv
dG90eXBlLl9zZXRPYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5z
aW9uVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25WaWV3LnByb3RvdHlw
ZS5fb25Mb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FeHRlbnNpb25Ob3RpZmllclZpZXcu
cHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVD
b250ZW50Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlQ29udGVudFZpZXcucHJv
dG90eXBlLnJlZnJlc2gpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFn
ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmFwcGVu
ZGVkVG9VUkwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbU1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5wcm90b3R5cGUuX3Jl
bW92ZUZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5E
aXJlY3RvcnkucHJvdG90eXBlLnJlcXVlc3REaXJlY3RvcnlDb250ZW50KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlU3lzdGVtTW9kZWwuRmlsZS5wcm90b3R5cGUucmVxdWVzdEZpbGVDb250
ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1WaWV3LnByb3RvdHlwZS5fZGVsZXRlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVmlldy5FbnRyeVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5fZGVsZXRpb25Db21wbGV0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZpbHRlcmVkSXRlbVNlbGVjdGlvbkRpYWxvZy5wcm90b3R5cGUuX2l0ZW1FbGVtZW50SW5WaWV3
cG9ydCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdE91dGxpbmVEaWFsb2cucHJv
dG90eXBlLnJld3JpdGVRdWVyeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT3BlblJlc291cmNl
RGlhbG9nLnByb3RvdHlwZS5yZXdyaXRlUXVlcnkpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvRm9udFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRm9udFZpZXcucHJvdG90
eXBlLnVwZGF0ZUZvbnRQcmV2aWV3U2l6ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Hb1RvTGluZURpYWxvZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxv
Zy5wcm90b3R5cGUub25FbnRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5k
bGVyUmVnaXN0cnkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGFuZGxlclJlZ2lzdHJ5LnBy
b3RvdHlwZS5fYXBwZW5kSHJlZkl0ZW1zKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RFZGdl
c1Byb3ZpZGVyLnByb3RvdHlwZS5zb3J0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3ROb2Rlc1Byb3ZpZGVyLnByb3RvdHlwZS5zb3J0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFHcmlkLnByb3RvdHlwZS5yZWN1cnNpdmVTb3J0aW5n
TGVhdmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXdwb3J0RGF0YUdy
aWQucHJvdG90eXBlLl9vblNjcm9sbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90Q29udGFpbm1lbnREYXRhR3JpZC5wcm90b3R5cGUuc29ydGluZ0NoYW5nZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdERpZmZEYXRhR3JpZC5wcm90b3R5cGUuX3BvcHVs
YXRlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdERvbWluYXRv
cnNEYXRhR3JpZC5wcm90b3R5cGUuaGlnaGxpZ2h0T2JqZWN0QnlIZWFwU25hcHNob3RJZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RHcmlkTm9kZXMuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90R3JpZE5vZGUucHJvdG90eXBlLnNvcnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEdlbmVyaWNPYmplY3ROb2RlLnBy
b3RvdHlwZS5zaG9ydGVuV2luZG93VVJMKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RPYmplY3ROb2RlLnByb3RvdHlwZS5fcHJlZml4T2JqZWN0Q2VsbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlLnByb3RvdHlwZS5nZXQgaXNEZWxl
dGVkTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29uc3RydWN0b3JO
b2RlLnByb3RvdHlwZS5nZXQgX3NoYWxsb3dTaXplUGVyY2VudCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSGVhcFNuYXBzaG90RGlmZk5vZGUucHJvdG90eXBlLmdldCBkYXRhKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3REb21pbmF0b3JPYmplY3ROb2RlLnByb3RvdHlwZS5f
ZW1wdHlEYXRhKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFBy
b3h5LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFdvcmtlcldyYXBwZXIu
cHJvdG90eXBlLnRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
UmVhbFdvcmtlci5wcm90b3R5cGUudGVybWluYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RGYWtlV29ya2VyLnByb3RvdHlwZS5fcG9zdE1lc3NhZ2VGcm9tV29ya2VyKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RXb3JrZXIucHJvdG90eXBlLl9wb3N0
TWVzc2FnZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90TG9hZGVyUHJveHku
cHJvdG90eXBlLmNsb3NlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RQcm94
eS5wcm90b3R5cGUuZ2V0IHVpZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90
UHJvdmlkZXJQcm94eS5wcm90b3R5cGUuc29ydEFuZFJld2luZCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFZpZXcucHJvdG90eXBlLl91cGRhdGVGaWx0ZXJPcHRpb25zKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RQcm9maWxlVHlwZS5wcm90b3R5cGUuY3JlYXRl
UHJvZmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90
eXBlLl9jcmVhdGVGaWxlUmVhZGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hl
bHBTY3JlZW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVscFNjcmVlbi5wcm90b3R5cGUu
X29uQmx1cik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZVZpZXcuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSW1hZ2VWaWV3LnByb3RvdHlwZS5fb3BlbkluTmV3VGFiKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luZGV4ZWREQk1vZGVsLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1vZGVsLnByb3RvdHlwZS5fcmVxdWVzdERhdGEpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCVmlld3MuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuSURCRGF0YVZpZXcucHJvdG90eXBlLmNsZWFyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5JREJEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9mb3JtYXRWYWx1ZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgor
ICAgICAgICAoLldlYkluc3BlY3Rvci5DbGlwYm9hcmRBY2Nlc3NEZW5pZWRTY3JlZW4pOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LnByb3RvdHlwZS5zaG93UGFuZWxGb3JBbmNob3JOYXZp
Z2F0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2Uu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUud29y
a2luZ0NvcHlDb21taXR0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNj
cmlwdFNvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuX2NvbnRpbnVlVG9MaW5lKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0xpbmtpZmllci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIu
RGVmYXVsdEZvcm1hdHRlci5wcm90b3R5cGUuZm9ybWF0TGl2ZUFuY2hvcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNzLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlN3YXRjaENoZWNrYm94LnByb3RvdHlwZS5fdG9nZ2xlQ2hlY2tib3gpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRlYmFyUGFuZS5wcm90b3R5cGUuZWRpdGluZ0NvbW1pdHRl
ZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVCcmVha3BvaW50c1NpZGVi
YXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUucHJvdG90eXBlLl9yZXNldCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9O
YXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF0aXZl
TWVtb3J5U25hcHNob3RWaWV3LnByb3RvdHlwZS5nZXQgcHJvZmlsZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmF0aXZlTWVtb3J5UHJvZmlsZVR5cGUucHJvdG90eXBlLmNyZWF0ZVByb2ZpbGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZU1lbW9yeVByb2ZpbGVIZWFkZXIucHJvdG90
eXBlLmNyZWF0ZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZU1lbW9yeVBpZUNo
YXJ0LnByb3RvdHlwZS5fY2xlYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZU1lbW9y
eUJhckNoYXJ0LnByb3RvdHlwZS5fdXBkYXRlVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9OYXZpZ2F0b3JWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRv
clZpZXcucHJvdG90eXBlLmhhbmRsZUNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5OYXZpZ2F0b3JUcmVlT3V0bGluZS5wcm90b3R5cGUuc2VhcmNoRmluaXNoZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkJhc2VOYXZpZ2F0b3JUcmVlRWxlbWVudC5wcm90b3R5cGUubWF0Y2hl
c1NlYXJjaFRleHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRvckZvbGRlclRyZWVF
bGVtZW50LnByb3RvdHlwZS5vbmF0dGFjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdh
dG9yU291cmNlVHJlZUVsZW1lbnQucHJvdG90eXBlLl9oYW5kbGVDb250ZXh0TWVudUV2ZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtJdGVtVmlldy5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrSXRlbVZpZXcucHJvdG90eXBlLnNldCByZXF1ZXN0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXF1ZXN0Q29udGVudFZpZXcucHJvdG90eXBlLmhpZ2hs
aWdodExpbmUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIucHJvdG90eXBlLl91c2Vy
QWdlbnRTZXR0aW5nQ2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlLl9oaWdobGlnaHROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwu
cHJvdG90eXBlLmFwcGVuZEFwcGxpY2FibGVJdGVtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3RvdHlwZS5fdXBwZXJCb3VuZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVyVGltZUNhbGN1bGF0b3IucHJvdG90eXBlLl91cHBl
ckJvdW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrVHJhbnNmZXJEdXJhdGlvbkNh
bGN1bGF0b3IucHJvdG90eXBlLl91cHBlckJvdW5kKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5O
ZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fcmVmcmVzaExhYmVsUG9zaXRpb25zKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLlJlcXVlc3RQcm9wZXJ0eUNv
bXBhcmF0b3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsRGVz
Y3JpcHRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWxEZXNjcmlwdG9y
LnByb3RvdHlwZS5hcHBlbmRBcHBsaWNhYmxlSXRlbXMpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1JlcXVlc3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a1JlcXVlc3QucHJvdG90eXBlLl9wdXNoRnJhbWUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvT2JqZWN0UG9wb3ZlckhlbHBlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmpl
Y3RQb3BvdmVySGVscGVyLnByb3RvdHlwZS5fdXBkYXRlSFRNTElkKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS51cGRhdGVQcm9wZXJ0
aWVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PYmplY3RQcm9wZXJ0eVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5hcHBseUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZ1bmN0aW9u
U2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9ucG9wdWxhdGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wcm90b3R5cGUub25hdHRh
Y2gpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlLnVucmVnaXN0ZXJTaG9ydGN1dCk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlBhbmVsRW5hYmxlclZpZXcucHJvdG90eXBlLmdldCBhbHdheXNFbmFibGVkKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVEYXRhR3JpZFRyZWUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuX21lcmdl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVMYXVuY2hlclZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZUxhdW5jaGVyVmlldy5wcm90b3R5cGUucHJv
ZmlsZUZpbmlzaGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFu
ZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuYXBw
ZW5kQXBwbGljYWJsZUl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlU2lkZWJh
clRyZWVFbGVtZW50LnByb3RvdHlwZS5oYW5kbGVDb250ZXh0TWVudUV2ZW50KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Qcm9maWxlR3JvdXBTaWRlYmFyVHJlZUVsZW1lbnQucHJvdG90eXBlLm9u
c2VsZWN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlc1NpZGViYXJUcmVlRWxlbWVu
dC5wcm90b3R5cGUuZ2V0IHNlbGVjdGFibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvUHJvZ3Jlc3NJbmRpY2F0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZ3Jlc3NJ
bmRpY2F0b3IucHJvdG90eXBlLndvcmtlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1By
b3BlcnRpZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVz
U2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXF1ZXN0Q29va2llc1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVxdWVz
dENvb2tpZXNWaWV3LnByb3RvdHlwZS5fcmVmcmVzaENvb2tpZXMpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvUmVxdWVzdEhUTUxWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlcXVlc3RIVE1MVmlldy5wcm90b3R5cGUuX2NyZWF0ZUlGcmFtZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0SGVhZGVyc1ZpZXcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVxdWVzdEhlYWRlcnNWaWV3LnByb3RvdHlwZS5fY3JlYXRlSGVhZGVyc1RvZ2dsZUJ1
dHRvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0SlNPTlZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVxdWVzdEpTT05WaWV3LnBhcnNlSlNPTi5XZWJJbnNw
ZWN0b3IuUmVxdWVzdEpTT05WaWV3LnByb3RvdHlwZS5faW5pdGlhbGl6ZSk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0UHJldmlld1ZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVxdWVzdFByZXZpZXdWaWV3LnByb3RvdHlwZS5fY3JlYXRlUHJldmlld1ZpZXcp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFJlc3BvbnNlVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXF1ZXN0UmVzcG9uc2VWaWV3LnByb3RvdHlwZS5jb250
ZW50TG9hZGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RUaW1pbmdW
aWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlcXVlc3RUaW1pbmdWaWV3LnByb3RvdHlw
ZS5fcmVmcmVzaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVxdWVzdFRpbWluZ1ZpZXcuY3Jl
YXRlVGltaW5nVGFibGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFZp
ZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVxdWVzdFZpZXcucHJvdG90eXBlLmhhc0Nv
bnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLmlzSGlkZGVuKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5fY3JlYXRlUmVzb3VyY2VGcm9t
RnJhbWVQYXlsb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmll
dy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcucHJvdG90eXBlLmhhc0Nv
bnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU291cmNlRnJhbWUucHJvdG90
eXBlLnBvcHVsYXRlVGV4dEFyZWFDb250ZXh0TWVudSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZVdlYlNvY2tldEZyYW1lVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJl
c291cmNlc1BhbmVsLnByb3RvdHlwZS5fb25tb3VzZW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUuZ2V0IHNlYXJjaE1hdGNoZXNDb3Vu
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3RvcmFnZUNhdGVnb3J5VHJlZUVsZW1lbnQucHJv
dG90eXBlLnNldCBvbmNvbGxhcHNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVRyZWVF
bGVtZW50LnByb3RvdHlwZS5faW5zZXJ0SW5QcmVzZW50YXRpb25PcmRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRnJhbWVSZXNvdXJjZVRyZWVFbGVtZW50LnByb3RvdHlwZS5zb3VyY2VWaWV3
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFzZVRyZWVFbGVtZW50LnByb3RvdHlwZS5f
dXBkYXRlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFiYXNlVGFibGVUcmVl
RWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQlRyZWVFbGVtZW50LnByb3RvdHlwZS5faWRiRGF0YWJhc2VUcmVlRWxlbWVudCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbUxpc3RUcmVlRWxlbWVudC5wcm90b3R5cGUuX3Jl
ZnJlc2hGaWxlU3lzdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JREJEYXRhYmFzZVRyZWVF
bGVtZW50LnByb3RvdHlwZS5jbGVhcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSURCT2JqZWN0
U3RvcmVUcmVlRWxlbWVudC5wcm90b3R5cGUuY2xlYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LklEQkluZGV4VHJlZUVsZW1lbnQucHJvdG90eXBlLmNsZWFyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5ET01TdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uc2VsZWN0KToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db29raWVUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVNYW5pZmVzdFRyZWVFbGVtZW50LnBy
b3RvdHlwZS5vbnNlbGVjdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNo
ZUZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uc2VsZWN0KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWxlU3lzdGVtVHJlZUVsZW1lbnQucHJvdG90eXBlLmNsZWFyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdvcnlWaWV3LnByb3RvdHlwZS5zZXRUZXh0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1JldmlzaW9uSGlzdG9yeVZpZXcuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUmV2aXNpb25IaXN0b3J5Vmlldy5wcm90b3R5cGUuX3Jlc2V0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXZpc2lvbkhpc3RvcnlUcmVlRWxlbWVudC5wcm90b3R5cGUu
YWxsb3dSZXZlcnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJ1bnRpbWVNb2RlbC5wcm90b3R5cGUuX3JlcG9y
dENvbXBsZXRpb25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZUV4ZWN1dGlvbkNvbnRl
eHRMaXN0LnByb3RvdHlwZS5nZXQgZGlzcGxheU5hbWUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU2NvcGVDaGFpblNpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjb3BlQ2hhaW5TaWRlYmFyUGFuZS5wcm90b3R5cGUudXBkYXRlKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TY29wZVZhcmlhYmxlVHJlZUVsZW1lbnQucHJvdG90eXBlLmdldCBwcm9wZXJ0eVBh
dGgpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdC5Mb2NhdGlvbi5wcm90b3R5cGUuZGlzcG9zZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanM6CisgICAgICAg
IChIVE1MU2NyaXB0Rm9ybWF0dGVyLnByb3RvdHlwZS5zdHlsZVNoZWV0RW5kZWQpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBwZXRNb2RlbC5wcm90b3R5cGUuX3Byb2plY3REaWRSZXNl
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU25pcHBldEphdmFTY3JpcHRTb3VyY2UucHJvdG90
eXBlLndvcmtpbmdDb3B5Q2hhbmdlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
Y3JpcHRzTmF2aWdhdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0
b3IucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmln
YXRvclZpZXcucHJvdG90eXBlLl9zbmlwcGV0Q3JlYXRpb25SZXF1ZXN0ZWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2hvd0dvVG9Tb3VyY2VEaWFsb2cpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWxEZXNjcmlwdG9yLnByb3RvdHlwZS5hcHBlbmRB
cHBsaWNhYmxlSXRlbXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1Nl
YXJjaFNjb3BlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZS5w
cm90b3R5cGUuX3NvcnRlZFVJU291cmNlQ29kZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2V0dGluZ3NTY3JlZW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2V0dGluZ3NT
Y3JlZW4ucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZXR0aW5n
c1RhYi5wcm90b3R5cGUuX2NyZWF0ZUN1c3RvbVNldHRpbmcpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkdlbmVyaWNTZXR0aW5nc1RhYi5wcm90b3R5cGUuX2phdmFTY3JpcHREaXNhYmxlZENoYW5n
ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlVzZXJBZ2VudFNldHRpbmdzVGFiLnByb3RvdHlw
ZS5fY3JlYXRlRGV2aWNlT3JpZW50YXRpb25PdmVycmlkZUVsZW1lbnQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkV4cGVyaW1lbnRzU2V0dGluZ3NUYWIucHJvdG90eXBlLl9jcmVhdGVFeHBlcmlt
ZW50Q2hlY2tib3gpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2hvd01vcmVEYXRh
R3JpZE5vZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2hvd01vcmVEYXRhR3JpZE5vZGUu
cHJvdG90eXBlLmRpc3Bvc2UpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU2lkZWJh
clBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlLl9v
blRpdGxlS2V5RG93bik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyVHJl
ZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclNlY3Rpb25UcmVlRWxl
bWVudC5wcm90b3R5cGUub25yZXZlYWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXJU
cmVlRWxlbWVudC5wcm90b3R5cGUub25yZXZlYWwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU25pcHBldEphdmFTY3JpcHRTb3VyY2VGcmFtZS5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TbmlwcGV0SmF2YVNjcmlwdFNvdXJjZUZyYW1lLnByb3RvdHlwZS5fcnVuQnV0dG9uQ2xp
Y2tlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TbmlwcGV0U3RvcmFnZS5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TbmlwcGV0LnByb3RvdHlwZS5zZXJpYWxpemVUb09iamVj
dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZS5uZXh0
VG9rZW4pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVy
LnJlMmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9jb21taXRFZGl0aW5n
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yRGVsZWdhdGVGb3JTb3VyY2VGcmFt
ZS5wcm90b3R5cGUuY3JlYXRlTGluayk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VIVE1MVG9rZW5pemVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxU
b2tlbml6ZXIucHJvdG90eXBlLm5leHRUb2tlbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VIVE1MVG9rZW5pemVyLnJlMmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLnByb3RvdHlwZS5uZXh0VG9rZW4pOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5yZTJqczoK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NwZWN0cnVtLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNwZWN0cnVtLnByb3RvdHlwZS5fb25LZXlEb3duKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1NwbGl0Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TcGxp
dFZpZXcucHJvdG90eXBlLnNldCBlbGVtZW50c1RvUmVzdG9yZVNjcm9sbFBvc2l0aW9uc0Zvcik6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdGF0dXNCYXJCdXR0b24uanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uLnByb3RvdHlwZS5fc2hvd09wdGlvbnMp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVTaGVldE91dGxpbmVEaWFsb2cu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVTaGVldE91dGxpbmVEaWFsb2cucHJvdG90
eXBlLnJld3JpdGVRdWVyeSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNv
dXJjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZVNvdXJjZS5wcm90b3R5cGUuX2Ns
ZWFySW5jcmVtZW50YWxVcGRhdGVUaW1lcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRl
YmFyUGFuZS5wcm90b3R5cGUud2lsbEhpZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXB1
dGVkU3R5bGVTaWRlYmFyUGFuZS5wcm90b3R5cGUuZXhwYW5kKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5lZGl0aW5nU2VsZWN0b3JDYW5j
ZWxsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbXB1dGVkU3R5bGVQcm9wZXJ0aWVzU2Vj
dGlvbi5wcm90b3R5cGUucmVidWlsZENvbXB1dGVkVHJhY2UpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkJsYW5rU3R5bGVQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUubWFrZU5vcm1hbCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UYWJiZWRFZGl0b3JDb250YWluZXIuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnByb3RvdHlwZS5j
dXJyZW50RmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVy
Lkhpc3RvcnlJdGVtLnByb3RvdHlwZS5zZXJpYWxpemVUb09iamVjdCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkhpc3RvcnkucHJvdG90eXBlLnNldCBfc2Vy
aWFsaXplVG9PYmplY3QpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFu
ZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS5faW5zZXJ0
QmVmb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwuZW5kc1dpdGhCcmFja2V0
UmVnZXguKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRQcm9tcHQuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dFByb21wdFdpdGhIaXN0b3J5LnByb3RvdHlwZS5kZWZh
dWx0S2V5SGFuZGxlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1h
bmFnZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLnByb3RvdHlw
ZS5fc3RvcHBlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlLnJlY29y
ZE9mZnNldEluU2Vjb25kcyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZU92ZXJ2aWV3UGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
UGFuZS5wcm90b3R5cGUuX3NjaGVkdWxlUmVmcmVzaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVPdmVydmlld1dpbmRvdy5wcm90b3R5cGUuX3pvb20pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lRnJhbWVPdmVydmlldy5wcm90b3R5cGUuZ2V0V2luZG93VGltZXMpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5
cGUuaXNWaXNpYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZUNhdGVnb3J5LnBy
b3RvdHlwZS5zZXQgaGlkZGVuKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RvcERv
d25Qcm9maWxlRGF0YUdyaWRUcmVlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRvcERvd25Q
cm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fZXhjbHVkZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlLnByb3RvdHlwZS5zZXRTb3VyY2VNYXBwaW5nKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlVJU291cmNlQ29kZUZyYW1lLnByb3RvdHlwZS5wb3B1bGF0ZVRleHRBcmVhQ29udGV4dE1lbnUp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVmlldy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5WaWV3LnByb3RvdHlwZS5mb2N1cyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuV2F0Y2hFeHByZXNzaW9uc1NpZGViYXJQYW5lLnByb3RvdHlwZS5fcmVmcmVzaEJ1dHRvbkNs
aWNrZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLnBy
b3RvdHlwZS5fdXBkYXRlSG92ZXJlZEVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldh
dGNoRXhwcmVzc2lvblRyZWVFbGVtZW50LnByb3RvdHlwZS5hcHBseUV4cHJlc3Npb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2VyTWFuYWdlci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnByb3RvdHlwZS5fZGlzY29ubmVjdGVkRnJvbVdvcmtl
cik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya2VyVGVybWluYXRlZFNjcmVlbi5wcm90b3R5
cGUud2lsbEhpZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV29ya2Vyc1NpZGVi
YXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtlcnNTaWRlYmFyUGFuZS5wcm90
b3R5cGUuX2F1dG9hdHRhY2hUb1dvcmtlcnNDbGlja2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dvcmtzcGFjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2Uu
cHJvdG90eXBlLnVpU291cmNlQ29kZXMpOgorCisyMDEyLTEwLTAyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG1vdmUgcnVu
U2NyaXB0IGludG8gdGhlIHNuaXBwZXRzIG1vZGVsCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODEyMgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMKaW5k
ZXggMGZjYzJmMDUwZGZmNzA0OThiYzkwNDU3ZTQxM2E2NDliOWEzZjk4YS4uNjUwNmIxY2RhYTEy
ODU2M2NlOGVmMWIxNDZhMGIzODkzOTQwYmE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcwpA
QCAtMjE1LDEwICsyMTUsMTAgQEAgU3RhY2tUcmFjZVY4LnByb3RvdHlwZSA9IHsKICAgICAgICAg
dGhpcy5fc3RhY2tUcmFjZSA9IHRoaXMuX2Vycm9yLnN0YWNrOwogICAgICAgICBFcnJvci5wcmVw
YXJlU3RhY2tUcmFjZSA9IG9sZFByZXBhcmVTdGFja1RyYWNlOwogICAgICAgICBkZWxldGUgdGhp
cy5fZXJyb3I7IC8vIE5vIGxvbmdlciBuZWVkZWQsIGZyZWUgbWVtb3J5LgotICAgIH0KLX0KKyAg
ICB9LAogCi1TdGFja1RyYWNlVjgucHJvdG90eXBlLl9fcHJvdG9fXyA9IFN0YWNrVHJhY2UucHJv
dG90eXBlOworICAgIF9fcHJvdG9fXzogU3RhY2tUcmFjZS5wcm90b3R5cGUKK30KIAogLyoqCiAg
KiBAY29uc3RydWN0b3IKQEAgLTEwMjAsMTAgKzEwMjAsMTAgQEAgV2ViR0xCb3VuZFJlc291cmNl
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXRlLkJJTkRJTkcgPSB0YXJnZXQ7
CiAgICAgICAgICAgICB0aGlzLnB1c2hDYWxsKG5ldyBDYWxsKFdlYkdMUmVuZGVyaW5nQ29udGV4
dFJlc291cmNlLmZvck9iamVjdCh0aGlzKSwgYmluZE1ldGhvZE5hbWUsIFt0YXJnZXQsIHRoaXNd
KSk7CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAgfSwKIAotV2ViR0xCb3VuZFJlc291cmNlLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBSZXNvdXJjZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBS
ZXNvdXJjZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTExMDcsMTMg
KzExMDcsMTQgQEAgV2ViR0xUZXh0dXJlUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgY29uc29sZS5lcnJvcigiQVNTRVJUX05PVF9SRUFDSEVEOiBDb3VsZCBub3QgcHJvcGVybHkg
cHJvY2VzcyBhIGdsLiIgKyBjYWxsLmZ1bmN0aW9uTmFtZSgpICsgIiBjYWxsIHdoaWxlIHRoZSBE
UkFXSU5HIEJVRkZFUiBpcyBib3VuZC4iKTsKICAgICAgICAgfQogICAgICAgICB0aGlzLnB1c2hD
YWxsKGNhbGwpOwotICAgIH0KLX0KKyAgICB9LAorCisgICAgcHVzaENhbGxfdGV4UGFyYW1ldGVy
aTogV2ViR0xUZXh0dXJlUmVzb3VyY2UucHJvdG90eXBlLnB1c2hDYWxsX3RleFBhcmFtZXRlcmYs
CiAKLVdlYkdMVGV4dHVyZVJlc291cmNlLnByb3RvdHlwZS5wdXNoQ2FsbF90ZXhQYXJhbWV0ZXJp
ID0gV2ViR0xUZXh0dXJlUmVzb3VyY2UucHJvdG90eXBlLnB1c2hDYWxsX3RleFBhcmFtZXRlcmY7
Ci1XZWJHTFRleHR1cmVSZXNvdXJjZS5wcm90b3R5cGUucHVzaENhbGxfY29weVRleFN1YkltYWdl
MkQgPSBXZWJHTFRleHR1cmVSZXNvdXJjZS5wcm90b3R5cGUucHVzaENhbGxfY29weVRleEltYWdl
MkQ7CisgICAgcHVzaENhbGxfY29weVRleFN1YkltYWdlMkQ6IFdlYkdMVGV4dHVyZVJlc291cmNl
LnByb3RvdHlwZS5wdXNoQ2FsbF9jb3B5VGV4SW1hZ2UyRCwKIAotV2ViR0xUZXh0dXJlUmVzb3Vy
Y2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGU7Cisg
ICAgX19wcm90b19fOiBXZWJHTEJvdW5kUmVzb3VyY2UucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC0xMjM0LDEwICsxMjM1LDEwIEBAIFdlYkdMUHJvZ3JhbVJlc291cmNl
LnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBhbnkgb2xkZXIgY2FsbHMg
dGhhdCBubyBsb25nZXIgY29udHJpYnV0ZSB0byB0aGUgcmVzb3VyY2Ugc3RhdGUuCiAgICAgICAg
IC8vIEZJWE1FOiBoYW5kbGUgbXVsdGlwbGUgYXR0YWNoU2hhZGVyICYmIGRldGFjaFNoYWRlci4K
ICAgICAgICAgUmVzb3VyY2UucHJvdG90eXBlLnB1c2hDYWxsLmNhbGwodGhpcywgY2FsbCk7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkdMUHJvZ3JhbVJlc291cmNlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBSZXNvdXJjZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBSZXNvdXJjZS5wcm90b3R5
cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTEyNTgsMTAgKzEyNTksMTAgQEAgV2Vi
R0xTaGFkZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUg
YW55IG9sZGVyIGNhbGxzIHRoYXQgbm8gbG9uZ2VyIGNvbnRyaWJ1dGUgdG8gdGhlIHJlc291cmNl
IHN0YXRlLgogICAgICAgICAvLyBGSVhNRTogaGFuZGxlIG11bHRpcGxlIHNoYWRlclNvdXJjZSBj
YWxscy4KICAgICAgICAgUmVzb3VyY2UucHJvdG90eXBlLnB1c2hDYWxsLmNhbGwodGhpcywgY2Fs
bCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkdMU2hhZGVyUmVzb3VyY2UucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFJlc291cmNlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFJlc291cmNlLnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTI4MiwxMCArMTI4MywxMCBA
QCBXZWJHTEJ1ZmZlclJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gRklYTUU6IHJl
bW92ZSBhbnkgb2xkZXIgY2FsbHMgdGhhdCBubyBsb25nZXIgY29udHJpYnV0ZSB0byB0aGUgcmVz
b3VyY2Ugc3RhdGUuCiAgICAgICAgIC8vIEZJWE1FOiBPcHRpbWl6ZSBtZW1vcnkgZm9yIGJ1ZmZl
clN1YkRhdGEuCiAgICAgICAgIFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUucHVzaENhbGwu
Y2FsbCh0aGlzLCBjYWxsKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViR0xCdWZmZXJSZXNvdXJj
ZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViR0xCb3VuZFJlc291cmNlLnByb3RvdHlwZTsKKyAg
ICBfX3Byb3RvX186IFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBA
Y29uc3RydWN0b3IKQEAgLTEzMDUsMTAgKzEzMDYsMTAgQEAgV2ViR0xGcmFtZWJ1ZmZlclJlc291
cmNlLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUgYW55IG9s
ZGVyIGNhbGxzIHRoYXQgbm8gbG9uZ2VyIGNvbnRyaWJ1dGUgdG8gdGhlIHJlc291cmNlIHN0YXRl
LgogICAgICAgICBXZWJHTEJvdW5kUmVzb3VyY2UucHJvdG90eXBlLnB1c2hDYWxsLmNhbGwodGhp
cywgY2FsbCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkdMRnJhbWVidWZmZXJSZXNvdXJjZS5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViR0xCb3VuZFJlc291cmNlLnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29u
c3RydWN0b3IKQEAgLTEzMjgsMTAgKzEzMjksMTAgQEAgV2ViR0xSZW5kZXJidWZmZXJSZXNvdXJj
ZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICAvLyBGSVhNRTogcmVtb3ZlIGFueSBvbGRl
ciBjYWxscyB0aGF0IG5vIGxvbmdlciBjb250cmlidXRlIHRvIHRoZSByZXNvdXJjZSBzdGF0ZS4K
ICAgICAgICAgV2ViR0xCb3VuZFJlc291cmNlLnByb3RvdHlwZS5wdXNoQ2FsbC5jYWxsKHRoaXMs
IGNhbGwpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJHTFJlbmRlcmJ1ZmZlclJlc291cmNlLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJHTEJvdW5kUmVzb3VyY2UucHJvdG90eXBlOworICAgIF9f
cHJvdG9fXzogV2ViR0xCb3VuZFJlc291cmNlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25z
dHJ1Y3RvcgpAQCAtMTc5OSwxMCArMTgwMCwxMCBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNv
dXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNv
dXJjZS5fd3JhcEZ1bmN0aW9ucyA9IHdyYXBGdW5jdGlvbnM7CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuIHdyYXBGdW5jdGlvbnM7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkdMUmVuZGVyaW5n
Q29udGV4dFJlc291cmNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBSZXNvdXJjZS5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBSZXNvdXJjZS5wcm90b3R5cGUKK30KIAogLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8KIC8vIDJEIENhbnZhcwpAQCAtMjAyMCwxMCArMjAyMSwxMCBAQCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRSZXNvdXJjZS5fd3JhcEZ1bmN0aW9ucyA9IHdyYXBGdW5jdGlvbnM7
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHdyYXBGdW5jdGlvbnM7Ci0gICAgfQotfTsKKyAg
ICB9LAogCi1DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRSZXNvdXJjZS5wcm90b3R5cGUuX19wcm90
b19fID0gUmVzb3VyY2UucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogUmVzb3VyY2UucHJvdG90
eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvY29tcGlsZS1mcm9udC1lbmQucHkKaW5kZXggM2QxOGVhNzdkMjQ4YWUwMTAxMDEyMGQ2Mjkz
NDE2YWViOTQ3YjcyNy4uM2U0ZGUxMWQxY2NmMGZiYTM2ODM1MzMzZDQzNWU0MmZhNTA0ZTBjYyAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAt
MjI1LDYgKzIyNSwxMyBAQCBtb2R1bGVzID0gWwogICAgICAgICBdCiAgICAgfSwKICAgICB7Cisg
ICAgICAgICJuYW1lIjogIndvcmtlcnMiLAorICAgICAgICAiZGVwZW5kZW5jaWVzIjogWyJjb21w
b25lbnRzIl0sCisgICAgICAgICJzb3VyY2VzIjogWworICAgICAgICAgICAgIldvcmtlck1hbmFn
ZXIuanMiLAorICAgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAgICJuYW1lIjogInNjcmlw
dHMiLAogICAgICAgICAiZGVwZW5kZW5jaWVzIjogWyJjb21wb25lbnRzIiwgIndvcmtlcnMiXSwK
ICAgICAgICAgInNvdXJjZXMiOiBbCkBAIC0zMDAsMTMgKzMwNyw2IEBAIG1vZHVsZXMgPSBbCiAg
ICAgICAgIF0KICAgICB9LAogICAgIHsKLSAgICAgICAgIm5hbWUiOiAid29ya2VycyIsCi0gICAg
ICAgICJkZXBlbmRlbmNpZXMiOiBbImNvbXBvbmVudHMiXSwKLSAgICAgICAgInNvdXJjZXMiOiBb
Ci0gICAgICAgICAgICAiV29ya2VyTWFuYWdlci5qcyIsCi0gICAgICAgIF0KLSAgICB9LAotICAg
IHsKICAgICAgICAgIm5hbWUiOiAidGVzdHMiLAogICAgICAgICAiZGVwZW5kZW5jaWVzIjogWyJj
b21wb25lbnRzIl0sCiAgICAgICAgICJzb3VyY2VzIjogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qcwppbmRleCBiNTAwYTY2M2JkNDJmODEyYzEwODBhOTMxY2FiZTNhNTVkNzhjN2Q5Li45ZGZh
NzhjZDVmNjgwZjMyNWIwZDZiMDUxYTI1MzFlMzM3ODExNWEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5qcwpAQCAtMjIyLDggKzIyMiw2IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3ID0g
ZnVuY3Rpb24oY29udHJvbGxlcikKIFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3Lm1heFF1ZXJpZXND
b3VudCA9IDIwOwogCiBXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUgPSB7Ci0gICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUsCi0KICAgICAvKioKICAgICAg
KiBAcmV0dXJuIHtBcnJheS48RWxlbWVudD59CiAgICAgICovCkBAIC0zODcsMTAgKzM4NSwxMSBA
QCBXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIAogICAgICAg
ICB0aGlzLl9zYXZlKCk7CiAgICAgICAgIHRoaXMuX2NvbnRyb2xsZXIuc3RhcnRTZWFyY2godGhp
cy5zZWFyY2hDb25maWcpOwotICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGUKIH0KIAotLy9XZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOwogCiAvKioKICAq
IEBjb25zdHJ1Y3RvcgpAQCAtNjY3LDEwICs2NjYsMTAgQEAgV2ViSW5zcGVjdG9yLkZpbGVCYXNl
ZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgY29udGVudFNwYW4udGV4
dENvbnRlbnQgPSBsaW5lQ29udGVudDsKICAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFJh
bmdlc1dpdGhTdHlsZUNsYXNzKGNvbnRlbnRTcGFuLCBtYXRjaFJhbmdlcywgImhpZ2hsaWdodGVk
LW1hdGNoIik7CiAgICAgICAgIHJldHVybiBjb250ZW50U3BhbjsKLSAgICB9Ci19CisgICAgfSwK
IAotV2ViSW5zcGVjdG9yLkZpbGVCYXNlZFNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuU2VhcmNoUmVzdWx0c1BhbmUucHJvdG90eXBlOworICAgIF9f
cHJvdG9fXzogV2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNQYW5lLnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlSXRlbXNWaWV3LmpzCmluZGV4IGY0
NjkyOGRiN2ZhN2ViOTlhZjYxMTY3YjRiZDQ5YTI4NWFiMTkwM2EuLmQ1OTQ0NzA3MDE4MmZlZjlm
MTRhYWQzZDVmNzM3MWFmZjJlMTE5MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZUl0ZW1zVmlldy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcuanMK
QEAgLTI3MSw2ICsyNzEsNyBAQCBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUl0ZW1zVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIEluc3BlY3RvckJhY2tlbmQuZGVsZXRlQ2FjaGVk
UmVzb3VyY2UoLi4uKQogICAgICAgICAvLyB0aGlzLl91cGRhdGUoKTsKICAgICB9LAorCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKIH0KIAotV2ViSW5zcGVjdG9y
LkFwcGxpY2F0aW9uQ2FjaGVJdGVtc1ZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQXBwbGljYXRpb25DYWNoZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlTW9kZWwuanMKaW5kZXggOWI4ZjJiMDBi
ZjM3Zjc4ZThmOWM2MjJjNmM2OWRiZjMxMmEyMTc1OS4uYjU1MjlhNjY2MmJlYmViY2UyZDdhMjQ5
MWMwYzJlNGZlMzBmOWY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BcHBsaWNhdGlvbkNhY2hlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9BcHBsaWNhdGlvbkNhY2hlTW9kZWwuanMKQEAgLTIxOCwxMCArMjE4
LDEwIEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdGhpcy5fb25MaW5lID0gaXNOb3dPbmxpbmU7CiAgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9k
ZWwuRXZlbnRUeXBlcy5OZXR3b3JrU3RhdGVDaGFuZ2VkLCBpc05vd09ubGluZSk7Ci0gICAgfQot
fQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTW9kZWwucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9f
XzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRD
YXRlZ29yaWVzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdENh
dGVnb3JpZXMuanMKaW5kZXggYjMyYjQxOGQwYTJhYWQwODExZTk3OWM0N2QzM2FjODUyOGQzZWI0
Ni4uZmZkM2Y2MzQyMDk1ZTY2MDZjMWNlYjY2NmUwNmJjODZiYmI4ZmZjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdENhdGVnb3JpZXMuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdENhdGVnb3JpZXMuanMK
QEAgLTQ1LDEwICs0NSwxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRDYXRlZ29yaWVzLlBhZ2VQZXJm
b3JtYW5jZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuYWRkUnVsZShuZXcgV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZXMuQ3NzSW5IZWFkUnVsZSgpLCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlLlNl
dmVyaXR5LlNldmVyZSk7CiAgICAgICAgIHRoaXMuYWRkUnVsZShuZXcgV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZXMuU3R5bGVzU2NyaXB0c09yZGVyUnVsZSgpLCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
LlNldmVyaXR5LlNldmVyZSk7CiAgICAgICAgIHRoaXMuYWRkUnVsZShuZXcgV2ViSW5zcGVjdG9y
LkF1ZGl0UnVsZXMuVmVuZG9yUHJlZml4ZWRDU1NQcm9wZXJ0aWVzKCksIFdlYkluc3BlY3Rvci5B
dWRpdFJ1bGUuU2V2ZXJpdHkuV2FybmluZyk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5BdWRpdENhdGVnb3JpZXMuUGFnZVBlcmZvcm1hbmNlLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuQXVkaXRDYXRlZ29yeS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuQXVkaXRDYXRlZ29yeS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3Ry
dWN0b3IKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0Q2F0ZWdvcmllcy5OZXR3
b3JrVXRpbGl6YXRpb24ucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmFkZFJ1bGUobmV3IFdl
Ykluc3BlY3Rvci5BdWRpdFJ1bGVzLlBhcmFsbGVsaXplRG93bmxvYWRSdWxlKDQsIDEwLCAwLjUp
LCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlLlNldmVyaXR5Lldhcm5pbmcpOwogICAgICAgICB0aGlz
LmFkZFJ1bGUobmV3IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkJyb3dzZXJDYWNoZUNvbnRyb2xS
dWxlKCksIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGUuU2V2ZXJpdHkuU2V2ZXJlKTsKICAgICAgICAg
dGhpcy5hZGRSdWxlKG5ldyBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Qcm94eUNhY2hlQ29udHJv
bFJ1bGUoKSwgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5TZXZlcml0eS5XYXJuaW5nKTsKLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0Q2F0ZWdvcmllcy5OZXR3b3JrVXRpbGl6
YXRpb24ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdENhdGVnb3J5LnBy
b3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRpdENhdGVnb3J5LnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
dWRpdExhdW5jaGVyVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QXVkaXRMYXVuY2hlclZpZXcuanMKaW5kZXggOTdkMDg4NjUzM2Y3NWVhNDQxZjY3YWEwNDc0MzA0
MzIyOTkyMGEyMy4uMjkzOWYxYjIxNjI4MTNlYzIwNGM1ZGFmODFmYWViOTUyNmVjNWUxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdExhdW5jaGVy
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0TGF1
bmNoZXJWaWV3LmpzCkBAIC0yNDksNyArMjQ5LDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0TGF1bmNo
ZXJWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX2xhdW5jaEJ1dHRvbi50
ZXh0Q29udGVudCA9IHRoaXMuX2F1ZGl0UnVubmluZyA/IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
U3RvcCIpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSdW4iKTsKICAgICAgICAgdGhpcy5fbGF1
bmNoQnV0dG9uLmRpc2FibGVkID0gIXRoaXMuX2N1cnJlbnRDYXRlZ29yaWVzQ291bnQ7Ci0gICAg
fQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdExhdW5jaGVyVmlldy5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzog
V2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UmVzdWx0Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSZXN1bHRWaWV3LmpzCmluZGV4IDRjZmM0MzE2ODlh
YThkZTgwZjFhM2M3Y2IzMmFkZGM1NjMyOGM0NzEuLmRiZDdhODljNzQ4ZjAwZjFlZjBlNTE1YjAy
MzdhOGFmNmZjZWNkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQXVkaXRSZXN1bHRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQXVkaXRSZXN1bHRWaWV3LmpzCkBAIC00NiwxMCArNDYsOSBAQCBXZWJJbnNwZWN0
b3IuQXVkaXRSZXN1bHRWaWV3ID0gZnVuY3Rpb24oY2F0ZWdvcnlSZXN1bHRzKQogfQogCiBXZWJJ
bnNwZWN0b3IuQXVkaXRSZXN1bHRWaWV3LnByb3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQogfQogCi1XZWJJbnNwZWN0b3IuQXVkaXRSZXN1bHRW
aWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7Ci0K
IC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlNpZGViYXJQ
YW5lfQpAQCAtMTE4LDcgKzExNyw3IEBAIFdlYkluc3BlY3Rvci5BdWRpdENhdGVnb3J5UmVzdWx0
UGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0cmVlRWxlbWVudC5leHBhbmQoKTsKICAg
ICAgICAgfQogICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQ7Ci0gICAgfQotfQorICAgIH0sCiAK
LVdlYkluc3BlY3Rvci5BdWRpdENhdGVnb3J5UmVzdWx0UGFuZS5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwppbmRleCAxNGI1OWFjNDdhMzFjZDE2
YmEzNzFjZjQ3ZTkwMzdhOWJjMjE0MzA3Li4zODM0ODJmNWIyNGVkOGI2N2QxNDM1N2QwYTY5NGNm
ZTNlM2M1MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0UnVsZXMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9B
dWRpdFJ1bGVzLmpzCkBAIC0xMjAsMTAgKzEyMCwxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
cy5HemlwUnVsZS5wcm90b3R5cGUgPSB7CiAgICAgX3Nob3VsZENvbXByZXNzOiBmdW5jdGlvbihy
ZXF1ZXN0KQogICAgIHsKICAgICAgICAgcmV0dXJuIHJlcXVlc3QudHlwZS5pc1RleHRUeXBlKCkg
JiYgcmVxdWVzdC5wYXJzZWRVUkwuaG9zdCAmJiByZXF1ZXN0LnJlc291cmNlU2l6ZSAhPT0gdW5k
ZWZpbmVkICYmIHJlcXVlc3QucmVzb3VyY2VTaXplID4gMTUwOwotICAgIH0KLX0KKyAgICB9LAog
Ci1XZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5HemlwUnVsZS5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuQXVkaXRSdWxlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAt
MTY0LDEwICsxNjQsMTAgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUV4dGVybmFs
UmVzb3VyY2VzUnVsZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgc3VtbWFyeS52YWx1ZSA9ICJU
aGVyZSBhcmUgbXVsdGlwbGUgcmVzb3VyY2VzIHNlcnZlZCBmcm9tIHNhbWUgZG9tYWluLiBDb25z
aWRlciBjb21iaW5pbmcgdGhlbSBpbnRvIGFzIGZldyBmaWxlcyBhcyBwb3NzaWJsZS4iOwogICAg
ICAgICBjYWxsYmFjayhyZXN1bHQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
QXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJuYWxSZXNvdXJjZXNSdWxlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5BdWRpdFJ1bGUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9y
CkBAIC0xNzcsNyArMTc3LDkgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUpzUmVz
b3VyY2VzUnVsZSA9IGZ1bmN0aW9uKGFsbG93ZWRQZXJEb21haW4pIHsKICAgICBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJuYWxSZXNvdXJjZXNSdWxlLmNhbGwodGhpcywgInBh
Z2UtZXh0ZXJuYWxqcyIsICJDb21iaW5lIGV4dGVybmFsIEphdmFTY3JpcHQiLCBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsICJKYXZhU2NyaXB0IiwgYWxsb3dlZFBlckRvbWFpbik7
CiB9CiAKLVdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVKc1Jlc291cmNlc1J1bGUucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVFeHRlcm5h
bFJlc291cmNlc1J1bGUucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmlu
ZUpzUmVzb3VyY2VzUnVsZS5wcm90b3R5cGUgPSB7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlcy5Db21iaW5lRXh0ZXJuYWxSZXNvdXJjZXNSdWxlLnByb3RvdHlwZQorfQog
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTg3LDcgKzE4OSw5IEBAIFdlYkluc3BlY3Rvci5B
dWRpdFJ1bGVzLkNvbWJpbmVDc3NSZXNvdXJjZXNSdWxlID0gZnVuY3Rpb24oYWxsb3dlZFBlckRv
bWFpbikgewogICAgIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvbWJpbmVFeHRlcm5hbFJlc291
cmNlc1J1bGUuY2FsbCh0aGlzLCAicGFnZS1leHRlcm5hbGNzcyIsICJDb21iaW5lIGV4dGVybmFs
IENTUyIsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQsICJDU1MiLCBhbGxv
d2VkUGVyRG9tYWluKTsKIH0KIAotV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUNzc1Jl
c291cmNlc1J1bGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVz
LkNvbWJpbmVFeHRlcm5hbFJlc291cmNlc1J1bGUucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZXMuQ29tYmluZUNzc1Jlc291cmNlc1J1bGUucHJvdG90eXBlID0geworICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29tYmluZUV4dGVybmFsUmVzb3VyY2VzUnVs
ZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTIyNSwxMCArMjI5LDEw
IEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLk1pbmltaXplRG5zTG9va3Vwc1J1bGUucHJvdG90
eXBlID0gewogCiAgICAgICAgIHN1bW1hcnkudmFsdWUgPSAiVGhlIGZvbGxvd2luZyBkb21haW5z
IG9ubHkgc2VydmUgb25lIHJlc291cmNlIGVhY2guIElmIHBvc3NpYmxlLCBhdm9pZCB0aGUgZXh0
cmEgRE5TIGxvb2t1cHMgYnkgc2VydmluZyB0aGVzZSByZXNvdXJjZXMgZnJvbSBleGlzdGluZyBk
b21haW5zLiI7CiAgICAgICAgIGNhbGxiYWNrKHJlc3VsdCk7Ci0gICAgfQotfQorICAgIH0sCiAK
LVdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLk1pbmltaXplRG5zTG9va3Vwc1J1bGUucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGUucHJvdG90eXBlOworICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29u
c3RydWN0b3IKQEAgLTMwMSwxMCArMzA1LDEwIEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlBh
cmFsbGVsaXplRG93bmxvYWRSdWxlLnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXN1bHQudmlv
bGF0aW9uQ291bnQgPSByZXF1ZXN0c09uQnVzaWVzdEhvc3QubGVuZ3RoOwogICAgICAgICBjYWxs
YmFjayhyZXN1bHQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQXVkaXRSdWxl
cy5QYXJhbGxlbGl6ZURvd25sb2FkUnVsZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQXVk
aXRSdWxlLnByb3RvdHlwZQorfQogCiAvKioKICAqIFRoZSByZXBvcnRlZCBDU1MgcnVsZSBzaXpl
IGlzIGluY29ycmVjdCAocGFyc2VkICE9IG9yaWdpbmFsIGluIFdlYktpdCksCkBAIC00NTMsMTAg
KzQ1NywxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5VbnVzZWRDc3NSdWxlLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIENTU0FnZW50LmdldEFsbFN0eWxlU2hlZXRzKGFs
bFN0eWxlc0NhbGxiYWNrKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuVW51c2VkQ3NzUnVsZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNTk5LDEwICs2MDMsMTAg
QEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ2FjaGVDb250cm9sUnVsZS5wcm90b3R5cGUgPSB7
CiAgICAgaXNDYWNoZWFibGVSZXNvdXJjZTogZnVuY3Rpb24ocmVxdWVzdCkKICAgICB7CiAgICAg
ICAgIHJldHVybiByZXF1ZXN0LnN0YXR1c0NvZGUgIT09IHVuZGVmaW5lZCAmJiBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlcy5DYWNoZWFibGVSZXNwb25zZUNvZGVzW3JlcXVlc3Quc3RhdHVzQ29kZV07
Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNhY2hlQ29udHJv
bFJ1bGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGUucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5wcm90b3R5cGUKK30K
IAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTY2OCwxMCArNjcyLDEwIEBAIFdlYkluc3BlY3Rv
ci5BdWRpdFJ1bGVzLkJyb3dzZXJDYWNoZUNvbnRyb2xSdWxlLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgICF0aGlzLmhhc1Jlc3BvbnNlSGVhZGVyKHJlcXVlc3QsICJTZXQtQ29va2llIikgJiYK
ICAgICAgICAgICAgICF0aGlzLmZyZXNobmVzc0xpZmV0aW1lR3JlYXRlclRoYW4ocmVxdWVzdCwg
MTEgKiBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5DYWNoZUNvbnRyb2xSdWxlLk1pbGxpc1Blck1v
bnRoKSAmJgogICAgICAgICAgICAgdGhpcy5mcmVzaG5lc3NMaWZldGltZUdyZWF0ZXJUaGFuKHJl
cXVlc3QsIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNhY2hlQ29udHJvbFJ1bGUuTWlsbGlzUGVy
TW9udGgpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5Ccm93
c2VyQ2FjaGVDb250cm9sUnVsZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZXMuQ2FjaGVDb250cm9sUnVsZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuQXVkaXRSdWxlcy5DYWNoZUNvbnRyb2xSdWxlLnByb3RvdHlwZQorfQogCiAvKioK
ICAqIEBjb25zdHJ1Y3RvcgpAQCAtNzA4LDEwICs3MTIsMTAgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuUHJveHlDYWNoZUNvbnRyb2xSdWxlLnByb3RvdHlwZSA9IHsKICAgICBfc2V0Q29va2ll
Q2FjaGVhYmxlQ2hlY2s6IGZ1bmN0aW9uKHJlcXVlc3QpCiAgICAgewogICAgICAgICByZXR1cm4g
dGhpcy5oYXNSZXNwb25zZUhlYWRlcihyZXF1ZXN0LCAiU2V0LUNvb2tpZSIpICYmIHRoaXMuaXNQ
dWJsaWNseUNhY2hlYWJsZShyZXF1ZXN0KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZXMuUHJveHlDYWNoZUNvbnRyb2xSdWxlLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5DYWNoZUNvbnRyb2xSdWxlLnByb3RvdHlwZTsKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNhY2hlQ29udHJvbFJ1bGUucHJv
dG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC04NDAsMTAgKzg0NCwxMCBAQCBX
ZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5JbWFnZURpbWVuc2lvbnNSdWxlLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgaWYgKHByb2dyZXNzLmlzQ2FuY2VsZWQoKSkKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnJlcXVlc3REb2N1bWVudChvbkRvY3VtZW50
QXZhaWxhYmxlKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMu
SW1hZ2VEaW1lbnNpb25zUnVsZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkF1
ZGl0UnVsZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtOTMwLDEwICs5MzQsMTAg
QEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ3NzSW5IZWFkUnVsZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIH0KIAogICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50
KG9uRG9jdW1lbnRBdmFpbGFibGUpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
QXVkaXRSdWxlcy5Dc3NJbkhlYWRSdWxlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuQXVkaXRSdWxlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMDE4LDEwICsx
MDIyLDEwIEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlN0eWxlc1NjcmlwdHNPcmRlclJ1bGUu
cHJvdG90eXBlID0gewogICAgICAgICB9CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnJlcXVlc3REb2N1bWVudChvbkRvY3VtZW50QXZhaWxhYmxlKTsKLSAgICB9Ci19CisgICAgfSwK
IAotV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuU3R5bGVzU2NyaXB0c09yZGVyUnVsZS5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBj
b25zdHJ1Y3RvcgpAQCAtMTEyMiwxMCArMTEyNiwxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRSdWxl
cy5DU1NSdWxlQmFzZS5wcm90b3R5cGUgPSB7CiAgICAgdmlzaXRQcm9wZXJ0eTogZnVuY3Rpb24o
c3R5bGVTaGVldCwgcHJvcGVydHksIHJlc3VsdCkKICAgICB7CiAgICAgICAgIC8vIFN1YmNsYXNz
ZXMgY2FuIGltcGxlbWVudC4KLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuQ1NTUnVsZUJhc2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZS5w
cm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTExODUsMTAgKzExODksMTAg
QEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuVmVuZG9yUHJlZml4ZWRDU1NQcm9wZXJ0aWVzLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgICsrcmVzdWx0LnZpb2xhdGlvbkNvdW50OwogICAgICAg
ICAgICAgdGhpcy5fcnVsZVJlc3VsdC5hZGRTbmlwcGV0KFN0cmluZy5zcHJpbnRmKCJcIiIgKyB0
aGlzLl93ZWJraXRQcmVmaXggKyAiJXNcIiBpcyB1c2VkLCBidXQgXCIlc1wiIGlzIHN1cHBvcnRl
ZC4iLCBub3JtYWxQcm9wZXJ0eU5hbWUsIG5vcm1hbFByb3BlcnR5TmFtZSkpOwogICAgICAgICB9
Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLlZlbmRvclByZWZp
eGVkQ1NTUHJvcGVydGllcy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkF1ZGl0
UnVsZXMuQ1NTUnVsZUJhc2UucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LkF1ZGl0UnVsZXMuQ1NTUnVsZUJhc2UucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCkBAIC0xMjM4LDEwICsxMjQyLDEwIEBAIFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvb2tp
ZVJ1bGVCYXNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuQ29v
a2llcy5jb29raWVNYXRjaGVzUmVzb3VyY2VVUkwoY29va2llLCByZXF1ZXN0c1tpXS51cmwpKQog
ICAgICAgICAgICAgICAgIGNhbGxiYWNrKHJlcXVlc3RzW2ldLCBjb29raWUpOwogICAgICAgICB9
Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvb2tpZVJ1bGVC
YXNlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQXVkaXRSdWxlLnByb3RvdHlw
ZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGUucHJvdG90eXBlCit9CiAK
IC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMzQ3LDEwICsxMzUxLDEwIEBAIFdlYkluc3BlY3Rv
ci5BdWRpdFJ1bGVzLkNvb2tpZVNpemVSdWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGVu
dHJ5LmFkZFVSTHMoYmlnQXZnQ29va2llRG9tYWlucyk7CiAgICAgICAgICAgICByZXN1bHQudmlv
bGF0aW9uQ291bnQgKz0gYmlnQXZnQ29va2llRG9tYWlucy5sZW5ndGg7CiAgICAgICAgIH0KLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuQ29va2llU2l6ZVJ1bGUu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvb2tpZVJ1bGVC
YXNlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNv
b2tpZVJ1bGVCYXNlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTM5
NCw3ICsxMzk4LDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0UnVsZXMuU3RhdGljQ29va2llbGVzc1J1
bGUucHJvdG90eXBlID0gewogICAgIF9jb2xsZWN0b3JDYWxsYmFjazogZnVuY3Rpb24obWF0Y2hp
bmdSZXNvdXJjZURhdGEsIHJlcXVlc3QsIGNvb2tpZSkKICAgICB7CiAgICAgICAgIG1hdGNoaW5n
UmVzb3VyY2VEYXRhW3JlcXVlc3QudXJsXSA9IChtYXRjaGluZ1Jlc291cmNlRGF0YVtyZXF1ZXN0
LnVybF0gfHwgMCkgKyBjb29raWUuc2l6ZTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZXMuU3RhdGljQ29va2llbGVzc1J1bGUucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvb2tpZVJ1bGVCYXNlLnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5BdWRpdFJ1bGVzLkNvb2tpZVJ1bGVCYXNlLnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRp
dHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFu
ZWwuanMKaW5kZXggZTQ4ZGJjMDQ2ZWE1NzFiNjc1MDhmMGI4ZWNkZDMzZGE3ZDJhMGNlNS4uNWQw
MDVhNDg3NDEyNmFmMDQwMDAyODllNWMyMmQ5OWRkZmNjM2RhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzCkBAIC0yMzksMTAgKzIz
OSwxMCBAQCBXZWJJbnNwZWN0b3IuQXVkaXRzUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgdGhpcy5hdWRpdHNJdGVtVHJlZUVsZW1lbnQucmV2ZWFsQW5kU2VsZWN0KCk7CiAgICAg
ICAgIHRoaXMuYXVkaXRSZXN1bHRzVHJlZUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNDk3
LDEwICs0OTcsMTAgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1NpZGViYXJUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CiAgICAgcmVmcmVzaDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5y
ZWZyZXNoVGl0bGVzKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdHNT
aWRlYmFyVHJlZUVsZW1lbnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRl
YmFyVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNp
ZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAg
LTUyNCwxMCArNTI0LDEwIEBAIFdlYkluc3BlY3Rvci5BdWRpdFJlc3VsdFNpZGViYXJUcmVlRWxl
bWVudC5wcm90b3R5cGUgPSB7CiAgICAgZ2V0IHNlbGVjdGFibGUoKQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRydWU7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5BdWRpdFJlc3Vs
dFNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNp
ZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3Iu
U2lkZWJhclRyZWVFbGVtZW50LnByb3RvdHlwZQorfQogCiAvLyBDb250cmlidXRlZCBhdWRpdCBy
dWxlcyBzaG91bGQgZ28gaW50byB0aGlzIG5hbWVzcGFjZS4KIFdlYkluc3BlY3Rvci5BdWRpdFJ1
bGVzID0ge307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0JvdHRvbVVwUHJvZmlsZURhdGFHcmlkVHJlZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzCmluZGV4IGY1OTgyYWQ4
NTAxM2I5ZTg3Nzk3NWFmNDYzMzFkMmFmOTY5ZmMwYjEuLjU1ZDgxZmVjMDE5YjIxY2I0ZDYyMGIx
MjMxZjM1ZTE4YmI3MDgwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzCkBA
IC0xNDMsMTAgKzE0MywxMCBAQCBXZWJJbnNwZWN0b3IuQm90dG9tVXBQcm9maWxlRGF0YUdyaWRO
b2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gSW4gYm90dG9tIHVwIG1vZGUsIG91ciBwYXJl
bnRzIGFyZSBvdXIgY2hpbGRyZW4gc2luY2Ugd2UgZGlzcGxheSBhbiBpbnZlcnRlZCB0cmVlLgog
ICAgICAgICAvLyBIb3dldmVyLCB3ZSBkb24ndCB3YW50IHRvIHNob3cgdGhlIHZlcnkgdG9wIHBh
cmVudCBzaW5jZSBpdCBpcyByZWR1bmRhbnQuCiAgICAgICAgIHJldHVybiAhIShwcm9maWxlTm9k
ZS5wYXJlbnQgJiYgcHJvZmlsZU5vZGUucGFyZW50LnBhcmVudCk7Ci0gICAgfQotfQorICAgIH0s
CiAKLVdlYkluc3BlY3Rvci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZTsKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZQor
fQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMjY2LDggKzI2Niw3IEBAIFdlYkluc3BlY3Rv
ci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZFRyZWUucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dGhpcy5zb3J0KHRoaXMubGFzdENvbXBhcmF0b3IsIHRydWUpOwogICAgIH0sCiAKLSAgICBfc2hh
cmVkUG9wdWxhdGU6IFdlYkluc3BlY3Rvci5Cb3R0b21VcFByb2ZpbGVEYXRhR3JpZE5vZGUucHJv
dG90eXBlLl9zaGFyZWRQb3B1bGF0ZQotfQotCi1XZWJJbnNwZWN0b3IuQm90dG9tVXBQcm9maWxl
RGF0YUdyaWRUcmVlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvZmlsZURh
dGFHcmlkVHJlZS5wcm90b3R5cGU7CisgICAgX3NoYXJlZFBvcHVsYXRlOiBXZWJJbnNwZWN0b3Iu
Qm90dG9tVXBQcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fc2hhcmVkUG9wdWxhdGUsCiAK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWRUcmVlLnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVh
a3BvaW50TWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJl
YWtwb2ludE1hbmFnZXIuanMKaW5kZXggN2IwNTRmZDAyMTBiMTE5NmM4M2RhMjMxZjdhMzI3NjY5
ZTM5NTMzMC4uNmVkMWVmODhiZmZmYzkzY2NjYzE5NzVmZDJjNzcwZGMzN2IyMjRmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50TWFuYWdl
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRN
YW5hZ2VyLmpzCkBAIC0yOTAsMTAgKzI5MCwxMCBAQCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludE1h
bmFnZXIucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIWxpbmVCcmVha3BvaW50cy5sZW5ndGgp
CiAgICAgICAgICAgICBkZWxldGUgYnJlYWtwb2ludHNbdWlMb2NhdGlvbi5saW5lTnVtYmVyXTsK
ICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkJyZWFr
cG9pbnRNYW5hZ2VyLkV2ZW50cy5CcmVha3BvaW50UmVtb3ZlZCwge2JyZWFrcG9pbnQ6IGJyZWFr
cG9pbnQsIHVpTG9jYXRpb246IHVpTG9jYXRpb259KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2Vi
SW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmpl
Y3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBh
bmUuanMKaW5kZXggMGU2OGIwM2VhODNmMWJhZTAzZmY3ZDIyZTUyNTcyNWEzOTY2Y2E1Yi4uYmM0
YmI2YjAyZjFkYTBkNTNiMjk0ZjNiYTI1ODRmNzcxMjk1OWI4MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFy
UGFuZS5qcwpAQCAtMjUyLDEwICsyNTIsMTAgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVh
a3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuYm9keUVs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5lbXB0eUVsZW1lbnQpOwogICAgICAgICB9CiAgICAgICAg
IHRoaXMuX2l0ZW1zLmNsZWFyKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5K
YXZhU2NyaXB0QnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAg
LTQzMiwxMCArNDMyLDEwIEBAIFdlYkluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5l
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChicmVha3BvaW50ICYmIHR5cGVvZiBicmVh
a3BvaW50LnVybCA9PT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAgdGhpcy5fc2V0QnJlYWtw
b2ludChicmVha3BvaW50LnVybCwgYnJlYWtwb2ludC5lbmFibGVkKTsKICAgICAgICAgfQotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFr
cG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBA
IC02MzMsNyArNjMzLDcgQEAgV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1Np
ZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlmIChicmVha3BvaW50ICYmIHR5
cGVvZiBicmVha3BvaW50LmV2ZW50TmFtZSA9PT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAg
dGhpcy5fc2V0QnJlYWtwb2ludChicmVha3BvaW50LmV2ZW50TmFtZSk7CiAgICAgICAgIH0KLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJCcmVha3BvaW50c1Np
ZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUu
cHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
UFVQcm9maWxlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1BV
UHJvZmlsZVZpZXcuanMKaW5kZXggNjQxNTUzY2Q3MTJjY2ZiNWYxNmVkNjEwZWQ0Yzk3NDkyMzlj
OTgyZS4uZGY4ZDA3ZDA4NzFjYzdmZDAzMTU0MGUwMjI3MzQzNzg3ZjE4NzU3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3Lmpz
CkBAIC01MzEsMTAgKzUzMSwxMCBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVZpZXcucHJvdG90
eXBlID0gewogICAgICAgICAgICAgICAgICAgICBub2Rlc1RvVHJhdmVyc2UucHVzaCh7IHBhcmVu
dDogY2hpbGRyZW5baV0sIGNoaWxkcmVuOiBjaGlsZHJlbltpXS5jaGlsZHJlbiB9KTsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ1BV
UHJvZmlsZVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3Rv
dHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNjIyLDEwICs2MjIsMTAgQEAgV2ViSW5zcGVjdG9yLkNQ
VVByb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKICAgICBjcmVhdGVQcm9maWxlOiBmdW5jdGlvbihw
cm9maWxlKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1BVUHJvZmls
ZUhlYWRlcih0aGlzLCBwcm9maWxlLnRpdGxlLCBwcm9maWxlLnVpZCk7Ci0gICAgfQotfQorICAg
IH0sCiAKLVdlYkluc3BlY3Rvci5DUFVQcm9maWxlVHlwZS5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLlByb2ZpbGVUeXBlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYklu
c3BlY3Rvci5Qcm9maWxlVHlwZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IK
QEAgLTY1NSw3ICs2NTUsNyBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZUhlYWRlci5wcm90b3R5
cGUgPSB7CiAgICAgY3JlYXRlVmlldzogZnVuY3Rpb24ocHJvZmlsZXNQYW5lbCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3KHRoaXMpOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZUhlYWRlci5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXIucHJvdG90eXBlOworICAgIF9f
cHJvdG9fXzogV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXIucHJvdG90eXBlCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU05hbWVkRmxvd0NvbGxl
Y3Rpb25zVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTTmFt
ZWRGbG93Q29sbGVjdGlvbnNWaWV3LmpzCmluZGV4IDIzOWM1MDdiMDJiOTdmYjdhZTc1MTQwNzIx
YjYxMzQzNGJiMGM1NmEuLmIyYTMwMjQwMmIwMmRhMmU2ZDA4NWJmZjJlNzliMzgwNzg5YjM1MDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTTmFtZWRG
bG93Q29sbGVjdGlvbnNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ1NTTmFtZWRGbG93Q29sbGVjdGlvbnNWaWV3LmpzCkBAIC0zNzEsMTAgKzM3MSwxMCBA
QCBXZWJJbnNwZWN0b3IuQ1NTTmFtZWRGbG93Q29sbGVjdGlvbnNWaWV3LnByb3RvdHlwZSA9IHsK
IAogICAgICAgICB0aGlzLl90YWJiZWRQYW5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlRhYmJlZFBhbmUuRXZlbnRUeXBlcy5UYWJTZWxlY3RlZCwgdGhpcy5fdGFiU2VsZWN0ZWQs
IHRoaXMpOwogICAgICAgICB0aGlzLl90YWJiZWRQYW5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlRhYmJlZFBhbmUuRXZlbnRUeXBlcy5UYWJDbG9zZWQsIHRoaXMuX3RhYkNsb3Nl
ZCwgdGhpcyk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5DU1NOYW1lZEZsb3dD
b2xsZWN0aW9uc1ZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TcGxpdFZp
ZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNwbGl0Vmlldy5wcm90
b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTQxMCw3ICs0MTAsNyBAQCBXZWJJ
bnNwZWN0b3IuRmxvd1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAg
ICAgIHRoaXMuX292ZXJzZXQgPSBuZXdPdmVyc2V0OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJ
bnNwZWN0b3IuRmxvd1RyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVu
dC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBUcmVlRWxlbWVudC5wcm90b3R5cGUKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTTmFtZWRGbG93
Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTTmFtZWRGbG93
Vmlldy5qcwppbmRleCBhZmI4YzFkYWYyZjEwNWUwMGFlMzIwNDQ1MzlkODE1OTcwNjM5NmRjLi5j
NmEwOWYyMDg0MzdiMzUwY2E2ZmU0NmZiMDZjMDQ2ZmRiYWM1YjI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU05hbWVkRmxvd1ZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NOYW1lZEZsb3dWaWV3LmpzCkBA
IC0yNTAsNyArMjUwLDcgQEAgV2ViSW5zcGVjdG9yLkNTU05hbWVkRmxvd1ZpZXcucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9tZXJnZVJlZ2lvbnModGhpcy5fZmxvdy5yZWdpb25zLCBuZXdG
bG93LnJlZ2lvbnMpOwogCiAgICAgICAgIHRoaXMuX2Zsb3cgPSBuZXdGbG93OwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ1NTTmFtZWRGbG93Vmlldy5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5z
cGVjdG9yLlZpZXcucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMKaW5kZXggNzA5
OTNhMmVhZmE1NTVkZjE1ZWNjZWIyZmU4NzMxN2UzZjc0YTE3Ny4uZTEwZjhkYzZlYzY4Yzc1MTlm
ODA0MjM2M2MxYWUxNGYwNjVmYWVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5qcwpAQCAtNzQs
MTAgKzc0LDEwIEBAIFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvckRhdGFHcmlkTm9kZS5wcm90b3R5
cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gY2VsbDsKLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZTsKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNv
bnN0cnVjdG9yCkBAIC0yNTksMTAgKzI1OSwxMCBAQCBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JQ
cm9maWxlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMucmVmcmVzaFNob3dBc1BlcmNl
bnRzKCk7CiAKICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKLSAgICB9Ci19CisgICAgfSwK
IAotV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yUHJvZmlsZVZpZXcucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMzY0LDEw
ICszNjQsMTAgQEAgV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yUHJvZmlsZVR5cGUucHJvdG90eXBl
ID0gewogICAgIHsKICAgICAgICAgdGl0bGUgPSB0aXRsZSB8fCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlJlY29yZGluZ1x1MjAyNiIpOwogICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5D
U1NQcm9maWxlSGVhZGVyKHRoaXMsIHRpdGxlKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5z
cGVjdG9yLkNTU1NlbGVjdG9yUHJvZmlsZVR5cGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5Qcm9maWxlVHlwZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuUHJvZmlsZVR5cGUucHJvdG90eXBlCit9CiAKIAogLyoqCkBAIC00MDEsNyArNDAxLDcgQEAg
V2ViSW5zcGVjdG9yLkNTU1Byb2ZpbGVIZWFkZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAg
ICAgdmFyIHByb2ZpbGUgPSAvKiogQHR5cGUge0NTU0FnZW50LlNlbGVjdG9yUHJvZmlsZX0gKi90
aGlzLl9wcm90b2NvbERhdGE7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNTU1Nl
bGVjdG9yUHJvZmlsZVZpZXcocHJvZmlsZSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5DU1NQcm9maWxlSGVhZGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3Iu
UHJvZmlsZUhlYWRlci5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUHJv
ZmlsZUhlYWRlci5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwppbmRleCBmMmEyZmI1ZTZlYjZhZDI0YmU1NmE3
OTQxZThmZTEwZGRkMTUwY2IxLi42NjllNzdlMWQ3MDAwNzgzZDMxYjMzMjQ4NDFhNDI4MzhjMjg0
Y2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0
eWxlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NT
dHlsZU1vZGVsLmpzCkBAIC01MDEsMTAgKzUwMSwxMCBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgc291cmNlTWFwcGluZyA9IHRo
aXMuX3NvdXJjZU1hcHBpbmdzW3Jhd0xvY2F0aW9uLnVybF07CiAgICAgICAgIHJldHVybiBzb3Vy
Y2VNYXBwaW5nID8gc291cmNlTWFwcGluZy5yYXdMb2NhdGlvblRvVUlMb2NhdGlvbihyYXdMb2Nh
dGlvbikgOiBudWxsOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioK
ICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKaW5kZXggNWQ1NDNmNzM0ODEwNzgw
MTgzMTIxYWNhYWM2MmIyODVjMDkxODhiNy4uM2VhZGYxOTQ2NjAwNDViNTA2NzNlYzI3Y2E3YmQ4
YTFmNjE0YzNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBAIC0xNTUsMTAgKzE1NSwxMCBAQCBX
ZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGhpcy5fc2VsZWN0TmV4dENhbGxGcmFtZU9uU3RhY2soKTsKICAgICAgICAgICAgIGV2ZW50
LmNvbnN1bWUoKTsKICAgICAgICAgfQotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
Q2FsbFN0YWNrU2lkZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5T
aWRlYmFyUGFuZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJh
clBhbmUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xOTcsNyArMTk3
LDcgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLlBsYWNhcmQucHJvdG90eXBl
ID0gewogICAgIF9yZXN0YXJ0RnJhbWU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMu
X2NhbGxGcmFtZS5yZXN0YXJ0KHVuZGVmaW5lZCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYklu
c3BlY3Rvci5DYWxsU3RhY2tTaWRlYmFyUGFuZS5QbGFjYXJkLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuUGxhY2FyZC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuUGxhY2FyZC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzCmluZGV4IDYyYjUxNjQxNDc4
OTlhZGQwMzc4MzBmZWRlODZmMmE0ODkxNTI5YjguLjM1ZDU1N2VlZjZkZTI2MGE1ZWM0ODY2MjQ3
ODU1NTgzY2Y1NzllYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9DYW52YXNQcm9maWxlVmlldy5qcwpAQCAtMTUwLDEwICsxNTAsMTAgQEAgV2Vi
SW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRo
aXMuX3JlcGxheUltYWdlRWxlbWVudC5zcmMgPSBkYXRhVVJMOwogICAgICAgICB9CiAgICAgICAg
IENhbnZhc0FnZW50LnJlcGxheVRyYWNlTG9nKGl0ZW0udHJhY2VMb2dJZCwgaXRlbS5zdGVwTm8s
IGRpZFJlcGxheVRyYWNlTG9nLmJpbmQodGhpcykpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJ
bnNwZWN0b3IuQ2FudmFzUHJvZmlsZVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMjMyLDEwICsyMzIsMTAgQEAg
V2ViSW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKICAgICBjcmVhdGVQ
cm9maWxlOiBmdW5jdGlvbihwcm9maWxlKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJ
bnNwZWN0b3IuQ2FudmFzUHJvZmlsZUhlYWRlcih0aGlzLCBwcm9maWxlLnRpdGxlLCAtMSk7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5DYW52YXNQcm9maWxlVHlwZS5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlByb2ZpbGVUeXBlLnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5Qcm9maWxlVHlwZS5wcm90b3R5cGUKK30KIAogLyoqCiAg
KiBAY29uc3RydWN0b3IKQEAgLTI3Nyw3ICsyNzcsNyBAQCBXZWJJbnNwZWN0b3IuQ2FudmFzUHJv
ZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgY3JlYXRlVmlldzogZnVuY3Rpb24ocHJvZmls
ZXNQYW5lbCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNhbnZhc1By
b2ZpbGVWaWV3KHRoaXMpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ2FudmFz
UHJvZmlsZUhlYWRlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlByb2ZpbGVI
ZWFkZXIucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFk
ZXIucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NvZGVNaXJyb3JUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Db2RlTWlycm9yVGV4dEVkaXRvci5qcwppbmRleCBjOWZkZWQxM2I3MWIxNzI1
Yjg5OWJlMWRiMmRjZjVkY2NlYTMzYzBlLi5jNDU3ODRiZTA5NjI3OTE3YjRjNDYyMTI4NGU2NWFk
NzQyMWZkMGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvZGVNaXJyb3JUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29kZU1pcnJvclRleHRFZGl0b3IuanMKQEAgLTM3OCw3ICszNzgsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29kZU1pcnJvclRleHRFZGl0b3IucHJvdG90eXBlID0gewogICAgIF90b1Jhbmdl
OiBmdW5jdGlvbihzdGFydCwgZW5kKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNw
ZWN0b3IuVGV4dFJhbmdlKHN0YXJ0LmxpbmUsIHN0YXJ0LmNoLCBlbmQubGluZSwgZW5kLmNoKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUZXh0RWRpdG9yLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVNZXNzYWdlLmpzCmluZGV4IGYyOTBh
NmJhZGNhYzVlNjk2NWEzOGUzZjBiZjZlNzc2NGFmYzMxMDYuLjI2MjZhZDBlMzM1NmI4MDNkMGFi
N2ZiODQxMjMwNzRjNmI1OTIwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQ29uc29sZU1lc3NhZ2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcwpAQCAtNzE2LDcgKzcxNiw3IEBAIFdlYklu
c3BlY3Rvci5Db25zb2xlTWVzc2FnZUltcGwucHJvdG90eXBlID0gewogICAgIGNsb25lOiBmdW5j
dGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdl
LmNyZWF0ZSh0aGlzLnNvdXJjZSwgdGhpcy5sZXZlbCwgdGhpcy5fbWVzc2FnZVRleHQsIHRoaXMu
dHlwZSwgdGhpcy51cmwsIHRoaXMubGluZSwgdGhpcy5yZXBlYXRDb3VudCwgdGhpcy5fcGFyYW1l
dGVycywgdGhpcy5fc3RhY2tUcmFjZSwgdGhpcy5fcmVxdWVzdCA/IHRoaXMuX3JlcXVlc3QucmVx
dWVzdElkIDogdW5kZWZpbmVkLCB0aGlzLl9pc091dGRhdGVkKTsKLSAgICB9Ci19CisgICAgfSwK
IAotV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlSW1wbC5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZU1vZGVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTW9kZWwuanMKaW5kZXggMDQwMjk2ZWE3
YTI0ZTcyYTRiZThjOThhZjZhNDU2MWI1ZDFlZGVlMi4uZmQzN2UzNWQ5YTIwMDQwMDA4NmU5MDcy
ZDdiNzY5Y2JhYjVkYjAwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Db25zb2xlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Db25zb2xlTW9kZWwuanMKQEAgLTE0MywxMCArMTQzLDEwIEBAIFdlYkluc3BlY3Rv
ci5Db25zb2xlTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgbXNnQ29weS5yZXBlYXRE
ZWx0YSA9IG1zZ0NvcHkucmVwZWF0Q291bnQ7CiAgICAgICAgICAgICB0aGlzLmFkZE1lc3NhZ2Uo
bXNnQ29weSk7CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkNv
bnNvbGVNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQog
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVQYW5lbC5qcwppbmRleCA4MDEyYjE5YzFkMGY0MjI3YzJiYzRjOTM0
YjI4NDQ0MDVhZDVkN2ZhLi5jNmU3YzJiNjdkMGUwOTliY2E3Mzc3YzBlNmMwODgzY2NjMjg0MDRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVQ
YW5lbC5qcwpAQCAtMTUwLDcgKzE1MCw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICB0aGlzLl9zZWFyY2hSZXN1bHRzLmxlbmd0aCA9IDA7CiAgICAg
ICAgIGlmICh0aGlzLmlzU2hvd2luZygpKQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNlYXJj
aENvbnRyb2xsZXIudXBkYXRlU2VhcmNoTWF0Y2hlc0NvdW50KDAsIHRoaXMpOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ29uc29sZVBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVj
dG9yLlBhbmVsLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggOWVjMTMwY2E2NTE1ZjI3YzU3OTc3MTUwN2Fl
ZDY4ZTY4OTJiMjFmMC4uZWViNWNmMmRlNjZlZDMzMjk2NGNjMzJiMzMzOGExMjY1ZDQ4M2ZhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3
LmpzCkBAIC02MjgsMTAgKzYyOCwxMCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90
eXBlID0gewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmxvZyhjb3VudGVyID4gMSA/IGNvdW50
ZXIgKyAiIHggIiArIHByZXZpb3VzVGl0bGUgOiBwcmV2aW91c1RpdGxlKTsKICAgICAgICAgfQog
ICAgICAgICBNZW1vcnlBZ2VudC5nZXRET01Ob2RlQ291bnQoY2FsbGJhY2spOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNzA5LDEwICs3
MDksMTAgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVDb21tYW5kUmVzdWx0LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdmFyIGVsZW1lbnQgPSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VJbXBsLnBy
b3RvdHlwZS50b01lc3NhZ2VFbGVtZW50LmNhbGwodGhpcyk7CiAgICAgICAgIGVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiY29uc29sZS11c2VyLWNvbW1hbmQtcmVzdWx0Iik7CiAgICAgICAgIHJldHVy
biBlbGVtZW50OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ29uc29sZUNvbW1h
bmRSZXN1bHQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZUltcGwucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlSW1wbC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGVudFByb3ZpZGVycy5qcwpp
bmRleCBhNzNjZjBlNTVjYThhOGI2MWI4YzkzMmNhMmZkN2Y2NDU1MTkzZWFiLi41NDUzMGRmYWE4
NmEwYzliMmE3MmZmZGQ5MGFkNDhmNmE1YjczM2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRlbnRQcm92aWRlcnMuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZW50UHJvdmlkZXJzLmpzCkBAIC0xNzcsMTAg
KzE3NywxMCBAQCBXZWJJbnNwZWN0b3IuQ29uY2F0ZW5hdGVkU2NyaXB0c0NvbnRlbnRQcm92aWRl
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gY29udGVudDsKLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkNvbmNhdGVuYXRlZFNjcmlwdHNDb250ZW50
UHJvdmlkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Db250ZW50UHJvdmlk
ZXIucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRl
ci5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTIzMywxMCArMjMzLDEw
IEBAIFdlYkluc3BlY3Rvci5Db21waWxlclNvdXJjZU1hcHBpbmdDb250ZW50UHJvdmlkZXIucHJv
dG90eXBlID0gewogICAgIHNlYXJjaEluQ29udGVudDogZnVuY3Rpb24ocXVlcnksIGNhc2VTZW5z
aXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgY2FsbGJhY2soW10pOwot
ICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nQ29u
dGVudFByb3ZpZGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQ29udGVudFBy
b3ZpZGVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Db250ZW50UHJv
dmlkZXIucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0zMDYsNyArMzA2
LDcgQEAgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGUgPSB7CiAK
ICAgICAgICAgLy8gc2VhcmNoSW5Db250ZW50IHNob3VsZCBjYWxsIGJhY2sgbGF0ZXIuCiAgICAg
ICAgIHdpbmRvdy5zZXRUaW1lb3V0KHBlcmZvcm1TZWFyY2guYmluZCh0aGlzKSwgMCk7Ci0gICAg
fQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXIucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5wcm90b3R5cGUKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGV4dE1l
bnUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnRleHRNZW51Lmpz
CmluZGV4IDY4MjFjNGE5YTUwZGE4NzU1MGI2MTNiNWQwOTJjNmVmOGRhNWZiMDQuLmRlZWNjMjc0
ZThkNzE0NmExYzljYjg3ZDhjMmZmOGI5OTgwMGM2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29udGV4dE1lbnUuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db250ZXh0TWVudS5qcwpAQCAtMTQzLDEwICsxNDMsMTAg
QEAgV2ViSW5zcGVjdG9yLkNvbnRleHRTdWJNZW51SXRlbS5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5faXRlbXMubGVuZ3RoOyArK2kpCiAgICAgICAgICAg
ICByZXN1bHQuc3ViSXRlbXMucHVzaCh0aGlzLl9pdGVtc1tpXS5fYnVpbGREZXNjcmlwdG9yKCkp
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0
b3IuQ29udGV4dFN1Yk1lbnVJdGVtLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3Iu
Q29udGV4dE1lbnVJdGVtLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5D
b250ZXh0TWVudUl0ZW0ucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0y
MDYsMTAgKzIwNiwxMCBAQCBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcHJvdmlkZXIuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKHRoaXMsIHRhcmdldCk7
CiAgICAgICAgICAgICB0aGlzLmFwcGVuZFNlcGFyYXRvcigpOwogICAgICAgICB9Ci0gICAgfQot
fQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Db250ZXh0TWVudS5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkNvbnRleHRTdWJNZW51SXRlbS5wcm90b3R5cGU7CisgICAgX19wcm90
b19fOiBXZWJJbnNwZWN0b3IuQ29udGV4dFN1Yk1lbnVJdGVtLnByb3RvdHlwZQorfQogCiAvKioK
ICAqIEBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29va2llSXRlbXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db29raWVJdGVtc1ZpZXcuanMKaW5kZXggNDk5OWRhMjc0OWEzYjQzNjVkOTQ5OGQzNDkx
MzQ3MmEzYzdlZTk3ZC4uOWZhMjM1NDdhMDNmZGFkODcwZDliMzM2M2I1NThiZjE5MjYwNmU3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJdGVt
c1ZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJ
dGVtc1ZpZXcuanMKQEAgLTE1NSwxMCArMTU1LDEwIEBAIFdlYkluc3BlY3Rvci5Db29raWVJdGVt
c1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlZnJlc2giKSwgdGhpcy5fdXBkYXRlLmJpbmQodGhpcykp
OwogICAgICAgICAgICAgY29udGV4dE1lbnUuc2hvdyhldmVudCk7CiAgICAgICAgIH0KLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkNvb2tpZUl0ZW1zVmlldy5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0x
OTcsNyArMTk3LDcgQEAgV2ViSW5zcGVjdG9yLlNpbXBsZUNvb2tpZXNUYWJsZS5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmFwcGVuZENoaWxkKG5v
ZGUpOwogICAgICAgICB9CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRy
ZW5bMF0uc2VsZWN0ZWQgPSB0cnVlOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
U2ltcGxlQ29va2llc1RhYmxlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmll
dy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29va2ll
c1RhYmxlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFi
bGUuanMKaW5kZXggZGZjZmEwZTViYWE5MGNlOTgyZmI2MGRlYWFjYWUwOTJhN2U4MzU3OS4uNzA2
Yjc4YjhlMjg4ZTI4ZDlkMWRiNTY4MDc4ZTFkZTA5MzdmMjdjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVzVGFibGUuanMKQEAgLTIxNyw3ICsy
MTcsNyBAQCBXZWJJbnNwZWN0b3IuQ29va2llc1RhYmxlLnByb3RvdHlwZSA9IHsKICAgICBfb25E
ZWxldGVGcm9tR3JpZDogZnVuY3Rpb24oZGVsZXRlQ2FsbGJhY2ssIG5vZGUpCiAgICAgewogICAg
ICAgICBkZWxldGVDYWxsYmFjayhub2RlLmNvb2tpZSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5Db29raWVzVGFibGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01BZ2VudC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQu
anMKaW5kZXggMjUzY2Y5OTdlOWIyYWVkZDhkYjkyOTU4MGIxM2IxNTYxZDk5Y2Y5YS4uYWZkNjQw
ZjkzYzM4NDk5NTM0Mzk5YmM4NTc5YTNjMThkNDIwZjM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC03NzAsNyArNzcwLDkgQEAgV2Vi
SW5zcGVjdG9yLkRPTURvY3VtZW50ID0gZnVuY3Rpb24oZG9tQWdlbnQsIHBheWxvYWQpCiAgICAg
dGhpcy5fbGlzdGVuZXJzID0ge307CiB9CiAKLVdlYkluc3BlY3Rvci5ET01Eb2N1bWVudC5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlOworV2ViSW5z
cGVjdG9yLkRPTURvY3VtZW50LnByb3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5ET01Ob2RlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0
b3IuT2JqZWN0fQpAQCAtMTMzMywxMCArMTMzNSwxMCBAQCBXZWJJbnNwZWN0b3IuRE9NQWdlbnQu
cHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuVW5kb1JlZG9SZXF1ZXN0ZWQpOwogICAgICAgICBE
T01BZ2VudC5yZWRvKGNhbGxiYWNrKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9y
LkRPTUFnZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3Rv
dHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAK
IC8qKgogICogQGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKaW5kZXgg
YWJkNzViYWNhZDE4Nzk5NWIzOTQzOTk5YjcxMTE3YjExMGFiMzE5My4uYzFiMzU1ZTkwYWZmZmU2
NDMxMjVkNGJjN2MyODk5YzFiMWYwYWVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5q
cwpAQCAtMzIzLDcgKzMyMyw3IEBAIFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50c1NpZGViYXJQ
YW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHBhdGhUb0JyZWFr
cG9pbnRzW3BhdGhdLnB1c2goYnJlYWtwb2ludCk7CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3Rv
dHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGVi
YXJQYW5lLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01TdG9yYWdlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01TdG9yYWdlLmpzCmluZGV4IGRmOTc3NzExYWY3OWNjODI4ZDliNTQzYjg0OTViYzU0
NWQ2MjgxYzUuLjdhZjQ0MmIyZDczMWM0MDRiNGY0ZTUzZDIzNTVhOTNiNTIxZTYxMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZS5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2UuanMKQEAg
LTEzNSwxMCArMTM1LDEwIEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdlTW9kZWwucHJvdG90eXBl
ID0gewogICAgICAgICBmb3IgKHZhciBzdG9yYWdlSWQgaW4gdGhpcy5fc3RvcmFnZXMpCiAgICAg
ICAgICAgICByZXN1bHQucHVzaCh0aGlzLl9zdG9yYWdlc1tzdG9yYWdlSWRdKTsKICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkRPTVN0b3Jh
Z2VNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5
cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzCmluZGV4IGQwYmZmYjYyODYwOGU0
ZjFkMWI3MjAyOTFhMzZjNGQ0MmQwZWJhN2QuLjg4M2ZhNzM0MmJkNTBmYTU2YzViODkxNTJjNTA5
M2M1ZmMzNjMzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMKQEAgLTE0OSw3ICsxNDksNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0
aGlzLmRvbVN0b3JhZ2UucmVtb3ZlSXRlbShub2RlLmRhdGFbMF0pOwogCiAgICAgICAgIHRoaXMu
dXBkYXRlKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5ET01TdG9yYWdlSXRl
bXNWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCmluZGV4IDA5NzkwZjVl
MjE4NzllM2RiNWMyZjljNTdhZWM0NDdiZjNkZTM4YjYuLjExNGQ4MmQ5MGU1ODA5MTZlZjk3OTEz
ZjJiYWM2ZDNkMjlmYmI0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhR3JpZC5qcwpAQCAtMTAwMCw2ICsxMDAwLDggQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLnByb3RvdHlwZSA9IHsKICAgICBDb2x1bW5SZXNpemVQYWRkaW5nOiAxMCwKIAogICAgIENl
bnRlclJlc2l6ZXJPdmVyQm9yZGVyQWRqdXN0bWVudDogMywKKworICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCiB9CiAKIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5SZXNp
emVNZXRob2QgPSB7CkBAIC0xMDA4LDggKzEwMTAsNiBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQu
UmVzaXplTWV0aG9kID0gewogICAgIExhc3Q6ICJsYXN0IgogfQogCi1XZWJJbnNwZWN0b3IuRGF0
YUdyaWQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsK
LQogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0
fQpAQCAtMTYzNSwxMCArMTYzNSwxMCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3NhdmVkUG9zaXRpb24ucGFyZW50Lmluc2VydENo
aWxkKHRoaXMsIHRoaXMuX3NhdmVkUG9zaXRpb24uaW5kZXgpOwogCiAgICAgICAgIGRlbGV0ZSB0
aGlzLl9zYXZlZFBvc2l0aW9uOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3Rv
dHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAK
IC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xNjU1LDcgKzE2NTUsNyBAQCBXZWJJbnNwZWN0b3Iu
Q3JlYXRpb25EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgZGVsZXRl
IHRoaXMuaXNDcmVhdGlvbk5vZGU7CiAgICAgICAgIGRlbGV0ZSB0aGlzLm1ha2VOb3JtYWw7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5DcmVhdGlvbkRhdGFHcmlkTm9kZS5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGU7Cisg
ICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2UuanMKaW5kZXggY2Fh
ZWRiNTg3MDRlOGQ0ZTkxMmE3MDllMTZkNWIwZDdkY2M0N2YyNi4uOTc1OGMyNWFhZmQ1ZWU3ODRi
NjY0MWY0Njk5NTk5ZmY2ODAwNGNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EYXRhYmFzZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RhdGFiYXNlLmpzCkBAIC0xNzEsMTAgKzE3MSwxMCBAQCBXZWJJbnNwZWN0b3Iu
RGF0YWJhc2VNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9kYXRhYmFz
ZXMucHVzaChkYXRhYmFzZSk7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5EYXRhYmFzZU1vZGVsLkV2ZW50cy5EYXRhYmFzZUFkZGVkLCBkYXRhYmFz
ZSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5EYXRhYmFzZU1vZGVsLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0
cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rh
dGFiYXNlUXVlcnlWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
YXRhYmFzZVF1ZXJ5Vmlldy5qcwppbmRleCA1ZTc4Y2ZiOGNlMTAzZWJhNmI3ZjJhZTFkNWE2NjJk
MTQ3MzkzNTVjLi5jYzBkOTY0ZDI5MDJjMDM0Y2U1MDFmYzQ4NDA2NDQyZDM2YTFjZTBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlUXVlcnlW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VR
dWVyeVZpZXcuanMKQEAgLTE5OSw3ICsxOTksNyBAQCBXZWJJbnNwZWN0b3IuRGF0YWJhc2VRdWVy
eVZpZXcucHJvdG90eXBlID0gewogICAgICAgICByZXN1bHRFbGVtZW50LmNsYXNzTmFtZSA9ICJk
YXRhYmFzZS1xdWVyeS1yZXN1bHQiOwogICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKHJlc3Vs
dEVsZW1lbnQpOwogICAgICAgICByZXR1cm4gcmVzdWx0RWxlbWVudDsKLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLkRhdGFiYXNlUXVlcnlWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuVmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGF0YWJhc2VUYWJsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RhdGFiYXNlVGFibGVWaWV3LmpzCmluZGV4IGZlYzUwY2RmNTk0N2E0OWZm
NTI2YmUyYjBjZDcyN2EzMjI4ZTlmYmEuLjBkNWU1ZjgzMjQ0NTljNTljNzk0Zjk4NjI1MGRkNDJh
NDZhYTc2ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGF0YWJhc2VUYWJsZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhYmFzZVRhYmxlVmlldy5qcwpAQCAtOTUsNyArOTUsNyBAQCBXZWJJbnNwZWN0b3Iu
RGF0YWJhc2VUYWJsZVZpZXcucHJvdG90eXBlID0gewogICAgIF9yZWZyZXNoQnV0dG9uQ2xpY2tl
ZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLnVwZGF0ZSgpOwotICAgIH0K
LX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRGF0YWJhc2VUYWJsZVZpZXcucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVsLmpzCmluZGV4IDIxZmI0NWJhMTY2M2U3Y2Ex
YWFhOWZmMjI0ZTBmYzBkY2E3NTg1MTQuLjg4ZmEwYzgxYmEzMzQ5OGNkMjRkY2JhMmE0ODRjYjc2
ZGRlNmZjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVidWdnZXJNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RlYnVnZ2VyTW9kZWwuanMKQEAgLTU4NiwxMCArNTg2LDEwIEBAIFdlYkluc3BlY3Rvci5EZWJ1
Z2dlck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLl9wYXVzZWRTY3Jp
cHQobmV3Q2FsbEZyYW1lcywgdGhpcy5fZGVidWdnZXJQYXVzZWREZXRhaWxzLnJlYXNvbiwgdGhp
cy5fZGVidWdnZXJQYXVzZWREZXRhaWxzLmF1eERhdGEpOwogCiAgICAgICAgIH0KLSAgICB9Ci19
CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9kZWwucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5z
cGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KIAogV2ViSW5zcGVjdG9yLkRlYnVnZ2VyRXZlbnRU
eXBlcyA9IHsKICAgICBKYXZhU2NyaXB0UGF1c2U6IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0VGV4dEVkaXRvci5qcwppbmRleCAyZWQ5
ZTg4OTEzNzgwZGVjNWNkYTNkY2EzNjMzZDAzMDM3YTA1MjUwLi5hNDFkZDgwMjg5ODEyMDlhMGQy
MmMxZGE0ZTc4Yzg3Njc2MWZjNDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlZmF1bHRUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRGVmYXVsdFRleHRFZGl0b3IuanMKQEAgLTU3NCwxMCArNTc0LDEw
IEBAIFdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVkaXRvci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGlmICghdGhpcy5yZWFkT25seSgpKQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLm1hcmtCZWlu
Z0VkaXRlZCh0aGlzLmVsZW1lbnQsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fZnJlZUNhY2hlZEVs
ZW1lbnRzKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5EZWZhdWx0VGV4dEVk
aXRvci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC0xMDYxLDEwICsxMDYxLDEwIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRp
dG9yR3V0dGVyUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFkZWNvcmF0aW9u
cy5sZW5ndGgpCiAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2RlY29yYXRpb25zW2xpbmVO
dW1iZXJdOwogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yR3V0dGVyUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1
Y3RvcgpAQCAtMjUwOCwxMCArMjUwOCwxMCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5Q
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRleHRDb250ZW50cyA9IHRleHRDb250ZW50LnNw
bGl0KCJcbiIpOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRleHRDb250ZW50cy5sZW5n
dGg7ICsraSkKICAgICAgICAgICAgIGxpbmVzLnB1c2godGV4dENvbnRlbnRzW2ldKTsKLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnByb3RvdHlw
ZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yQ2h1bmtlZFBhbmVsLnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EaWFsb2cuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0RpYWxvZy5qcwppbmRleCA2MzRlMWZjYzk5Njg5OGE1M2I1MTQyMTY5
YmUwMjVkMmJjZTg0NjczLi5lYjU3OTdkYzg5YzQ0Mzg2ZGJkNjJkZjJlM2IwNGZiY2FhZDFlNjgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RpYWxvZy5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RpYWxvZy5qcwpAQCAt
MTc4LDcgKzE3OCw4IEBAIFdlYkluc3BlY3Rvci5EaWFsb2dEZWxlZ2F0ZS5wcm90b3R5cGUgPSB7
CiAKICAgICBvbkVudGVyOiBmdW5jdGlvbigpIHsgfSwKIAotICAgIHdpbGxIaWRlOiBmdW5jdGlv
bigpIHsgfQotfTsKKyAgICB3aWxsSGlkZTogZnVuY3Rpb24oKSB7IH0sCisKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5EaWFs
b2dEZWxlZ2F0ZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90
b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rp
cmVjdG9yeUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9EaXJlY3RvcnlDb250ZW50Vmlldy5qcwppbmRleCAyMWNlZDI1MTUzNjRmNDI0N2M4ZTQwZmRm
MjY0ZjA4ZTQ3MDJmMmY4Li4xNDQyNjBmY2I3ZGVlNzRmODJiZDExYWMzMmM3MDEwMjBlMzkzZTFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RpcmVjdG9y
eUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGlyZWN0b3J5Q29udGVudFZpZXcuanMKQEAgLTg2LDEwICs4NiwxMCBAQCBXZWJJbnNwZWN0b3Iu
RGlyZWN0b3J5Q29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGNv
bHVtbiA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyB0aGlzLnNvcnRDb2x1bW5JZGVudGlmaWVyOwog
ICAgICAgICB0aGlzLnNvcnROb2RlcyhXZWJJbnNwZWN0b3IuRGlyZWN0b3J5Q29udGVudFZpZXcu
Tm9kZS5jb21wYXJhdG9yKGNvbHVtbiwgdGhpcy5zb3J0T3JkZXIgPT09ICJkZXNjZW5kaW5nIiks
IGZhbHNlKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkRpcmVjdG9yeUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZQorfQog
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTkzLDcgKzE5Myw3IEBAIFdlYkluc3BlY3Rvci5E
aXJlY3RvcnlDb250ZW50Vmlldy5Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGRhdGFb
aW5kZXhlcy5TaXplXSA9IE51bWJlci5ieXRlc1RvU3RyaW5nKG1ldGFkYXRhLnNpemUpOwogICAg
ICAgICBkYXRhW2luZGV4ZXMuTW9kaWZpY2F0aW9uVGltZV0gPSBuZXcgRGF0ZShtZXRhZGF0YS5t
b2RpZmljYXRpb25UaW1lKS50b0dNVFN0cmluZygpOwogICAgICAgICB0aGlzLmRhdGEgPSBkYXRh
OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRGlyZWN0b3J5Q29udGVudFZpZXcu
Tm9kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVt
ZW50c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50
c1BhbmVsLmpzCmluZGV4IDJmYTZmYzNkYjE0NGQ5NjA2YjY4YjU3YWRlOTU5MDUyNjM3M2EyZDAu
LmRiZTEzNDgxNmE4Yjk0ZGFkMDQ5MWMwMzQ0ZjJhZjAyYmJhN2Y1YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWwuanMKQEAgLTEx
MTcsNyArMTExNyw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgfQogCiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJSZXZlYWwgaW4gRWxlbWVudHMgUGFuZWwiKSwgcmV2ZWFsRWxlbWVudC5iaW5k
KHRoaXMpKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWxEZXNjcmlwdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1BhbmVsRGVz
Y3JpcHRvci5qcwppbmRleCBkNTI0ZDE1YTg1NjJlZjE1OWRiMTYyM2FkYTU3ZWQ0MTc2NjBiMGM1
Li5iN2NlZDJhZjMzZWNjZTVjYTUzYTk1MzVjODI3ZWM3MzI0OThkZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFuZWxEZXNjcmlwdG9y
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNQYW5l
bERlc2NyaXB0b3IuanMKQEAgLTUwLDcgKzUwLDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFu
ZWxEZXNjcmlwdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHJlbW90ZU9iamVjdC5zdWJ0
eXBlICE9PSAibm9kZSIpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMucGFuZWwo
KS5hcHBlbmRBcHBsaWNhYmxlSXRlbXMoY29udGV4dE1lbnUsIHRhcmdldCk7Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsRGVzY3JpcHRvci5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsRGVzY3JpcHRvci5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnByb3RvdHlwZQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVP
dXRsaW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1Ry
ZWVPdXRsaW5lLmpzCmluZGV4IDNmYmY5NzdmMDczMzBiODJiZDg2ZTg2MDNhZTI0OGQzNDk4Yjlh
MzIuLjUwODU0NzdjMTU4ZjQzODViM2E1YzBjODA0ZWQ2YzhlMDY2OGVlYjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91
dGxpbmUuanMKQEAgLTU4NiwxMCArNTg2LDEwIEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVP
dXRsaW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBuZXdUcmVlSXRlbS5leHBhbmQo
KTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gbmV3VHJlZUl0ZW07Ci0gICAgfQotfQorICAg
IH0sCiAKLVdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVPdXRsaW5lLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBUcmVlT3V0bGluZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBUcmVlT3V0bGluZS5w
cm90b3R5cGUKK30KIAogLyoqCiAgKiBAaW50ZXJmYWNlCkBAIC02NDcsMTAgKzY0NywxMCBAQCBX
ZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5Qc2V1ZG9TdGF0ZURlY29yYXRvci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIGlmIChkZXNjZW5kYW50Q291bnQgPT09IDEpCiAgICAgICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCBkZXNjZW5kYW50IHdpdGggZm9yY2Vk
IHN0YXRlIiwgZGVzY2VuZGFudENvdW50KTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiJWQgZGVzY2VuZGFudHMgd2l0aCBmb3JjZWQgc3RhdGUiLCBkZXNjZW5kYW50Q291
bnQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGlu
ZS5Qc2V1ZG9TdGF0ZURlY29yYXRvci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LkVsZW1lbnRzVHJlZU91dGxpbmUuRWxlbWVudERlY29yYXRvci5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlT3V0bGluZS5FbGVtZW50RGVjb3JhdG9y
LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTk4NywxMCArMTk4Nywx
MCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIAogICAgICAgICB2YXIgbm9kZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkRPTU5vZGV9
ICovIHRoaXMucmVwcmVzZW50ZWRPYmplY3Q7CiAgICAgICAgIFdlYkluc3BlY3Rvci5SZW1vdGVP
YmplY3QucmVzb2x2ZU5vZGUobm9kZSwgIiIsIHNjcm9sbEludG9WaWV3Q2FsbGJhY2spOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5
cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogVHJl
ZUVsZW1lbnQucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VtcHR5Vmlldy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRW1wdHlWaWV3LmpzCmluZGV4IDRiN2NlZWU1
ZWYyMGM5YWM2NTEyNWRhYTk3NjFmZjYyNDAxOTUwNmUuLmQ3YTY1YWYyNzFjOWFkZWNhNmMzZTIx
MzgxNGQ2ZmE5OTBkN2IyM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRW1wdHlWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRW1wdHlWaWV3LmpzCkBAIC01MSw2ICs1MSw3IEBAIFdlYkluc3BlY3Rvci5FbXB0eVZp
ZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5pc1Nob3dpbmcoKSkKICAgICAgICAg
ICAgIHRoaXMuZWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuX3RleHQ7CiAgICAgfSwKKworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCiB9CiAKLVdlYkluc3BlY3Rv
ci5FbXB0eVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3Rv
dHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXZl
bnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcwppbmRleCA1NWViZGIwODQ0ZjQ0OGIz
MDg0MDcwMjUxMDE2YmJhZjI4MTA3ZWQzLi4yOTRhZmJiZDc3MjFiZDliOTcyYzBmYzMxZDc1NjQx
NDdiMDdhMjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzCkBAIC0xMzMsMTAgKzEz
MywxMCBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHZhciBzZWxlY3RlZE9wdGlvbiA9IHRoaXMuc2V0dGluZ3NTZWxlY3RFbGVt
ZW50W3RoaXMuc2V0dGluZ3NTZWxlY3RFbGVtZW50LnNlbGVjdGVkSW5kZXhdOwogICAgICAgICBX
ZWJJbnNwZWN0b3Iuc2V0dGluZ3MuZXZlbnRMaXN0ZW5lcnNGaWx0ZXIuc2V0KHNlbGVjdGVkT3B0
aW9uLnZhbHVlKTsKICAgICAgICAgdGhpcy51cGRhdGUodGhpcy5fc2VsZWN0ZWROb2RlKTsKLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlCit9CiAK
IC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xNjQsMTAgKzE2NCwxMCBAQCBXZWJJbnNwZWN0b3Iu
RXZlbnRMaXN0ZW5lcnNTZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciBl
dmVudExpc3RlbmVyQmFyID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFyKGV2ZW50
TGlzdGVuZXIsIHRoaXMuX25vZGVJZCwgdGhpcy5fbGlua2lmaWVyKTsKICAgICAgICAgdGhpcy5f
ZXZlbnRCYXJzLmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJCYXIuZWxlbWVudCk7Ci0gICAgfQot
fQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyc1NlY3Rpb24ucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGU7Cisg
ICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlCit9
CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0yNTYsNyArMjU2LDcgQEAgV2ViSW5zcGVjdG9y
LkV2ZW50TGlzdGVuZXJCYXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgIHRoaXMuc3VidGl0bGVFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCIoYW5vbnltb3VzIGZ1bmN0aW9uKSIpOwogICAgICAgICB9Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFyLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FeHRl
bnNpb25BUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lv
bkFQSS5qcwppbmRleCBhNDVkODNiYzNhMGNlMGQ0ODliOWJhZDVhZmZkMDUyZWUyMWJhYTYwLi4z
MGQ1ZDM2ZTNmOWQ5NGNlMmQ0NTgzZjNlYzI5YWM0M2ExY2JjOWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvbkFQSS5qcwpAQCAtMzc4LDEw
ICszNzgsMTAgQEAgUGFuZWxXaXRoU2lkZWJhckltcGwucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgY2FsbGJhY2sobmV3IEV4dGVuc2lvblNpZGViYXJQYW5lKGlkKSk7CiAgICAgICAgIH0KICAg
ICAgICAgZXh0ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHJlcXVlc3QsIGNhbGxiYWNrICYmIGNh
bGxiYWNrV3JhcHBlcik7Ci0gICAgfQotfQorICAgIH0sCiAKLVBhbmVsV2l0aFNpZGViYXJJbXBs
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBFeHRlbnNpb25WaWV3SW1wbC5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBFeHRlbnNpb25WaWV3SW1wbC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29u
c3RydWN0b3IKQEAgLTQzMCwxMCArNDMwLDEwIEBAIEV4dGVuc2lvblBhbmVsSW1wbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICBpZDogdGhpcy5faWQKICAgICAgICAgfTsKICAgICAgICAgZXh0
ZW5zaW9uU2VydmVyLnNlbmRSZXF1ZXN0KHJlcXVlc3QpOwotICAgIH0KLX07CisgICAgfSwKIAot
RXh0ZW5zaW9uUGFuZWxJbXBsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBFeHRlbnNpb25WaWV3SW1w
bC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBFeHRlbnNpb25WaWV3SW1wbC5wcm90b3R5cGUK
K30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblBhbmVsLmpzCmluZGV4IGY5NmQ5ZTk5ZTk0NTNmNzBk
ZDljMmM4MGU3NGViMzQxODgyZjllZWIuLjA0M2JjYzE2MjQ0ZmFhMmE4MTVlZjBhMGU1YTMxZmNi
YWE5OGEyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RXh0ZW5zaW9uUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FeHRlbnNpb25QYW5lbC5qcwpAQCAtODgsMTAgKzg4LDEwIEBAIFdlYkluc3BlY3Rvci5FeHRl
bnNpb25QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuZXh0
ZW5zaW9uU2VydmVyLm5vdGlmeVNlYXJjaEFjdGlvbih0aGlzLm5hbWUsIFdlYkluc3BlY3Rvci5l
eHRlbnNpb25BUEkucGFuZWxzLlNlYXJjaEFjdGlvbi5QcmV2aW91c1NlYXJjaFJlc3VsdCk7CiAg
ICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUuanVtcFRvUHJldmlvdXNTZWFyY2hS
ZXN1bHQuY2FsbCh0aGlzKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkV4dGVu
c2lvblBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMjQwLDcgKzI0MCw3IEBAIFdlYkluc3BlY3Rvci5FeHRl
bnNpb25TaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHNlY3Rpb24uZWRpdGFibGUg
PSBmYWxzZTsKICAgICAgICAgdGhpcy5fb2JqZWN0UHJvcGVydGllc1ZpZXcuZWxlbWVudC5hcHBl
bmRDaGlsZChzZWN0aW9uLmVsZW1lbnQpOwogICAgICAgICBjYWxsYmFjaygpOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRXh0ZW5zaW9uU2lkZWJhclBhbmUucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGU7CisgICAgX19wcm90
b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V4dGVuc2lvblZpZXcuanMKaW5kZXggMTcw
ZGIwYjZiZjZmN2Y2YTI3MzIzNjhjYjg3NTdhMTg4MzBlNzk0My4uMDFhZWNkNjljMDExYjQ4Zjcy
MzA4OTA1YjIxMTU1OTQyYmU5MzM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9FeHRlbnNpb25WaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRXh0ZW5zaW9uVmlldy5qcwpAQCAtNjgsMTAgKzY4LDEwIEBAIFdlYklu
c3BlY3Rvci5FeHRlbnNpb25WaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZnJhbWVJ
bmRleCA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwod2luZG93LmZyYW1lcywgdGhpcy5f
aWZyYW1lLmNvbnRlbnRXaW5kb3cpOwogICAgICAgICBpZiAodGhpcy5pc1Nob3dpbmcoKSkKICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5leHRlbnNpb25TZXJ2ZXIubm90aWZ5Vmlld1Nob3duKHRo
aXMuX2lkLCB0aGlzLl9mcmFtZUluZGV4KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVj
dG9yLkV4dGVuc2lvblZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3
LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQor
fQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtOTQsNyArOTQsNyBAQCBXZWJJbnNwZWN0b3Iu
RXh0ZW5zaW9uTm90aWZpZXJWaWV3LnByb3RvdHlwZSA9IHsKICAgICB3aWxsSGlkZTogZnVuY3Rp
b24oKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlW
aWV3SGlkZGVuKHRoaXMuX2lkKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkV4
dGVuc2lvbk5vdGlmaWVyVmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZp
ZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBl
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNv
bnRlbnRWaWV3LmpzCmluZGV4IDk5YTM0NGRlMWZlODQ1MzNiOGUyODVkZDZmZDgzNjI5ZGM5NjEx
ZDcuLmI4Y2NkOWFkMTYwZDQzYjdlZWViZWRlZGY2MTI1MWFkNzQ4ZGEzMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZUNvbnRlbnRWaWV3Lmpz
CkBAIC04NSwxMCArODUsMTAgQEAgV2ViSW5zcGVjdG9yLkZpbGVDb250ZW50Vmlldy5wcm90b3R5
cGUgPSB7CiAKICAgICAgICAgaWYgKHRoaXMuX2ZpbGUuaXNUZXh0RmlsZSkKICAgICAgICAgICAg
IHRoaXMuX2ZpbGUucmVxdWVzdE1ldGFkYXRhKHRoaXMuX21ldGFkYXRhUmVjZWl2ZWQuYmluZCh0
aGlzKSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5GaWxlQ29udGVudFZpZXcu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25z
dHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9G
aWxlTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1h
bmFnZXIuanMKaW5kZXggYWQxMDFkNzRhN2M3ZWNmMWY5M2U5NGYyNzExODUwMjgzNWU5ZGUxOS4u
NmIxMDhkM2YwYmZiZDgyNTY4YmViYzQ5OWY5YTJlZTFjZDY3MmYzNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdlci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzCkBAIC0xMDgsOSAr
MTA4LDkgQEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICBhcHBl
bmRlZFRvVVJMOiBmdW5jdGlvbih1cmwpCiAgICAgewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5BcHBlbmRl
ZFRvVVJMLCB1cmwpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRmlsZU1hbmFn
ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KIAogV2ViSW5z
cGVjdG9yLmZpbGVNYW5hZ2VyID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9k
ZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2Rl
bC5qcwppbmRleCA4MTQzOWNlODBjODhkMWQ0OGFmNDcxYmQzYWQ4MDI4Y2Q5ZjVmM2NmLi5jYTVi
ZjczMDBkNDE2MWQ0MGZmNjg1ZDg5NGViOTdmZTdkMDUyYWRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcwpAQCAtNDEy
LDE2ICs0MTIsMTcgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICBpZiAoT2JqZWN0LmlzRW1wdHkodGhpcy5fZmlsZVN5c3RlbXNGb3JPcmln
aW5bb3JpZ2luXSkpCiAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2ZpbGVTeXN0ZW1zRm9y
T3JpZ2luW29yaWdpbl07CiAgICAgICAgIH0KLSAgICB9CisgICAgfSwKKworICAgIF9fcHJvdG9f
XzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKIH0KIAorCiBXZWJJbnNwZWN0b3IuRmls
ZVN5c3RlbU1vZGVsLkV2ZW50VHlwZXMgPSB7CiAgICAgRmlsZVN5c3RlbUFkZGVkOiAiRmlsZVN5
c3RlbUFkZGVkIiwKICAgICBGaWxlU3lzdGVtUmVtb3ZlZDogIkZpbGVTeXN0ZW1SZW1vdmVkIgog
fQogCi1XZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKLQogLyoqCiAgKiBAY29uc3RydWN0b3IKICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbH0gZmlsZVN5c3RlbU1vZGVsCkBA
IC01NTIsMTAgKzU1MywxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLkRpcmVjdG9y
eS5wcm90b3R5cGUgPSB7CiAgICAgcmVxdWVzdERpcmVjdG9yeUNvbnRlbnQ6IGZ1bmN0aW9uKGNh
bGxiYWNrKQogICAgIHsKICAgICAgICAgdGhpcy5maWxlU3lzdGVtTW9kZWwucmVxdWVzdERpcmVj
dG9yeUNvbnRlbnQodGhpcywgY2FsbGJhY2spOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNw
ZWN0b3IuRmlsZVN5c3RlbU1vZGVsLkRpcmVjdG9yeS5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5FbnRyeS5wcm90b3R5cGU7CisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLkVudHJ5LnByb3RvdHlwZQorfQogCiAvKioK
ICAqIEBjb25zdHJ1Y3RvcgpAQCAtNjA4LDcgKzYwOSw3IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lz
dGVtTW9kZWwuRmlsZS5wcm90b3R5cGUgPSB7CiAgICAgcmVxdWVzdEZpbGVDb250ZW50OiBmdW5j
dGlvbihyZWFkQXNUZXh0LCBzdGFydCwgZW5kLCBjaGFyc2V0LCBjYWxsYmFjaykKICAgICB7CiAg
ICAgICAgIHRoaXMuZmlsZVN5c3RlbU1vZGVsLnJlcXVlc3RGaWxlQ29udGVudCh0aGlzLCByZWFk
QXNUZXh0LCBzdGFydCwgZW5kLCBjaGFyc2V0LCBjYWxsYmFjayk7Ci0gICAgfQotfQorICAgIH0s
CiAKLVdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTW9kZWwuRmlsZS5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Nb2RlbC5FbnRyeS5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1vZGVsLkVudHJ5LnByb3RvdHlwZQorfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVt
Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZp
ZXcuanMKaW5kZXggNjBiOWY0MjU5YjBiM2RiNGU3Mzg4N2NjZWJlMmExMDcwNzI5MGJlNC4uMTc0
ZTM0NTBiMzczOGMwZmVjM2ViZDFhNWRjOTRjNGE1ZGMwY2FjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzCkBAIC0xMDMs
MTAgKzEwMywxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcucHJvdG90eXBlID0gewog
ICAgIF9kZWxldGU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2RpcmVjdG9yeVRy
ZWUuc2VsZWN0ZWRUcmVlRWxlbWVudC5kZWxldGVFbnRyeSgpOwotICAgIH0KLX0KKyAgICB9LAog
Ci1XZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5TcGxpdFZpZXcucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LlNwbGl0Vmlldy5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTIyNyw3
ICsyMjcsNyBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcuRW50cnlUcmVlRWxlbWVudC5w
cm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAodGhpcy5fZW50cnkgIT0gdGhpcy5fZW50
cnkuZmlsZVN5c3RlbS5yb290KQogICAgICAgICAgICAgdGhpcy5wYXJlbnQucmVmcmVzaCgpOwot
ICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVZpZXcuRW50cnlUcmVl
RWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlcmVkSXRlbVNlbGVjdGlvbkRpYWxvZy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0
aW9uRGlhbG9nLmpzCmluZGV4IDNjZTUwMDQ2NGU3ZDdiMTFkZmRhYzA3MTdiNWIzZTc0ZjIxMjUy
ZjIuLjZkNmNiNGI1ODEyM2EwNjY5MzY1NDQzYmU2NzU2ZTNkNWQxYjU3NjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9u
RGlhbG9nLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVy
ZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzCkBAIC00MDksMTAgKzQwOSwxMCBAQCBXZWJJbnNwZWN0
b3IuRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYg
KGl0ZW1FbGVtZW50Lm9mZnNldFRvcCA+IHRoaXMuX2l0ZW1FbGVtZW50c0NvbnRhaW5lci5zY3Jv
bGxUb3AgKyB0aGlzLl9pdGVtSGVpZ2h0ICogKHRoaXMuX3Jvd3NQZXJWaWV3cG9ydCArIDEpKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19
CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkZpbHRlcmVkSXRlbVNlbGVjdGlvbkRpYWxvZy5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRpYWxvZ0RlbGVnYXRlLnByb3RvdHlwZTsK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5EaWFsb2dEZWxlZ2F0ZS5wcm90b3R5cGUKK30K
IAogLyoqCiAgKiBAaW50ZXJmYWNlCkBAIC02MDAsMTAgKzYwMCwxMCBAQCBXZWJJbnNwZWN0b3Iu
SmF2YVNjcmlwdE91dGxpbmVEaWFsb2cucHJvdG90eXBlID0gewogICAgIHJld3JpdGVRdWVyeTog
ZnVuY3Rpb24ocXVlcnkpCiAgICAgewogICAgICAgICByZXR1cm4gcXVlcnk7Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5KYXZhU2NyaXB0T3V0bGluZURpYWxvZy5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNlbGVjdGlvbkRpYWxvZ0NvbnRlbnRQcm92aWRlci5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2VsZWN0aW9uRGlhbG9nQ29u
dGVudFByb3ZpZGVyLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNzA3
LDEwICs3MDcsMTAgQEAgV2ViSW5zcGVjdG9yLk9wZW5SZXNvdXJjZURpYWxvZy5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHZhciBsaW5lTnVtYmVyTWF0Y2ggPSBxdWVyeS5tYXRjaCgvKFteOl0rKShc
OltcZF0qKSQvKTsKICAgICAgICAgdGhpcy5fcXVlcnlMaW5lTnVtYmVyID0gbGluZU51bWJlck1h
dGNoID8gbGluZU51bWJlck1hdGNoWzJdIDogIiI7CiAgICAgICAgIHJldHVybiBsaW5lTnVtYmVy
TWF0Y2ggPyBsaW5lTnVtYmVyTWF0Y2hbMV0gOiBxdWVyeTsKLSAgICB9Ci19CisgICAgfSwKIAot
V2ViSW5zcGVjdG9yLk9wZW5SZXNvdXJjZURpYWxvZy5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLlNlbGVjdGlvbkRpYWxvZ0NvbnRlbnRQcm92aWRlci5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2VsZWN0aW9uRGlhbG9nQ29udGVudFByb3ZpZGVyLnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbH0g
cGFuZWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRm9u
dFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3Lmpz
CmluZGV4IGEwOWMzNzIyMWViYmI2MzgxOWYyOThkNTdiYTE0NTdhMWQ2MjcxMDYuLjY0ZGJkNWI2
YjdmNTRjNDEyMmE1MTdkNGUyNzc4YWI4YWQxNDlhZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Gb250Vmlldy5qcwpAQCAtMTM1LDcgKzEzNSw3IEBAIFdlYklu
c3BlY3Rvci5Gb250Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciBmaW5hbEZvbnRTaXpl
ID0gTWF0aC5mbG9vcihXZWJJbnNwZWN0b3IuRm9udFZpZXcuX21lYXN1cmVGb250U2l6ZSAqIE1h
dGgubWluKHdpZHRoUmF0aW8sIGhlaWdodFJhdGlvKSkgLSAyOwogCiAgICAgICAgIHRoaXMuZm9u
dFByZXZpZXdFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJmb250LXNpemUiLCBmaW5hbEZvbnRT
aXplICsgInB4IiwgbnVsbCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Gb250
Vmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Hb1Rv
TGluZURpYWxvZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvR29Ub0xp
bmVEaWFsb2cuanMKaW5kZXggYTQ0ZGMzZWYzMmU5ZThiMDkyNjNmM2Y1ZDdiNTc2NDk2N2FkNzJh
Zi4uYWM0MWI3YWQ5OGY5M2VmMjA5YjFhODU4Y2IzMzllNWMxNjY5ZmZmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzCkBA
IC0xMDgsNyArMTA4LDcgQEAgV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlhbG9nLnByb3RvdHlwZSA9
IHsKICAgICBvbkVudGVyOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9hcHBseUxp
bmVOdW1iZXIoKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkdvVG9MaW5lRGlh
bG9nLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGlhbG9nRGVsZWdhdGUucHJv
dG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRpYWxvZ0RlbGVnYXRlLnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
YW5kbGVyUmVnaXN0cnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hh
bmRsZXJSZWdpc3RyeS5qcwppbmRleCBlZjQ3YTc2OTQzMTlkZmJjYzEwNzQ4NmRmOTU0YjI0NzIy
YmZlMzRhLi41YzhjYzc0ZDI4NmE3ZjdmYjMzMDUyMDNkZDVkM2UxMThlYjUxMGRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3Ry
eS5qcwpAQCAtMTc1LDE1ICsxNzUsMTYgQEAgV2ViSW5zcGVjdG9yLkhhbmRsZXJSZWdpc3RyeS5w
cm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwocmVz
b3VyY2VVUkwpKQogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJPcGVu
IGxpbmsgaW4gUmVzb3VyY2VzIHBhbmVsIiA6ICJPcGVuIExpbmsgaW4gUmVzb3VyY2VzIFBhbmVs
IiksIFdlYkluc3BlY3Rvci5vcGVuUmVzb3VyY2UuYmluZChudWxsLCByZXNvdXJjZVVSTCwgdHJ1
ZSkpOwogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5jb3B5TGlu
a0FkZHJlc3NMYWJlbCgpLCBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY29weVRleHQuYmluZChJbnNw
ZWN0b3JGcm9udGVuZEhvc3QsIHJlc291cmNlVVJMKSk7Ci0gICAgfQorICAgIH0sCisKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCiB9CiAKKwogV2ViSW5zcGVj
dG9yLkhhbmRsZXJSZWdpc3RyeS5FdmVudFR5cGVzID0gewogICAgIEhhbmRsZXJzVXBkYXRlZDog
IkhhbmRsZXJzVXBkYXRlZCIKIH0KIAotV2ViSW5zcGVjdG9yLkhhbmRsZXJSZWdpc3RyeS5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7Ci0KIC8qKgog
ICogQGNvbnN0cnVjdG9yCiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSGVhcFNuYXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9IZWFwU25hcHNob3QuanMKaW5kZXggMTY5NjU0MDU2YjM0NDRlODUwYzg3Y2U5ZWY2
NjhjYWVlOGE1NzcyOS4uYTQ0ZDdmNmY0NGQ4ZTMzMDRiNmViM2RhZjllOGNkMDA1OWFkMjg2ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3QuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3QuanMKQEAgLTE5MDQsMTAgKzE5MDQsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEVk
Z2VzUHJvdmlkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5faXRlcmF0aW9uT3Jk
ZXIuc29ydFJhbmdlKGNvbXBhcmVOb2RlQW5kRWRnZSwgbGVmdEJvdW5kLCByaWdodEJvdW5kLCBj
b3VudCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRoaXMuX2l0ZXJhdGlvbk9yZGVyLnNv
cnRSYW5nZShjb21wYXJlTm9kZUFuZE5vZGUsIGxlZnRCb3VuZCwgcmlnaHRCb3VuZCwgY291bnQp
OwotICAgIH0KLX07CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdEZpbHRlcmVkT3JkZXJlZEl0ZXJhdG9yLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90RWRnZXNQcm92aWRlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdEZpbHRlcmVkT3JkZXJlZEl0ZXJhdG9yLnByb3RvdHlwZTsKIAog
LyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTE5ODEsNyArMTk4Miw4IEBAIFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3ROb2Rlc1Byb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAg
ICAgIHRoaXMuX2l0ZXJhdGlvbk9yZGVyLnNvcnRSYW5nZShzb3J0QnlDb21wYXJhdG9yLCBsZWZ0
Qm91bmQsIHJpZ2h0Qm91bmQsIGNvdW50KTsKLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RGaWx0ZXJlZE9yZGVyZWRJdGVyYXRvci5w
cm90b3R5cGUKK30KIAotV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGVzUHJvdmlkZXIucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RGaWx0ZXJlZE9yZGVy
ZWRJdGVyYXRvci5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdERhdGFHcmlkcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCmluZGV4IDNhMjJiOGJh
YzMxYWQyNzIyZDM3ZjE2MWY1NWY3MjcxYjcwODU0MjIuLjFjYTNmYmIyNzM1ZGI0NDYyMTg1MTZh
NmE1YmQxNGUxZDNiMTViZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90RGF0YUdyaWRzLmpzCkBAIC0yNTIsMTAgKzI1
MiwxMSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90U29ydGFibGVEYXRhR3JpZC5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmICghLS10aGlzLl9yZWN1cnNp
dmVTb3J0aW5nRGVwdGgpCiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cygic29ydGluZyBjb21wbGV0ZSIpOwotICAgIH0KLX07CisgICAgfSwKKworICAgIF9fcHJvdG9f
XzogV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90U29ydGFibGVEYXRhR3JpZC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkRhdGFHcmlkLnByb3RvdHlwZTsKIAogCiAvKioKQEAgLTM5MywxMCArMzk0LDEwIEBAIFdl
Ykluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3cG9ydERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFHcmlkLnByb3Rv
dHlwZS5oaWdobGlnaHROb2RlLmNhbGwodGhpcywgdGhpcy5fbm9kZVRvSGlnaGxpZ2h0QWZ0ZXJT
Y3JvbGwpOwogICAgICAgICAgICAgdGhpcy5fbm9kZVRvSGlnaGxpZ2h0QWZ0ZXJTY3JvbGwgPSBu
dWxsOwogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RWaWV3cG9ydERhdGFHcmlkLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90U29ydGFibGVEYXRhR3JpZC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90U29ydGFibGVEYXRhR3JpZC5wcm90b3R5cGUKK30KIAog
LyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTQ1MCwxMCArNDUxLDExIEBAIFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RDb250YWlubWVudERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICBzb3J0aW5n
Q2hhbmdlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5yb290Tm9kZSgpLnNvcnQo
KTsKLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RTb3J0YWJsZURhdGFHcmlkLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90Q29udGFpbm1lbnREYXRhR3JpZC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWQucHJvdG90eXBlOwogCiAvKioKICAq
IEBjb25zdHJ1Y3RvcgpAQCAtNDg4LDkgKzQ5MCwxMCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90UmV0YWlubWVudERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5yb290Tm9k
ZSgpLnJlbW92ZUNoaWxkcmVuKCk7CiAgICAgICAgIHRoaXMucmVzZXRTb3J0aW5nQ2FjaGUoKTsK
ICAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90Q29udGFp
bm1lbnREYXRhR3JpZC5wcm90b3R5cGUKIH0KIAotV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFJl
dGFpbm1lbnREYXRhR3JpZC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdENvbnRhaW5tZW50RGF0YUdyaWQucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1
Y3RvcgpAQCAtNTk3LDkgKzYwMCw5IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RDb25zdHJ1
Y3RvcnNEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3BvcHVsYXRlQ2hpbGRy
ZW4oKTsKICAgICB9LAogCi19OworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdFZpZXdwb3J0RGF0YUdyaWQucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RDb25zdHJ1Y3RvcnNEYXRhR3JpZC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdFZpZXdwb3J0RGF0YUdyaWQucHJvdG90eXBlOwogCiAvKioKICAqIEBj
b25zdHJ1Y3RvcgpAQCAtNjgyLDEwICs2ODUsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dERpZmZEYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIHdlIGZpcnN0IG5lZWQgdG8g
Y29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbm9kZXMgaW4gdGhlIGZpcnN0IHNuYXBzaG90
IGFuZAogICAgICAgICAvLyB0aGVuIHBhc3MgaXQgdG8gdGhlIHNlY29uZCBzbmFwc2hvdCB0byBj
YWxjbHVsYXRlIHRoZSBkaWZmLgogICAgICAgICB0aGlzLmJhc2VTbmFwc2hvdC5hZ2dyZWdhdGVz
Rm9yRGlmZihhZ2dyZWdhdGVzRm9yRGlmZlJlY2VpdmVkLmJpbmQodGhpcykpOwotICAgIH0KLX07
CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXdw
b3J0RGF0YUdyaWQucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3REaWZm
RGF0YUdyaWQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RW
aWV3cG9ydERhdGFHcmlkLnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTc2
OSw3ICs3NzMsOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RG9taW5hdG9yc0RhdGFHcmlk
LnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuc25hcHNob3QuZG9taW5h
dG9ySWRzRm9yTm9kZShwYXJzZUludChpZCwgMTApLCBkaWRHZXREb21pbmF0b3JzLmJpbmQodGhp
cykpOwotICAgIH0KLX07CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdFNvcnRhYmxlRGF0YUdyaWQucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3REb21pbmF0b3JzRGF0YUdyaWQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5IZWFwU25hcHNob3RTb3J0YWJsZURhdGFHcmlkLnByb3RvdHlwZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90R3JpZE5v
ZGVzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RH
cmlkTm9kZXMuanMKaW5kZXggODg1NjRmMWY4YzFjYTkyMTJiNWNjNTI3ODNlMGYyMTA0YzA2NDdi
NC4uNDBlODE1NDAwNGQyMmQzZDdmMzRmN2YyNDg1MDdkMzE1ZTMxYzY3ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RHcmlkTm9kZXMu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RH
cmlkTm9kZXMuanMKQEAgLTMzMSwxMCArMzMxLDExIEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3RHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9wcm92
aWRlcigpLnNvcnRBbmRSZXdpbmQodGhpcy5jb21wYXJhdG9yKCksIGFmdGVyU29ydC5iaW5kKHRo
aXMpKTsKLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5E
YXRhR3JpZE5vZGUucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlk
Tm9kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90
b3R5cGU7CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC01MDUsMTAgKzUwNiwxMCBAQCBXZWJJ
bnNwZWN0b3IuSGVhcFNuYXBzaG90R2VuZXJpY09iamVjdE5vZGUucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgcmV0dXJuIGZ1bGxOYW1lLnN1YnN0cigwLCBzdGFydFBvcyArIDIpICsgdXJsICsg
ZnVsbE5hbWUuc3Vic3RyKGVuZFBvcyk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgcmV0
dXJuIGZ1bGxOYW1lOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90R2VuZXJpY09iamVjdE5vZGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RHcmlkTm9kZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuSGVhcFNuYXBzaG90R3JpZE5vZGUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCkBAIC02MzYsMTAgKzYzNywxMCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90T2JqZWN0
Tm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHNlcGFyYXRvclNwYW4uY2xhc3NOYW1lID0gImdy
YXllZCI7CiAgICAgICAgIHNlcGFyYXRvclNwYW4udGV4dENvbnRlbnQgPSB0aGlzLnNob3dSZXRh
aW5pbmdFZGdlcyA/ICIgaW4gIiA6ICIgOjogIjsKICAgICAgICAgZGl2LmFwcGVuZENoaWxkKHNl
cGFyYXRvclNwYW4pOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBz
aG90T2JqZWN0Tm9kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkhlYXBTbmFw
c2hvdEdlbmVyaWNPYmplY3ROb2RlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RHZW5lcmljT2JqZWN0Tm9kZS5wcm90b3R5cGUKK30KIAogLyoqCiAg
KiBAY29uc3RydWN0b3IKQEAgLTcyMCwxMCArNzIxLDEwIEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RJbnN0YW5jZU5vZGUucHJvdG90eXBlID0gewogICAgIGdldCBpc0RlbGV0ZWROb2RlKCkK
ICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9pc0RlbGV0ZWROb2RlOwotICAgIH0KLX0KKyAg
ICB9LAogCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90SW5zdGFuY2VOb2RlLnByb3RvdHlwZS5f
X3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90R2VuZXJpY09iamVjdE5vZGUucHJv
dG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdEdlbmVyaWNP
YmplY3ROb2RlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtODUwLDEw
ICs4NTEsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdENvbnN0cnVjdG9yTm9kZS5wcm90
b3R5cGUgPSB7CiAgICAgZ2V0IF9zaGFsbG93U2l6ZVBlcmNlbnQoKQogICAgIHsKICAgICAgICAg
cmV0dXJuIHRoaXMuX3NoYWxsb3dTaXplIC8gdGhpcy5kYXRhR3JpZC5zbmFwc2hvdC50b3RhbFNp
emUgKiAxMDAuMDsKLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RHcmlkTm9kZS5wcm90b3R5cGUKK30KIAotV2ViSW5zcGVjdG9yLkhl
YXBTbmFwc2hvdENvbnN0cnVjdG9yTm9kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkhlYXBTbmFwc2hvdEdyaWROb2RlLnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0
b3IKQEAgLTEwMTcsMTAgKzEwMTksMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdERpZmZO
b2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgZGF0YVsic2l6ZURlbHRhIl0gPSB0aGlzLl9zaWdu
Rm9yRGVsdGEodGhpcy5fc2l6ZURlbHRhKSArIE51bWJlci53aXRoVGhvdXNhbmRzU2VwYXJhdG9y
KE1hdGguYWJzKHRoaXMuX3NpemVEZWx0YSkpOwogCiAgICAgICAgIHJldHVybiBkYXRhOwotICAg
IH0KLX07CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dEdyaWROb2RlLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RGlmZk5v
ZGUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RHcmlkTm9k
ZS5wcm90b3R5cGU7CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMTA0LDcgKzExMDcsOCBA
QCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RG9taW5hdG9yT2JqZWN0Tm9kZS5wcm90b3R5cGUg
PSB7CiAgICAgX2VtcHR5RGF0YTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIHt9
OwotICAgIH0KLX07CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdEdlbmVyaWNPYmplY3ROb2RlLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90RG9taW5hdG9yT2JqZWN0Tm9kZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLkhlYXBTbmFwc2hvdEdlbmVyaWNPYmplY3ROb2RlLnByb3RvdHlwZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90UHJveHku
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFByb3h5
LmpzCmluZGV4IDFiMjRiYTIwZjQ3YjA3MDA4NWUxZDA4YTk5ODMzOTRiMDRhYTI2NTIuLmQ2OGNk
MjA1Y2RkNzEwMTRmMTA4NGQwMzI4NzgxZTZiYTJmMDBkMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90UHJveHkuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RQcm94eS5qcwpAQCAt
NDIsMTAgKzQyLDEwIEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RXb3JrZXJXcmFwcGVyLnBy
b3RvdHlwZSA9ICB7CiAgICAgfSwKICAgICB0ZXJtaW5hdGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RXb3JrZXJXcmFwcGVy
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC04NCwxMCArODQsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hv
dFJlYWxXb3JrZXIucHJvdG90eXBlID0gewogICAgIHRlcm1pbmF0ZTogZnVuY3Rpb24oKQogICAg
IHsKICAgICAgICAgdGhpcy5fd29ya2VyLnRlcm1pbmF0ZSgpOwotICAgIH0KLX07CisgICAgfSwK
KworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFdvcmtlcldyYXBwZXIu
cHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RSZWFsV29ya2VyLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90V29ya2VyV3JhcHBlci5w
cm90b3R5cGU7CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xNjUsMTAgKzE2NiwxMSBAQCBX
ZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90RmFrZVdvcmtlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygibWVzc2FnZSIsIG1lc3NhZ2UpOwog
ICAgICAgICB9CiAgICAgICAgIHRoaXMuX2FzeW5jVGFza1F1ZXVlLmFkZFRhc2soc2VuZC5iaW5k
KHRoaXMpKTsKLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5IZWFwU25hcHNob3RXb3JrZXJXcmFwcGVyLnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3Iu
SGVhcFNuYXBzaG90RmFrZVdvcmtlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFdvcmtlcldyYXBwZXIucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1
Y3RvcgpAQCAtMjk1LDEwICsyOTcsMTEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFdvcmtl
ci5wcm90b3R5cGUgPSB7CiAgICAgX3Bvc3RNZXNzYWdlOiBmdW5jdGlvbihtZXNzYWdlKQogICAg
IHsKICAgICAgICAgdGhpcy5fd29ya2VyLnBvc3RNZXNzYWdlKG1lc3NhZ2UpOwotICAgIH0KLX07
CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUK
K30KIAotV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFdvcmtlci5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CiAKIC8qKgogICogQGNvbnN0cnVjdG9y
CkBAIC00MTEsMTAgKzQxNCwxMSBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90TG9hZGVyUHJv
eHkucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fcGVuZGluZ1NuYXBzaG90Q29uc3Vt
ZXJzID0gW107CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5jYWxsTWV0aG9kKGJ1aWxkU25hcHNo
b3QuYmluZCh0aGlzKSwgImNsb3NlIik7Ci0gICAgfQotfTsKKyAgICB9LAorCisgICAgX19wcm90
b19fOiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJveHlPYmplY3QucHJvdG90eXBlCit9CiAK
LVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RMb2FkZXJQcm94eS5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3h5T2JqZWN0LnByb3RvdHlwZTsKIAogLyoq
CiAgKiBAY29uc3RydWN0b3IKQEAgLTUyNCwxMCArNTI4LDExIEBAIFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RQcm94eS5wcm90b3R5cGUgPSB7CiAgICAgZ2V0IHVpZCgpCiAgICAgewogICAgICAg
ICByZXR1cm4gdGhpcy5fc3RhdGljRGF0YS51aWQ7Ci0gICAgfQotfTsKKyAgICB9LAorCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJveHlPYmplY3QucHJvdG90eXBl
Cit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RQcm94eS5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb3h5T2JqZWN0LnByb3RvdHlwZTsKIAogLyoq
CiAgKiBAY29uc3RydWN0b3IKQEAgLTU1Nyw3ICs1NjIsOCBAQCBXZWJJbnNwZWN0b3IuSGVhcFNu
YXBzaG90UHJvdmlkZXJQcm94eS5wcm90b3R5cGUgPSB7CiAgICAgc29ydEFuZFJld2luZDogZnVu
Y3Rpb24oY29tcGFyYXRvciwgY2FsbGJhY2spCiAgICAgewogICAgICAgICB0aGlzLmNhbGxNZXRo
b2QoY2FsbGJhY2ssICJzb3J0QW5kUmV3aW5kIiwgY29tcGFyYXRvcik7Ci0gICAgfQotfTsKKyAg
ICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJveHlPYmpl
Y3QucHJvdG90eXBlCit9CiAKLVdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RQcm92aWRlclByb3h5
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJveHlPYmpl
Y3QucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IDI1OWJhNzQ2NzNlMmExY2U5OWM5NjU2MGMx
YzFhMGI5NTEwNWNmNzYuLjU5NmNkMTI1MGYxMmZjMmJmMjUzZWNlOTBlZDliYTExZjliNzA0M2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBz
aG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBT
bmFwc2hvdFZpZXcuanMKQEAgLTczMiwxMCArNzMyLDExIEBAIFdlYkluc3BlY3Rvci5IZWFwU25h
cHNob3RWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGZpbHRlck9wdGlvbi5sYWJlbCA9
IHRpdGxlOwogICAgICAgICAgICAgdGhpcy5maWx0ZXJTZWxlY3RFbGVtZW50LmFwcGVuZENoaWxk
KGZpbHRlck9wdGlvbik7CiAgICAgICAgIH0KLSAgICB9Ci19OworICAgIH0sCisKKyAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCi1XZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90Vmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJv
dG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNzk0LDEwICs3OTUsMTAgQEAgV2Vi
SW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKICAgICBjcmVh
dGVQcm9maWxlOiBmdW5jdGlvbihwcm9maWxlKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyBX
ZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIodGhpcywgcHJvZmlsZS50aXRsZSwgcHJvZmls
ZS51aWQsIHByb2ZpbGUubWF4SlNPYmplY3RJZCB8fCAwKTsKLSAgICB9Ci19CisgICAgfSwKIAot
V2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb2ZpbGVUeXBlLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLlByb2ZpbGVUeXBlLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3Rv
cgpAQCAtOTkwLDEwICs5OTEsMTAgQEAgV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyLnBy
b3RvdHlwZSA9IHsKICAgICBfY3JlYXRlRmlsZVJlYWRlcjogZnVuY3Rpb24oZmlsZSwgZGVsZWdh
dGUpCiAgICAgewogICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5DaHVua2VkRmlsZVJl
YWRlcihmaWxlLCAxMDAwMDAwMCwgZGVsZWdhdGUpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJ
bnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5Qcm9maWxlSGVhZGVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5Qcm9maWxlSGVhZGVyLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWxwU2NyZWVuLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWxwU2NyZWVuLmpzCmluZGV4
IDA4NTVhMTI2OTczZTAyNmI2NzAwYjM2ZDNiMTAwODkyMjM3N2MxNDguLjQ4NTI1ZTY2NWFhYjE1
Y2RiMTVmNzlhYzczMGZjNDNhZmUyOTkyYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSGVscFNjcmVlbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0hlbHBTY3JlZW4uanMKQEAgLTExOCw3ICsxMTgsNyBAQCBXZWJJbnNw
ZWN0b3IuSGVscFNjcmVlbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIFByZXRlbmQgd2UncmUg
bW9kYWwsIGdyYWIgZm9jdXMgYmFjayBpZiB3ZSdyZSBzdGlsbCBzaG93bi4KICAgICAgICAgaWYg
KHRoaXMuaXNTaG93aW5nKCkgJiYgIXRoaXMuZWxlbWVudC5pc1NlbGZPckFuY2VzdG9yKGV2ZW50
LnRhcmdldCkpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0Q3VycmVudEZvY3VzRWxlbWVu
dCh0aGlzLmVsZW1lbnQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuSGVscFNj
cmVlbi5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlVmlldy5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VWaWV3LmpzCmluZGV4IDdiNWNmMTNl
MGU5ZWU0ZGVhYjJjNGQ1MzViMDUzNTcwOTcwNTIzNWUuLmQyYzc5YjMwYjk2Y2I5ZDgyNzM3MDZk
YjdiNTZmMTVlM2RmNmNhZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW1hZ2VWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW1hZ2VWaWV3LmpzCkBAIC0xNDAsNyArMTQwLDcgQEAgV2ViSW5zcGVjdG9yLkltYWdl
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgX29wZW5Jbk5ld1RhYjogZnVuY3Rpb24oZXZlbnQpCiAg
ICAgewogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qub3BlbkluTmV3VGFiKHRoaXMucmVz
b3VyY2UudXJsKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkltYWdlVmlldy5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZQorfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJN
b2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCTW9k
ZWwuanMKaW5kZXggNmY5ZmE0MjAwZjViNGRmOTJmOTIyMTFkMmJlMDQ1MDg2MDRhNjFhMS4uM2Q2
MmMzNDU2Njg1ZmRkMTdjNTJiZTQ3Y2M4ZWI3YWY2MjBmMzFhYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJNb2RlbC5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luZGV4ZWREQk1vZGVsLmpzCkBAIC00ODMs
MTAgKzQ4MywxMCBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewog
CiAgICAgICAgIHZhciBrZXlSYW5nZSA9IFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5rZXlS
YW5nZUZyb21JREJLZXlSYW5nZShpZGJLZXlSYW5nZSk7CiAgICAgICAgIEluZGV4ZWREQkFnZW50
LnJlcXVlc3REYXRhKGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRl
eE5hbWUsIHNraXBDb3VudCwgcGFnZVNpemUsIGtleVJhbmdlID8ga2V5UmFuZ2UgOiB1bmRlZmlu
ZWQsIGlubmVyQ2FsbGJhY2suYmluZCh0aGlzKSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYklu
c3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
Lk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJWaWV3cy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCVmlld3MuanMKaW5kZXggZmFkNGU1NTc3
ZDMyYTk4MGRmZTI1MTcyNTJiZDhjYjIwNjllNTgwNS4uNjI1ZDAxYTNiYTkzYWMxMjc5MGJmOTNl
NjQ4NDEyNzJkMGJjNzM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmRleGVkREJWaWV3cy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0luZGV4ZWREQlZpZXdzLmpzCkBAIC04OSw5ICs4OSwxMCBAQCBXZWJJbnNwZWN0
b3IuSURCRGF0YWJhc2VWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGF0YWJhc2Ug
PSBkYXRhYmFzZTsKICAgICAgICAgdGhpcy5fcmVmcmVzaERhdGFiYXNlKCk7CiAgICAgfSwKKwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCiB9CiAKLVdlYkluc3Bl
Y3Rvci5JREJEYXRhYmFzZVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5W
aWV3LnByb3RvdHlwZTsKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTM2MiwxMCArMzYzLDEw
IEBAIFdlYkluc3BlY3Rvci5JREJEYXRhVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2
YWx1ZS5yZWxlYXNlKCk7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fZW50cmllcyA9IFtdOwot
ICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuSURCRGF0YVZpZXcucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAt
NDI3LDcgKzQyOCw4IEBAIFdlYkluc3BlY3Rvci5JREJEYXRhR3JpZE5vZGUucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgY29udGVudHMuYWRkU3R5bGVDbGFzcygicHJpbWl0aXZlLXZhbHVlIik7
CiAgICAgICAgICAgICBjb250ZW50cy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSh2YWx1ZS5kZXNjcmlwdGlvbikpOwogICAgICAgICB9Ci0gICAgfQotfTsKKyAgICB9LAorCisg
ICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZQorfQogCi1X
ZWJJbnNwZWN0b3IuSURCRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5q
cwppbmRleCBkYzI3MDFjZDA3NTk5ODYwYWU5NmRhODllZTBhNjIxNmUyNTQ1Y2RjLi4xMjBkN2My
MzExNmM1YTRlZjIwZWJjMmFmNGY5NWI2MzNhNDg0YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhv
c3RTdHViLmpzCkBAIC0yMTcsNiArMjE3LDggQEAgV2ViSW5zcGVjdG9yLkNsaXBib2FyZEFjY2Vz
c0RlbmllZFNjcmVlbiA9IGZ1bmN0aW9uKCkKICAgICB9CiB9CiAKLVdlYkluc3BlY3Rvci5DbGlw
Ym9hcmRBY2Nlc3NEZW5pZWRTY3JlZW4ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5IZWxwU2NyZWVuLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rvci5DbGlwYm9hcmRBY2Nlc3NEZW5p
ZWRTY3JlZW4ucHJvdG90eXBlID0geworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkhlbHBT
Y3JlZW4ucHJvdG90eXBlCit9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcwppbmRleCBiNTIxYTlkMWRjZmZmNGM3YTAwOWRm
MzhiNzYzZmUxZjM3MjZmMmI4Li4zMTk3OTE3MjQxYzU3ZWU1NTZkOTNlZGNkN2Y4YjM4YzQ4Zjcy
Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3Bl
Y3RvclZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNw
ZWN0b3JWaWV3LmpzCkBAIC0yNDYsMTAgKzI0NiwxMCBAQCBXZWJJbnNwZWN0b3IuSW5zcGVjdG9y
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3Iuc2VhcmNoQ29u
dHJvbGxlci5kaXNhYmxlU2VhcmNoVW50aWxFeHBsaWNpdEFjdGlvbigpOwogICAgICAgICB0aGlz
LnNldEN1cnJlbnRQYW5lbChwYW5lbCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rv
ci5JbnNwZWN0b3JWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30K
IAogLyoqCiAgKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXd9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2UuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRTb3VyY2UuanMK
aW5kZXggOTNlZDQxMzFhZWQ0NGJkOTcwYmRkNzEyYzIxMmE2MjZhYjg5ZDI3Mi4uZjEzYjNiZDU4
MzYwNGVhNzMwZWUxYTJlMTY4ODg5ZmVmNmM0YTk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdFNvdXJjZS5qcwpAQCAtNDksNyAr
NDksNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHZhciByYXdMb2NhdGlvbiA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2VyTW9k
ZWwuTG9jYXRpb259ICovIHRoaXMudWlMb2NhdGlvblRvUmF3TG9jYXRpb24oMCwgMCk7CiAgICAg
ICAgIHZhciBzY3JpcHQgPSBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2RlbC5zY3JpcHRGb3JJZChy
YXdMb2NhdGlvbi5zY3JpcHRJZCk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1vZGVs
LnNldFNjcmlwdFNvdXJjZShzY3JpcHQuc2NyaXB0SWQsIHRoaXMud29ya2luZ0NvcHkoKSwgY2Fs
bGJhY2spOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJj
ZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5
cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlwZQor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2Ny
aXB0U291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ph
dmFTY3JpcHRTb3VyY2VGcmFtZS5qcwppbmRleCA5MTRlYzZiMDRlMjdhMzk4ZGU0Y2FiM2UxYzNi
YmJhY2JjYmM5NzRiLi42NmZiYzQ2MGU5OTUwYjkxYWJlNWY0MTkzN2YyNDViZjBjOWE3YWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRT
b3VyY2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ph
dmFTY3JpcHRTb3VyY2VGcmFtZS5qcwpAQCAtNTczLDcgKzU3Myw3IEBAIFdlYkluc3BlY3Rvci5K
YXZhU2NyaXB0U291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHJh
d0xvY2F0aW9uID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlv
bn0gKi8gdGhpcy5famF2YVNjcmlwdFNvdXJjZS51aUxvY2F0aW9uVG9SYXdMb2NhdGlvbihsaW5l
TnVtYmVyLCAwKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuY29udGludWVU
b0xvY2F0aW9uKHJhd0xvY2F0aW9uKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9y
LkphdmFTY3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LlNvdXJjZUZyYW1lLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZS5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTGlua2lmaWVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9MaW5raWZpZXIuanMKaW5kZXggOTE5ODZiZGFlZGNmZWNlMmM0YWQzZDc0YTNkNmRlMGZl
MzhjMzM0Zi4uYzY2OGE0NWM2NGVjMGZiMDdiZDFhODA0ZDM2YTg2NzBkYmUyZDMzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanMKQEAgLTEy
NSw3ICsxMjUsNyBAQCBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRGb3JtYXR0ZXIucHJv
dG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fbWF4TGVuZ3RoKQogICAgICAgICAgICAgdGV4
dCA9IHRleHQudHJpbU1pZGRsZSh0aGlzLl9tYXhMZW5ndGgpOwogICAgICAgICBhbmNob3IudGV4
dENvbnRlbnQgPSB0ZXh0OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuTGlua2lm
aWVyLkRlZmF1bHRGb3JtYXR0ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5M
aW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LkxpbmtpZmllckZvcm1hdHRlci5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWVtb3J5U3RhdGlzdGljcy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWVtb3J5U3RhdGlzdGljcy5qcwppbmRleCBiNDU5NmUx
OTQ5ZDFmOGQwNTQ2NDJlY2I5ZjYxMGYxZDYwYjFiYjIyLi5lNzVjZDAyYjMzOGMxN2ZkMTE4ZTI5
OTdkNjZhYTBhYWZkY2U4NzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL01lbW9yeVN0YXRpc3RpY3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9NZW1vcnlTdGF0aXN0aWNzLmpzCkBAIC0xMjYsMTAgKzEyNiwxMCBAQCBX
ZWJJbnNwZWN0b3IuU3dhdGNoQ2hlY2tib3gucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAg
dGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlN3YXRjaENoZWNrYm94LkV2ZW50cy5DaGFuZ2VkKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlN3YXRjaENoZWNrYm94LnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJp
Y3NTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0
cmljc1NpZGViYXJQYW5lLmpzCmluZGV4IGIxZDhhYjM2ZTgwYjI2N2FlY2E2NDE1ZmRhMDdjM2Fi
NjNiZWY0Y2IuLmIyOTM0MzAzMTE2ZGUyMTYzYWU2OGJmMTAyOTg1YjBlYzQ3ZWYxNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQ
YW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1Np
ZGViYXJQYW5lLmpzCkBAIC00MTksNyArNDE5LDcgQEAgV2ViSW5zcGVjdG9yLk1ldHJpY3NTaWRl
YmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLmVkaXRpbmdFbmRlZChl
bGVtZW50LCBjb250ZXh0KTsKICAgICAgICAgdGhpcy5fYXBwbHlVc2VySW5wdXQoZWxlbWVudCwg
dXNlcklucHV0LCBwcmV2aW91c0NvbnRlbnQsIGNvbnRleHQsIHRydWUpOwotICAgIH0KLX0KKyAg
ICB9LAogCi1XZWJJbnNwZWN0b3IuTWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzog
V2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5l
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVCcmVha3BvaW50
c1NpZGViYXJQYW5lLmpzCmluZGV4IGU2MTU0NzQ1YTlhZWY2OTZlY2Q3YjM4MWRmZjgyYjY3MWE1
ZjgxYzguLjhjMzRhYzZmOGMzYjg4MTc2MTNjODc5YjdiM2Q5Yzc0MTcxZGJmMTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlQnJlYWtwb2ludHNT
aWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05h
dGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKQEAgLTc2LDcgKzc2LDcgQEAgV2ViSW5zcGVj
dG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGhpcy5ib2R5RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmxpc3RFbGVtZW50KTsKICAgICAg
ICAgICAgIHRoaXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5lbXB0eUVsZW1lbnQpOwog
ICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3Bv
aW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJh
clBhbmUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5l
LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcwppbmRleCBlMzI5NTkyNjhh
NTEwZGNmODMxYmZkNTc5NWI0ZDE5MDQwZjY4NzM1Li41NzgzMzBmNDM3ZjhmNTNlMjg3NGRlNGM1
Y2MxODkxY2Q3ZWI5MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcwpAQCAtNTcsMTAg
KzU3LDEwIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcucHJvdG90eXBl
ID0gewogICAgIGdldCBwcm9maWxlKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9wcm9m
aWxlOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuTmF0aXZlTWVtb3J5U25hcHNo
b3RWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAogLyoqCiAg
KiBAY29uc3RydWN0b3IKQEAgLTE0NSwxMCArMTQ1LDEwIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVN
ZW1vcnlQcm9maWxlVHlwZS5wcm90b3R5cGUgPSB7CiAgICAgY3JlYXRlUHJvZmlsZTogZnVuY3Rp
b24ocHJvZmlsZSkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLk5hdGl2
ZU1lbW9yeVByb2ZpbGVIZWFkZXIodGhpcywgcHJvZmlsZS50aXRsZSwgLTEpOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuTmF0aXZlTWVtb3J5UHJvZmlsZVR5cGUucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Qcm9maWxlVHlwZS5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC0xODMsMTAgKzE4MywxMCBAQCBXZWJJbnNwZWN0b3IuTmF0aXZlTWVt
b3J5UHJvZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgY3JlYXRlVmlldzogZnVuY3Rpb24o
cHJvZmlsZXNQYW5lbCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLk5h
dGl2ZU1lbW9yeVNuYXBzaG90Vmlldyh0aGlzKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5z
cGVjdG9yLk5hdGl2ZU1lbW9yeVByb2ZpbGVIZWFkZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5Qcm9maWxlSGVhZGVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYklu
c3BlY3Rvci5Qcm9maWxlSGVhZGVyLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3Rv
cgpAQCAtMzY5LDEwICszNjksMTAgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZU1lbW9yeVBpZUNoYXJ0
LnByb3RvdHlwZSA9IHsKICAgICBfY2xlYXI6IGZ1bmN0aW9uKCkgewogICAgICAgICB2YXIgY3R4
ID0gdGhpcy5fY2FudmFzLmdldENvbnRleHQoIjJkIik7CiAgICAgICAgIGN0eC5jbGVhclJlY3Qo
MCwgMCwgY3R4LmNhbnZhcy53aWR0aCwgY3R4LmNhbnZhcy5oZWlnaHQpOwotICAgIH0KLX0KKyAg
ICB9LAogCi1XZWJJbnNwZWN0b3IuTmF0aXZlTWVtb3J5UGllQ2hhcnQucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYklu
c3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNDg5
LDcgKzQ4OSw3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVNZW1vcnlCYXJDaGFydC5wcm90b3R5cGUg
PSB7CiAKICAgICAgICAgdmFyIG1lbW9yeUJsb2NrVmlld1Byb3BlcnRpZXMgPSBXZWJJbnNwZWN0
b3IuTWVtb3J5QmxvY2tWaWV3UHJvcGVydGllcy5fZm9yTWVtb3J5QmxvY2sobWVtb3J5QmxvY2sp
OwogICAgICAgICB0aGlzLl90b3RhbERpdi50ZXh0Q29udGVudCA9IG1lbW9yeUJsb2NrVmlld1By
b3BlcnRpZXMuX2Rlc2NyaXB0aW9uICsgIjogIiArIChtZW1vcnlCbG9jay5zaXplIC8gTUIpLnRv
Rml4ZWQoMSkgKyAiXHUyMDA5TUIiOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
TmF0aXZlTWVtb3J5QmFyQ2hhcnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5W
aWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZp
Z2F0b3JWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXZpZ2F0
b3JWaWV3LmpzCmluZGV4IGEwMjIxNzQ3NDMxYmNiYmViMGVhMjhiM2I0OTkwYzg5Mzg3ZGI2ZmMu
LmE1Yzg0MWU4MTM2OWE2MzE0ZDhmNWFkNGQ3M2VlOGM0ODlkOGVkZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF2aWdhdG9yVmlldy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdmlnYXRvclZpZXcuanMKQEAgLTM0
NywxMCArMzQ3LDEwIEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudSgp
OwogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRBcHBsaWNhYmxlSXRlbXModWlTb3VyY2VDb2Rl
KTsKICAgICAgICAgY29udGV4dE1lbnUuc2hvdyhldmVudCk7Ci0gICAgfQotfQorICAgIH0sCiAK
LVdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5w
cm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTQyOSwxMCArNDI5LDEwIEBA
IFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JUcmVlT3V0bGluZS5wcm90b3R5cGUgPSB7CiAgICB7CiAg
ICAgICAgdGhpcy5fdHJlZVNlYXJjaEJveEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5zZWFyY2hJ
bnB1dEVsZW1lbnQpOwogICAgICAgIHRoaXMuX3RyZWVTZWFyY2hCb3hFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3MoInZpc2libGUiKTsKLSAgIH0KLX0KKyAgIH0sCiAKLVdlYkluc3BlY3Rvci5OYXZp
Z2F0b3JUcmVlT3V0bGluZS5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZU91dGxpbmUucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogVHJlZU91dGxpbmUucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC01MDUsMTAgKzUwNSwxMCBAQCBXZWJJbnNwZWN0b3IuQmFzZU5hdmln
YXRvclRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICBtYXRjaGVzU2VhcmNoVGV4dDogZnVu
Y3Rpb24oc2VhcmNoVGV4dCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLnRpdGxlVGV4dC5t
YXRjaChuZXcgUmVnRXhwKCJeIiArIHNlYXJjaFRleHQuZXNjYXBlRm9yUmVnRXhwKCksICJpIikp
OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRyZWVFbGVt
ZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBUcmVlRWxlbWVudC5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBUcmVlRWxlbWVudC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IK
QEAgLTU1MywxMCArNTUzLDEwIEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JGb2xkZXJUcmVlRWxl
bWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlKCk7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIHRoaXMuZXhwYW5kKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5OYXZpZ2F0b3JGb2xkZXJUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLkJhc2VOYXZpZ2F0b3JUcmVlRWxlbWVudC5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRyZWVFbGVtZW50LnByb3RvdHlw
ZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNjQ1LDcgKzY0NSw3IEBAIFdlYkluc3Bl
Y3Rvci5OYXZpZ2F0b3JTb3VyY2VUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgX2hhbmRs
ZUNvbnRleHRNZW51RXZlbnQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5f
bmF2aWdhdG9yVmlldy5oYW5kbGVDb250ZXh0TWVudShldmVudCwgdGhpcy5fdWlTb3VyY2VDb2Rl
KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLk5hdmlnYXRvclNvdXJjZVRyZWVF
bGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRy
ZWVFbGVtZW50LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5CYXNlTmF2
aWdhdG9yVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtJdGVtVmlldy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya0l0ZW1WaWV3LmpzCmluZGV4IDQ1Y2RmYWJhNDQ5
ZDg3M2VmMDlhYWZlZjQzNGQ5NzJjZGJiNGQ3YWEuLjkxYjk1MTMwYzhmMDYwZjNiMTk3NWMyMDI1
ZWUyZGMwN2NiYWI1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvTmV0d29ya0l0ZW1WaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya0l0ZW1WaWV3LmpzCkBAIC0xMDAsMTAgKzEwMCwxMCBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0l0ZW1WaWV3LnByb3RvdHlwZSA9IHsKICAgICByZXF1ZXN0OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdDsKLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLk5ldHdvcmtJdGVtVmlldy5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5z
cGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBA
IC0xNzAsNyArMTcwLDcgQEAgV2ViSW5zcGVjdG9yLlJlcXVlc3RDb250ZW50Vmlldy5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICBpZiAodGhpcy5jYW5IaWdobGlnaHRMaW5lKCkpCiAgICAg
ICAgICAgICB0aGlzLl9pbm5lclZpZXcuaGlnaGxpZ2h0TGluZShsaW5lKTsKLSAgICB9Ci19Cisg
ICAgfSwKIAotV2ViSW5zcGVjdG9yLlJlcXVlc3RDb250ZW50Vmlldy5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlJlcXVlc3RWaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186
IFdlYkluc3BlY3Rvci5SZXF1ZXN0Vmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzCmluZGV4IGRkZmQ5
NTNlNGE5YTg5OWMxMDM0MjNiZTA2MDViMGVlYzQ3OTY2NGIuLmU1NmM3ZWJkNWNmMTgzNjgxMzE4
MGNkODAxYmY5OTIzOTk1MzEzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcwpAQCAtMTEzLDEwICsxMTMsMTAgQEAgV2Vi
SW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICBfdXNlckFnZW50U2V0
dGluZ0NoYW5nZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIE5ldHdvcmtBZ2VudC5zZXRV
c2VyQWdlbnRPdmVycmlkZShXZWJJbnNwZWN0b3Iuc2V0dGluZ3MudXNlckFnZW50LmdldCgpKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdv
cmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1Bh
bmVsLmpzCmluZGV4IDVmYjg5ODJhYzJjYWEwYTdmYzNhNjQyYjA0YjllODljZjM4N2JiOGIuLmE1
ZDBmYzM0YmViMzE2OGIxYjEyMmUzY2VmYzQ5OGNkYzNkMDEwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC0xMjYxLDEw
ICsxMjYxLDExIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgewogICAgICAgICBub2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlnaGxpZ2h0ZWQtcm93
Iik7CiAgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkTm9kZSA9IG5vZGU7Ci0gICAgfQotfTsKKyAg
ICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAot
V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGU7CiAKIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5FdmVu
dFR5cGVzID0gewogICAgIFZpZXdDbGVhcmVkOiAiVmlld0NsZWFyZWQiLApAQCAtMTUyMCwxMCAr
MTUyMSwxMCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIHRoaXMucmV2ZWFsQW5kSGlnaGxpZ2h0UmVxdWVzdCgvKiogQHR5cGUge1dlYkluc3Bl
Y3Rvci5OZXR3b3JrUmVxdWVzdH0gKi8gdGFyZ2V0KTsKICAgICAgICAgfQogICAgICAgICBjb250
ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3IudXNl
TG93ZXJDYXNlTWVudVRpdGxlcygpID8gIlJldmVhbCBpbiBuZXR3b3JrIHBhbmVsIiA6ICJSZXZl
YWwgaW4gTmV0d29yayBQYW5lbCIpLCByZXZlYWwuYmluZCh0aGlzKSk7Ci0gICAgfQotfQorICAg
IH0sCiAKLVdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3Iu
UGFuZWwucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xNzI1LDEwICsx
NzI2LDEwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZUNhbGN1bGF0b3IucHJvdG90eXBlID0g
ewogICAgIF91cHBlckJvdW5kOiBmdW5jdGlvbihyZXF1ZXN0KQogICAgIHsKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5OZXR3b3JrVGltZUNhbGN1
bGF0b3IucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OZXR3b3JrQmFzZUNhbGN1
bGF0b3IucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk5ldHdvcmtCYXNl
Q2FsY3VsYXRvci5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTE3NTMs
MTAgKzE3NTQsMTAgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUcmFuc2ZlclRpbWVDYWxjdWxhdG9y
LnByb3RvdHlwZSA9IHsKICAgICBfdXBwZXJCb3VuZDogZnVuY3Rpb24ocmVxdWVzdCkKICAgICB7
CiAgICAgICAgIHJldHVybiByZXF1ZXN0LmVuZFRpbWU7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5OZXR3b3JrVHJhbnNmZXJUaW1lQ2FsY3VsYXRvci5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lQ2FsY3VsYXRvci5wcm90b3R5cGU7CisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3RvdHlwZQor
fQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTc3NiwxMCArMTc3NywxMCBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya1RyYW5zZmVyRHVyYXRpb25DYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKICAg
ICBfdXBwZXJCb3VuZDogZnVuY3Rpb24ocmVxdWVzdCkKICAgICB7CiAgICAgICAgIHJldHVybiBy
ZXF1ZXN0LmR1cmF0aW9uOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuTmV0d29y
a1RyYW5zZmVyRHVyYXRpb25DYWxjdWxhdG9yLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuTmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5OZXR3b3JrVGltZUNhbGN1bGF0b3IucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC0yMTY0LDkgKzIxNjUsMTIgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtE
YXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fbGFiZWxSaWdodEVs
ZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoImxlZnQiLCB0aGlzLl9wZXJjZW50YWdlcy5taWRkbGUg
KyAiJSIpOwogICAgICAgICAgICAgdGhpcy5fbGFiZWxSaWdodEVsZW1lbnQuc3R5bGUuc2V0UHJv
cGVydHkoInJpZ2h0IiwgKDEwMCAtIHRoaXMuX3BlcmNlbnRhZ2VzLmVuZCkgKyAiJSIpOwogICAg
ICAgICB9Ci0gICAgfQorICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5EYXRh
R3JpZE5vZGUucHJvdG90eXBlCiB9CiAKKwogV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5v
ZGUuTmFtZUNvbXBhcmF0b3IgPSBmdW5jdGlvbihhLCBiKQogewogICAgIHZhciBhRmlsZU5hbWUg
PSBhLl9yZXF1ZXN0LmRpc3BsYXlOYW1lICsgKGEuX3JlcXVlc3QucXVlcnlTdHJpbmcgPyBhLl9y
ZXF1ZXN0LnF1ZXJ5U3RyaW5nIDogIiIpOwpAQCAtMjIxNiw1ICsyMjIwLDMgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUuUmVxdWVzdFByb3BlcnR5Q29tcGFyYXRvciA9IGZ1bmN0
aW9uKHByb3BlcnR5TmEKICAgICAgICAgcmV0dXJuIHJldmVydCA/IDEgOiAtMTsKICAgICByZXR1
cm4gMDsKIH0KLQotV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWxEZXNjcmlw
dG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWxE
ZXNjcmlwdG9yLmpzCmluZGV4IDRhNGZlY2ZkMjI5NmJiZmMxMjBkNGUzZjMwMDM5MTc5Zjk2NWY4
ZDcuLjE2MjFkNzdkMDYxOWVkMzZiYTJhYzRlZmRhNWY4ZDkyOTJjMDRiMzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsRGVzY3JpcHRv
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5l
bERlc2NyaXB0b3IuanMKQEAgLTQ4LDcgKzQ4LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5l
bERlc2NyaXB0b3IucHJvdG90eXBlID0gewogICAgICAgICBpZiAoISh0YXJnZXQgaW5zdGFuY2Vv
ZiBXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QpKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB0aGlzLnBhbmVsKCkuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKGNvbnRleHRNZW51LCB0YXJn
ZXQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsRGVzY3Jp
cHRvci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsRGVzY3JpcHRvci5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnBy
b3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9OZXR3b3JrUmVxdWVzdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmV0d29ya1JlcXVlc3QuanMKaW5kZXggZTNjMWY1MTQ0NWUzMGZmMTk2OTg5NjcwZDIyZTY3NWRh
YzZjMWU1Yi4uOTg0YmE1NzEzNzNlZjYyNjRiZDU5YjYzNDYxZjRkMWY4YWEyODlkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUmVxdWVzdC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtSZXF1ZXN0
LmpzCkBAIC04NDksNyArODQ5LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX2ZyYW1lcy5zcGxpY2UoMCwgMTApOwogICAgICAg
ICB9CiAgICAgICAgIHRoaXMuX2ZyYW1lcy5wdXNoKG9iamVjdCk7Ci0gICAgfQotfQorICAgIH0s
CiAKLVdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdC5wcm90b3R5cGUuX19wcm90b19fID0gV2Vi
SW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3Iu
T2JqZWN0LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9PYmplY3RQb3BvdmVySGVscGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9PYmplY3RQb3BvdmVySGVscGVyLmpzCmluZGV4IGM0ZjQyNWU2OGYwNTI4
OTBjYjdjNzkzZDZmYWZkM2IzMGVjZWJiYzIuLjM4MGY0ZGI4ZjBhYzZlMWZhNzAxYWExMjM1NmMx
MWI1ZGQzMDk2ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvT2JqZWN0UG9wb3ZlckhlbHBlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL09iamVjdFBvcG92ZXJIZWxwZXIuanMKQEAgLTE1Myw3ICsxNTMsNyBAQCBXZWJJ
bnNwZWN0b3IuT2JqZWN0UG9wb3ZlckhlbHBlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fc2VjdGlvblVwZGF0ZVByb3BlcnRpZXMocHJvcGVy
dGllcywgcm9vdFRyZWVFbGVtZW50Q29uc3RydWN0b3IsIHJvb3RQcm9wZXJ0eUNvbXBhcmVyKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLk9iamVjdFBvcG92ZXJIZWxwZXIucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Qb3BvdmVySGVscGVyLnByb3RvdHlwZTsK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Qb3BvdmVySGVscGVyLnByb3RvdHlwZQorfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9w
ZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanMKaW5kZXggNDM5YWNmYzMwOGUwZmE2ODcwMzdkNzExNWFi
ZDJlODYzZDQxMzFiZS4uOWM4NTg3ODA3NTAxYzZjM2QzYTE3MWMwNTBhOGEyMDU3OGU1YTk5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9w
ZXJ0aWVzU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC0xMjMsMTAgKzEyMywxMCBAQCBXZWJJbnNw
ZWN0b3IuT2JqZWN0UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dmFyIGluZm9FbGVtZW50ID0gbmV3IFRyZWVFbGVtZW50KHRpdGxlLCBudWxsLCBmYWxzZSk7CiAg
ICAgICAgICAgICB0aGlzLnByb3BlcnRpZXNUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChpbmZvRWxl
bWVudCk7CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLk9iamVj
dFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJv
cGVydGllc1NlY3Rpb24ucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlBy
b3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZQorfQogCiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVy
dGllc1NlY3Rpb24uQ29tcGFyZVByb3BlcnRpZXMgPSBmdW5jdGlvbihwcm9wZXJ0eUEsIHByb3Bl
cnR5QikKIHsKQEAgLTM3MCw3ICszNzAsOSBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlU
cmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAgICAg
ICAgIHRoaXMucHJvcGVydHkucGFyZW50T2JqZWN0LnNldFByb3BlcnR5VmFsdWUodGhpcy5wcm9w
ZXJ0eS5uYW1lLCBleHByZXNzaW9uLnRyaW0oKSwgY2FsbGJhY2suYmluZCh0aGlzKSk7Ci0gICAg
fQorICAgIH0sCisKKyAgICBfX3Byb3RvX186IFRyZWVFbGVtZW50LnByb3RvdHlwZQogfQogCiAv
KioKQEAgLTQwNyw4ICs0MDksNiBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxl
bWVudC5wb3B1bGF0ZSA9IGZ1bmN0aW9uKHRyZWVFbGVtZW50LCB2YWx1ZSkgewogICAgIHZhbHVl
LmdldE93blByb3BlcnRpZXMoY2FsbGJhY2spOwogfQogCi1XZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90
eXBlOwotCiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1RyZWVFbGVtZW50fQpA
QCAtNDgyLDEwICs0ODIsMTAgQEAgV2ViSW5zcGVjdG9yLkZ1bmN0aW9uU2NvcGVNYWluVHJlZUVs
ZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgICAgIH0KICAgICAgICAgRGVidWdnZXJBZ2VudC5n
ZXRGdW5jdGlvbkRldGFpbHModGhpcy5fcmVtb3RlT2JqZWN0Lm9iamVjdElkLCBkaWRHZXREZXRh
aWxzLmJpbmQodGhpcykpOwotICAgIH0KLX07CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkZ1bmN0
aW9uU2NvcGVNYWluVHJlZUVsZW1lbnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFRyZWVFbGVtZW50
LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFRyZWVFbGVtZW50LnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNTA2LDEwICs1MDYsMTAgQEAgV2ViSW5zcGVjdG9yLlNj
b3BlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIG9ucG9wdWxhdGU6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxl
bWVudC5wb3B1bGF0ZSh0aGlzLCB0aGlzLl9yZW1vdGVPYmplY3QpOwotICAgIH0KLX07CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLlNjb3BlVHJlZUVsZW1lbnQucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFRyZWVFbGVtZW50LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFRyZWVFbGVtZW50LnByb3Rv
dHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtNzMwLDEwICs3MzAsMTAgQEAgV2Vi
SW5zcGVjdG9yLkFycmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgb25h
dHRhY2g6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMubGlzdEl0ZW1FbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoIm5hbWUiKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkFy
cmF5R3JvdXBpbmdUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQu
cHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CiAKIC8q
KgogICogQGNvbnN0cnVjdG9yCkBAIC03NDgsNCArNzQ4LDYgQEAgV2ViSW5zcGVjdG9yLk9iamVj
dFByb3BlcnR5UHJvbXB0ID0gZnVuY3Rpb24oY29tbWl0SGFuZGxlciwgY2FuY2VsSGFuZGxlciwg
cmVuZGUKICAgICAgICAgdGhpcy5yZW5kZXJBc0Jsb2NrKCk7CiB9CiAKLVdlYkluc3BlY3Rvci5P
YmplY3RQcm9wZXJ0eVByb21wdC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlRl
eHRQcm9tcHQucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5UHJvbXB0LnBy
b3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Q
YW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKaW5k
ZXggOGNlZTE3NjFjMGU0MzU5N2U1YmEyZTVjOWZhYTBhM2IxOWJiYjU4Ny4uZjA1ZGIyMDQ0OTky
NjczNzViZmRiODBlZDMzMDhkN2M3NWQxZjU4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1BhbmVsLmpzCkBAIC0yNDcsMTAgKzI0NywxMCBAQCBXZWJJbnNwZWN0b3Iu
UGFuZWwucHJvdG90eXBlID0gewogICAgIHVucmVnaXN0ZXJTaG9ydGN1dDogZnVuY3Rpb24oa2V5
KQogICAgIHsKICAgICAgICAgZGVsZXRlIHRoaXMuX3Nob3J0Y3V0c1trZXldOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3
LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzCmluZGV4IDVl
NzYyYjg2MjQ0MDk5N2Q1ZjczZjAzNWVjYzI0NTU5OGNmYTA5OWEuLmZlYWI3NGE0NDQxMDI3OWVh
OTkxZWFjNzNlZjhiNmNhNjg5OGM5ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsRW5hYmxlclZpZXcuanMKQEAgLTk0LDcgKzk0LDcgQEAg
V2ViSW5zcGVjdG9yLlBhbmVsRW5hYmxlclZpZXcucHJvdG90eXBlID0gewogCiAgICAgZ2V0IGFs
d2F5c0VuYWJsZWQoKSB7CiAgICAgICAgIHJldHVybiB0aGlzLmVuYWJsZWRBbHdheXMuY2hlY2tl
ZDsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlBhbmVsRW5hYmxlclZpZXcucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlRGF0YUdyaWRUcmVlLmpzCmlu
ZGV4IGNjYmM3ZjA5ODA0MTIxNWVhYWVmODZmOWYzNDVkYjA0MmQxMTE0ZWYuLjI4NGYzYjg3YTdk
OTZhMGQwYWI0YTdkN2Y5Mzg1ZTIzMDRhMzkxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZURhdGFHcmlkVHJlZS5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVEYXRhR3JpZFRyZWUuanMKQEAgLTI5
NCwxMCArMjk0LDEwIEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxk
KG9ycGhhbmVkQ2hpbGQpOwogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5E
YXRhR3JpZE5vZGUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVMYXVuY2hlclZp
ZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVMYXVuY2hl
clZpZXcuanMKaW5kZXggY2ZlMjJiZWU5YmNkNGFhY2UzM2VmMzMxNTU2ZjhjMmVhMWRmM2M1YS4u
Njc3MjZmNDdjMWM5MWYzMzFmNzA0ZTY3NWMzYTA0NjViNmM2MDhmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlTGF1bmNoZXJWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZUxhdW5jaGVyVmll
dy5qcwpAQCAtMTI3LDcgKzEyNyw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlTGF1bmNoZXJWaWV3
LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX2lzUHJvZmlsaW5nID0gZmFsc2U7
CiAgICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRyb2xzKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5Qcm9maWxlTGF1bmNoZXJWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmll
dy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUHJvZmlsZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUHJvZmlsZXNQYW5lbC5qcwppbmRleCBkMGQyMGFhNjlhY2VkZGU2ZDU1OWYwNzFkOGU2ZmEy
NDE1MmIwNWFlLi40NjFjOTJjYWM0YTQzMmViMmE2NDFkMzRlNGJmOWFiMjdhMmNhMDY5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1BhbmVs
LmpzCkBAIC0xMTEyLDEwICsxMTEyLDEwIEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnBy
b3RvdHlwZSA9IHsKIAogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUmV2ZWFsIGluIERvbWluYXRvcnMgVmlldyIpLCByZXZlYWxJblZpZXcuYmlu
ZCh0aGlzLCAiRG9taW5hdG9ycyIpKTsKICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJldmVhbCBpbiBTdW1tYXJ5IFZpZXciKSwgcmV2ZWFsSW5W
aWV3LmJpbmQodGhpcywgIlN1bW1hcnkiKSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUGFu
ZWwucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlw
ZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTI1MywxMCArMTI1MywxMCBAQCBXZWJJ
bnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2FkIHByb2Zp
bGVcdTIwMjYiKSwgcHJvZmlsZXNQYW5lbC5fZmlsZVNlbGVjdG9yRWxlbWVudC5jbGljay5iaW5k
KHByb2ZpbGVzUGFuZWwuX2ZpbGVTZWxlY3RvckVsZW1lbnQpKTsKICAgICAgICAgY29udGV4dE1l
bnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRlbGV0ZSBwcm9maWxlIiksIHRo
aXMub25kZWxldGUuYmluZCh0aGlzKSk7CiAgICAgICAgIGNvbnRleHRNZW51LnNob3coZXZlbnQp
OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxl
bWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJUcmVlRWxlbWVu
dC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclRyZWVFbGVt
ZW50LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTI3NCwxMCArMTI3
NCwxMCBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZUdyb3VwU2lkZWJhclRyZWVFbGVtZW50LnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDApCiAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5faW5zdGFuY2Uuc2hvd1Byb2Zp
bGUodGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmxlbmd0aCAtIDFdLnByb2ZpbGUpOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUHJvZmlsZUdyb3VwU2lkZWJhclRyZWVFbGVt
ZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclRyZWVFbGVtZW50
LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5TaWRlYmFyVHJlZUVsZW1l
bnQucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMzAwLDEwICsxMzAw
LDEwIEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1NpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5cGUg
PSB7CiAgICAgZ2V0IHNlbGVjdGFibGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Qcm9maWxlc1NpZGViYXJUcmVlRWxlbWVu
dC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJUcmVlRWxlbWVudC5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclRyZWVFbGVtZW50
LnByb3RvdHlwZQorfQogCiBpbXBvcnRTY3JpcHQoIlByb2ZpbGVEYXRhR3JpZFRyZWUuanMiKTsK
IGltcG9ydFNjcmlwdCgiQm90dG9tVXBQcm9maWxlRGF0YUdyaWRUcmVlLmpzIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2dyZXNzSW5kaWNhdG9y
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9ncmVzc0luZGljYXRv
ci5qcwppbmRleCA2MTliMDkzNzVkMmE1MzI4ZjQzOGM0ODAxM2YxNTExZjljNTA1Y2ViLi5jYjlk
MmVmMjNjMTlmNWNlZDI5Y2IxMjFhNTIxNmNkMjlmYzA0NWE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2dyZXNzSW5kaWNhdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZ3Jlc3NJbmRpY2F0b3IuanMKQEAg
LTExOSw3ICsxMTksNyBAQCBXZWJJbnNwZWN0b3IuUHJvZ3Jlc3NJbmRpY2F0b3IucHJvdG90eXBl
ID0gewogICAgIHdvcmtlZDogZnVuY3Rpb24od29ya2VkKQogICAgIHsKICAgICAgICAgdGhpcy5z
ZXRXb3JrZWQodGhpcy5fd29ya2VkICsgKHdvcmtlZCB8fCAxKSk7Ci0gICAgfQotfQorICAgIH0s
CiAKLVdlYkluc3BlY3Rvci5Qcm9ncmVzc0luZGljYXRvci5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuT2JqZWN0LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvcGVydGllc1NlY3Rpb24uanMKaW5kZXggNGY3NjBlNjhlMDE1MWM4
OWY4MjBiOGJjOTg0ZTViOTVjNDg2MDNiOS4uM2FhNGZjNDQ2ZmZjN2E0MjQ3MTJhNmQ3NTUyOTU5
ZTMxNGM1ZWZmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Qcm9wZXJ0aWVzU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Byb3BlcnRpZXNTZWN0aW9uLmpzCkBAIC00Nyw0ICs0Nyw2IEBAIFdlYkluc3BlY3Rv
ci5Qcm9wZXJ0aWVzU2VjdGlvbiA9IGZ1bmN0aW9uKHRpdGxlLCBzdWJ0aXRsZSkKICAgICB0aGlz
LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5wcm9wZXJ0aWVzRWxlbWVudCk7CiB9CiAKLVdlYklu
c3BlY3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLlNlY3Rpb24ucHJvdG90eXBlOworV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5TZWN0aW9uLnByb3RvdHlw
ZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9w
ZXJ0aWVzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcwppbmRleCBiMmZiYzUyN2MxZGY5ZTlmNWVmNWE0MWUy
NmQ4YjYwZDBjOGYzNTFlLi4wZjdiYmY2ZDAzODEyOGVlMWI5OTJiZjg0N2Y5YTU1OTE0ZDE2MWY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRp
ZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcwpAQCAtOTksNyArOTksNyBAQCBXZWJJbnNwZWN0b3Iu
UHJvcGVydGllc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBib2R5
LmFwcGVuZENoaWxkKHNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTaWRlYmFyUGFuZS5w
cm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGUKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdENvb2tp
ZXNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29v
a2llc1ZpZXcuanMKaW5kZXggZDhkNWRhODQwYTE1NmI5MTcwMWYxMzY3OTIzMzdmZDM4NTY3MjZm
Zi4uZTIxZTYxOTk2OTgxZmUyODI4OGVmMDA1ODQ3OTlhYjE1OGQ0MjY4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29va2llc1ZpZXcuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Q29va2llc1Zp
ZXcuanMKQEAgLTgxLDcgKzgxLDcgQEAgV2ViSW5zcGVjdG9yLlJlcXVlc3RDb29raWVzVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuX2J1aWxkQ29v
a2llc1RhYmxlKCk7CiAgICAgICAgIHRoaXMuX2Nvb2tpZXNUYWJsZS51cGRhdGVXaWR0aHMoKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlJlcXVlc3RDb29raWVzVmlldy5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOworICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RIVE1MVmlldy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdEhUTUxWaWV3LmpzCmluZGV4IDgxN2Y4
MTMwNTI4YjExZWFlNjc5OGVhMGY5YjU4ZWFmYmE2NzUwOTEuLmEwNmUyNzI2MjkzZGM5MjAwOGVj
YzQyZGVlYzk5ZWQ0ODgxMDhmODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVxdWVzdEhUTUxWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVxdWVzdEhUTUxWaWV3LmpzCkBAIC02NSw3ICs2NSw3IEBAIFdlYklu
c3BlY3Rvci5SZXF1ZXN0SFRNTFZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZnJhbWUuc2V0
QXR0cmlidXRlKCJzYW5kYm94IiwgIiIpOyAvLyBGb3JiaWQgdG8gcnVuIEphdmFTY3JpcHQgYW5k
IHNldCB1bmlxdWUgb3JpZ2luLgogCiAgICAgICAgIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuYm9k
eS5pbm5lckhUTUwgPSB0aGlzLnJlcXVlc3QuY29udGVudDsKLSAgICB9Ci19CisgICAgfSwKIAot
V2ViSW5zcGVjdG9yLlJlcXVlc3RIVE1MVmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLlJlcXVlc3RWaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5SZXF1ZXN0Vmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdEhlYWRlcnNWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0SGVhZGVyc1ZpZXcuanMKaW5kZXggNzVjYjAyNDVm
MGYzZGRkNTQ5OWQyY2FhOGE3NTMyOTUyYjlkYzdmZi4uZDU0ZmVjNjhlZWFhNjE2ZmJjM2ExNTIz
YTI4ZTZhZTczMmI3ZGNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXF1ZXN0SGVhZGVyc1ZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXF1ZXN0SGVhZGVyc1ZpZXcuanMKQEAgLTQwNyw3ICs0MDcsNyBAQCBX
ZWJJbnNwZWN0b3IuUmVxdWVzdEhlYWRlcnNWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIHZhciB0b2dnbGVUaXRsZSA9IGlzSGVhZGVyc1RleHRTaG93biA/IFdlYkluc3BlY3Rvci5V
SVN0cmluZygidmlldyBwYXJzZWQiKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygidmlldyBzb3Vy
Y2UiKTsKICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVRvZ2dsZUJ1dHRvbih0b2dnbGVUaXRs
ZSk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5SZXF1ZXN0SGVhZGVyc1ZpZXcu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0SlNPTlZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RKU09OVmlldy5qcwppbmRleCA0
MzZhY2I0YjhhZTg5NTQ3ZTExY2JhOGQ5ZmNkYWNjMzIxYTBhMmJiLi41NmQ1YzViYzE3NjA5ZjUx
NDhmOTgzNGU4NjNiMmE2ODQ5ZmU3N2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RKU09OVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RKU09OVmlldy5qcwpAQCAtMTAwLDEwICsxMDAsMTAg
QEAgV2ViSW5zcGVjdG9yLlJlcXVlc3RKU09OVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHNl
Y3Rpb24uZXhwYW5kKCk7CiAgICAgICAgIHNlY3Rpb24uZWRpdGFibGUgPSBmYWxzZTsKICAgICAg
ICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHNlY3Rpb24uZWxlbWVudCk7Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5SZXF1ZXN0SlNPTlZpZXcucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5SZXF1ZXN0Vmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuUmVxdWVzdFZpZXcucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVl
c3RQcmV2aWV3Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVx
dWVzdFByZXZpZXdWaWV3LmpzCmluZGV4IDRiZjNhMjRkNDQ4M2QwM2UxOWIxMzFjYjFjNjEyM2M2
NjI0ZTI0YzIuLmExMWRlYjIyN2E4YjUzYjVmZWY0MmQ2YzU1OGM1OTU1ZjRhNjg1NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFByZXZpZXdW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFBy
ZXZpZXdWaWV3LmpzCkBAIC05MCw3ICs5MCw3IEBAIFdlYkluc3BlY3Rvci5SZXF1ZXN0UHJldmll
d1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NyZWF0ZUVtcHR5
VmlldygpOwogCiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuUmVxdWVzdFZpZXcubm9uU291
cmNlVmlld0ZvclJlcXVlc3QodGhpcy5yZXF1ZXN0KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2Vi
SW5zcGVjdG9yLlJlcXVlc3RQcmV2aWV3Vmlldy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLlJlcXVlc3RDb250ZW50Vmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuUmVxdWVzdENvbnRlbnRWaWV3LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0UmVzcG9uc2VWaWV3LmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0UmVzcG9uc2VWaWV3Lmpz
CmluZGV4IDU0OTc3Y2Y1MGUxMDI5NmI2MzgzNWIxN2UxNTA0ZTYxYzcxMGJlODguLjI4NGJhZTkx
MDE1ZmI1NWE0NGZjOGJiNzJjZjMzM2JjYTZkN2JhMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFJlc3BvbnNlVmlldy5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RSZXNwb25zZVZpZXcuanMKQEAg
LTYzLDcgKzYzLDcgQEAgV2ViSW5zcGVjdG9yLlJlcXVlc3RSZXNwb25zZVZpZXcucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgdGhpcy5zb3VyY2VWaWV3LnNob3codGhpcy5lbGVtZW50KTsKICAg
ICAgICAgICAgIHRoaXMuaW5uZXJWaWV3ID0gdGhpcy5zb3VyY2VWaWV3OwogICAgICAgICB9Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5SZXF1ZXN0UmVzcG9uc2VWaWV3LnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUmVxdWVzdENvbnRlbnRWaWV3LnByb3RvdHlw
ZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5SZXF1ZXN0Q29udGVudFZpZXcucHJvdG90
eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jl
cXVlc3RUaW1pbmdWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXF1ZXN0VGltaW5nVmlldy5qcwppbmRleCA4MjQwMDg4NTQzYTZiZGMyNjUxODJiZjdiZWJiNTU0
MGFiMTNjNGE2Li42NjNlODVhNGNjNWY4NjgwNzVhZjE0ZjcxNDY4NjM4YmQxYmU3NzEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVlc3RUaW1pbmdW
aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFRp
bWluZ1ZpZXcuanMKQEAgLTcwLDkgKzcwLDEyIEBAIFdlYkluc3BlY3Rvci5SZXF1ZXN0VGltaW5n
Vmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdGFibGVFbGVtZW50ID0gV2ViSW5z
cGVjdG9yLlJlcXVlc3RUaW1pbmdWaWV3LmNyZWF0ZVRpbWluZ1RhYmxlKHRoaXMuX3JlcXVlc3Qp
OwogICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fdGFibGVFbGVtZW50KTsK
LSAgICB9CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90
eXBlCiB9CiAKKwogV2ViSW5zcGVjdG9yLlJlcXVlc3RUaW1pbmdWaWV3LmNyZWF0ZVRpbWluZ1Rh
YmxlID0gZnVuY3Rpb24ocmVxdWVzdCkKIHsKICAgICB2YXIgdGFibGVFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgidGFibGUiKTsKQEAgLTE1Nyw1ICsxNjAsMyBAQCBXZWJJbnNwZWN0
b3IuUmVxdWVzdFRpbWluZ1ZpZXcuY3JlYXRlVGltaW5nVGFibGUgPSBmdW5jdGlvbihyZXF1ZXN0
KQogICAgIH0KICAgICByZXR1cm4gdGFibGVFbGVtZW50OwogfQotCi1XZWJJbnNwZWN0b3IuUmVx
dWVzdFRpbWluZ1ZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnBy
b3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVxdWVzdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1JlcXVl
c3RWaWV3LmpzCmluZGV4IDVjMjE2NDE0NzRiN2QxOTYwMDYyZDYxM2VkNmYzNTU0NTQ1NTI0OGQu
LjM1OWUzZWJkMWM0M2IzZDUxYzljNTI4YmViMzg0ZjBkMjRkNzFlNTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVxdWVzdFZpZXcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXF1ZXN0Vmlldy5qcwpAQCAtNDYsMTAg
KzQ2LDEwIEBAIFdlYkluc3BlY3Rvci5SZXF1ZXN0Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgaGFz
Q29udGVudDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUmVxdWVzdFZpZXcucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLk5l
dHdvcmtSZXF1ZXN0fSByZXF1ZXN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZS5qcwppbmRleCBkN2YwMTdlODNkMjY3ZWUzMjkyZTM1ODVmMzc3YzhiZGU1
MGY0YmIyLi4xODE2YjY5OTE3NDM4YTk3MzIzN2I2ZTMwNzEwMDdiZThhYzg4MmM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTM2MCw4
ICszNjAsOCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIGlzSGlk
ZGVuOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gISF0aGlzLl9pc0hpZGRlbjsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4IGQ1MDNk
YWU2MDI1YmViMjQxZGMzZjgwNTQ0MjY4MDllODljNDRiNTYuLmY1NTI3OTE1YzFlZWVmZjg0ZjIz
ZTQ5MWJhMWQ2ZDA0MGZhMWU0N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAtMzM5LDEwICszMzksMTAg
QEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICBfY3Jl
YXRlUmVzb3VyY2VGcm9tRnJhbWVQYXlsb2FkOiBmdW5jdGlvbihmcmFtZSwgdXJsLCB0eXBlLCBt
aW1lVHlwZSkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNl
KG51bGwsIHVybCwgZnJhbWUudXJsLCBmcmFtZS5pZCwgZnJhbWUubG9hZGVySWQsIHR5cGUsIG1p
bWVUeXBlKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1v
ZGVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgog
ICogQGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VWaWV3LmpzCmluZGV4IGNlNTBiNGI2YzkxNjI2N2QzYzc4NmRlMzVmNzMxOWVj
OTAzMGU0MjQuLmU0OGU1ZWE2NGY5YWJmM2U1NmE2MzdhNDQ4NzAyNDkxNTIxMzY2Y2IgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3Lmpz
CkBAIC00NCwxMCArNDQsMTAgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgaGFzQ29udGVudDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90
b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5SZXNvdXJjZX0gcmVzb3VyY2UKQEAgLTk3LDcgKzk3LDcgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICBjb250ZXh0TWVu
dS5hcHBlbmRBcHBsaWNhYmxlSXRlbXModGhpcy5fcmVzb3VyY2UpOwogICAgICAgICBpZiAodGhp
cy5fcmVzb3VyY2UucmVxdWVzdCkKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEFwcGxp
Y2FibGVJdGVtcyh0aGlzLl9yZXNvdXJjZS5yZXF1ZXN0KTsKLSAgICB9Ci19CisgICAgfSwKIAot
V2ViSW5zcGVjdG9yLlJlc291cmNlU291cmNlRnJhbWUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVdlYlNvY2tldEZyYW1lVmll
dy5qcwppbmRleCA1OWFjZDY1MThiMDUyYmQ2Mzc0M2E3NjZkODFiNGFiYmVhMjc2MzEzLi45ODg0
ODI4YmE5MTVjNzEyZGM0ODExNmE5ZDNkMDRjNDFhOWM3ZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VXZWJTb2Nr
ZXRGcmFtZVZpZXcuanMKQEAgLTk1LDQgKzk1LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlV2Vi
U29ja2V0RnJhbWVWaWV3Lk9wQ29kZXMgPSB7CiAgICAgUG9uZ0ZyYW1lOiAxMAogfTsKIAotV2Vi
SW5zcGVjdG9yLlJlc291cmNlV2ViU29ja2V0RnJhbWVWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CitXZWJJbnNwZWN0b3IuUmVzb3VyY2VXZWJT
b2NrZXRGcmFtZVZpZXcucHJvdG90eXBlID0geworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LlZpZXcucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCA4ZGRjZDI1MjA5YTRmMDdkYzg3NjcyMGJk
ZTRhYjkwYzZlMmFiZTJmLi5jNTA1Yzk3ZTBmZDU4YTA5MzMwMGE1OThmNDFjMDdhZDM3ZDRjZTc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VzUGFuZWwuanMKQEAgLTg1NCwxMCArODU0LDEwIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9wcmV2aW91c0hvdmVyZWRFbGVt
ZW50LmhvdmVyZWQgPSBmYWxzZTsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9wcmV2aW91c0hv
dmVyZWRFbGVtZW50OwogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rv
ci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVs
LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUK
K30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTk4MiwxMCArOTgyLDEwIEBAIFdlYkluc3Bl
Y3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICBnZXQgc2VhcmNo
TWF0Y2hlc0NvdW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KKyAgICB9
LAogCi1XZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90
b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogVHJlZUVsZW1lbnQu
cHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMDI3LDEwICsxMDI3LDEw
IEBAIFdlYkluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdvcnlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7
CiAgICAgb25jb2xsYXBzZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9y
LnNldHRpbmdzW3RoaXMuX2V4cGFuZGVkU2V0dGluZ0tleV0uc2V0KGZhbHNlKTsKLSAgICB9Ci19
CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlN0b3JhZ2VDYXRlZ29yeVRyZWVFbGVtZW50LnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVu
dC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTExNDcsMTAgKzExNDcs
MTAgQEAgV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIHBhcmVudFRyZWVFbGVtZW50Lmlu
c2VydENoaWxkKGNoaWxkVHJlZUVsZW1lbnQsIGkpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJ
bnNwZWN0b3IuRnJhbWVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC0xMzE3LDEwICsxMzE3LDEwIEBAIFdlYkluc3BlY3Rvci5GcmFtZVJl
c291cmNlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIHJldHVybiB0aGlzLl9zb3VyY2VWaWV3OwotICAgIH0KLX0KKyAgICB9LAogCi1X
ZWJJbnNwZWN0b3IuRnJhbWVSZXNvdXJjZVRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUKK30K
IAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTEzNjAsMTAgKzEzNjAsMTAgQEAgV2ViSW5zcGVj
dG9yLkRhdGFiYXNlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHRo
aXMuYXBwZW5kQ2hpbGQobmV3IFdlYkluc3BlY3Rvci5EYXRhYmFzZVRhYmxlVHJlZUVsZW1lbnQo
dGhpcy5fc3RvcmFnZVBhbmVsLCB0aGlzLl9kYXRhYmFzZSwgdGFibGVOYW1lc1tpXSkpOwogICAg
ICAgICB9CiAgICAgICAgIHRoaXMuX2RhdGFiYXNlLmdldFRhYmxlTmFtZXModGFibGVOYW1lc0Nh
bGxiYWNrLmJpbmQodGhpcykpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuRGF0
YWJhc2VUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VT
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
LkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCkBAIC0xMzg2LDkgKzEzODYsMTAgQEAgV2ViSW5zcGVjdG9yLkRhdGFiYXNlVGFibGVUcmVl
RWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuQmFzZVN0
b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QuY2FsbCh0aGlzKTsKICAgICAgICAg
dGhpcy5fc3RvcmFnZVBhbmVsLl9zaG93RGF0YWJhc2UodGhpcy5fZGF0YWJhc2UsIHRoaXMuX3Rh
YmxlTmFtZSk7Ci0gICAgfQorICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5C
YXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZQogfQotV2ViSW5zcGVjdG9yLkRhdGFiYXNl
VGFibGVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VT
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAt
MTUwMCwxMCArMTUwMSwxMCBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCVHJlZUVsZW1lbnQucHJv
dG90eXBlID0gewogICAgICAgICBpZiAoaW5kZXggIT09IC0xKQogICAgICAgICAgICAgcmV0dXJu
IHRoaXMuX2lkYkRhdGFiYXNlVHJlZUVsZW1lbnRzW2ldOwogICAgICAgICByZXR1cm4gbnVsbDsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLkluZGV4ZWREQlRyZWVFbGVtZW50LnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU3RvcmFnZUNhdGVnb3J5VHJlZUVsZW1l
bnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlN0b3JhZ2VDYXRlZ29y
eVRyZWVFbGVtZW50LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTU3
MSwxMCArMTU3MiwxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbUxpc3RUcmVlRWxlbWVudC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9maWxlU3lzdGVtTW9kZWwu
cmVmcmVzaEZpbGVTeXN0ZW1MaXN0KCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rv
ci5GaWxlU3lzdGVtTGlzdFRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuU3RvcmFnZUNhdGVnb3J5VHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9f
XzogV2ViSW5zcGVjdG9yLlN0b3JhZ2VDYXRlZ29yeVRyZWVFbGVtZW50LnByb3RvdHlwZQorfQog
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTY3NywxMCArMTY3OCwxMCBAQCBXZWJJbnNwZWN0
b3IuSURCRGF0YWJhc2VUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBm
b3IgKHZhciBvYmplY3RTdG9yZU5hbWUgaW4gdGhpcy5faWRiT2JqZWN0U3RvcmVUcmVlRWxlbWVu
dHMpCiAgICAgICAgICAgICB0aGlzLl9vYmplY3RTdG9yZVJlbW92ZWQob2JqZWN0U3RvcmVOYW1l
KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLklEQkRhdGFiYXNlVHJlZUVsZW1l
bnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVt
ZW50LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRy
ZWVFbGVtZW50LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTc4MCwx
MCArMTc4MSwxMCBAQCBXZWJJbnNwZWN0b3IuSURCT2JqZWN0U3RvcmVUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9pbmRleFJlbW92ZWQoaW5kZXhOYW1lKTsKICAg
ICAgICAgaWYgKHRoaXMuX3ZpZXcpCiAgICAgICAgICAgICB0aGlzLl92aWV3LmNsZWFyKCk7Ci0g
ICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5JREJPYmplY3RTdG9yZVRyZWVFbGVtZW50
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVu
dC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVl
RWxlbWVudC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTE4NDcsMTAg
KzE4NDgsMTAgQEAgV2ViSW5zcGVjdG9yLklEQkluZGV4VHJlZUVsZW1lbnQucHJvdG90eXBlID0g
ewogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3ZpZXcpCiAgICAgICAgICAgICB0aGlzLl92aWV3
LmNsZWFyKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5JREJJbmRleFRyZWVF
bGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVl
RWxlbWVudC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3Jh
Z2VUcmVlRWxlbWVudC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTE4
NzIsOSArMTg3MywxMCBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZVRyZWVFbGVtZW50LnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVt
ZW50LnByb3RvdHlwZS5vbnNlbGVjdC5jYWxsKHRoaXMpOwogICAgICAgICB0aGlzLl9zdG9yYWdl
UGFuZWwuX3Nob3dET01TdG9yYWdlKHRoaXMuX2RvbVN0b3JhZ2UpOwotICAgIH0KKyAgICB9LAor
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90
b3R5cGUKIH0KLVdlYkluc3BlY3Rvci5ET01TdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5CYXNlU3RvcmFnZVRyZWVFbGVtZW50LnByb3RvdHlwZTsK
IAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTE4OTYsOSArMTg5OCwxMCBAQCBXZWJJbnNwZWN0
b3IuQ29va2llVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5z
cGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlLm9uc2VsZWN0LmNhbGwodGhp
cyk7CiAgICAgICAgIHRoaXMuX3N0b3JhZ2VQYW5lbC5zaG93Q29va2llcyh0aGlzLCB0aGlzLl9j
b29raWVEb21haW4pOwotICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuQmFzZVN0b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUKIH0KLVdlYkluc3BlY3Rvci5Db29r
aWVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VTdG9y
YWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTky
Nyw5ICsxOTMwLDEwIEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTWFuaWZlc3RUcmVl
RWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuQmFzZVN0
b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QuY2FsbCh0aGlzKTsKICAgICAgICAg
dGhpcy5fc3RvcmFnZVBhbmVsLnNob3dDYXRlZ29yeVZpZXcodGhpcy5fbWFuaWZlc3RVUkwpOwot
ICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VU
cmVlRWxlbWVudC5wcm90b3R5cGUKIH0KLVdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTWFu
aWZlc3RUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VT
dG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAt
MTk3OSw5ICsxOTgzLDEwIEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRnJhbWVUcmVl
RWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuQmFzZVN0
b3JhZ2VUcmVlRWxlbWVudC5wcm90b3R5cGUub25zZWxlY3QuY2FsbCh0aGlzKTsKICAgICAgICAg
dGhpcy5fc3RvcmFnZVBhbmVsLnNob3dBcHBsaWNhdGlvbkNhY2hlKHRoaXMuX2ZyYW1lSWQpOwot
ICAgIH0KKyAgICB9LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VU
cmVlRWxlbWVudC5wcm90b3R5cGUKIH0KLVdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRnJh
bWVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VTdG9y
YWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMjAx
OCwxMCArMjAyMywxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVRyZWVFbGVtZW50LnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0aGlzLmZpbGVTeXN0ZW1WaWV3ICYmIHRoaXMu
X3N0b3JhZ2VQYW5lbC52aXNpYmxlVmlldyA9PSB0aGlzLmZpbGVTeXN0ZW1WaWV3KQogICAgICAg
ICAgICAgdGhpcy5fc3RvcmFnZVBhbmVsLmNsb3NlVmlzaWJsZVZpZXcoKTsKLSAgICB9Ci19Cisg
ICAgfSwKIAotV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1UcmVlRWxlbWVudC5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkJhc2VTdG9yYWdlVHJlZUVsZW1lbnQucHJvdG90
eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0yMDQwLDEwICsyMDQ1LDEwIEBAIFdl
Ykluc3BlY3Rvci5TdG9yYWdlQ2F0ZWdvcnlWaWV3LnByb3RvdHlwZSA9IHsKICAgICBzZXRUZXh0
OiBmdW5jdGlvbih0ZXh0KQogICAgIHsKICAgICAgICAgdGhpcy5fZW1wdHlWaWV3LnRleHQgPSB0
ZXh0OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU3RvcmFnZUNhdGVnb3J5Vmll
dy5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1JldmlzaW9uSGlzdG9yeVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1JldmlzaW9uSGlzdG9yeVZpZXcuanMKaW5kZXggZjgwZTQ5OGFhMDg5Nzk4NDkyZmQyYjUw
MDgwNGMwM2JhZTA5ZTViNS4uYjI4Mjg0MDc4NWJhNTk4ZmE3NjQ1ODhkM2FjNmM0NzZiMTdmZjA4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXZpc2lv
bkhpc3RvcnlWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmV2aXNpb25IaXN0b3J5Vmlldy5qcwpAQCAtMTg1LDEwICsxODUsMTAgQEAgV2ViSW5zcGVjdG9y
LlJldmlzaW9uSGlzdG9yeVZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5f
dHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4oKTsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2Rl
SXRlbXMuY2xlYXIoKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlJldmlzaW9u
SGlzdG9yeVZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5WaWV3LnByb3Rv
dHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMzIyLDcgKzMyMiw3IEBAIFdlYkluc3BlY3Rvci5SZXZp
c2lvbkhpc3RvcnlUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgYWxsb3dSZXZlcnQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX3JldmVydEVsZW1lbnQucmVtb3ZlU3R5bGVD
bGFzcygiaGlkZGVuIik7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5SZXZpc2lv
bkhpc3RvcnlUcmVlRWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJv
dG90eXBlOworICAgIF9fcHJvdG9fXzogVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1J1bnRpbWVNb2RlbC5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCmluZGV4
IDE1OWFjYjQ4NGEwMWI1NWEzNmJlZGU5ZTM3ZDIyODc1MjcxYTNjYjMuLjExNzM1MWVkYmU4MzUy
YzllYmFlYzM4NmIyNzMxNmJjZmY3NDNkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUnVudGltZU1vZGVsLmpzCkBAIC0zMTksMTAgKzMxOSwxMCBAQCBX
ZWJJbnNwZWN0b3IuUnVudGltZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJlc3Vs
dHMucHVzaChwcm9wZXJ0eSk7CiAgICAgICAgIH0KICAgICAgICAgY29tcGxldGlvbnNSZWFkeUNh
bGxiYWNrKHJlc3VsdHMpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuUnVudGlt
ZU1vZGVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlw
ZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8q
KgogICogQHR5cGUge1dlYkluc3BlY3Rvci5SdW50aW1lTW9kZWx9CkBAIC00NDUsNyArNDQ1LDcg
QEAgV2ViSW5zcGVjdG9yLkZyYW1lRXhlY3V0aW9uQ29udGV4dExpc3QucHJvdG90eXBlID0KICAg
ICAgICAgICAgIHJldHVybiBuYW1lICsgIiggIiArIHN1YnRpdGxlICsgIiApIjsKICAgICAgICAg
fQogICAgICAgICByZXR1cm4gIjxpZnJhbWU+IjsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5z
cGVjdG9yLkZyYW1lRXhlY3V0aW9uQ29udGV4dExpc3QucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
Lk9iamVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU2NvcGVDaGFpblNpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUuanMKaW5kZXggNTZkZTg3MDA1
ZjJkYmQ4NzBjNjA0N2ZjYTk5M2U0YzY5ZTE3ZjUzYy4uYWFkOGExNWE4MmJmMTJjZGM5MDA1MmRl
NmQwM2Q5NmQ3MjM0MzUwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TY29wZUNoYWluU2lkZWJhclBhbmUuanMKQEAgLTExOCwxMCArMTE4
LDEwIEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluU2lkZWJhclBhbmUucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5fc2VjdGlvbnMucHVzaChzZWN0aW9uKTsKICAgICAgICAgICAgIHRo
aXMuYm9keUVsZW1lbnQuYXBwZW5kQ2hpbGQoc2VjdGlvbi5lbGVtZW50KTsKICAgICAgICAgfQot
ICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU2NvcGVDaGFpblNpZGViYXJQYW5lLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZQorfQogCiAv
KioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTgwLDcgKzE4MCw3IEBAIFdlYkluc3BlY3Rvci5TY29w
ZVZhcmlhYmxlVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuX3Byb3Bl
cnR5UGF0aCA9IHJlc3VsdDsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLlNjb3BlVmFyaWFibGVUcmVlRWxlbWVudC5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBl
OworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
LmpzCmluZGV4IDkxYmYyNmRjMjcxNjIxYjQzMGEzMDJiNDljNWY1OWI4MDE0MmE5NjEuLjFkOTU5
NjEwNDYxMzc4Mzk2ODFiYjkzM2NiYTZkYzVhNzg5MGZmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0LmpzCkBAIC0yMzAsNyArMjMwLDcgQEAgV2ViSW5z
cGVjdG9yLlNjcmlwdC5Mb2NhdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJ
bnNwZWN0b3IuTGl2ZUxvY2F0aW9uLnByb3RvdHlwZS5kaXNwb3NlLmNhbGwodGhpcyk7CiAgICAg
ICAgIHRoaXMuX3NjcmlwdC5fbG9jYXRpb25zLnJlbW92ZSh0aGlzKTsKLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLlNjcmlwdC5Mb2NhdGlvbi5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLkxpdmVMb2NhdGlvbi5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuTGl2ZUxvY2F0aW9uLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qcwpp
bmRleCAxM2M3YTBlNzViNTZiNWQyMzQwNWFmN2IyMWI5MjQxNjU3YjU5MTY2Li5kMzk0YTJhZDJh
YjBlNDY3ODdjNWMwMmZkZTg3MDBjZjQyY2ZlNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qcwpA
QCAtMjE4LDEwICsyMTgsMTAgQEAgSFRNTFNjcmlwdEZvcm1hdHRlci5wcm90b3R5cGUgPSB7CiAK
ICAgICBzdHlsZVNoZWV0RW5kZWQ6IGZ1bmN0aW9uKGN1cnNvcikKICAgICB7Ci0gICAgfQotfQor
ICAgIH0sCiAKLUhUTUxTY3JpcHRGb3JtYXR0ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5Tb3VyY2VIVE1MVG9rZW5pemVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5Tb3VyY2VIVE1MVG9rZW5pemVyLnByb3RvdHlwZQorfQogCiBmdW5jdGlvbiBy
ZXF1aXJlKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0U25pcHBldE1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMKaW5kZXggNGYwMTRlODVlMzFhYTVmOThlNTRkNzY1
OGJhZDU2NzdkMmEzM2ZhNS4uMjAzMTFjODkxZTRiZjZkNmQ0ZTc1MWYxNjRkNWM5NGIwY2I4ZTdi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRT
bmlwcGV0TW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
Y3JpcHRTbmlwcGV0TW9kZWwuanMKQEAgLTM5MSwxMCArMzkxLDEwIEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBlID0gewogICAgIF9wcm9qZWN0RGlkUmVzZXQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX2xvYWRTbmlwcGV0cygpOwotICAgIH0KLX0K
KyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBA
IC00MjMsMTAgKzQyMywxMCBAQCBXZWJJbnNwZWN0b3IuU25pcHBldEphdmFTY3JpcHRTb3VyY2Uu
cHJvdG90eXBlID0gewogICAgIHdvcmtpbmdDb3B5Q2hhbmdlZDogZnVuY3Rpb24oKQogICAgIHsg
IAogICAgICAgICB0aGlzLl9zY3JpcHRTbmlwcGV0TW9kZWwuX3NjcmlwdFNuaXBwZXRFZGl0ZWQo
dGhpcyk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5TbmlwcGV0SmF2YVNjcmlw
dFNvdXJjZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2UucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2UucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC00ODgsNyArNDg4LDkg
QEAgV2ViSW5zcGVjdG9yLlNuaXBwZXRDb250ZW50UHJvdmlkZXIgPSBmdW5jdGlvbihzbmlwcGV0
KQogICAgIFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIuY2FsbCh0aGlzLCBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHNuaXBwZXQuY29udGVudCk7CiB9CiAKLVdl
Ykluc3BlY3Rvci5TbmlwcGV0Q29udGVudFByb3ZpZGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3ZpZGVyLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rv
ci5TbmlwcGV0Q29udGVudFByb3ZpZGVyLnByb3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIucHJvdG90eXBlCit9CiAKIC8qKgogICog
QHR5cGUgez9XZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCmluZGV4
IGVhMGZjN2MzNTNlNDkwNDAzNDI1NmI1NGNjM2I4MzI4OWRlZjMzNTUuLjM1YjMxMzRhMWFiYjM2
MTExYmViYjJhNzY3NTUxNzFhZDE1YzE1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3IuanMKQEAgLTE4NiwxMCArMTg2
LDEwIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdGhpcy5fc2NyaXB0c1ZpZXcucmVzZXQoKTsKICAgICAgICAgdGhpcy5fY29udGVudFNjcmlw
dHNWaWV3LnJlc2V0KCk7CiAgICAgICAgIHRoaXMuX3NuaXBwZXRzVmlldy5yZXNldCgpOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3Rv
cgpAQCAtMjc2LDcgKzI3Niw3IEBAIFdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmlnYXRvclZpZXcu
cHJvdG90eXBlID0gewogICAgIF9zbmlwcGV0Q3JlYXRpb25SZXF1ZXN0ZWQ6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5TbmlwcGV0c05hdmlnYXRvclZpZXcuRXZlbnRzLlNuaXBwZXRDcmVhdGlvblJlcXVlc3RlZCwg
bnVsbCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5TbmlwcGV0c05hdmlnYXRv
clZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnBy
b3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5OYXZpZ2F0b3JWaWV3LnByb3Rv
dHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
Y3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbC5qcwppbmRleCA5MmFiODM1MTkwYmQ5ZTI2OTkyOTVjYzliYTEwZGEwMDVlOWNiZDM3
Li44MjA3MDU4NWQ0YTU1OGMyMzJhNDY0NmMyNTIxZmZmMTkzMmYwZWUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAtMTE0
NSw3ICsxMTQ1LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgc2hvd0dvVG9Tb3VyY2VEaWFsb2c6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5PcGVuUmVzb3VyY2VEaWFsb2cuc2hvdyh0aGlzLCB0aGlzLl93b3Jrc3BhY2UsIHRo
aXMuZWRpdG9yVmlldy5tYWluRWxlbWVudCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5QYW5l
bC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBl
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNQYW5lbERlc2NyaXB0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NjcmlwdHNQYW5lbERlc2NyaXB0b3IuanMKaW5kZXggNTUxNmYxZjIzNDJiZDg0MmM3NGM5OTMw
MjJhZjhkMmFkNTgwZmZjMS4uOTllZGZhZmVmZGRhZWM4YmUyMDFjYWYzMGVjMjlkYzEyZWU4ZDNm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
UGFuZWxEZXNjcmlwdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5qcwpAQCAtNTMsNyArNTMsNyBAQCBXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAg
ICAgICB0aGlzLnBhbmVsKCkuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKGNvbnRleHRNZW51LCB0YXJn
ZXQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsRGVzY3Jp
cHRvci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsRGVzY3JpcHRvci5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUGFuZWxEZXNjcmlwdG9yLnBy
b3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TY3JpcHRzU2VhcmNoU2NvcGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdHNTZWFyY2hTY29wZS5qcwppbmRleCBjMTlkMWVjZjViMjgzM2M1NDZhNDNhYzFm
MWU3M2I4YmRjNjUyNjg2Li4xZjlhNDBlYjZjNWVmNDQ1YTVhMDVlNjI2Y2Y0OTUyNWMxMjRmODM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNT
ZWFyY2hTY29wZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nj
cmlwdHNTZWFyY2hTY29wZS5qcwpAQCAtMTI0LDcgKzEyNCw3IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzU2VhcmNoU2NvcGUucHJvdG90eXBlID0gewogICAgICAgICB1aVNvdXJjZUNvZGVzLnNvcnQo
Y29tcGFyYXRvcik7CiAgICAgICAgIAogICAgICAgICByZXR1cm4gdWlTb3VyY2VDb2RlczsKLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNjcmlwdHNTZWFyY2hTY29wZS5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNlYXJjaFNjb3BlLnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5TZWFyY2hTY29wZS5wcm90b3R5cGUKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCmlu
ZGV4IDFhNjI3ZGYwNWFmYzI1MzU3YmFhMGViMmRjNTQ5OTBiMjFjYzZjZWUuLjNhYjRhNjcwNWNi
MDBhMWVmOGFjYjI5ZTJmMzg1ZGZhZThhYjg3YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcwpAQCAtMTA3LDEwICsxMDcs
MTAgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzU2NyZWVuLnByb3RvdHlwZSA9IHsKICAgICB7CiAg
ICAgICAgIHRoaXMuX29uSGlkZSgpOwogICAgICAgICBXZWJJbnNwZWN0b3IuSGVscFNjcmVlbi5w
cm90b3R5cGUud2lsbEhpZGUuY2FsbCh0aGlzKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5z
cGVjdG9yLlNldHRpbmdzU2NyZWVuLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3Iu
SGVscFNjcmVlbi5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuSGVscFNj
cmVlbi5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTIzNiwxMCArMjM2
LDEwIEBAIFdlYkluc3BlY3Rvci5TZXR0aW5nc1RhYi5wcm90b3R5cGUgPSB7CiAgICAgICAgIGZp
ZWxkc2V0RWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50KTsKICAgICAgICAgcC5hcHBlbmRDaGls
ZChmaWVsZHNldEVsZW1lbnQpOwogICAgICAgICByZXR1cm4gcDsKLSAgICB9Ci19CisgICAgfSwK
IAotV2ViSW5zcGVjdG9yLlNldHRpbmdzVGFiLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5w
cm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTMzMywxMCArMzMzLDEwIEBA
IFdlYkluc3BlY3Rvci5HZW5lcmljU2V0dGluZ3NUYWIucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgLy8gV2UgbmVlZCB0byBtYW51YWxseSB1cGRhdGUgdGhlIGNoZWNrYm94IHN0YXRlLCBz
aW5jZSBlbmFibGluZyBKYXZhU2NyaXB0IGluIHRoZSBwYWdlIGNhbiBhY3R1YWxseSB1bmNvdmVy
IHRoZSAiZm9yYmlkZGVuIiBzdGF0ZS4KICAgICAgICAgUGFnZUFnZW50LnNldFNjcmlwdEV4ZWN1
dGlvbkRpc2FibGVkKFdlYkluc3BlY3Rvci5zZXR0aW5ncy5qYXZhU2NyaXB0RGlzYWJsZWQuZ2V0
KCksIHRoaXMuX3VwZGF0ZVNjcmlwdERpc2FibGVkQ2hlY2tib3guYmluZCh0aGlzKSk7Ci0gICAg
fQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5HZW5lcmljU2V0dGluZ3NUYWIucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TZXR0aW5nc1RhYi5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuU2V0dGluZ3NUYWIucHJvdG90eXBlCit9CiAKIC8qKgogICog
QGNvbnN0cnVjdG9yCkBAIC04NjMsMTAgKzg2MywxMCBAQCBXZWJJbnNwZWN0b3IuVXNlckFnZW50
U2V0dGluZ3NUYWIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9nYW1tYUVsZW1lbnQgPSB0
aGlzLl9jcmVhdGVJbnB1dChjZWxsRWxlbWVudCwgImRldmljZS1vcmllbnRhdGlvbi1vdmVycmlk
ZS1nYW1tYSIsIFN0cmluZyhkZXZpY2VPcmllbnRhdGlvbi5nYW1tYSksIHRoaXMuX2FwcGx5RGV2
aWNlT3JpZW50YXRpb25Vc2VySW5wdXQuYmluZCh0aGlzKSk7CiAKICAgICAgICAgcmV0dXJuIGZp
ZWxkc2V0RWxlbWVudDsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlVzZXJBZ2Vu
dFNldHRpbmdzVGFiLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2V0dGluZ3NU
YWIucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNldHRpbmdzVGFiLnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtOTE4LDEwICs5MTgsMTAgQEAg
V2ViSW5zcGVjdG9yLkV4cGVyaW1lbnRzU2V0dGluZ3NUYWIucHJvdG90eXBlID0gewogICAgICAg
ICBsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoZXhwZXJpbWVudC50aXRsZSkpKTsKICAgICAgICAgcC5hcHBlbmRDaGlsZChsYWJl
bCk7CiAgICAgICAgIHJldHVybiBwOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3Iu
RXhwZXJpbWVudHNTZXR0aW5nc1RhYi5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LlNldHRpbmdzVGFiLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5TZXR0
aW5nc1RhYi5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2hvd01vcmVEYXRhR3JpZE5vZGUu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nob3dNb3JlRGF0YUdyaWRO
b2RlLmpzCmluZGV4IGVlN2VlMzk5MGNhMzFlZmU1MTdlOWE1NzIwNTk3YzBkNWNhYTg0ZGQuLjc5
MTRhMWI4OTU0MmE5YTMxZDU2M2E5MjUyMzlhNzJkMjE1NmJiZGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2hvd01vcmVEYXRhR3JpZE5vZGUuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TaG93TW9yZURhdGFHcmlkTm9k
ZS5qcwpAQCAtMTQwLDcgKzE0MCw4IEBAIFdlYkluc3BlY3Rvci5TaG93TW9yZURhdGFHcmlkTm9k
ZS5wcm90b3R5cGUgPSB7CiAKICAgICBkaXNwb3NlOiBmdW5jdGlvbigpCiAgICAgewotICAgIH0K
LX07CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5w
cm90b3R5cGUKK30KIAotV2ViSW5zcGVjdG9yLlNob3dNb3JlRGF0YUdyaWROb2RlLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2lkZWJhclBhbmUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NpZGViYXJQYW5lLmpzCmluZGV4
IGFmNmVkMWFiZGRmZTBmZWNiODE0ODY4ZTI3YzBkZDRkMWY5NTE4NjcuLjA3NWE2ZWI4YjcyYzUx
YTFlMWJiMzQ4MDc4YTNkY2U2OWU1Y2VhMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyUGFuZS5qcwpAQCAtMTMyLDcgKzEzMiw3IEBAIFdlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoaXNF
bnRlcktleShldmVudCkgfHwgZXZlbnQua2V5Q29kZSA9PT0gV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuS2V5cy5TcGFjZS5jb2RlKQogICAgICAgICAgICAgdGhpcy50b2dnbGVFeHBhbmRl
ZCgpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJv
dG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2lkZWJhclRyZWVFbGVtZW50LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyVHJlZUVsZW1lbnQuanMKaW5k
ZXggNDI3Y2RjNTk1OTZhZDIzNzhiYTkyNDVkNjE5OTcxMWZkYjVlZGNjZi4uMzk4YWJjODUyNTYz
YTM4NTBhMmRlOWE4ZTg2ZDZiNTA5NjkyMDQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyVHJlZUVsZW1lbnQuanMKQEAgLTY4LDEw
ICs2OCwxMCBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhclNlY3Rpb25UcmVlRWxlbWVudC5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICBpZiAodGhpcy5saXN0SXRlbUVsZW1lbnQpCiAgICAgICAg
ICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKGZhbHNlKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNpZGViYXJTZWN0aW9uVHJlZUVsZW1l
bnQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFRyZWVFbGVtZW50LnByb3RvdHlwZTsKKyAgICBfX3By
b3RvX186IFRyZWVFbGVtZW50LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpA
QCAtMjIyLDcgKzIyMiw3IEBAIFdlYkluc3BlY3Rvci5TaWRlYmFyVHJlZUVsZW1lbnQucHJvdG90
eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2xpc3RJdGVtTm9kZSkKICAgICAgICAg
ICAgIHRoaXMuX2xpc3RJdGVtTm9kZS5zY3JvbGxJbnRvVmlld0lmTmVlZGVkKGZhbHNlKTsKLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNpZGViYXJUcmVlRWxlbWVudC5wcm90b3R5
cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogVHJl
ZUVsZW1lbnQucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NuaXBwZXRKYXZhU2NyaXB0U291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NuaXBwZXRKYXZhU2NyaXB0U291cmNlRnJhbWUuanMK
aW5kZXggNjg5NzY2MTllM2EyMGNjYWYyYmI2NTYyNTc4ZDQzNDYxZDY4MWFkNi4uNzVlMDFjZmI2
ZjgxNTMxZWRlZGRiYjhiYzVmY2I5YzdkMmNmZWViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TbmlwcGV0SmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU25pcHBldEphdmFTY3JpcHRT
b3VyY2VGcmFtZS5qcwpAQCAtNTUsNyArNTUsNyBAQCBXZWJJbnNwZWN0b3IuU25pcHBldEphdmFT
Y3JpcHRTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgX3J1bkJ1dHRvbkNsaWNrZWQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5zY3JpcHRTbmlwcGV0TW9kZWwu
ZXZhbHVhdGVTY3JpcHRTbmlwcGV0KHRoaXMuX3NuaXBwZXRKYXZhU2NyaXB0U291cmNlKTsKLSAg
ICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNuaXBwZXRKYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0U291cmNlRnJh
bWUucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3Vy
Y2VGcmFtZS5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU25pcHBldFN0b3JhZ2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NuaXBwZXRTdG9yYWdlLmpzCmluZGV4IDRhNTI1YzljMmFmOWRiNWQwYTFlMTBm
NGRiZjhkOTljYzljY2RhZDkuLjRiZGM4NzM2ODk0YzEzZWJhOTlkY2FlYzNjMzM2MzFiY2Q4NjJk
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU25pcHBl
dFN0b3JhZ2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tbmlw
cGV0U3RvcmFnZS5qcwpAQCAtMTIwLDEwICsxMjAsMTAgQEAgV2ViSW5zcGVjdG9yLlNuaXBwZXRT
dG9yYWdlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fbGFzdFNuaXBwZXRJZGVudGlmaWVy
U2V0dGluZy5zZXQoMCk7CiAgICAgICAgIHRoaXMuX3NuaXBwZXRzU2V0dGluZy5zZXQoW10pOwog
ICAgICAgICB0aGlzLl9zbmlwcGV0cyA9IHt9OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNw
ZWN0b3IuU25pcHBldFN0b3JhZ2UucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5P
YmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90
b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTIwNCw3ICsyMDQsNyBAQCBXZWJJ
bnNwZWN0b3IuU25pcHBldC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHNlcmlhbGl6ZWRTbmlwcGV0
Lm5hbWUgPSB0aGlzLm5hbWU7CiAgICAgICAgIHNlcmlhbGl6ZWRTbmlwcGV0LmNvbnRlbnQgPSB0
aGlzLmNvbnRlbnQ7CiAgICAgICAgIHJldHVybiBzZXJpYWxpemVkU25pcHBldDsKLSAgICB9Ci19
CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNuaXBwZXQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdl
Ykluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9y
Lk9iamVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKaW5kZXggNjE4OTEzOTY5NjRkYTQy
ODVkMGU1OWJjNTU0ZWM3NzdmY2E5Njk5Mi4uYWE3ZDQyYjgwZmRjMWNjODJiOThjMzlmYzQ3NzMy
YTU4M2M2NzYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9Tb3VyY2VDU1NUb2tlbml6ZXIuanMKQEAgLTE1NjUsNyArMTU2NSw3IEBAIGNhc2Ug
MTUwOgogICAgICAgICB9CiAKICAgICAgICAgfQotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNw
ZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuU291cmNlVG9rZW5pemVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNTU1Rva2VuaXplci5yZTJqcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCmluZGV4
IGYzM2Y1YTkyNGYyNDIxZTIxM2NlNTkwYjE1YWNlMmU1ZmFhODU1MjYuLjY1OWViOTNjZTM1ZjE4
OWM3ZWUxYzlhZWI2ZDE1NmZkODA4ZmJlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlQ1NTVG9rZW5pemVyLnJlMmpzCkBAIC0z
MzMsNyArMzMzLDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNTU1Rva2VuaXplci5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICAgICAgPCo+IFteXSB7IHRoaXMudG9rZW5UeXBlID0gbnVsbDsgcmV0
dXJuIGN1cnNvcjsgfQogICAgICAgICAgICAgKi8KICAgICAgICAgfQotICAgIH0KLX0KKyAgICB9
LAogCi1XZWJJbnNwZWN0b3IuU291cmNlQ1NTVG9rZW5pemVyLnByb3RvdHlwZS5fX3Byb3RvX18g
PSBXZWJJbnNwZWN0b3IuU291cmNlVG9rZW5pemVyLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186
IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwppbmRleCBjYjkzMGUx
NGY0MWRkYWM4ZWQ3YjRmNjI5NDExOTU4NGZmNTUyMTA0Li43Y2NiOTRkNDVlODM3YmJlNDA3MjYw
N2E4NzFiYjk1ZThhMGNjNGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTY1MCwxMCArNjUwLDEwIEBAIFdlYkluc3BlY3Rv
ci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl91cmwgJiYgV2Vi
SW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmlzVVJMU2F2ZWQodGhpcy5fdXJsKSkKICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKHRoaXMuX3VybCwgY29udGVudCwgZmFsc2Up
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9y
LlNvdXJjZUZyYW1lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAog
CiAvKioKQEAgLTcwNiw3ICs3MDYsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvckRlbGVnYXRl
Rm9yU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHRhcmdldExv
Y2F0aW9uID0gV2ViSW5zcGVjdG9yLlBhcnNlZFVSTC5jb21wbGV0ZVVSTCh0aGlzLl9zb3VyY2VG
cmFtZS5fdXJsLCBocmVmVmFsdWUpOwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmxpbmtp
ZnlVUkxBc05vZGUodGFyZ2V0TG9jYXRpb24gfHwgaHJlZlZhbHVlLCBocmVmVmFsdWUsIHVuZGVm
aW5lZCwgaXNFeHRlcm5hbCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yRGVsZWdhdGVGb3JTb3VyY2VGcmFtZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JEZWxlZ2F0ZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvckRlbGVnYXRlLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VIVE1MVG9rZW5pemVyLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VIVE1MVG9rZW5pemVyLmpz
CmluZGV4IGI0NzcwY2M0M2NjNjBjZTdiZDkxOWVjZTRjYzY5YmU4NjZlNzZkMWUuLmUxMTQwNDRh
YWFmZWVjODE2MmZiMDdiOGYyZWY2MzlhMWQyMTE5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlSFRNTFRva2VuaXplci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUhUTUxUb2tlbml6ZXIuanMKQEAg
LTgxMCw3ICs4MTAsNyBAQCBjYXNlIDExOToKICAgICAgICAgfQogCiAgICAgICAgIH0KLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxUb2tlbml6ZXIucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlSFRNTFRv
a2VuaXplci5yZTJqcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
SFRNTFRva2VuaXplci5yZTJqcwppbmRleCBhOGRlZWRmN2Y3ODY1MDUzZWQ4ZDcwOGYwOGRlODMz
YTIyZmVjYTE4Li4xNDBkN2NhYzhhNzI1N2M1ZmUwZDVjNTc0ZTM4MjllNDVjZWI0MWQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUhUTUxUb2tl
bml6ZXIucmUyanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VIVE1MVG9rZW5pemVyLnJlMmpzCkBAIC0zODUsNyArMzg1LDcgQEAgV2ViSW5zcGVjdG9yLlNv
dXJjZUhUTUxUb2tlbml6ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIDwqPiBbXl0g
eyB0aGlzLnRva2VuVHlwZSA9IG51bGw7IHJldHVybiBjdXJzb3I7IH0KICAgICAgICAgICAgICov
CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNvdXJjZUhUTUxU
b2tlbml6ZXIucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6
ZXIucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXpl
ci5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5qcwppbmRleCAwYzdkY2Ni
NjkyMDY2ZDMyYmUwYTc5YWZjZmE3MTM0MjZhNzMzMWIyLi4xZTBlM2U4ZTA0ZTk5ZjQzZmIzOGJj
NWI5OGVjYTE2YmM4ODhjMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLmpzCkBAIC0y
NDM4LDcgKzI0MzgsNyBAQCBjYXNlIDMwMDoKICAgICAgICAgfQogCiAgICAgICAgIH0KLSAgICB9
Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBl
OworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
SmF2YVNjcmlwdFRva2VuaXplci5yZTJqcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU291cmNlSmF2YVNjcmlwdFRva2VuaXplci5yZTJqcwppbmRleCAzNGE2Nzg2MzQxYzU3
NTg4YjE5MzRhMmFmZmE1NDM4Y2UyMGM5YzBkLi4yOTM0NWQxMjVkNGQ0OGFjNThjYzZkYWIwZTk5
YjY2N2FjMzcxZmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucmUyanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VKYXZhU2NyaXB0VG9rZW5pemVyLnJlMmpzCkBAIC0x
OTIsNyArMTkyLDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucHJv
dG90eXBlID0gewogICAgICAgICAgICAgICAgIDwqPiBbXl0geyB0aGlzLnRva2VuVHlwZSA9IG51
bGw7IHJldHVybiBjdXJzb3I7IH0KICAgICAgICAgICAgICovCiAgICAgICAgIH0KLSAgICB9Ci19
CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlNvdXJjZUphdmFTY3JpcHRUb2tlbml6ZXIucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Tb3VyY2VUb2tlbml6ZXIucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNvdXJjZVRva2VuaXplci5wcm90b3R5cGUKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3BlY3RydW0u
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NwZWN0cnVtLmpzCmluZGV4
IDBjZDQ4MDNlODVlMmJiYzNkZmY2ZDEzYjNhMjQ2ZjE0NDFhMGZlNWQuLjRlN2ZkYzE1MTdjYjFi
ZWQ5ZGY4YTIxMWI0MWU4NjVlZWEwM2UzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU3BlY3RydW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TcGVjdHJ1bS5qcwpAQCAtNDU1LDcgKzQ1NSw3IEBAIFdlYkluc3BlY3Rv
ci5TcGVjdHJ1bS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLmhpZGUoZmFsc2UpOwog
ICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKICAgICAgICAgfQotICAgIH0KLX0KKyAg
ICB9LAogCi1XZWJJbnNwZWN0b3IuU3BlY3RydW0ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9i
amVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3BsaXRWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TcGxpdFZpZXcuanMKaW5kZXggNDY3ODk5Y2ZhMDNmYTI1ZWY2ZTMwZTZhMGJjMWU2N2E3MWM3
NmIyOC4uMTExYzNlMmI4NjBkOWY0Y2IxMTNiM2UwYjI4YmVhNTgxNzg2MGZmMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGxpdFZpZXcuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGxpdFZpZXcuanMKQEAgLTQ0Miw3
ICs0NDIsNyBAQCBXZWJJbnNwZWN0b3IuU3BsaXRWaWV3LnByb3RvdHlwZSA9IHsKICAgICBlbGVt
ZW50c1RvUmVzdG9yZVNjcm9sbFBvc2l0aW9uc0ZvcjogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIFsgdGhpcy5tYWluRWxlbWVudCwgdGhpcy5zaWRlYmFyRWxlbWVudCBdOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuU3BsaXRWaWV3LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuVmlldy5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3RhdHVzQmFyQnV0dG9uLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TdGF0dXNCYXJCdXR0b24uanMKaW5kZXggOTE5NDMwMmQ1ZGI5MzJkMzVk
ODViNzMyOWJiMjVkMTVmNWFkZWI5YS4uMjMzMDJjYmVlZTlmMWUwMjJjMTkxNDg5Nzg5MWRjYTUz
M2QwM2E3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
dGF0dXNCYXJCdXR0b24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdGF0dXNCYXJCdXR0b24uanMKQEAgLTIzOSwxMCArMjM5LDEwIEBAIFdlYkluc3BlY3Rvci5T
dGF0dXNCYXJCdXR0b24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICBidXR0b25z
W2ldLl9jbGlja2VkKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9Ci19CisgICAg
fSwKIAotV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbi5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNoZWV0T3V0bGluZURp
YWxvZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVTaGVldE91
dGxpbmVEaWFsb2cuanMKaW5kZXggMjUxNDFiZGEwYjQ3Mzk4MmViODU2ODkzOTg3MTY0YmE2NDA1
N2Y3My4uNTUzNzE0MTMwZTMyNDc2ZDY0ODllZTc1ZmU3MzZmMGJhNzliNTNkZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNoZWV0T3V0bGluZURp
YWxvZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlU2hl
ZXRPdXRsaW5lRGlhbG9nLmpzCkBAIC0xNTcsNyArMTU3LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxl
U2hlZXRPdXRsaW5lRGlhbG9nLnByb3RvdHlwZSA9IHsKICAgICByZXdyaXRlUXVlcnk6IGZ1bmN0
aW9uKHF1ZXJ5KQogICAgIHsKICAgICAgICAgcmV0dXJuIHF1ZXJ5OwotICAgIH0KLX0KKyAgICB9
LAogCi1XZWJJbnNwZWN0b3IuU3R5bGVTaGVldE91dGxpbmVEaWFsb2cucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFdlYkluc3BlY3Rvci5TZWxlY3Rpb25EaWFsb2dDb250ZW50UHJvdmlkZXIucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNlbGVjdGlvbkRpYWxvZ0NvbnRlbnRQ
cm92aWRlci5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU3R5bGVTb3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0eWxlU291cmNlLmpzCmluZGV4IGZkM2JkNTI0MTMyNmEwYzlmYTA2MGM3ODk2MDVl
YTliNGJjNmJjZmMuLjM3YjAzNGY4MDExNTI1NjZjMTcwMThhYWQ4ZjQwZmFlMGZlOWI5ZGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVTb3VyY2Uu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZVNvdXJjZS5q
cwpAQCAtNzksNyArNzksNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVTb3VyY2UucHJvdG90eXBlID0g
ewogICAgICAgICBpZiAodGhpcy5faW5jcmVtZW50YWxVcGRhdGVUaW1lcikKICAgICAgICAgICAg
IGNsZWFyVGltZW91dCh0aGlzLl9pbmNyZW1lbnRhbFVwZGF0ZVRpbWVyKTsKICAgICAgICAgZGVs
ZXRlIHRoaXMuX2luY3JlbWVudGFsVXBkYXRlVGltZXI7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5TdHlsZVNvdXJjZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9y
LlVJU291cmNlQ29kZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKaW5kZXggYjA3OTBiYjFjMDM2NzVk
NTZiMTM3ODYzYjU3OTM0YmMzNDk3MzU4Mi4uN2Q1Njk5YTYzYmFjOGM3OTQ1NTkyNzFlNmM3NjVh
NTBkMjNlZWM1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC03ODMsMTAgKzc4MywxMCBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYg
KHRoaXMuX3NwZWN0cnVtLnZpc2libGUpCiAgICAgICAgICAgICB0aGlzLl9zcGVjdHJ1bS5oaWRl
KGZhbHNlKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQ
YW5lLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90
eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZQor
fQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtODI2LDEwICs4MjYsMTAgQEAgV2ViSW5zcGVj
dG9yLkNvbXB1dGVkU3R5bGVTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAog
ICAgICAgICB0aGlzLl9zdHlsZXNTaWRlYmFyUGFuZS5fcmVmcmVzaFVwZGF0ZShudWxsLCB0cnVl
LCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9y
LkNvbXB1dGVkU3R5bGVTaWRlYmFyUGFuZS5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVj
dG9yLlNpZGViYXJQYW5lLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5T
aWRlYmFyUGFuZS5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTEzNDIs
MTAgKzEzNDIsMTAgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90
eXBlID0gewogICAgICAgICAvLyBEbyBub3RoaW5nIGJ1dCBtYXJrIHRoZSBzZWxlY3RvcnMgaW4g
Z3JvdXAgaWYgbmVjZXNzYXJ5LgogICAgICAgICAvLyBUaGlzIGlzIG92ZXJyaWRkZW4gYnkgQmxh
bmtTdHlsZVByb3BlcnRpZXNTZWN0aW9uLgogICAgICAgICB0aGlzLl9tYXJrU2VsZWN0b3JNYXRj
aGVzKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNT
ZWN0aW9uLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvcGVydGllc1NlY3Rp
b24ucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlByb3BlcnRpZXNTZWN0
aW9uLnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTQ2MywxMCArMTQ2
MywxMCBAQCBXZWJJbnNwZWN0b3IuQ29tcHV0ZWRTdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGlmIChuYW1lIGluIHRoaXMuX3Byb3BlcnR5VHJlZUVsZW1l
bnRzKQogICAgICAgICAgICAgICAgIHRoaXMuX3Byb3BlcnR5VHJlZUVsZW1lbnRzW25hbWVdLmV4
cGFuZCgpOwogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Db21w
dXRlZFN0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5Qcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNw
ZWN0b3IuUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCkBAIC0xNTM4LDEwICsxNTM4LDEwIEBAIFdlYkluc3BlY3Rvci5CbGFua1N0eWxlUHJvcGVy
dGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogCiAgICAgICAgIC8vIEZJWE1FOiByZXBsYWNlIHRo
aXMgaW5zdGFuY2UgYnkgYSBub3JtYWwgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydGllc1NlY3Rp
b24uCiAgICAgICAgIHRoaXMuX25vcm1hbCA9IHRydWU7Ci0gICAgfQotfQorICAgIH0sCiAKLVdl
Ykluc3BlY3Rvci5CbGFua1N0eWxlUHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZTsKKyAgICBf
X3Byb3RvX186IFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZQor
fQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtMjUwNSwxMCArMjUwNSwxMCBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYg
KCF0aGlzLnNlY3Rpb24uY29tcHV0ZWRTdHlsZSkKICAgICAgICAgICAgIHJldHVybiBldmVudC50
YXJnZXQgPT09IHRoaXMuX2V4cGFuZEVsZW1lbnQ7CiAgICAgICAgIHJldHVybiBUcmVlRWxlbWVu
dC5wcm90b3R5cGUuaXNFdmVudFdpdGhpbkRpc2Nsb3N1cmVUcmlhbmdsZS5jYWxsKHRoaXMsIGV2
ZW50KTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVl
RWxlbWVudC5wcm90b3R5cGUuX19wcm90b19fID0gVHJlZUVsZW1lbnQucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogVHJlZUVsZW1lbnQucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVj
dG9yCkBAIC0yNTk3LDcgKzI1OTcsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUu
Q1NTUHJvcGVydHlQcm9tcHQucHJvdG90eXBlID0gewogCiAgICAgICAgIHZhciByZXN1bHRzID0g
dGhpcy5fY3NzQ29tcGxldGlvbnMuc3RhcnRzV2l0aChwcmVmaXgpOwogICAgICAgICBjb21wbGV0
aW9uc1JlYWR5Q2FsbGJhY2socmVzdWx0cyk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5TdHlsZXNTaWRlYmFyUGFuZS5DU1NQcm9wZXJ0eVByb21wdC5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzog
V2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZEVkaXRvckNvbnRhaW5lci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkRWRpdG9yQ29udGFpbmVyLmpz
CmluZGV4IGFkMDU3NjgxM2IyYjAyZTVkMTBlYWUxYzViYjRlODdhYzEwYjFmNzUuLjc4MDg5Nzhm
NmE2ZjAxMjQ1NWVlNTQ0MjZjYmU0MTk3ZjNmMjI0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkRWRpdG9yQ29udGFpbmVyLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkRWRpdG9yQ29udGFpbmVyLmpz
CkBAIC00MTYsMTAgKzQxNiwxMCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVy
LnByb3RvdHlwZSA9IHsKICAgICBjdXJyZW50RmlsZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRGaWxlOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNw
ZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmpl
Y3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC00NTUsMTAgKzQ1NSwx
MCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkhpc3RvcnlJdGVtLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgc2VyaWFsaXplZEhpc3RvcnlJdGVtLnNlbGVjdGlvblJhbmdlID0g
dGhpcy5zZWxlY3Rpb25SYW5nZTsKICAgICAgICAgc2VyaWFsaXplZEhpc3RvcnlJdGVtLnNjcm9s
bExpbmVOdW1iZXIgPSB0aGlzLnNjcm9sbExpbmVOdW1iZXI7CiAgICAgICAgIHJldHVybiBzZXJp
YWxpemVkSGlzdG9yeUl0ZW07Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UYWJi
ZWRFZGl0b3JDb250YWluZXIuSGlzdG9yeUl0ZW0ucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYklu
c3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9i
amVjdC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKQEAgLTU4NSw3ICs1ODUs
NyBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkhpc3RvcnkucHJvdG90eXBl
ID0gewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2l0ZW1zLmxlbmd0aDsgKytp
KQogICAgICAgICAgICAgc2VyaWFsaXplZEhpc3RvcnkucHVzaCh0aGlzLl9pdGVtc1tpXS5zZXJp
YWxpemVUb09iamVjdCgpKTsKICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWRIaXN0b3J5OwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkhpc3Rv
cnkucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwor
ICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFuZS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFuZS5qcwppbmRleCAzZThl
OGFiMTlhMTBjZWQ2ZWRkNTUxNzdiNTc2NjhlYWY4NGUzNGVlLi4xOWI3ODdmYTliMmYyM2ZjYWJi
MGE3MDRkMTBkODhiM2I3ZWUwOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UYWJiZWRQYW5lLmpzCkBAIC01MzIsMTAgKzUzMiwxMCBAQCBXZWJJbnNwZWN0
b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChvbGRJbmRleCA8IGluZGV4
KQogICAgICAgICAgICAgLS1pbmRleDsKICAgICAgICAgdGhpcy5fdGFicy5zcGxpY2UoaW5kZXgs
IDAsIHRhYik7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAogCiAvKioKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMK
aW5kZXggMDY4Y2Y5OTdiMjMyZmJmYmQ4NTQxMWQwYTM3ZDQ1MjQwMTAwOGQwMi4uNmE4YjJkZWFk
MGViYTliMTZmMDg5ZmQxMmFiZjEyYjBlODMwMjA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMKQEAgLTUyOCw3ICs1
MjgsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICBy
ZXNldFVuZG9TdGFjazogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fdW5kb1N0YWNr
ID0gW107Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFByb21wdC5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFByb21wdC5qcwppbmRleCBjMGU1N2Zh
NzcwOTNmMzM4MTE1M2Y1Y2VkODlmYzIyYTcxOWQyOWY0Li5mMjczZjllNDhiODQ3ZWM3ZWQ5YjRh
NWQyODRkYjBiNTAyZGZkYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1RleHRQcm9tcHQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UZXh0UHJvbXB0LmpzCkBAIC03NTAsOSArNzUwLDEwIEBAIFdlYkluc3BlY3Rvci5U
ZXh0UHJvbXB0LnByb3RvdHlwZSA9IHsKIAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfSwK
KworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKIH0KIAotV2Vi
SW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5P
YmplY3QucHJvdG90eXBlOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpAQCAtOTE3LDEwICs5MTgs
MTAgQEAgV2ViSW5zcGVjdG9yLlRleHRQcm9tcHRXaXRoSGlzdG9yeS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIH0KIAogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlRleHRQcm9tcHQucHJvdG90
eXBlLmRlZmF1bHRLZXlIYW5kbGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UZXh0UHJvbXB0V2l0aEhpc3RvcnkucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZTsKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5UZXh0UHJvbXB0LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBjb25z
dHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lTWFuYWdlci5qcwppbmRleCA0ZTdlNWQyNmQ4ZDQyZTQ5ZTMxYTFlN2FhNmVhZWY2MGQx
MTRlNzkwLi5hZmFkYzA1OWYwNDg4NWE0MjlmZTZlMzMzZDFkNGM3YmFlNDliZGU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdl
ci5qcwpAQCAtNzUsMTAgKzc1LDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIucHJv
dG90eXBlID0gewogICAgIF9zdG9wcGVkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2
ZW50VHlwZXMuVGltZWxpbmVTdG9wcGVkKTsKLSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVj
dG9yLlRpbWVsaW5lTWFuYWdlci5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9i
amVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3Rv
dHlwZQorfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzCmluZGV4IDVhN2RiNWFjNGM3NTZj
ZTU2ZTRkYmIxYTU1OTI0ZjI0YTM0MDZhZTYuLjVkOWQ0Yzk2Y2UzNWVmYTQ2NmYzYmM0ZWUxNWJh
N2VkYzFmYzdkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lTW9kZWwuanMKQEAgLTI0NywxMCArMjQ3LDEwIEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICByZWNvcmRPZmZzZXRJblNlY29uZHM6IGZ1
bmN0aW9uKHJhd1JlY29yZCkKICAgICB7CiAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNb2RlbC5zdGFydFRpbWVJblNlY29uZHMocmF3UmVjb3JkKSAtIHRoaXMuX21pbmltdW1S
ZWNvcmRUaW1lOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVNb2Rl
bC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7Cisg
ICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioKICAq
IEBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZU92ZXJ2aWV3UGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVGltZWxpbmVPdmVydmlld1BhbmUuanMKaW5kZXggZWNkZmE4MjBmNGU1Njc1OGU3
MjhlMjE4MjcxMGM0MTkyYjJlNjVlNi4uNWM4ZGRjNzdjOTEzYjY1NDVkMzg4OGM3OWFkYjNiYzll
NDgyM2I5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9U
aW1lbGluZU92ZXJ2aWV3UGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lT3ZlcnZpZXdQYW5lLmpzCkBAIC0zNDcsMTAgKzM0NywxMCBAQCBXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlld1BhbmUucHJvdG90eXBlID0gewogICAgICAgICBpZiAo
IXRoaXMuaXNTaG93aW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHRoaXMuX3Jl
ZnJlc2hUaW1lb3V0ID0gc2V0VGltZW91dCh0aGlzLl91cGRhdGUuYmluZCh0aGlzKSwgMzAwKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdQYW5lLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGU7CisgICAgX19w
cm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3Ry
dWN0b3IKQEAgLTYyNSwxMCArNjI1LDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3
V2luZG93LnByb3RvdHlwZSA9IHsKICAgICAgICAgbGVmdCA9IE1hdGgubWF4KDAsIE1hdGgubWlu
KG1heCAtIGRlbHRhLCByZWZlcmVuY2VQb2ludCArIChsZWZ0IC0gcmVmZXJlbmNlUG9pbnQpICog
ZmFjdG9yKSk7CiAgICAgICAgIHJpZ2h0ID0gTWF0aC5taW4obWF4LCBsZWZ0ICsgZGVsdGEpOwog
ICAgICAgICB0aGlzLl9zZXRXaW5kb3dQb3NpdGlvbihsZWZ0LCByaWdodCk7Ci0gICAgfQotfQor
ICAgIH0sCiAKLVdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3V2luZG93LnByb3RvdHlwZS5f
X3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186
IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9y
CkBAIC0xMjE5LDEwICsxMjE5LDEwIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZUZyYW1lT3ZlcnZp
ZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgc3RhcnRUaW1lOiBmaXJzdEJhciA+PSB0aGlz
Ll9iYXJUaW1lcy5sZW5ndGggPyBJbmZpbml0eSA6IHRoaXMuX2JhclRpbWVzW2ZpcnN0QmFyXS5z
dGFydFRpbWUsCiAgICAgICAgICAgICBlbmRUaW1lOiByaWdodE9mZnNldCArIHNuYXBUb1JpZ2h0
VG9sZXJhbmNlUGl4ZWxzID4gd2luZG93U3BhbiA/IEluZmluaXR5IDogdGhpcy5fYmFyVGltZXNb
bGFzdEJhcl0uZW5kVGltZQogICAgICAgICB9Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3Bl
Y3Rvci5UaW1lbGluZUZyYW1lT3ZlcnZpZXcucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3Bl
Y3Rvci5WaWV3LnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnBy
b3RvdHlwZQorfQogCiAvKioKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXdQYW5lfSBwYW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1RpbWVsaW5lUGFuZWwuanMKaW5kZXggNGNjYjdhNDJjNmJmZmZjZmU0NzgyMTIyZjVkY2Y5MTY2
YTYyOGZkMS4uNTBmNGI2YWRhNGQ4ZTU3MDk3NjFjYzU2MDczMWJlOGUzYTU0ZDJhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5q
cwpAQCAtMTE1MywxMCArMTE1MywxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NlYXJjaFJlZ0V4cCA9IGNyZWF0ZVBsYWluVGV4dFNl
YXJjaFJlZ2V4KHNlYXJjaFF1ZXJ5LCAiaSIpOwogICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNo
UmVzdWx0czsKICAgICAgICAgdGhpcy5fdXBkYXRlU2VhcmNoSGlnaGxpZ2h0KHRydWUpOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdl
Ykluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCA4MDY1ZjVmYTA2YTYxOTNkOTJjYTExZjQy
ODFjM2M3MGZkZTRmZWIwLi5iYWExYTFjOGRjNDk2YWJkMzE3OTEzYWM5MDNmM2RmZjI3ZDc0NTY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC00MzksMTAgKzQzOSwxMCBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVl
OwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVQcmVzZW50YXRpb25N
b2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7
CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioK
ICAqIEBjb25zdHJ1Y3RvcgpAQCAtMTE2Niw3ICsxMTY2LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lQ2F0ZWdvcnkucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5faGlkZGVuID0g
aGlkZGVuOwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuVGltZWxpbmVDYXRlZ29yeS5FdmVudHMuVmlzaWJpbGl0eUNoYW5nZWQsIHRoaXMpOwotICAg
IH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVGltZWxpbmVDYXRlZ29yeS5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub3BEb3duUHJvZmlsZURhdGFHcmlkVHJlZS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVG9wRG93blByb2ZpbGVEYXRhR3Jp
ZFRyZWUuanMKaW5kZXggY2JlYzUxYTYwZWM0NzY2MDI0YzUzNTNkYTM3MGU1MmJjMGFiNGQwNi4u
N2RiYWRhYjJjOWUwMmU1MDI3ZWRlMDNhNmFkOGUyM2JkZjM0MzJlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ub3BEb3duUHJvZmlsZURhdGFHcmlkVHJl
ZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RvcERvd25Qcm9m
aWxlRGF0YUdyaWRUcmVlLmpzCkBAIC02NSwxMCArNjUsMTAgQEAgV2ViSW5zcGVjdG9yLlRvcERv
d25Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAoY2hpbGQp
CiAgICAgICAgICAgICB0aGlzLl9tZXJnZShjaGlsZCwgdHJ1ZSk7Ci0gICAgfQotfQorICAgIH0s
CiAKLVdlYkluc3BlY3Rvci5Ub3BEb3duUHJvZmlsZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlOworICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlCit9
CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCkBAIC0xMjcsNyArMTI3LDcgQEAgV2ViSW5zcGVjdG9y
LlRvcERvd25Qcm9maWxlRGF0YUdyaWRUcmVlLnByb3RvdHlwZSA9IHsKIAogICAgIF9tZXJnZTog
V2ViSW5zcGVjdG9yLlRvcERvd25Qcm9maWxlRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fbWVyZ2Us
CiAKLSAgICBfc2hhcmVkUG9wdWxhdGU6IFdlYkluc3BlY3Rvci5Ub3BEb3duUHJvZmlsZURhdGFH
cmlkTm9kZS5wcm90b3R5cGUuX3NoYXJlZFBvcHVsYXRlCi19CisgICAgX3NoYXJlZFBvcHVsYXRl
OiBXZWJJbnNwZWN0b3IuVG9wRG93blByb2ZpbGVEYXRhR3JpZE5vZGUucHJvdG90eXBlLl9zaGFy
ZWRQb3B1bGF0ZSwKIAotV2ViSW5zcGVjdG9yLlRvcERvd25Qcm9maWxlRGF0YUdyaWRUcmVlLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvZmlsZURhdGFHcmlkVHJlZS5wcm90
b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUHJvZmlsZURhdGFHcmlkVHJlZS5w
cm90b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVUlTb3VyY2VDb2RlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9V
SVNvdXJjZUNvZGUuanMKaW5kZXggODY4Zjk4N2YwNTljYTNjOTExZDViMGJiNGVhNTE1MWEzMDRl
ZTk4Yy4uOTkyYmMyOTMwYTRlOWI0YjY3NDdmODkxYjgyMWM4MTY5NzJkM2QzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMKQEAg
LTU2MiwxMCArNTYyLDEwIEBAIFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlID0g
ewogICAgIHNldFNvdXJjZU1hcHBpbmc6IGZ1bmN0aW9uKHNvdXJjZU1hcHBpbmcpCiAgICAgewog
ICAgICAgICB0aGlzLl9zb3VyY2VNYXBwaW5nID0gc291cmNlTWFwcGluZzsKLSAgICB9Ci19Cisg
ICAgfSwKIAotV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZS5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0
b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiAvKioKICAqIEBpbnRlcmZhY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlRnJhbWUuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNlQ29kZUZyYW1lLmpz
CmluZGV4IGU5M2I0ZjhhN2M1YmI4MTM1NmZmMDBjMjg5MmFmZDdjODM4NDczZjMuLjliOTk2OGU0
ZTExMTZmN2Y2OWVkODQzMzcyYzg5NjNhZWMzMGExNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVUlTb3VyY2VDb2RlRnJhbWUuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGVGcmFtZS5qcwpAQCAtODcs
NyArODcsNyBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlRnJhbWUucHJvdG90eXBlID0gewog
ICAgICAgICBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnBvcHVsYXRlVGV4dEFy
ZWFDb250ZXh0TWVudS5jYWxsKHRoaXMsIGNvbnRleHRNZW51LCBsaW5lTnVtYmVyKTsKICAgICAg
ICAgY29udGV4dE1lbnUuYXBwZW5kQXBwbGljYWJsZUl0ZW1zKHRoaXMuX3VpU291cmNlQ29kZSk7
CiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOwotICAgIH0KLX0KKyAgICB9
LAogCi1XZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlRnJhbWUucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1ZpZXcuanMKaW5kZXggOTFjYjI4N2MwZDU3MjI1NjAyMzdiYzJhOWFlMDFj
MWFlM2NhOWZlMS4uZDNhZGZmOTliNzMzMDFkNTZmNzNjMWNlODhiMzljZjQ5YzAyY2YyNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9WaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVmlldy5qcwpAQCAtMzU4LDEwICsz
NTgsMTAgQEAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIFdlYkluc3BlY3Rvci5zZXRDdXJyZW50Rm9jdXNFbGVtZW50KGVsZW1l
bnQpOwotICAgIH0KLX0KKyAgICB9LAogCi1XZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBX
ZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQogCiBXZWJJbnNwZWN0b3IuVmlldy5fb3Jp
Z2luYWxBcHBlbmRDaGlsZCA9IEVsZW1lbnQucHJvdG90eXBlLmFwcGVuZENoaWxkOwogV2ViSW5z
cGVjdG9yLlZpZXcuX29yaWdpbmFsSW5zZXJ0QmVmb3JlID0gRWxlbWVudC5wcm90b3R5cGUuaW5z
ZXJ0QmVmb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcwppbmRleCAwMWIyZmRm
ZWU3MzZhNGYzY2Q2YTgxZTBjNzU3NDQwNzk2YjVmZGE2Li43YWE5ZTU1NzI4NDNiN2Q5MGU1MzU0
ZGFmNTBhODQxODA0NjA2ZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dhdGNoRXhwcmVzc2lvbnNTaWRlYmFyUGFuZS5qcwpA
QCAtMTEwLDEwICsxMTAsMTAgQEAgV2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvbnNTaWRlYmFy
UGFuZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBldmVudC5jb25zdW1lKCk7CiAgICAg
ICAgIHRoaXMucmVmcmVzaEV4cHJlc3Npb25zKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYklu
c3BlY3Rvci5XYXRjaEV4cHJlc3Npb25zU2lkZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJ
bnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlCit9CiAKIC8qKgogICogQGNvbnN0cnVjdG9y
CkBAIC0zMjAsMTAgKzMyMCwxMCBAQCBXZWJJbnNwZWN0b3IuV2F0Y2hFeHByZXNzaW9uc1NlY3Rp
b24ucHJvdG90eXBlID0gewogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fbGFzdE1vdXNlTW92
ZVBhZ2VZID0gcGFnZVk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5XYXRjaEV4
cHJlc3Npb25zU2VjdGlvbi5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVj
dFByb3BlcnRpZXNTZWN0aW9uLnByb3RvdHlwZTsKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5wcm90b3R5cGUKK30KIAogV2ViSW5zcGVjdG9yLldh
dGNoRXhwcmVzc2lvbnNTZWN0aW9uLkNvbXBhcmVQcm9wZXJ0aWVzID0gZnVuY3Rpb24ocHJvcGVy
dHlBLCBwcm9wZXJ0eUIpCiB7CkBAIC00MTEsNyArNDExLDcgQEAgV2ViSW5zcGVjdG9yLldhdGNo
RXhwcmVzc2lvblRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLnByb3Bl
cnR5Lm5hbWUgPSBleHByZXNzaW9uOwogICAgICAgICB0aGlzLnRyZWVPdXRsaW5lLnNlY3Rpb24u
dXBkYXRlRXhwcmVzc2lvbih0aGlzLCBleHByZXNzaW9uKTsKLSAgICB9Ci19CisgICAgfSwKIAot
V2ViSW5zcGVjdG9yLldhdGNoRXhwcmVzc2lvblRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGU7Cisg
ICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90
b3R5cGUKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
V29ya2VyTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29y
a2VyTWFuYWdlci5qcwppbmRleCA5ZDE0ZGE5YjkxNmYxNmYyYWFmYjFjYTkyMjY5MTczYjRhNjI5
MWI3Li4xNDllODgxMjMyOGUxYTJmODMxNzFlNTJmM2UxZGViMTllMTFjN2UxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlck1hbmFnZXIuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJNYW5hZ2VyLmpzCkBA
IC0yMTksMTAgKzIxOSwxMCBAQCBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHZhciBzY3JlZW4gPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0
ZWRTY3JlZW4oKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTW9kZWwuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5FdmVudHMuR2xvYmFsT2JqZWN0Q2xl
YXJlZCwgc2NyZWVuLmhpZGUsIHNjcmVlbik7CiAgICAgICAgIHNjcmVlbi5zaG93TW9kYWwoKTsK
LSAgICB9Ci19CisgICAgfSwKIAotV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIucHJvdG90eXBl
Ll9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9fcHJvdG9f
XzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAY29uc3RydWN0
b3IKQEAgLTI4Nyw3ICsyODcsNyBAQCBXZWJJbnNwZWN0b3IuV29ya2VyVGVybWluYXRlZFNjcmVl
bi5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNb2Rl
bC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkV2ZW50cy5H
bG9iYWxPYmplY3RDbGVhcmVkLCB0aGlzLmhpZGUsIHRoaXMpOwogICAgICAgICBXZWJJbnNwZWN0
b3IuSGVscFNjcmVlbi5wcm90b3R5cGUud2lsbEhpZGUuY2FsbCh0aGlzKTsKLSAgICB9Ci19Cisg
ICAgfSwKIAotV2ViSW5zcGVjdG9yLldvcmtlclRlcm1pbmF0ZWRTY3JlZW4ucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZTsKKyAgICBfX3Byb3Rv
X186IFdlYkluc3BlY3Rvci5IZWxwU2NyZWVuLnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3JrZXJzU2lkZWJhclBhbmUuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlcnNTaWRlYmFyUGFuZS5qcwpp
bmRleCBlZmE1OTIxNjExN2Y0ZmQ4NTlmMDEzYjM0OWY4MjIyYWVmYzlmYjA3Li4zZTM0NDY4MGM3
YzM4NzI0NjQ5YzExMTlkNWRkODRiZjgwY2NjNzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlcnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtlcnNTaWRlYmFyUGFuZS5qcwpAQCAtMTE4
LDcgKzExOCw3IEBAIFdlYkluc3BlY3Rvci5Xb3JrZXJzU2lkZWJhclBhbmUucHJvdG90eXBlID0g
ewogICAgIF9hdXRvYXR0YWNoVG9Xb3JrZXJzQ2xpY2tlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAg
ewogICAgICAgICBXb3JrZXJBZ2VudC5zZXRBdXRvY29ubmVjdFRvV29ya2VycyhldmVudC50YXJn
ZXQuY2hlY2tlZCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Xb3JrZXJzU2lk
ZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5w
cm90b3R5cGU7CisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90
eXBlCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dv
cmtzcGFjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNl
LmpzCmluZGV4IDA1MDg3YzhkNThiZDgyYTlmYzcxMDJiZmJmNjM4NDU5NjhmYzg3MjUuLmEyODcy
YWQ2YTQ3YTAxOGNkZTIwOGE4YjE1NTZhMDFmNzFkY2YzNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzCkBAIC0xNjEsMTAgKzE2MSwxMCBA
QCBXZWJJbnNwZWN0b3IuV29ya3NwYWNlLnByb3RvdHlwZSA9IHsKICAgICB1aVNvdXJjZUNvZGVz
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fcHJvamVjdC51aVNvdXJj
ZUNvZGVzKCk7Ci0gICAgfQotfQorICAgIH0sCiAKLVdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UucHJv
dG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworICAgIF9f
cHJvdG9fXzogV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKK30KIAogLyoqCiAgKiBAdHlw
ZSB7P1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2V9Cg==
</data>
<flag name="review"
          id="179042"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>