<?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>69604</bug_id>
          
          <creation_ts>2011-10-06 23:28:52 -0700</creation_ts>
          <short_desc>Web Inspector: add Elements and Network panels to the compilation</short_desc>
          <delta_ts>2011-10-07 01:31:08 -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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479821</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 23:28:52 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479825</commentid>
    <comment_count>1</comment_count>
      <attachid>110097</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-06 23:34:02 -0700</bug_when>
    <thetext>Created attachment 110097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479869</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-10-07 01:31:08 -0700</bug_when>
    <thetext>Committed r96915: &lt;http://trac.webkit.org/changeset/96915&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110097</attachid>
            <date>2011-10-06 23:34:02 -0700</date>
            <delta_ts>2011-10-07 00:47:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69604-20111007103359.patch</filename>
            <type>text/plain</type>
            <size>44939</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY5MDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYjUwNDc5Yzc4MzQyMWE0
OTcwM2Q1YjBiNzJlMmZmM2NmYzVkOGUxLi42YWFlYTYzZjE0YzQ2ZDJiNWU5OTAzZGZlNzk4MzE1
ODkzNWI0MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTEtMTAtMDYgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIEVsZW1lbnRzIGFuZCBOZXR3b3JrIHBhbmVscyB0byB0aGUgY29tcGlsYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
Y29tcGlsZS1mcm9udC1lbmQuc2g6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVh
a3BvaW50c1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlhIUkJyZWFrcG9p
bnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9hZGRCdXR0b25DbGlja2VkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fbGFiZWxDbGlj
a2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qczoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fc3RhcnRFZGl0aW5nQ29uZmlnKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNQ
YW5lbC5wcm90b3R5cGUuX2hpZGVTZWFyY2hIaWdobGlnaHRzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS51cGRhdGVCcmVhZGNydW1iKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS51cGRhdGVCcmVhZGNydW1iU2l6
ZXMuY29sbGFwc2VEaW1tZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwu
cHJvdG90eXBlLnVwZGF0ZUJyZWFkY3J1bWJTaXplcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RWxlbWVudHNQYW5lbC5wcm90b3R5cGUuX3JlZ2lzdGVyU2hvcnRjdXRzKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUuX3N0YXJ0RWRpdGluZ0F0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5
cGUuX3N0YXJ0RWRpdGluZ1RleHROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50
c1RyZWVFbGVtZW50LnByb3RvdHlwZS5fc3RhcnRFZGl0aW5nVGFnTmFtZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUuX3N0YXJ0RWRpdGluZ0Fz
SFRNTCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxvZy5fc2hvdyk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZS5zdGFydEVkaXRpbmcpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fb25Mb2FkRXZlbnRGaXJlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9kb21Db250ZW50
TG9hZGVkRXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcu
cHJvdG90eXBlLl91cGRhdGVPZmZzY3JlZW5Sb3dzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5O
ZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX3JlbW92ZUFsbE5vZGVIaWdobGlnaHRzKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLl9yZXNvdXJjZUJ5QW5jaG9y
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5f
cmVmcmVzaEluaXRpYXRvckNlbGwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvT2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2JqZWN0UHJv
cGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUuc3RhcnRFZGl0aW5nKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
UG9wb3Zlci5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5fZWRpdEJyZWFr
cG9pbnRDb25kaXRpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lk
ZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0aWVzU2VjdGlv
bi5wcm90b3R5cGUuc3RhcnRFZGl0aW5nU2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVHcmlkLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvVUlVdGlscy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcuZWRpdGluZ0NhbmNlbGxlZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nLmVkaXRpbmdDb21taXR0ZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLmZvcm1hdExvY2FsaXplZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
b3BlbkxpbmtFeHRlcm5hbGx5TGFiZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLm9wZW5Jbk5l
dHdvcmtQYW5lbExhYmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5jb3B5TGlua0FkZHJlc3NM
YWJlbCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlci5ub3RpZnlPYmplY3RTZWxlY3RlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3Iub3BlblJlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5yZXNvdXJjZUZv
clVSTCk6CisKIDIwMTEtMTAtMDYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI5Njg5Ni4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5zaAppbmRleCAzNGNlYjNm
ZTk4MzVhZDAwZDBiYWJiMDczOThlODdlYWVmOTU0OTgyLi5jZjIyZGI3NzdhYWZiOThhNTE1MmVl
NTEwZTQ2NzJjMjM0ZGRjZjA5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Y29tcGlsZS1mcm9udC1lbmQuc2gKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBp
bGUtZnJvbnQtZW5kLnNoCkBAIC00Niw3ICs0Niw3IEBAIGphdmEgLWphciB+L2Nsb3N1cmUvY29t
cGlsZXIuamFyIC0tY29tcGlsYXRpb25fbGV2ZWwgU0lNUExFX09QVElNSVpBVElPTlMgLS13YXJu
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5n
cy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9V
c2VyTWV0cmljcy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMgXAotICAgIC0tbW9kdWxlIGpzbW9kdWxlX3Nkazoy
NDpqc21vZHVsZV9jb21tb24gXAorICAgIC0tbW9kdWxlIGpzbW9kdWxlX3NkazoyNTpqc21vZHVs
ZV9jb21tb24gXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ29tcGlsZXJTb3VyY2VNYXBwaW5nLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU291cmNlTWFwcGluZ1Byb3ZpZGVyLmpzIFwK
ICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVN
b2RlbC5qcyBcCkBAIC02Miw2ICs2Miw3IEBAIGphdmEgLWphciB+L2Nsb3N1cmUvY29tcGlsZXIu
amFyIC0tY29tcGlsYXRpb25fbGV2ZWwgU0lNUExFX09QVElNSVpBVElPTlMgLS13YXJuCiAgICAg
ICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EZWJ1Z2dlck1vZGVs
LmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rl
YnVnZ2VyUHJlc2VudGF0aW9uTW9kZWwuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMgXAorICAgICAgICAtLWpzIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya0xvZy5qcyBcCiAgICAgICAgIC0tanMg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHQuanMgXAogICAgICAgICAt
LWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyLmpz
IFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jhd1Nv
dXJjZUNvZGUuanMgXApAQCAtMTA3LDE3ICsxMDgsMjAgQEAgamF2YSAtamFyIH4vY2xvc3VyZS9j
b21waWxlci5qYXIgLS1jb21waWxhdGlvbl9sZXZlbCBTSU1QTEVfT1BUSU1JWkFUSU9OUyAtLXdh
cm4KICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRp
bHMuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Vmlldy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9XZWxjb21lVmlldy5qcyBcCi0gICAgLS1tb2R1bGUganNtb2R1bGVfaW5zcGVjdG9yOjI2Ompz
bW9kdWxlX3Nkayxqc21vZHVsZV91aSBcCisgICAgLS1tb2R1bGUganNtb2R1bGVfaW5zcGVjdG9y
X3ZpZXdzOjMwOmpzbW9kdWxlX3Nkayxqc21vZHVsZV91aSBcCiAgICAgICAgIC0tanMgU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlTWVzc2FnZS5qcyBcCiAgICAgICAg
IC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBc
CiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db29raWVJ
dGVtc1ZpZXcuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGF0YWJhc2VRdWVyeVZpZXcuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VUYWJsZVZpZXcuanMgXAorICAgICAgICAtLWpz
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFu
ZS5qcyBcCisgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVByZXNlbnRhdGlvblV0aWxzLmpzIFwKICAgICAgICAg
LS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1Zp
ZXcuanMgXAogICAgICAgICAtLWpzIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RWxlbWVudHNUcmVlT3V0bGluZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIFwKICAgICAgICAg
LS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzIFwKKyAg
ICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0dvVG9MaW5lRGlh
bG9nLmpzIFwKICAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0ltYWdlVmlldy5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9KYXZhU2NyaXB0Q29udGV4dE1hbmFnZXIuanMgXAogICAgICAgICAtLWpzIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTWV0cmljc1NpZGViYXJQYW5lLmpzIFwKQEAg
LTEzNSwyMyArMTM5LDE2IEBAIGphdmEgLWphciB+L2Nsb3N1cmUvY29tcGlsZXIuamFyIC0tY29t
cGlsYXRpb25fbGV2ZWwgU0lNUExFX09QVElNSVpBVElPTlMgLS13YXJuCiAgICAgICAgIC0tanMg
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBcCiAgICAg
ICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcyBcCiAgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UaW1lbGluZUFnZW50LmpzIFwKLSAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5qcworICAgICAgICAtLWpzIFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVHcmlkLmpzIFwKKyAgICAgICAgLS1qcyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTWFuYWdlci5qcyBcCisg
ICAgLS1tb2R1bGUganNtb2R1bGVfaW5zcGVjdG9yX3BhbmVsczoyOmpzbW9kdWxlX2luc3BlY3Rv
cl92aWV3cyBcCisgICAgICAgIC0tanMgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FbGVtZW50c1BhbmVsLmpzIFwKKyAgICAgICAgLS1qcyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwogCiAjIFRvIGJlIGNvbXBpbGVkLi4uCi0jCi0j
IFtFbGVtZW50c10KLSMKLSMgRWxlbWVudHNQYW5lbAotIyBCcmVha3BvaW50c1NpZGViYXJQYW5l
Ci0jIERPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUKLSMKICMgW1Jlc291cmNlc10KICMgUmVzb3Vy
Y2VzUGFuZWwKICMgCi0jIFtOZXR3b3JrXQotIyBOZXR3b3JrTG9nCi0jIE5ldHdvcmtQYW5lbAot
IwogIyBbU2NyaXB0c10KICMgSmF2YVNjcmlwdEZvcm1hdHRlcgogIyBKYXZhU2NyaXB0U291cmNl
RnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwppbmRleCAyZGM2N2VmOTRiZDIyZTdhN2YyMzVh
MzI5ZTEyMmEzYTVjYjE2ODYxLi5lNDI3ZTAyY2VjNDZmNDRhNjQxOWRlYjRlZDVjNzljZTIyM2E3
MWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFr
cG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC0yMyw2ICsyMywxMCBAQAogICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZX0KKyAqLwogV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3Bv
aW50c1NpZGViYXJQYW5lID0gZnVuY3Rpb24obW9kZWwsIHNob3dTb3VyY2VMaW5lRGVsZWdhdGUp
CiB7CiAgICAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJCcmVha3BvaW50cyIpKTsKQEAgLTE5Nyw2ICsyMDEsMTAgQEAgV2ViSW5zcGVj
dG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKIAogV2Vi
SW5zcGVjdG9yLkphdmFTY3JpcHRCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUucHJvdG90eXBlOwogCisvKioKKyAqIEBj
b25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5TaWRlYmFyUGFuZX0KKyAqLwog
V2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBmdW5jdGlvbih0aXRs
ZSkKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlzLCB0aXRsZSk7CkBA
IC0yNDYsNiArMjU0LDEwIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQ
YW5lLnByb3RvdHlwZSA9IHsKIAogV2ViSW5zcGVjdG9yLk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZS5wcm90
b3R5cGU7CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9y
Lk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBhbmV9CisgKi8KIFdlYkluc3BlY3Rvci5YSFJCcmVh
a3BvaW50c1NpZGViYXJQYW5lID0gZnVuY3Rpb24oKQogewogICAgIFdlYkluc3BlY3Rvci5OYXRp
dmVCcmVha3BvaW50c1NpZGViYXJQYW5lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJYSFIgQnJlYWtwb2ludHMiKSk7CkBAIC0yODUsMTAgKzI5Nyw4IEBAIFdlYkluc3BlY3Rvci5Y
SFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogCi0gICAgICAgIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcoaW5wdXRFbGVtZW50
LCB7Ci0gICAgICAgICAgICBjb21taXRIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywg
dHJ1ZSksCi0gICAgICAgICAgICBjYW5jZWxIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhp
cywgZmFsc2UpCi0gICAgICAgIH0pOworICAgICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3Bl
Y3Rvci5FZGl0aW5nQ29uZmlnKGZpbmlzaEVkaXRpbmcuYmluZCh0aGlzLCB0cnVlKSwgZmluaXNo
RWRpdGluZy5iaW5kKHRoaXMsIGZhbHNlKSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5zdGFydEVk
aXRpbmcoaW5wdXRFbGVtZW50LCBjb25maWcpOwogICAgIH0sCiAKICAgICBfc2V0QnJlYWtwb2lu
dDogZnVuY3Rpb24odXJsLCBlbmFibGVkKQpAQCAtMzgyLDEwICszOTIsNyBAQCBXZWJJbnNwZWN0
b3IuWEhSQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAg
ICAgZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKICAgICAgICAgfQogCi0gICAg
ICAgIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcoaW5wdXRFbGVtZW50LCB7Ci0gICAgICAgICAg
ICBjb21taXRIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywgdHJ1ZSksCi0gICAgICAg
ICAgICBjYW5jZWxIYW5kbGVyOiBmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywgZmFsc2UpCi0gICAg
ICAgIH0pOworICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKGlucHV0RWxlbWVudCwg
bmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKGZpbmlzaEVkaXRpbmcuYmluZCh0aGlzLCB0
cnVlKSwgZmluaXNoRWRpdGluZy5iaW5kKHRoaXMsIGZhbHNlKSkpOwogICAgIH0sCiAKICAgICBo
aWdobGlnaHRCcmVha3BvaW50OiBmdW5jdGlvbih1cmwpCkBAIC00MjcsNiArNDM0LDEwIEBAIFdl
Ykluc3BlY3Rvci5YSFJCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKIAogV2Vi
SW5zcGVjdG9yLlhIUkJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLnByb3RvdHlwZTsKIAor
LyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2lkZWJhclBh
bmV9CisgKi8KIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQnJlYWtwb2ludHNTaWRlYmFyUGFu
ZSA9IGZ1bmN0aW9uKCkKIHsKICAgICBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmUuY2FsbCh0aGlz
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVyIEJyZWFrcG9pbnRzIikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXgg
YzMyN2VjNDljY2E0OTYzODA0NmYxMWRkNTM4MWI3NjNmYjg1NTA1Yy4uMWYyZjllZDk5ZjVlYzQ3
MmE4NGRmMGQ5OTJjOTgwZGU5MjhiMDFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCkBAIC02MzcsNiArNjM3LDkgQEAgV2ViSW5zcGVjdG9y
LkRPTUFnZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuSW5zcGVjdEVsZW1lbnRSZXF1
ZXN0ZWQsIG5vZGUpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49
fSBzZWFyY2hTeW5jaHJvbm91c2x5CisgICAgICovCiAgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rp
b24ocXVlcnksIHNlYXJjaFJlc3VsdENvbGxlY3Rvciwgc2VhcmNoU3luY2hyb25vdXNseSkKICAg
ICB7CiAgICAgICAgIHRoaXMuX3NlYXJjaFJlc3VsdENvbGxlY3RvciA9IHNlYXJjaFJlc3VsdENv
bGxlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwppbmRleCAzMjg3OWU4ZmRiY2Ez
MTc4NTljYWIyMGRhOTYzMWMwZjRlMzIwMWM3Li5lYmQzM2NkZWMyMzE4N2U4NzgxNzFiYWUzNzQx
NTI5MzUwN2Y4MDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCkBAIC0yOCw2ICsy
OCwxMCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICog
QGV4dGVuZHMge1dlYkluc3BlY3Rvci5OYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lfQorICov
CiBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKCkKIHsK
ICAgICBXZWJJbnNwZWN0b3IuTmF0aXZlQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5jYWxsKHRoaXMs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRE9NIEJyZWFrcG9pbnRzIikpOwpAQCAtODksNyArOTMs
NyBAQCBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5wcm90b3R5cGUgPSB7
CiAgICAgY3JlYXRlQnJlYWtwb2ludEhpdFN0YXR1c01lc3NhZ2U6IGZ1bmN0aW9uKGF1eERhdGEs
IGNhbGxiYWNrKQogICAgIHsKICAgICAgICAgaWYgKGF1eERhdGEudHlwZSA9PT0gdGhpcy5fYnJl
YWtwb2ludFR5cGVzLlN1YnRyZWVNb2RpZmllZCkgewotICAgICAgICAgICAgdmFyIHRhcmdldE5v
ZGVPYmplY3QgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21QYXlsb2FkKGF1eERhdGEu
dGFyZ2V0Tm9kZSk7CisgICAgICAgICAgICB2YXIgdGFyZ2V0Tm9kZU9iamVjdCA9IFdlYkluc3Bl
Y3Rvci5SZW1vdGVPYmplY3QuZnJvbVBheWxvYWQoYXV4RGF0YVsidGFyZ2V0Tm9kZSJdKTsKICAg
ICAgICAgICAgIGZ1bmN0aW9uIGRpZFB1c2hOb2RlVG9Gcm9udGVuZCh0YXJnZXROb2RlSWQpCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgaWYgKHRhcmdldE5vZGVJZCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCmluZGV4IGFhOWM0ZGZh
MWFkNzIyZGIxMTA5ZGRkMzg1NTRjYWY2YTNkMWFkZjIuLmJjM2RjZTdjNTk2ZmM4MTZiODVlZWNh
MjQyNjY0ZmJjOTFiYTg4ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhR3JpZC5qcwpAQCAtMjkyLDExICsyOTIsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQucHJvdG90eXBlID0gewogCiAgICAgX3N0YXJ0RWRpdGluZ0NvbmZpZzogZnVuY3Rpb24oZWxl
bWVudCkKICAgICB7Ci0gICAgICAgIHZhciBjb25maWcgPSBuZXcgV2ViSW5zcGVjdG9yLkVkaXRp
bmdDb25maWcoKTsKLSAgICAgICAgY29uZmlnLnNldENvbnRleHQoZWxlbWVudC50ZXh0Q29udGVu
dCk7Ci0gICAgICAgIGNvbmZpZy5zZXRDb21taXRIYW5kbGVyKHRoaXMuX2VkaXRpbmdDb21taXR0
ZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5kbGVyKHRoaXMuX2Vk
aXRpbmdDYW5jZWxsZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIHJldHVybiBjb25maWc7CisgICAg
ICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkVkaXRpbmdDb25maWcodGhpcy5fZWRpdGluZ0Nv
bW1pdHRlZC5iaW5kKHRoaXMpLCB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkLmJpbmQodGhpcyksIGVs
ZW1lbnQudGV4dENvbnRlbnQpOwogICAgIH0sCiAKICAgICBfZWRpdGluZ0NvbW1pdHRlZDogZnVu
Y3Rpb24oZWxlbWVudCwgbmV3VGV4dCwgb2xkVGV4dCwgY29udGV4dCwgbW92ZURpcmVjdGlvbikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKaW5kZXggMzhi
ZjMzMDFjZTY2NTQ4NmJjNzZiYTJkOTA4YmEzYzEzYWFlYzI5OC4uOTY3NzM2YTg2NmVhMDQyNzBi
ZDQ3MzMxNDJhMmY5ZmY4ZjE2Nzg2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EcmF3ZXIuanMKQEAgLTI2MywzICsyNjMsOCBAQCBXZWJJbnNwZWN0b3IuRHJhd2Vy
LnByb3RvdHlwZSA9IHsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgfQog
fQorCisvKioKKyAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuRHJhd2VyfQorICovCitXZWJJbnNwZWN0
b3IuZHJhd2VyID0gbnVsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRWxlbWVudHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRWxlbWVudHNQYW5lbC5qcwppbmRleCA5M2I4YjM5NTMxYzQzOGY3MjAxNTQ3MTVjODA4
YjBiNzllZTYyNDBmLi4xMzNiMmRiZjcwYTE1YmNiMjIwNDY2Mzg0YjU1MDc1YTBhZjMyODc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1Bh
bmVsLmpzCkBAIC0yOCw2ICsyOCwxMCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvKioKKyAqIEBj
b25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5QYW5lbH0KKyAqLwogV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLlBh
bmVsLmNhbGwodGhpcywgImVsZW1lbnRzIik7CkBAIC0xODksNiArMTkzLDkgQEAgV2ViSW5zcGVj
dG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoUHJlZmVyZW5jZXMu
bmF0aXZlSW5zdHJ1bWVudGF0aW9uRW5hYmxlZCkKICAgICAgICAgICAgIHRoaXMuc2lkZWJhclBh
bmVzLmRvbUJyZWFrcG9pbnRzLnJlc3RvcmVCcmVha3BvaW50cygpOwogCisgICAgICAgIC8qKgor
ICAgICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5ET01Ob2RlPX0gY2FuZGlkYXRlRm9jdXNO
b2RlCisgICAgICAgICAqLwogICAgICAgICBmdW5jdGlvbiBzZWxlY3ROb2RlKGNhbmRpZGF0ZUZv
Y3VzTm9kZSkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFjYW5kaWRhdGVGb2N1c05vZGUp
CkBAIC0zNjcsNyArMzc0LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBl
ID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9oaWRlU2VhcmNoSGlnaGxpZ2h0czogZnVu
Y3Rpb24obm9kZSkKKyAgICBfaGlkZVNlYXJjaEhpZ2hsaWdodHM6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyB0aGlzLl9zZWFyY2hSZXN1bHRzICYmIGkgPCB0aGlz
Ll9zZWFyY2hSZXN1bHRzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IHRo
aXMuX3NlYXJjaFJlc3VsdHNbaV07CkBAIC00MzksNiArNDQ2LDkgQEAgV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9tb3VzZU91dE9mQ3J1bWJz
VGltZW91dCA9IHNldFRpbWVvdXQodGhpcy51cGRhdGVCcmVhZGNydW1iU2l6ZXMuYmluZCh0aGlz
KSwgMTAwMCk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGZv
cmNlVXBkYXRlCisgICAgICovCiAgICAgdXBkYXRlQnJlYWRjcnVtYjogZnVuY3Rpb24oZm9yY2VV
cGRhdGUpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMudmlzaWJsZSkKQEAgLTUxMyw3ICs1MjMs
NyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBpZiAoY3VycmVudCA9PT0gdGhpcy50cmVlT3V0bGluZS5yb290RE9NTm9kZSkKICAgICAgICAg
ICAgICAgICBmb3VuZFJvb3QgPSB0cnVlOwogCi0gICAgICAgICAgICB2YXIgY3J1bWIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgICAgICBjcnVtYiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICAgICAgICAgIGNydW1iLmNsYXNzTmFtZSA9ICJj
cnVtYiI7CiAgICAgICAgICAgICBjcnVtYi5yZXByZXNlbnRlZE9iamVjdCA9IGN1cnJlbnQ7CiAg
ICAgICAgICAgICBjcnVtYi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBzZWxlY3RDcnVt
YkZ1bmN0aW9uLCBmYWxzZSk7CkBAIC01NjMsNiArNTczLDkgQEAgV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnVwZGF0ZUJyZWFkY3J1bWJTaXpl
cygpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge0VsZW1lbnQ9fSBmb2N1c2Vk
Q3J1bWIKKyAgICAgKi8KICAgICB1cGRhdGVCcmVhZGNydW1iU2l6ZXM6IGZ1bmN0aW9uKGZvY3Vz
ZWRDcnVtYikKICAgICB7CiAgICAgICAgIGlmICghdGhpcy52aXNpYmxlKQpAQCAtNjMyLDYgKzY0
NSw5IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
dmFyIEFuY2VzdG9yU2lkZSA9IC0xOwogICAgICAgICB2YXIgQ2hpbGRTaWRlID0gMTsKIAorICAg
ICAgICAvKioKKyAgICAgICAgICogQHBhcmFtIHtib29sZWFuPX0gc2lnbmlmaWNhbnRDcnVtYgor
ICAgICAgICAgKi8KICAgICAgICAgZnVuY3Rpb24gbWFrZUNydW1ic1NtYWxsZXIoc2hyaW5raW5n
RnVuY3Rpb24sIGRpcmVjdGlvbiwgc2lnbmlmaWNhbnRDcnVtYikKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCFzaWduaWZpY2FudENydW1iKQpAQCAtNzY5LDcgKzc4NSw3IEBAIFdlYkluc3Bl
Y3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgZnVuY3Rpb24gY29sbGFw
c2VEaW1tZWQoY3J1bWIpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChjcnVtYi5oYXNTdHls
ZUNsYXNzKCJkaW1tZWQiKSkKLSAgICAgICAgICAgICAgICBjb2xsYXBzZShjcnVtYik7CisgICAg
ICAgICAgICAgICAgY29sbGFwc2UoY3J1bWIsIGZhbHNlKTsKICAgICAgICAgfQogCiAgICAgICAg
IGlmICghZm9jdXNlZENydW1iKSB7CkBAIC04NjMsNyArODc5LDggQEAgV2ViSW5zcGVjdG9yLkVs
ZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgc2hvcnRjdXQuc2hvcnRjdXRU
b1N0cmluZyhzaG9ydGN1dC5LZXlzLkRvd24pCiAgICAgICAgIF07CiAgICAgICAgIHNlY3Rpb24u
YWRkUmVsYXRlZEtleXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYXZpZ2F0ZSBlbGVt
ZW50cyIpKTsKLSAgICAgICAgdmFyIGtleXMgPSBbCisKKyAgICAgICAga2V5cyA9IFsKICAgICAg
ICAgICAgIHNob3J0Y3V0LnNob3J0Y3V0VG9TdHJpbmcoc2hvcnRjdXQuS2V5cy5SaWdodCksCiAg
ICAgICAgICAgICBzaG9ydGN1dC5zaG9ydGN1dFRvU3RyaW5nKHNob3J0Y3V0LktleXMuTGVmdCkK
ICAgICAgICAgXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwppbmRleCA5ZmNiOTJmMzA5MWM0NzFmMzFlYTc1
ZDA3ZGM4OWZmYjY5MjRhY2JjLi5hYTY0ZDQ3M2Q5ZTRhZWY4NjI3MmU4OTc1MGM2ZGM1Y2EzMTc3
OTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1l
bnRzVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzCkBAIC0xMTM3LDEwICsxMTM3LDcgQEAgV2ViSW5zcGVj
dG9yLkVsZW1lbnRzVHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogICAgICAgICAvLyBSZW1vdmUg
emVyby13aWR0aCBzcGFjZXMgdGhhdCB3ZXJlIGFkZGVkIGJ5IG5vZGVUaXRsZUluZm8uCiAgICAg
ICAgIHJlbW92ZVplcm9XaWR0aFNwYWNlUmVjdXJzaXZlKGF0dHJpYnV0ZSk7CiAKLSAgICAgICAg
dmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZygpOwotICAgICAgICBj
b25maWcuc2V0Q29udGV4dChhdHRyaWJ1dGVOYW1lKTsKLSAgICAgICAgY29uZmlnLnNldENvbW1p
dEhhbmRsZXIodGhpcy5fYXR0cmlidXRlRWRpdGluZ0NvbW1pdHRlZC5iaW5kKHRoaXMpKTsKLSAg
ICAgICAgY29uZmlnLnNldENhbmNlbEhhbmRsZXIodGhpcy5fZWRpdGluZ0NhbmNlbGxlZC5iaW5k
KHRoaXMpKTsKKyAgICAgICAgdmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0Nv
bmZpZyh0aGlzLl9hdHRyaWJ1dGVFZGl0aW5nQ29tbWl0dGVkLmJpbmQodGhpcyksIHRoaXMuX2Vk
aXRpbmdDYW5jZWxsZWQuYmluZCh0aGlzKSwgYXR0cmlidXRlTmFtZSk7CiAgICAgICAgIHRoaXMu
X2VkaXRpbmcgPSBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKGF0dHJpYnV0ZSwgY29uZmlnKTsK
IAogICAgICAgICB3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChlbGVtZW50
Rm9yU2VsZWN0aW9uLCAwLCBlbGVtZW50Rm9yU2VsZWN0aW9uLCAxKTsKQEAgLTExNTMsMTAgKzEx
NTAsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGlmIChXZWJJbnNwZWN0b3IuaXNCZWluZ0VkaXRlZCh0ZXh0Tm9kZSkpCiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3BlY3Rv
ci5FZGl0aW5nQ29uZmlnKCk7Ci0gICAgICAgIGNvbmZpZy5zZXRDb21taXRIYW5kbGVyKHRoaXMu
X3RleHROb2RlRWRpdGluZ0NvbW1pdHRlZC5iaW5kKHRoaXMpKTsKLSAgICAgICAgY29uZmlnLnNl
dENhbmNlbEhhbmRsZXIodGhpcy5fZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpKTsKLQorICAg
ICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKHRoaXMuX3Rl
eHROb2RlRWRpdGluZ0NvbW1pdHRlZC5iaW5kKHRoaXMpLCB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVk
LmJpbmQodGhpcykpOwogICAgICAgICB0aGlzLl9lZGl0aW5nID0gV2ViSW5zcGVjdG9yLnN0YXJ0
RWRpdGluZyh0ZXh0Tm9kZSwgY29uZmlnKTsKICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigp
LnNldEJhc2VBbmRFeHRlbnQodGV4dE5vZGUsIDAsIHRleHROb2RlLCAxKTsKIApAQCAtMTIwMCwx
MSArMTE5NCw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9
IHsKIAogICAgICAgICB0YWdOYW1lRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGtl
eXVwTGlzdGVuZXIsIGZhbHNlKTsKIAotICAgICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3Bl
Y3Rvci5FZGl0aW5nQ29uZmlnKCk7Ci0gICAgICAgIGNvbmZpZy5zZXRDb250ZXh0KHRhZ05hbWUp
OwotICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcihlZGl0aW5nQ29taXR0ZWQuYmluZCh0
aGlzKSk7Ci0gICAgICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5kbGVyKGVkaXRpbmdDYW5jZWxsZWQu
YmluZCh0aGlzKSk7Ci0KKyAgICAgICAgdmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0b3IuRWRp
dGluZ0NvbmZpZyhlZGl0aW5nQ29taXR0ZWQuYmluZCh0aGlzKSwgZWRpdGluZ0NhbmNlbGxlZC5i
aW5kKHRoaXMpLCB0YWdOYW1lKTsKICAgICAgICAgdGhpcy5fZWRpdGluZyA9IFdlYkluc3BlY3Rv
ci5zdGFydEVkaXRpbmcodGFnTmFtZUVsZW1lbnQsIGNvbmZpZyk7CiAgICAgICAgIHdpbmRvdy5n
ZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRhZ05hbWVFbGVtZW50LCAwLCB0YWdOYW1l
RWxlbWVudCwgMSk7CiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTI2MSwxMSArMTI1MSw4IEBA
IFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uKCk7CiAgICAgICAgIH0KIAotICAgICAgICB2YXIgY29u
ZmlnID0gbmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKCk7Ci0gICAgICAgIGNvbmZpZy5z
ZXRDb21taXRIYW5kbGVyKGNvbW1pdC5iaW5kKHRoaXMpKTsKLSAgICAgICAgY29uZmlnLnNldENh
bmNlbEhhbmRsZXIoZGlzcG9zZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIGNvbmZpZyA9IG5l
dyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZyhjb21taXQuYmluZCh0aGlzKSwgZGlzcG9zZS5i
aW5kKHRoaXMpKTsKICAgICAgICAgY29uZmlnLnNldE11bHRpbGluZSh0cnVlKTsKLQogICAgICAg
ICB0aGlzLl9lZGl0aW5nID0gV2ViSW5zcGVjdG9yLnN0YXJ0RWRpdGluZyh0aGlzLl9odG1sRWRp
dEVsZW1lbnQsIGNvbmZpZyk7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Hb1RvTGluZURpYWxvZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMKaW5kZXggZjllOTQwOTI1NWJkNDQ4
ZDc5OWYzZTNlZDNiYmJhY2U4NWUyYmRmYi4uNDVhMGRjODBhNmFkZTM3Mzg0MTJmMTQzODYxYTEz
ZDFmNWFkYmRjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Hb1RvTGluZURpYWxvZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0dvVG9MaW5lRGlhbG9nLmpzCkBAIC0yOCw2ICsyOCw5IEBACiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KIFdlYkluc3BlY3Rvci5Hb1RvTGluZURp
YWxvZyA9IGZ1bmN0aW9uKHZpZXcpCiB7CiAgICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwpAQCAtODMsOSArODYsOSBAQCBXZWJJbnNwZWN0b3IuR29Ub0xp
bmVEaWFsb2cuX3Nob3cgPSBmdW5jdGlvbihzb3VyY2VWaWV3KQogewogICAgIGlmICghc291cmNl
VmlldyB8fCAhc291cmNlVmlldy5jYW5IaWdobGlnaHRMaW5lKCkpCiAgICAgICAgIHJldHVybjsK
LSAgICBpZiAodGhpcy5faW5zdGFuY2UpCisgICAgaWYgKFdlYkluc3BlY3Rvci5Hb1RvTGluZURp
YWxvZy5faW5zdGFuY2UpCiAgICAgICAgIHJldHVybjsKLSAgICB0aGlzLl9pbnN0YW5jZSA9IG5l
dyBXZWJJbnNwZWN0b3IuR29Ub0xpbmVEaWFsb2coc291cmNlVmlldyk7CisgICAgV2ViSW5zcGVj
dG9yLkdvVG9MaW5lRGlhbG9nLl9pbnN0YW5jZSA9IG5ldyBXZWJJbnNwZWN0b3IuR29Ub0xpbmVE
aWFsb2coc291cmNlVmlldyk7CiB9CiAKIFdlYkluc3BlY3Rvci5Hb1RvTGluZURpYWxvZy5jcmVh
dGVTaG9ydGN1dCA9IGZ1bmN0aW9uKCkKQEAgLTE0NCw0ICsxNDcsNCBAQCBXZWJJbnNwZWN0b3Iu
R29Ub0xpbmVEaWFsb2cucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIWlzTmFOKGxpbmVOdW1i
ZXIpICYmIGxpbmVOdW1iZXIgPj0gMCkKICAgICAgICAgICAgIHRoaXMuX3ZpZXcuaGlnaGxpZ2h0
TGluZShsaW5lTnVtYmVyKTsKICAgICB9Ci19OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9NZXRyaWNzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcwppbmRleCA0ZWY0
NTJiZjA4ODI3ZDE2MGI5NzM4NWExNDcwYzVhNjE2NmJiMDRiLi42YTA1YjFmYzVkNmU4ODQ1ZGM3
MmJlODFlN2EzZjY3NzgxMWIzNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcwpAQCAtMjg4LDEwICsyODgs
NyBAQCBXZWJJbnNwZWN0b3IuTWV0cmljc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICB0aGlzLl9pc0VkaXRpbmdNZXRyaWNzID0gdHJ1ZTsKIAotICAgICAgICB2YXIgY29uZmln
ID0gbmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKCk7Ci0gICAgICAgIGNvbmZpZy5zZXRD
b250ZXh0KGNvbnRleHQpOwotICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcih0aGlzLmVk
aXRpbmdDb21taXR0ZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIGNvbmZpZy5zZXRDYW5jZWxIYW5k
bGVyKHRoaXMuZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdmFyIGNvbmZp
ZyA9IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZyh0aGlzLmVkaXRpbmdDb21taXR0ZWQu
YmluZCh0aGlzKSwgdGhpcy5lZGl0aW5nQ2FuY2VsbGVkLmJpbmQodGhpcyksIGNvbnRleHQpOwog
ICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKHRhcmdldEVsZW1lbnQsIGNvbmZpZyk7
CiAKICAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGFyZ2V0
RWxlbWVudCwgMCwgdGFyZ2V0RWxlbWVudCwgMSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDI0MGZhYzgwNDlkMzYzYTQy
NDRlOTI5YzI5YmZmYjIxOGU1ZTk2MDYuLjRmNzRlM2NkNmM0MGVhYzk4OTRkNzMxMjFkNDkxMTNj
OGY2ODc4NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmV0d29ya1BhbmVsLmpzCkBAIC0yOCw2ICsyOCwxMCBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisg
LyoqCisgICogQGNvbnN0cnVjdG9yCisgICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5JRnJhbWVW
aWV3fQorICAqLwogV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3ID0gZnVuY3Rpb24ocGFyZW50
RWxlbWVudCkKIHsKICAgICAvLyBGSVhNRTogc29tZSBvZiB0aGUgc3R5bGVzIHNob3VsZCBiZSBs
b2FkZWQgb24gZGVtYW5kIGJ5IGNvbXBvbmVudHMgdGhhdCBuZWVkIHRoZW0uCkBAIC02MzQsMTQg
KzYzOCwxNCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAg
IHsKICAgICAgICAgdGhpcy5fbWFpblJlc291cmNlTG9hZFRpbWUgPSBldmVudC5kYXRhIHx8IC0x
OwogICAgICAgICAvLyBTY2hlZHVsZSByZWZyZXNoIHRvIHVwZGF0ZSBib3VuZGFyaWVzIGFuZCBk
cmF3IHRoZSBuZXcgbGluZS4KLSAgICAgICAgdGhpcy5fc2NoZWR1bGVSZWZyZXNoKHRydWUpOwor
ICAgICAgICB0aGlzLl9zY2hlZHVsZVJlZnJlc2goKTsKICAgICB9LAogCiAgICAgX2RvbUNvbnRl
bnRMb2FkZWRFdmVudEZpcmVkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMu
X21haW5SZXNvdXJjZURPTUNvbnRlbnRUaW1lID0gZXZlbnQuZGF0YSB8fCAtMTsKICAgICAgICAg
Ly8gU2NoZWR1bGUgcmVmcmVzaCB0byB1cGRhdGUgYm91bmRhcmllcyBhbmQgZHJhdyB0aGUgbmV3
IGxpbmUuCi0gICAgICAgIHRoaXMuX3NjaGVkdWxlUmVmcmVzaCh0cnVlKTsKKyAgICAgICAgdGhp
cy5fc2NoZWR1bGVSZWZyZXNoKCk7CiAgICAgfSwKIAogICAgIHdhc1Nob3duOiBmdW5jdGlvbigp
CkBAIC05MTgsNjkgKzkyMiw2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHBvcG92ZXIuc2hvdyh0YWJsZUVsZW1lbnQsIGFuY2hvcik7CiAgICAg
fSwKIAotICAgIF90b2dnbGVHcmlkTW9kZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYg
KHRoaXMuX3ZpZXdpbmdSZXNvdXJjZU1vZGUpIHsKLSAgICAgICAgICAgIHRoaXMuX3ZpZXdpbmdS
ZXNvdXJjZU1vZGUgPSBmYWxzZTsKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJ2aWV3aW5nLXJlc291cmNlIik7Ci0gICAgICAgICAgICB0aGlzLl92aWV3c0NvbnRh
aW5lckVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7Ci0gICAgICAgICAgICB0aGlzLnNp
ZGViYXJFbGVtZW50LnN0eWxlLnJpZ2h0ID0gMDsKLSAgICAgICAgICAgIHRoaXMuc2lkZWJhckVs
ZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIndpZHRoIik7Ci0gICAgICAgICAgICBpZiAodGhp
cy5fZGF0YUdyaWQuc2VsZWN0ZWROb2RlKQotICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlk
LnNlbGVjdGVkTm9kZS5zZWxlY3RlZCA9IGZhbHNlOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhp
cy5fZGF0YUdyaWQuc2hvd0NvbHVtbigibWV0aG9kIik7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlk
LnNob3dDb2x1bW4oInN0YXR1cyIpOwotICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93Q29sdW1u
KCJ0eXBlIik7Ci0gICAgICAgIGlmIChQcmVmZXJlbmNlcy5zaG93TmV0d29ya1BhbmVsSW5pdGlh
dG9yQ29sdW1uKQotICAgICAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd0NvbHVtbigiaW5pdGlh
dG9yIik7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLnNob3dDb2x1bW4oInNpemUiKTsKLSAgICAg
ICAgdGhpcy5fZGF0YUdyaWQuc2hvd0NvbHVtbigidGltZSIpOwotCi0gICAgICAgIHZhciB3aWR0
aHMgPSB7fTsKLSAgICAgICAgd2lkdGhzLm5hbWUgPSAyMDsKLSAgICAgICAgd2lkdGhzLm1ldGhv
ZCA9IDY7Ci0gICAgICAgIHdpZHRocy5zdGF0dXMgPSA2OwotICAgICAgICB3aWR0aHMudHlwZSA9
IDY7Ci0gICAgICAgIGlmIChQcmVmZXJlbmNlcy5zaG93TmV0d29ya1BhbmVsSW5pdGlhdG9yQ29s
dW1uKQotICAgICAgICAgICAgd2lkdGhzLmluaXRpYXRvciA9IDEwOwotICAgICAgICB3aWR0aHMu
c2l6ZSA9IDY7Ci0gICAgICAgIHdpZHRocy50aW1lID0gNjsKLSAgICAgICAgaWYgKFByZWZlcmVu
Y2VzLnNob3dOZXR3b3JrUGFuZWxJbml0aWF0b3JDb2x1bW4pCi0gICAgICAgICAgICB3aWR0aHMu
dGltZWxpbmUgPSA0MDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgd2lkdGhzLnRpbWVsaW5l
ID0gNTA7Ci0KLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuc2hvd0NvbHVtbigidGltZWxpbmUiKTsK
LSAgICAgICAgdGhpcy5fZGF0YUdyaWQuYXBwbHlDb2x1bW5XaWR0aHNNYXAod2lkdGhzKTsKLSAg
ICB9LAotCi0gICAgX3RvZ2dsZVZpZXdpbmdSZXNvdXJjZU1vZGU6IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl92aWV3aW5nUmVzb3VyY2VNb2RlKQotICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICB0aGlzLl92aWV3aW5nUmVzb3VyY2VNb2RlID0gdHJ1ZTsKLQotICAgICAg
ICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygidmlld2luZy1yZXNvdXJjZSIpOwotCi0gICAg
ICAgIHRoaXMuX2RhdGFHcmlkLmhpZGVDb2x1bW4oIm1ldGhvZCIpOwotICAgICAgICB0aGlzLl9k
YXRhR3JpZC5oaWRlQ29sdW1uKCJzdGF0dXMiKTsKLSAgICAgICAgdGhpcy5fZGF0YUdyaWQuaGlk
ZUNvbHVtbigidHlwZSIpOwotICAgICAgICBpZiAoUHJlZmVyZW5jZXMuc2hvd05ldHdvcmtQYW5l
bEluaXRpYXRvckNvbHVtbikKLSAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGVDb2x1bW4o
ImluaXRpYXRvciIpOwotICAgICAgICB0aGlzLl9kYXRhR3JpZC5oaWRlQ29sdW1uKCJzaXplIik7
Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmhpZGVDb2x1bW4oInRpbWUiKTsKLSAgICAgICAgdGhp
cy5fZGF0YUdyaWQuaGlkZUNvbHVtbigidGltZWxpbmUiKTsKLQotICAgICAgICB0aGlzLl92aWV3
c0NvbnRhaW5lckVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Ci0gICAgICAgIHRo
aXMucmVzdG9yZVNpZGViYXJXaWR0aCgpOwotCi0gICAgICAgIHZhciB3aWR0aHMgPSB7fTsKLSAg
ICAgICAgd2lkdGhzLm5hbWUgPSAxMDA7Ci0gICAgICAgIHRoaXMuX2RhdGFHcmlkLmFwcGx5Q29s
dW1uV2lkdGhzTWFwKHdpZHRocyk7Ci0gICAgfSwKLQogICAgIF9jb250ZXh0TWVudTogZnVuY3Rp
b24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgY29udGV4dE1lbnUgPSBuZXcgV2ViSW5zcGVj
dG9yLkNvbnRleHRNZW51KCk7CkBAIC0xMDcwLDcgKzEwMTEsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgTmV0d29ya0FnZW50LmNsZWFy
QnJvd3NlckNvb2tpZXMoKTsKICAgICB9LAogCi0gICAgX3VwZGF0ZU9mZnNjcmVlblJvd3M6IGZ1
bmN0aW9uKGUpCisgICAgX3VwZGF0ZU9mZnNjcmVlblJvd3M6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIHZhciBkYXRhVGFibGVCb2R5ID0gdGhpcy5fZGF0YUdyaWQuZGF0YVRhYmxlQm9keTsK
ICAgICAgICAgdmFyIHJvd3MgPSBkYXRhVGFibGVCb2R5LmNoaWxkcmVuOwpAQCAtMTI0OSw3ICsx
MTkwLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAg
ICAgfQogICAgIH0sCiAKLSAgICBfcmVtb3ZlQWxsTm9kZUhpZ2hsaWdodHM6IGZ1bmN0aW9uKG5v
ZGUsIGRlY29yYXRpb24pCisgICAgX3JlbW92ZUFsbE5vZGVIaWdobGlnaHRzOiBmdW5jdGlvbigp
CiAgICAgewogICAgICAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWROb2RlKSB7CiAgICAgICAgICAg
ICB0aGlzLl9oaWdobGlnaHRlZE5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWdobGln
aHRlZC1yb3ciKTsKQEAgLTEyNzQsNiArMTIxNSwxMCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xv
Z1ZpZXcuRXZlbnRUeXBlcyA9IHsKICAgICBTZWFyY2hJbmRleFVwZGF0ZWQ6ICJTZWFyY2hJbmRl
eFVwZGF0ZWQiCiB9OwogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYklu
c3BlY3Rvci5QYW5lbH0KKyAqLwogV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbCA9IGZ1bmN0aW9u
KCkKIHsKICAgICBXZWJJbnNwZWN0b3IuUGFuZWwuY2FsbCh0aGlzLCAibmV0d29yayIpOwpAQCAt
MTM3OSw3ICsxMzI0LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIGlmIChhbmNob3IuZ2V0QXR0cmlidXRlKCJyZXF1ZXN0X2lkIikpCiAgICAgICAg
ICAgICByZXNvdXJjZSA9IHRoaXMucmVzb3VyY2VCeUlkKGFuY2hvci5nZXRBdHRyaWJ1dGUoInJl
cXVlc3RfaWQiKSk7CiAgICAgICAgIGlmICghcmVzb3VyY2UpCi0gICAgICAgICAgICByZXNvdXJj
ZSA9IHRoaXMuX3Jlc291cmNlc0J5VVJMW2FuY2hvci5ocmVmXTsKKyAgICAgICAgICAgIHJlc291
cmNlID0gdGhpcy5fbmV0d29ya0xvZ1ZpZXcuX3Jlc291cmNlc0J5VVJMW2FuY2hvci5ocmVmXTsK
IAogICAgICAgICByZXR1cm4gcmVzb3VyY2U7CiAgICAgfSwKQEAgLTE1MTcsMzEgKzE0NjIsMTQg
QEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7CiAKIFdlYkluc3BlY3Rv
ci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5QYW5lbC5w
cm90b3R5cGU7CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KIFdlYkluc3BlY3Rvci5OZXR3
b3JrQmFzZUNhbGN1bGF0b3IgPSBmdW5jdGlvbigpCiB7CiB9CiAKIFdlYkluc3BlY3Rvci5OZXR3
b3JrQmFzZUNhbGN1bGF0b3IucHJvdG90eXBlID0gewotICAgIGNvbXB1dGVTdW1tYXJ5VmFsdWVz
OiBmdW5jdGlvbihpdGVtcykKLSAgICB7Ci0gICAgICAgIHZhciB0b3RhbCA9IDA7Ci0gICAgICAg
IHZhciBjYXRlZ29yeVZhbHVlcyA9IHt9OwotCi0gICAgICAgIHZhciBpdGVtc0xlbmd0aCA9IGl0
ZW1zLmxlbmd0aDsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpdGVtc0xlbmd0aDsgKytp
KSB7Ci0gICAgICAgICAgICB2YXIgaXRlbSA9IGl0ZW1zW2ldOwotICAgICAgICAgICAgdmFyIHZh
bHVlID0gdGhpcy5fdmFsdWUoaXRlbSk7Ci0gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09
PSAidW5kZWZpbmVkIikKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIGlm
ICghKGl0ZW0uY2F0ZWdvcnkubmFtZSBpbiBjYXRlZ29yeVZhbHVlcykpCi0gICAgICAgICAgICAg
ICAgY2F0ZWdvcnlWYWx1ZXNbaXRlbS5jYXRlZ29yeS5uYW1lXSA9IDA7Ci0gICAgICAgICAgICBj
YXRlZ29yeVZhbHVlc1tpdGVtLmNhdGVnb3J5Lm5hbWVdICs9IHZhbHVlOwotICAgICAgICAgICAg
dG90YWwgKz0gdmFsdWU7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4ge2NhdGVnb3J5VmFs
dWVzOiBjYXRlZ29yeVZhbHVlcywgdG90YWw6IHRvdGFsfTsKLSAgICB9LAotCiAgICAgY29tcHV0
ZUJhckdyYXBoUGVyY2VudGFnZXM6IGZ1bmN0aW9uKGl0ZW0pCiAgICAgewogICAgICAgICByZXR1
cm4ge3N0YXJ0OiAwLCBtaWRkbGU6IDAsIGVuZDogKHRoaXMuX3ZhbHVlKGl0ZW0pIC8gdGhpcy5i
b3VuZGFyeVNwYW4pICogMTAwfTsKQEAgLTE1ODcsNiArMTUxNSwxMCBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0Jhc2VDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKICAgICB9CiB9CiAKKy8qKgorICog
QGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk5ldHdvcmtCYXNlQ2FsY3Vs
YXRvcn0KKyAqLwogV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1lQ2FsY3VsYXRvciA9IGZ1bmN0aW9u
KHN0YXJ0QXRaZXJvKQogewogICAgIFdlYkluc3BlY3Rvci5OZXR3b3JrQmFzZUNhbGN1bGF0b3Iu
Y2FsbCh0aGlzKTsKQEAgLTE1OTQsNjEgKzE1MjYsNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1Rp
bWVDYWxjdWxhdG9yID0gZnVuY3Rpb24oc3RhcnRBdFplcm8pCiB9CiAKIFdlYkluc3BlY3Rvci5O
ZXR3b3JrVGltZUNhbGN1bGF0b3IucHJvdG90eXBlID0gewotICAgIGNvbXB1dGVTdW1tYXJ5VmFs
dWVzOiBmdW5jdGlvbihyZXNvdXJjZXMpCi0gICAgewotICAgICAgICB2YXIgcmVzb3VyY2VzQnlD
YXRlZ29yeSA9IHt9OwotICAgICAgICB2YXIgcmVzb3VyY2VzTGVuZ3RoID0gcmVzb3VyY2VzLmxl
bmd0aDsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNvdXJjZXNMZW5ndGg7ICsraSkg
ewotICAgICAgICAgICAgdmFyIHJlc291cmNlID0gcmVzb3VyY2VzW2ldOwotICAgICAgICAgICAg
aWYgKCEocmVzb3VyY2UuY2F0ZWdvcnkubmFtZSBpbiByZXNvdXJjZXNCeUNhdGVnb3J5KSkKLSAg
ICAgICAgICAgICAgICByZXNvdXJjZXNCeUNhdGVnb3J5W3Jlc291cmNlLmNhdGVnb3J5Lm5hbWVd
ID0gW107Ci0gICAgICAgICAgICByZXNvdXJjZXNCeUNhdGVnb3J5W3Jlc291cmNlLmNhdGVnb3J5
Lm5hbWVdLnB1c2gocmVzb3VyY2UpOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGVhcmxpZXN0
U3RhcnQ7Ci0gICAgICAgIHZhciBsYXRlc3RFbmQ7Ci0gICAgICAgIHZhciBjYXRlZ29yeVZhbHVl
cyA9IHt9OwotICAgICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiByZXNvdXJjZXNCeUNhdGVnb3J5
KSB7Ci0gICAgICAgICAgICByZXNvdXJjZXNCeUNhdGVnb3J5W2NhdGVnb3J5XS5zb3J0KFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5Db21wYXJlQnlUaW1lKTsKLSAgICAgICAgICAgIGNhdGVnb3J5VmFs
dWVzW2NhdGVnb3J5XSA9IDA7Ci0KLSAgICAgICAgICAgIHZhciBzZWdtZW50ID0ge3N0YXJ0OiAt
MSwgZW5kOiAtMX07Ci0KLSAgICAgICAgICAgIHZhciBjYXRlZ29yeVJlc291cmNlcyA9IHJlc291
cmNlc0J5Q2F0ZWdvcnlbY2F0ZWdvcnldOwotICAgICAgICAgICAgdmFyIHJlc291cmNlc0xlbmd0
aCA9IGNhdGVnb3J5UmVzb3VyY2VzLmxlbmd0aDsKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcmVzb3VyY2VzTGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgICAgICB2YXIgcmVzb3Vy
Y2UgPSBjYXRlZ29yeVJlc291cmNlc1tpXTsKLSAgICAgICAgICAgICAgICBpZiAocmVzb3VyY2Uu
c3RhcnRUaW1lID09PSAtMSB8fCByZXNvdXJjZS5lbmRUaW1lID09PSAtMSkKLSAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGVhcmxpZXN0
U3RhcnQgPT09ICJ1bmRlZmluZWQiKQotICAgICAgICAgICAgICAgICAgICBlYXJsaWVzdFN0YXJ0
ID0gcmVzb3VyY2Uuc3RhcnRUaW1lOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgZWFybGllc3RTdGFydCA9IE1hdGgubWluKGVhcmxpZXN0U3RhcnQsIHJlc291cmNl
LnN0YXJ0VGltZSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGxhdGVzdEVuZCA9PT0g
InVuZGVmaW5lZCIpCi0gICAgICAgICAgICAgICAgICAgIGxhdGVzdEVuZCA9IHJlc291cmNlLmVu
ZFRpbWU7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBsYXRlc3RF
bmQgPSBNYXRoLm1heChsYXRlc3RFbmQsIHJlc291cmNlLmVuZFRpbWUpOwotCi0gICAgICAgICAg
ICAgICAgaWYgKHJlc291cmNlLnN0YXJ0VGltZSA8PSBzZWdtZW50LmVuZCkgewotICAgICAgICAg
ICAgICAgICAgICBzZWdtZW50LmVuZCA9IE1hdGgubWF4KHNlZ21lbnQuZW5kLCByZXNvdXJjZS5l
bmRUaW1lKTsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICAgICAgY2F0ZWdvcnlWYWx1ZXNbY2F0ZWdvcnldICs9IHNlZ21lbnQu
ZW5kIC0gc2VnbWVudC5zdGFydDsKLQotICAgICAgICAgICAgICAgIHNlZ21lbnQuc3RhcnQgPSBy
ZXNvdXJjZS5zdGFydFRpbWU7Ci0gICAgICAgICAgICAgICAgc2VnbWVudC5lbmQgPSByZXNvdXJj
ZS5lbmRUaW1lOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAvLyBBZGQgdGhlIGxhc3Qg
c2VnbWVudAotICAgICAgICAgICAgY2F0ZWdvcnlWYWx1ZXNbY2F0ZWdvcnldICs9IHNlZ21lbnQu
ZW5kIC0gc2VnbWVudC5zdGFydDsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiB7Y2F0ZWdv
cnlWYWx1ZXM6IGNhdGVnb3J5VmFsdWVzLCB0b3RhbDogbGF0ZXN0RW5kIC0gZWFybGllc3RTdGFy
dH07Ci0gICAgfSwKLQogICAgIGNvbXB1dGVCYXJHcmFwaFBlcmNlbnRhZ2VzOiBmdW5jdGlvbihy
ZXNvdXJjZSkKICAgICB7CiAgICAgICAgIGlmIChyZXNvdXJjZS5zdGFydFRpbWUgIT09IC0xKQpA
QCAtMTc2OCw2ICsxNjQ1LDEwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZUNhbGN1bGF0b3Iu
cHJvdG90eXBlID0gewogCiBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuTmV0d29ya0Jhc2VDYWxjdWxhdG9yLnByb3Rv
dHlwZTsKIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3Iu
TmV0d29ya1RpbWVDYWxjdWxhdG9yfQorICovCiBXZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVy
VGltZUNhbGN1bGF0b3IgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLk5ldHdvcmtU
aW1lQ2FsY3VsYXRvci5jYWxsKHRoaXMsIGZhbHNlKTsKQEAgLTE3OTIsNiArMTY3MywxMCBAQCBX
ZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVyVGltZUNhbGN1bGF0b3IucHJvdG90eXBlID0gewog
CiBXZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVyVGltZUNhbGN1bGF0b3IucHJvdG90eXBlLl9f
cHJvdG9fXyA9IFdlYkluc3BlY3Rvci5OZXR3b3JrVGltZUNhbGN1bGF0b3IucHJvdG90eXBlOwog
CisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5OZXR3b3Jr
VGltZUNhbGN1bGF0b3J9CisgKi8KIFdlYkluc3BlY3Rvci5OZXR3b3JrVHJhbnNmZXJEdXJhdGlv
bkNhbGN1bGF0b3IgPSBmdW5jdGlvbigpCiB7CiAgICAgV2ViSW5zcGVjdG9yLk5ldHdvcmtUaW1l
Q2FsY3VsYXRvci5jYWxsKHRoaXMsIHRydWUpOwpAQCAtMTgxMSw2ICsxNjk2LDEwIEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrVHJhbnNmZXJEdXJhdGlvbkNhbGN1bGF0b3IucHJvdG90eXBlID0gewog
CiBXZWJJbnNwZWN0b3IuTmV0d29ya1RyYW5zZmVyRHVyYXRpb25DYWxjdWxhdG9yLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuTmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3RvdHlw
ZTsKIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlfQorICovCiBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZSA9IGZ1bmN0
aW9uKHBhcmVudFZpZXcsIHJlc291cmNlKQogewogICAgIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5v
ZGUuY2FsbCh0aGlzLCB7fSk7CkBAIC0yMDMxLDcgKzE5MjAsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9pbml0aWF0
b3JDZWxsLnJlbW92ZUNoaWxkcmVuKCk7CiAgICAgICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2Uu
cmVkaXJlY3RTb3VyY2UpIHsKICAgICAgICAgICAgICAgICB2YXIgcmVkaXJlY3RTb3VyY2UgPSB0
aGlzLl9yZXNvdXJjZS5yZWRpcmVjdFNvdXJjZTsKLSAgICAgICAgICAgICAgICB2YXIgYW5jaG9y
ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUocmVkaXJlY3RTb3VyY2UudXJsLCByZWRp
cmVjdFNvdXJjZS51cmwsIG51bGwsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICB2YXIgYW5jaG9y
ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxBc05vZGUocmVkaXJlY3RTb3VyY2UudXJsLCByZWRp
cmVjdFNvdXJjZS51cmwsIHVuZGVmaW5lZCwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGFuY2hv
ci5zZXRBdHRyaWJ1dGUoInJlcXVlc3RfaWQiLCByZWRpcmVjdFNvdXJjZS5yZXF1ZXN0SWQpOwog
ICAgICAgICAgICAgICAgIGFuY2hvci5zZXRBdHRyaWJ1dGUoInByZWZlcnJlZF9wYW5lbCIsICJu
ZXR3b3JrIik7CiAgICAgICAgICAgICAgICAgdGhpcy5faW5pdGlhdG9yQ2VsbC50aXRsZSA9IHJl
ZGlyZWN0U291cmNlLnVybDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzCmluZGV4IDJkZWJmMThh
MjNkMDIwMTI5MGQzZGQyZTY1MDk0NzZiYWE2NDY0YzIuLmU0N2NmNTQ4NThlNDIyOGZiNjZlMzlk
MGZkZjJlODU0NmJmOGYwMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcwpAQCAtMjc3LDEw
ICsyNzcsNyBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZUVsZW1lbnQuX29yaWdpbmFsVGV4
dENvbnRlbnQgPT09ICJzdHJpbmciKQogICAgICAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQudGV4
dENvbnRlbnQgPSB0aGlzLnZhbHVlRWxlbWVudC5fb3JpZ2luYWxUZXh0Q29udGVudDsKIAotICAg
ICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnKCk7Ci0gICAg
ICAgIGNvbmZpZy5zZXRDb250ZXh0KGNvbnRleHQpOwotICAgICAgICBjb25maWcuc2V0Q29tbWl0
SGFuZGxlcih0aGlzLmVkaXRpbmdDb21taXR0ZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIGNvbmZp
Zy5zZXRDYW5jZWxIYW5kbGVyKHRoaXMuZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpKTsKKyAg
ICAgICAgdmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZyh0aGlzLmVk
aXRpbmdDb21taXR0ZWQuYmluZCh0aGlzKSwgdGhpcy5lZGl0aW5nQ2FuY2VsbGVkLmJpbmQodGhp
cyksIGNvbnRleHQpOwogICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKHRoaXMudmFs
dWVFbGVtZW50LCBjb25maWcpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BhbmVsLmpzCmluZGV4IDgzYjQ4NzdkYjcwY2UwYWFmNzhkMjNjOWZjZTdmMTJm
ZTY3NDRiMGMuLjBjN2IzMjQ5NGQ3NGMwMmRiMDA0YTZmYjFlZDZhNzRjNTg5NzdlN2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwpAQCAtMTI5LDYgKzEy
OSwxMCBAQCBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICB9LAog
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtFbGVtZW50PX0gcGFyZW50RWxlbWVudAorICAgICAq
IEBwYXJhbSB7RWxlbWVudD19IHJlc2l6ZXJQYXJlbnRFbGVtZW50CisgICAgICovCiAgICAgY3Jl
YXRlU2lkZWJhcjogZnVuY3Rpb24ocGFyZW50RWxlbWVudCwgcmVzaXplclBhcmVudEVsZW1lbnQp
CiAgICAgewogICAgICAgICBpZiAodGhpcy5zaWRlYmFyRWxlbWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUG9wb3Zlci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUG9wb3Zlci5qcwppbmRleCAzMjdjM2YwOGUxOTI0ZGRj
ZTVmZTJiMTM5MmFhODYwMzBiMWJmNzJiLi42NGE5ZjcyMjIyY2I3N2I1ZTQ2ODY0MTBmMDM4ZWNj
Nzg1ZDUyYjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1BvcG92ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qb3Bv
dmVyLmpzCkBAIC0xODAsNiArMTgwLDggQEAgV2ViSW5zcGVjdG9yLlBvcG92ZXIucHJvdG90eXBl
ID0gewogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtmdW5jdGlvbigpPX0gb25I
aWRlCisgKiBAcGFyYW0ge2Jvb2xlYW49fSBkaXNhYmxlT25DbGljawogICovCiBXZWJJbnNwZWN0
b3IuUG9wb3ZlckhlbHBlciA9IGZ1bmN0aW9uKHBhbmVsRWxlbWVudCwgZ2V0QW5jaG9yLCBzaG93
UG9wb3Zlciwgb25IaWRlLCBkaXNhYmxlT25DbGljaykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IDA5ZjgyNjc1ZDE2YzBk
NzRhMzMyNDVjZmQ3NGRkN2QxMmQxZDgyYWYuLjgxMDRkOGYyZDI0N2MwODBkYWI4OGU2N2E2ZTM5
OWRmNmI3YTBhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU291cmNlRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VGcmFtZS5qcwpAQCAtNzcwLDkgKzc3MCw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VG
cmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjYWxsYmFjayhjb21taXR0ZWQsIG5ld1Rl
eHQpOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
RWRpdGluZ0NvbmZpZygpOwotICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcihmaW5pc2hF
ZGl0aW5nLmJpbmQodGhpcywgdHJ1ZSkpOwotICAgICAgICBjb25maWcuc2V0Q2FuY2VsSGFuZGxl
cihmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywgZmFsc2UpKTsKKyAgICAgICAgdmFyIGNvbmZpZyA9
IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZyhmaW5pc2hFZGl0aW5nLmJpbmQodGhpcywg
dHJ1ZSksIGZpbmlzaEVkaXRpbmcuYmluZCh0aGlzLCBmYWxzZSkpOwogICAgICAgICBXZWJJbnNw
ZWN0b3Iuc3RhcnRFZGl0aW5nKHRoaXMuX2NvbmRpdGlvbkVkaXRvckVsZW1lbnQsIGNvbmZpZyk7
CiAgICAgICAgIHRoaXMuX2NvbmRpdGlvbkVkaXRvckVsZW1lbnQudmFsdWUgPSBjb25kaXRpb247
CiAgICAgICAgIHRoaXMuX2NvbmRpdGlvbkVkaXRvckVsZW1lbnQuc2VsZWN0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5l
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFu
ZS5qcwppbmRleCA2MGEzZDcyZmZmNmY2YmIwZjIyMjUxODIyM2I2NGFkZTI5MmRlZTVkLi41MTc5
NWFiNjNiN2Y5ZmM4MmZjMDhiMjc3MmQ5OWFjYmFjYmIwYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKQEAg
LTExNzIsOSArMTE3Miw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnRpZXNTZWN0aW9uLnBy
b3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuc2Nyb2xsSW50b1Zp
ZXdJZk5lZWRlZChmYWxzZSk7CiAKLSAgICAgICAgdmFyIGNvbmZpZyA9IG5ldyBXZWJJbnNwZWN0
b3IuRWRpdGluZ0NvbmZpZygpOwotICAgICAgICBjb25maWcuc2V0Q29tbWl0SGFuZGxlcih0aGlz
LmVkaXRpbmdTZWxlY3RvckNvbW1pdHRlZC5iaW5kKHRoaXMpKTsKLSAgICAgICAgY29uZmlnLnNl
dENhbmNlbEhhbmRsZXIodGhpcy5lZGl0aW5nU2VsZWN0b3JDYW5jZWxsZWQuYmluZCh0aGlzKSk7
CisgICAgICAgIHZhciBjb25maWcgPSBuZXcgV2ViSW5zcGVjdG9yLkVkaXRpbmdDb25maWcodGhp
cy5lZGl0aW5nU2VsZWN0b3JDb21taXR0ZWQuYmluZCh0aGlzKSwgdGhpcy5lZGl0aW5nU2VsZWN0
b3JDYW5jZWxsZWQuYmluZCh0aGlzKSk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5zdGFydEVkaXRp
bmcodGhpcy5fc2VsZWN0b3JFbGVtZW50LCBjb25maWcpOwogCiAgICAgICAgIHdpbmRvdy5nZXRT
ZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGVsZW1lbnQsIDAsIGVsZW1lbnQsIDEpOwpAQCAt
MTkwMywxMCArMTkwMSw3IEBAIFdlYkluc3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQu
cHJvdG90eXBlID0gewogICAgICAgICBpZiAoc2VsZWN0RWxlbWVudC5wYXJlbnRFbGVtZW50KQog
ICAgICAgICAgICAgc2VsZWN0RWxlbWVudC5wYXJlbnRFbGVtZW50LnNjcm9sbEludG9WaWV3SWZO
ZWVkZWQoZmFsc2UpOwogCi0gICAgICAgIHZhciBjb25maWcgPSBuZXcgV2ViSW5zcGVjdG9yLkVk
aXRpbmdDb25maWcoKTsKLSAgICAgICAgY29uZmlnLnNldENvbnRleHQoY29udGV4dCk7Ci0gICAg
ICAgIGNvbmZpZy5zZXRDb21taXRIYW5kbGVyKHRoaXMuZWRpdGluZ0NvbW1pdHRlZC5iaW5kKHRo
aXMpKTsKLSAgICAgICAgY29uZmlnLnNldENhbmNlbEhhbmRsZXIodGhpcy5lZGl0aW5nQ2FuY2Vs
bGVkLmJpbmQodGhpcykpOworICAgICAgICB2YXIgY29uZmlnID0gbmV3IFdlYkluc3BlY3Rvci5F
ZGl0aW5nQ29uZmlnKHRoaXMuZWRpdGluZ0NvbW1pdHRlZC5iaW5kKHRoaXMpLCB0aGlzLmVkaXRp
bmdDYW5jZWxsZWQuYmluZCh0aGlzKSwgY29udGV4dCk7CiAgICAgICAgIGNvbmZpZy5zZXRDdXN0
b21GaW5pc2hIYW5kbGVyKG5hbWVWYWx1ZUZpbmlzaEhhbmRsZXIuYmluZCh0aGlzLCBjb250ZXh0
LCBpc0VkaXRpbmdOYW1lKSk7CiAgICAgICAgIGNvbmZpZy5zZXRQYXN0ZUhhbmRsZXIoaXNFZGl0
aW5nTmFtZSA/IHBhc3RlSGFuZGxlci5iaW5kKHRoaXMsIGNvbnRleHQpIDogbnVsbCk7CiAgICAg
ICAgIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcoc2VsZWN0RWxlbWVudCwgY29uZmlnKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVHcmlk
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUdyaWQuanMK
aW5kZXggYmU3YjBmZWNkZjc1ODBjOTkwNWJmMDExZWE3MTdhNzVlMjUwNTgwNC4uMzUyMGZiOTIz
ZjQ1YzFhNmQzNWUzOWYyNjYyNDczOTdiYjE2NzhiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUdyaWQuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUdyaWQuanMKQEAgLTI4LDYgKzI4LDkgQEAK
ICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLwogV2ViSW5zcGVj
dG9yLlRpbWVsaW5lR3JpZCA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLmVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVUlVdGlscy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvVUlVdGlscy5qcwppbmRleCA4ZWM5MzhkZTQ3MzA2ZjJkMjgyNGM5YjBkNzE2NmFh
MjBhYTZiZWU1Li5mZjdlYjIzZTQyZTZhNGU3Y2E5YjU1NDBkM2IxNmRjOTYwZjlhN2RiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJVXRpbHMuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VSVV0aWxzLmpzCkBAIC0xOTMs
MjAgKzE5MywxNSBAQCBXZWJJbnNwZWN0b3IuaXNFZGl0aW5nQW55RmllbGQgPSBmdW5jdGlvbigp
CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCisgKiBAcGFyYW0ge2Z1bmN0aW9uKEVsZW1lbnQsc3Ry
aW5nLHN0cmluZywqLHN0cmluZyl9IGNvbW1pdEhhbmRsZXIKKyAqIEBwYXJhbSB7ZnVuY3Rpb24o
RWxlbWVudCwqKX0gY2FuY2VsSGFuZGxlcgorICogQHBhcmFtIHsqPX0gY29udGV4dAogICovCi1X
ZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZyA9IGZ1bmN0aW9uKCkKK1dlYkluc3BlY3Rvci5FZGl0
aW5nQ29uZmlnID0gZnVuY3Rpb24oY29tbWl0SGFuZGxlciwgY2FuY2VsSGFuZGxlciwgY29udGV4
dCkKIHsKLSAgICAvKioKLSAgICAgKiBIYW5kbGVzIGVkaXRpbmcgImNvbW1pdCIgb3V0Y29tZQot
ICAgICAqIEB0eXBlIHtmdW5jdGlvbihFbGVtZW50LHN0cmluZyxzdHJpbmcsKixzdHJpbmcpfHVu
ZGVmaW5lZH0KLSAgICAgKi8KLSAgICB0aGlzLmNvbW1pdEhhbmRsZXI7Ci0KLSAgICAvKioKLSAg
ICAgKiBIYW5kbGVzIGVkaXRpbmcgImNhbmNlbCIgb3V0Y29tZQotICAgICAqIEB0eXBlIHtmdW5j
dGlvbihFbGVtZW50LCopfHVuZGVmaW5lZH0KLSAgICAgKi8KLSAgICB0aGlzLmNhbmNlbEhhbmRs
ZXI7CisgICAgdGhpcy5jb21taXRIYW5kbGVyID0gY29tbWl0SGFuZGxlcjsKKyAgICB0aGlzLmNh
bmNlbEhhbmRsZXIgPSBjYW5jZWxIYW5kbGVyCisgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsK
IAogICAgIC8qKgogICAgICAqIEhhbmRsZXMgdGhlICJwYXN0ZSIgZXZlbnQsIHJldHVybiB2YWx1
ZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIGZvciBjdXN0b21GaW5pc2hIYW5kbGVyCkBAIC0yMTUs
MTIgKzIxMCw2IEBAIFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnID0gZnVuY3Rpb24oKQogICAg
IHRoaXMucGFzdGVIYW5kbGVyOwogCiAgICAgLyoqIAotICAgICAqIEFuIGFyYml0cmFyeSBjb250
ZXh0IG9iamVjdCB0byBiZSBwYXNzZWQgdG8gdGhlIGNvbW1pdCBhbmQgY2FuY2VsIGhhbmRsZXJz
Ci0gICAgICogQHR5cGUge09iamVjdHx1bmRlZmluZWR9Ci0gICAgICovCi0gICAgdGhpcy5jb250
ZXh0OwotCi0gICAgLyoqIAogICAgICAqIFdoZXRoZXIgdGhlIGVkaXRlZCBlbGVtZW50IGlzIG11
bHRpbGluZQogICAgICAqIEB0eXBlIHtib29sZWFufHVuZGVmaW5lZH0KICAgICAgKi8KQEAgLTIz
NCwyNiArMjIzLDExIEBAIFdlYkluc3BlY3Rvci5FZGl0aW5nQ29uZmlnID0gZnVuY3Rpb24oKQog
fQogCiBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZy5wcm90b3R5cGUgPSB7Ci0gICAgc2V0Q29t
bWl0SGFuZGxlcjogZnVuY3Rpb24oY29tbWl0SGFuZGxlcikKLSAgICB7Ci0gICAgICAgIHRoaXMu
Y29tbWl0SGFuZGxlciA9IGNvbW1pdEhhbmRsZXI7Ci0gICAgfSwKLQotICAgIHNldENhbmNlbEhh
bmRsZXI6IGZ1bmN0aW9uKGNhbmNlbEhhbmRsZXIpCi0gICAgewotICAgICAgICB0aGlzLmNhbmNl
bEhhbmRsZXIgPSBjYW5jZWxIYW5kbGVyOwotICAgIH0sCi0KICAgICBzZXRQYXN0ZUhhbmRsZXI6
IGZ1bmN0aW9uKHBhc3RlSGFuZGxlcikKICAgICB7CiAgICAgICAgIHRoaXMucGFzdGVIYW5kbGVy
ID0gcGFzdGVIYW5kbGVyOwogICAgIH0sCiAKLSAgICBzZXRDb250ZXh0OiBmdW5jdGlvbihjb250
ZXh0KQotICAgIHsKLSAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDsKLSAgICB9LAotCiAg
ICAgc2V0TXVsdGlsaW5lOiBmdW5jdGlvbihtdWx0aWxpbmUpCiAgICAgewogICAgICAgICB0aGlz
Lm11bHRpbGluZSA9IG11bHRpbGluZTsKQEAgLTI3NCw3ICsyNDgsNyBAQCBXZWJJbnNwZWN0b3Iu
c3RhcnRFZGl0aW5nID0gZnVuY3Rpb24oZWxlbWVudCwgY29uZmlnKQogICAgIGlmICghV2ViSW5z
cGVjdG9yLm1hcmtCZWluZ0VkaXRlZChlbGVtZW50LCB0cnVlKSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgY29uZmlnID0gY29uZmlnIHx8IG5ldyBXZWJJbnNwZWN0b3IuRWRpdGluZ0NvbmZpZygp
OworICAgIGNvbmZpZyA9IGNvbmZpZyB8fCBuZXcgV2ViSW5zcGVjdG9yLkVkaXRpbmdDb25maWco
ZnVuY3Rpb24oKSB7fSwgZnVuY3Rpb24oKSB7fSk7CiAgICAgdmFyIGNvbW1pdHRlZENhbGxiYWNr
ID0gY29uZmlnLmNvbW1pdEhhbmRsZXI7CiAgICAgdmFyIGNhbmNlbGxlZENhbGxiYWNrID0gY29u
ZmlnLmNhbmNlbEhhbmRsZXI7CiAgICAgdmFyIHBhc3RlQ2FsbGJhY2sgPSBjb25maWcucGFzdGVI
YW5kbGVyOwpAQCAtMzI4LDggKzMwMiw3IEBAIFdlYkluc3BlY3Rvci5zdGFydEVkaXRpbmcgPSBm
dW5jdGlvbihlbGVtZW50LCBjb25maWcpCiAKICAgICAgICAgY2xlYW5VcEFmdGVyRWRpdGluZy5j
YWxsKHRoaXMpOwogCi0gICAgICAgIGlmIChjYW5jZWxsZWRDYWxsYmFjaykKLSAgICAgICAgICAg
IGNhbmNlbGxlZENhbGxiYWNrKHRoaXMsIGNvbnRleHQpOworICAgICAgICBjYW5jZWxsZWRDYWxs
YmFjayh0aGlzLCBjb250ZXh0KTsKICAgICB9CiAKICAgICAvKiogQHRoaXMge0VsZW1lbnR9ICov
CkBAIC0zMzcsOCArMzEwLDcgQEAgV2ViSW5zcGVjdG9yLnN0YXJ0RWRpdGluZyA9IGZ1bmN0aW9u
KGVsZW1lbnQsIGNvbmZpZykKICAgICB7CiAgICAgICAgIGNsZWFuVXBBZnRlckVkaXRpbmcuY2Fs
bCh0aGlzKTsKIAotICAgICAgICBpZiAoY29tbWl0dGVkQ2FsbGJhY2spCi0gICAgICAgICAgICBj
b21taXR0ZWRDYWxsYmFjayh0aGlzLCBnZXRDb250ZW50KHRoaXMpLCBvbGRUZXh0LCBjb250ZXh0
LCBtb3ZlRGlyZWN0aW9uKTsKKyAgICAgICAgY29tbWl0dGVkQ2FsbGJhY2sodGhpcywgZ2V0Q29u
dGVudCh0aGlzKSwgb2xkVGV4dCwgY29udGV4dCwgbW92ZURpcmVjdGlvbik7CiAgICAgfQogCiAg
ICAgZnVuY3Rpb24gZGVmYXVsdEZpbmlzaEhhbmRsZXIoZXZlbnQpCkBAIC00NDgsMyArNDIwLDI0
IEBAIE51bWJlci5ieXRlc1RvU3RyaW5nID0gZnVuY3Rpb24oYnl0ZXMsIGhpZ2hlclJlc29sdXRp
b24pCiAgICAgZWxzZQogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlLjBm
TUIiLCBtZWdhYnl0ZXMpOwogfQorCisKK1dlYkluc3BlY3Rvci5mb3JtYXRMb2NhbGl6ZWQgPSBm
dW5jdGlvbihmb3JtYXQsIHN1YnN0aXR1dGlvbnMsIGZvcm1hdHRlcnMsIGluaXRpYWxWYWx1ZSwg
YXBwZW5kKQoreworICAgIHJldHVybiBTdHJpbmcuZm9ybWF0KFdlYkluc3BlY3Rvci5VSVN0cmlu
Zyhmb3JtYXQpLCBzdWJzdGl0dXRpb25zLCBmb3JtYXR0ZXJzLCBpbml0aWFsVmFsdWUsIGFwcGVu
ZCk7Cit9CisKK1dlYkluc3BlY3Rvci5vcGVuTGlua0V4dGVybmFsbHlMYWJlbCA9IGZ1bmN0aW9u
KCkKK3sKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYkluc3BlY3Rvci51c2VM
b3dlckNhc2VNZW51VGl0bGVzKCkgPyAiT3BlbiBsaW5rIGluIG5ldyB0YWIiIDogIk9wZW4gTGlu
ayBpbiBOZXcgVGFiIik7Cit9CisKK1dlYkluc3BlY3Rvci5vcGVuSW5OZXR3b3JrUGFuZWxMYWJl
bCA9IGZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKFdlYklu
c3BlY3Rvci51c2VMb3dlckNhc2VNZW51VGl0bGVzKCkgPyAiT3BlbiBpbiBuZXR3b3JrIHBhbmVs
IiA6ICJPcGVuIGluIE5ldHdvcmsgUGFuZWwiKTsKK30KKworV2ViSW5zcGVjdG9yLmNvcHlMaW5r
QWRkcmVzc0xhYmVsID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJDb3B5IGxpbmsg
YWRkcmVzcyIgOiAiQ29weSBMaW5rIEFkZHJlc3MiKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcwppbmRleCA5Njk4ZmY4MzA3ZmE5MDcwMjM3MDJm
ZjQxZTg1MDM2N2M5NWJhZGFmLi43NTJkMGViNTczMDg5MmE0MjQ2N2JlNDlmYTI1NDc1ZjU0YWJm
NWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVy
bnMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpz
CkBAIC0xMDksNiArMTA5LDcgQEAgV2ViSW5zcGVjdG9yLmV4dGVuc2lvblNlcnZlciA9IHt9CiBX
ZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeVJlc291cmNlQ29udGVudENvbW1pdHRl
ZCA9IGZ1bmN0aW9uKHJlc291cmNlLCBjb250ZW50KSB7fQogV2ViSW5zcGVjdG9yLmV4dGVuc2lv
blNlcnZlci5ub3RpZnlQYW5lbFNob3duID0gZnVuY3Rpb24ocGFuZWwpIHt9CiBXZWJJbnNwZWN0
b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeVBhbmVsSGlkZGVuID0gZnVuY3Rpb24ocGFuZWwpIHt9
CitXZWJJbnNwZWN0b3IuZXh0ZW5zaW9uU2VydmVyLm5vdGlmeU9iamVjdFNlbGVjdGVkID0gZnVu
Y3Rpb24ob2JqZWN0KSB7fQogCiAvKioKICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKQEAgLTIxMCwz
ICsyMTEsNSBAQCBXZWJJbnNwZWN0b3IubG9nID0gZnVuY3Rpb24obWVzc2FnZSwgbWVzc2FnZUxl
dmVsLCBzaG93Q29uc29sZSkge30KIFdlYkluc3BlY3Rvci5yZXNvdXJjZVVSTEZvclJlbGF0ZWRO
b2RlID0gZnVuY3Rpb24obm9kZSwgdXJsKSB7fQogCiBXZWJJbnNwZWN0b3IuYWRkTWFpbkV2ZW50
TGlzdGVuZXJzID0gZnVuY3Rpb24oZG9jKSB7fQorCitXZWJJbnNwZWN0b3Iub3BlblJlc291cmNl
ID0gZnVuY3Rpb24odXJsLCBleHRlcm5hbCkge30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggZjRkOTc5NzE4NGJmOTlmMDlhOTQwNzJk
MGVmZTE2NWNjNGY0MjlhNy4uNTU2YTJmNWJkZDQ4ZDEwZGY1MTMwNTMxM2Y4ZjhlYjY5NTk0ZWNl
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKQEAgLTM3NywyMSArMzc3LDYgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICByZXNvdXJj
ZUZvclVSTDogZnVuY3Rpb24odXJsKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMucmVzb3Vy
Y2VUcmVlTW9kZWwucmVzb3VyY2VGb3JVUkwodXJsKTsKLSAgICB9LAotCi0gICAgb3BlbkxpbmtF
eHRlcm5hbGx5TGFiZWw6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1lbnVUaXRsZXMoKSA/ICJP
cGVuIGxpbmsgaW4gbmV3IHRhYiIgOiAiT3BlbiBMaW5rIGluIE5ldyBUYWIiKTsKLSAgICB9LAot
Ci0gICAgb3BlbkluTmV0d29ya1BhbmVsTGFiZWw6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoV2ViSW5zcGVjdG9yLnVzZUxvd2VyQ2FzZU1l
bnVUaXRsZXMoKSA/ICJPcGVuIGluIG5ldHdvcmsgcGFuZWwiIDogIk9wZW4gaW4gTmV0d29yayBQ
YW5lbCIpOwotICAgIH0sCi0KLSAgICBjb3B5TGlua0FkZHJlc3NMYWJlbDogZnVuY3Rpb24oKQot
ICAgIHsKLSAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZyhXZWJJbnNwZWN0b3Iu
dXNlTG93ZXJDYXNlTWVudVRpdGxlcygpID8gIkNvcHkgbGluayBhZGRyZXNzIiA6ICJDb3B5IExp
bmsgQWRkcmVzcyIpOwogICAgIH0KIH0KIApAQCAtMTI5NCwxMSArMTI3OSw2IEBAIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKICAgICByZXR1cm4gU3RyaW5nLnZzcHJp
bnRmKHN0cmluZywgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSk7CiB9
CiAKLVdlYkluc3BlY3Rvci5mb3JtYXRMb2NhbGl6ZWQgPSBmdW5jdGlvbihmb3JtYXQsIHN1YnN0
aXR1dGlvbnMsIGZvcm1hdHRlcnMsIGluaXRpYWxWYWx1ZSwgYXBwZW5kKQotewotICAgIHJldHVy
biBTdHJpbmcuZm9ybWF0KFdlYkluc3BlY3Rvci5VSVN0cmluZyhmb3JtYXQpLCBzdWJzdGl0dXRp
b25zLCBmb3JtYXR0ZXJzLCBpbml0aWFsVmFsdWUsIGFwcGVuZCk7Ci19Ci0KIFdlYkluc3BlY3Rv
ci51c2VMb3dlckNhc2VNZW51VGl0bGVzID0gZnVuY3Rpb24oKQogewogICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IucGxhdGZvcm0gPT09ICJ3aW5kb3dzIiAmJiBQcmVmZXJlbmNlcy51c2VMb3dlckNh
c2VNZW51VGl0bGVzT25XaW5kb3dzOwo=
</data>
<flag name="review"
          id="107512"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>