<?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>108652</bug_id>
          
          <creation_ts>2013-02-01 09:46:31 -0800</creation_ts>
          <short_desc>Web Inspector: Create separate project for each file system added to inspector.</short_desc>
          <delta_ts>2013-02-05 05:54:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>822889</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-01 09:46:31 -0800</bug_when>
    <thetext>This change will eventually give us more flexibility to control file systems from scripts navigator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824150</commentid>
    <comment_count>1</comment_count>
      <attachid>186324</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-04 01:36:30 -0800</bug_when>
    <thetext>Created attachment 186324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825417</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-05 05:54:00 -0800</bug_when>
    <thetext>Committed r141888: &lt;http://trac.webkit.org/changeset/141888&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186324</attachid>
            <date>2013-02-04 01:36:30 -0800</date>
            <delta_ts>2013-02-04 08:58:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-108652-20130204133309.patch</filename>
            <type>text/plain</type>
            <size>36595</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJlZDQ4NmFmZTlmYjMz
YmQwMjRiMzgxMDNjMGJhNTdhZmVmOTZhNi4uM2M4OTJmNzgyYzlkNWYxZTdhN2U5N2E1YjBjOTEw
NDBmOTlhNjY2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEzLTAyLTA0ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IENyZWF0ZSBzZXBhcmF0ZSBwcm9qZWN0IGZvciBlYWNoIGZpbGUgc3lzdGVtIGFkZGVkIHRv
IGluc3BlY3Rvci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODY1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEV2ZXJ5IGZpbGUgc3lzdGVtIGFkZGVkIHRvIHdlYiBpbnNwZWN0b3IgaXMgbm93IHJlcHJl
c2VudGVkIGJ5IGl0cyBvd24gcHJvamVjdCBpbiB3b3Jrc3BhY2UuCisgICAgICAgIEZpbGVTeXN0
ZW1NYXBwaW5nIGNoYW5nZWQgYWNjcm9kaW5nbHkuCisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9y
L2ZpbGUtc3lzdGVtLW1hcHBpbmcuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9GaWxlTWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlTWFwcGluZy5wcm90
b3R5cGUuX2VudHJ5VVJJUHJlZml4KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Zp
bGVTeXN0ZW1NYXBwaW5nLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBw
aW5nLnByb3RvdHlwZS5maWxlRm9yVVJJKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lz
dGVtTWFwcGluZy5wcm90b3R5cGUudXJpRm9yRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RmlsZVN5c3RlbU1hcHBpbmcucHJvdG90eXBlLnVyaVByZWZpeEZvclBhdGhQcmVmaXgpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmdJbXBsLnByb3RvdHlwZS5fbG9hZEZyb21TZXR0aW5n
cy5nZXQgdGhpcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmdJbXBs
LnByb3RvdHlwZS5fbG9hZEZyb21TZXR0aW5ncyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmls
ZVN5c3RlbU1hcHBpbmdJbXBsLnByb3RvdHlwZS5fc2F2ZVRvU2V0dGluZ3MpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbC5wcm90b3R5cGUuc2V0IF9maWxlU3lz
dGVtTmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmdJbXBsLnBy
b3RvdHlwZS5maWxlU3lzdGVtSWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1N
YXBwaW5nSW1wbC5wcm90b3R5cGUuYWRkRmlsZVN5c3RlbU1hcHBpbmcpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbC5wcm90b3R5cGUucmVtb3ZlRmlsZVN5c3Rl
bU1hcHBpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbC5w
cm90b3R5cGUuZmlsZVN5c3RlbVBhdGhzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lz
dGVtTWFwcGluZ0ltcGwucHJvdG90eXBlLmZpbGVGb3JVUkkpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZpbGVTeXN0ZW1NYXBwaW5nSW1wbC5wcm90b3R5cGUudXJpRm9yRmlsZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmdJbXBsLnByb3RvdHlwZS51cmlQcmVmaXhG
b3JQYXRoUHJlZml4KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1X
b3Jrc3BhY2VQcm92aWRlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtV29y
a3NwYWNlUHJvdmlkZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Xb3Jrc3Bh
Y2VQcm92aWRlci5wcm90b3R5cGUuaW5uZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5yZXF1ZXN0RmlsZUNvbnRl
bnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1Xb3Jrc3BhY2VQcm92aWRlci5w
cm90b3R5cGUuc2V0RmlsZUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbGVTeXN0
ZW1Xb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUuX3BvcHVsYXRlLmZpbGVzTG9hZGVkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBl
Ll9wb3B1bGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVBy
b3ZpZGVyLnByb3RvdHlwZS5fYWRkRmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZVN5
c3RlbVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5fcmVtb3ZlRmlsZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5yZXNldCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Jc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Jc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lzdGVtTW9kZWwucHJvdG90eXBlLl9pbm5l
ckFkZEZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLklzb2xhdGVkRmlsZVN5c3Rl
bU1vZGVsLnByb3RvdHlwZS5fZmlsZVN5c3RlbVJlbW92ZWQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvV29ya3NwYWNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3Qu
cHJvdG90eXBlLnNlYXJjaEluRmlsZUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBy
b2plY3QucHJvdG90eXBlLmRpc3Bvc2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLldvcmtzcGFj
ZS5wcm90b3R5cGUucmVtb3ZlUHJvamVjdCk6CisKIDIwMTMtMDItMDMgIEtlbnQgVGFtdXJhICA8
dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBGb2N1c0RpcmVjdGlvbiBhcmd1bWVu
dCB0byBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aGFuZGxlRm9jdXNFdmVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFwcGluZy5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hcHBpbmcuanMKaW5kZXgg
NDVhZWE3ZjQ2ZjU0ZDYwZmU1MzNhNjcxMGIxMDY2NmQzYTc5ODU4Ny4uNjBkOWIxYWRkNmVlZWQy
NTIzNjJkOWNhZjAyMTg1MzM1YjZhMWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9GaWxlTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYXBwaW5nLmpzCkBAIC01OCw3ICs1OCw3IEBAIFdlYkluc3Bl
Y3Rvci5GaWxlTWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2VudHJ5VVJJUHJl
Zml4OiBmdW5jdGlvbihlbnRyeSkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9maWxlU3lz
dGVtTWFwcGluZy51cmlGb3JQYXRoKGVudHJ5LnBhdGhQcmVmaXgpOworICAgICAgICByZXR1cm4g
dGhpcy5fZmlsZVN5c3RlbU1hcHBpbmcudXJpUHJlZml4Rm9yUGF0aFByZWZpeChlbnRyeS5wYXRo
UHJlZml4KTsKICAgICB9LAogICAgIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTWFwcGluZy5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbU1hcHBpbmcuanMKaW5kZXggZjFkZGJi
ZTkzZmEwMTVmMzUwMDlhNDliMmU4NTZiMTEyMTE0YzY0NC4uYzBkODI1MmVlOTEzN2ZkZDE0MzU0
NTY3ZGQ0OGQ4MWE2OWRiMWViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9GaWxlU3lzdGVtTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1NYXBwaW5nLmpzCkBAIC0zMywyMCArMzMsNiBAQAog
ICovCiBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmcgPSBmdW5jdGlvbigpIHsgfQogCi0v
KioKLSAqIEBjb25zdHJ1Y3RvcgotICovCi1XZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmcu
RmlsZURlc2NyaXB0b3IgPSBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCwgZmlsZVBhdGgpCi17Ci0g
ICAgdGhpcy5maWxlU3lzdGVtUGF0aCA9IGZpbGVTeXN0ZW1QYXRoOwotICAgIHRoaXMuZmlsZVBh
dGggPSBmaWxlUGF0aDsKLX0KLQotV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nLkV2ZW50
cyA9IHsKLSAgICBGaWxlU3lzdGVtQWRkZWQ6ICJGaWxlU3lzdGVtQWRkZWQiLAotICAgIEZpbGVT
eXN0ZW1SZW1vdmVkOiAiRmlsZVN5c3RlbVJlbW92ZWQiCi19Ci0KIFdlYkluc3BlY3Rvci5GaWxl
U3lzdGVtTWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHJldHVybiB7QXJy
YXkuPHN0cmluZz59CkBAIC01NCwzNiArNDAsMjQgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1N
YXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICBmaWxlU3lzdGVtUGF0aHM6IGZ1bmN0aW9uKCkgeyB9
LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVTeXN0ZW1QYXRoCiAgICAg
ICogQHBhcmFtIHtzdHJpbmd9IHVyaQotICAgICAqIEByZXR1cm4gez9XZWJJbnNwZWN0b3IuRmls
ZVN5c3RlbU1hcHBpbmcuRmlsZURlc2NyaXB0b3J9CisgICAgICogQHJldHVybiB7P3N0cmluZ30K
ICAgICAgKi8KLSAgICBmaWxlRm9yVVJJOiBmdW5jdGlvbih1cmkpIHsgfSwKKyAgICBmaWxlRm9y
VVJJOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCwgdXJpKSB7IH0sCiAKICAgICAvKioKLSAgICAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGluZy5GaWxlRGVzY3JpcHRvcn0g
ZmlsZURlc2NyaXB0b3IKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZVN5c3RlbVBhdGgKKyAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGgKICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAg
ICAgICovCi0gICAgdXJpRm9yRmlsZTogZnVuY3Rpb24oZmlsZURlc2NyaXB0b3IpIHsgfSwKKyAg
ICB1cmlGb3JGaWxlOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCwgZmlsZVBhdGgpIHsgfSwKIAog
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoCisgICAgICogQHBhcmFtIHtzdHJp
bmd9IHBhdGhQcmVmaXgKICAgICAgKiBAcmV0dXJuIHs/c3RyaW5nfQogICAgICAqLwotICAgIHVy
aUZvclBhdGg6IGZ1bmN0aW9uKHBhdGgpIHsgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBldmVudFR5cGUKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKFdlYkluc3BlY3Rvci5F
dmVudCl9IGxpc3RlbmVyCi0gICAgICogQHBhcmFtIHtPYmplY3Q9fSB0aGlzT2JqZWN0Ci0gICAg
ICovCi0gICAgYWRkRXZlbnRMaXN0ZW5lcjogZnVuY3Rpb24oZXZlbnRUeXBlLCBsaXN0ZW5lciwg
dGhpc09iamVjdCkgeyB9LAotCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50
VHlwZQotICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLkV2ZW50KX0gbGlzdGVu
ZXIKLSAgICAgKiBAcGFyYW0ge09iamVjdD19IHRoaXNPYmplY3QKLSAgICAgKi8KLSAgICByZW1v
dmVFdmVudExpc3RlbmVyOiBmdW5jdGlvbihldmVudFR5cGUsIGxpc3RlbmVyLCB0aGlzT2JqZWN0
KSB7IH0KKyAgICB1cmlQcmVmaXhGb3JQYXRoUHJlZml4OiBmdW5jdGlvbihwYXRoUHJlZml4KSB7
IH0sCiB9CiAKIC8qKgpAQCAtOTYsMTA3ICs3MCwxNDQgQEAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0
ZW1NYXBwaW5nSW1wbCA9IGZ1bmN0aW9uKCkKICAgICBXZWJJbnNwZWN0b3IuT2JqZWN0LmNhbGwo
dGhpcyk7CiAgICAgdGhpcy5fZmlsZVN5c3RlbU1hcHBpbmdTZXR0aW5nID0gV2ViSW5zcGVjdG9y
LnNldHRpbmdzLmNyZWF0ZVNldHRpbmcoImZpbGVTeXN0ZW1NYXBwaW5nIiwge30pOwogICAgIC8q
KiBAdHlwZSB7IU9iamVjdC48c3RyaW5nLCBzdHJpbmc+fSAqLwotICAgIHRoaXMuX21hcHBlZE5h
bWVzID0gdGhpcy5fZmlsZVN5c3RlbU1hcHBpbmdTZXR0aW5nLmdldCgpOworICAgIHRoaXMuX2Zp
bGVTeXN0ZW1QYXRocyA9IHt9OworICAgIC8qKiBAdHlwZSB7IU9iamVjdC48c3RyaW5nLCBzdHJp
bmc+fSAqLworICAgIHRoaXMuX2ZpbGVTeXN0ZW1JZHMgPSB7fTsKKyAgICAvKiogQHR5cGUgeyFP
YmplY3QuPHN0cmluZywgc3RyaW5nPn0gKi8KKyAgICB0aGlzLl9maWxlU3lzdGVtTmFtZXMgPSB7
fTsKKyAgICB0aGlzLl9sb2FkRnJvbVNldHRpbmdzKCk7CiB9CiAKIFdlYkluc3BlY3Rvci5GaWxl
U3lzdGVtTWFwcGluZ0ltcGwucHJvdG90eXBlID0geworICAgIF9sb2FkRnJvbVNldHRpbmdzOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgc2F2ZWRNYXBwaW5nID0gdGhpcy5fZmlsZVN5
c3RlbU1hcHBpbmdTZXR0aW5nLmdldCgpOworICAgICAgICB0aGlzLl9uZXh0VW5pcXVlSWQgPSBz
YXZlZE1hcHBpbmcgPyBzYXZlZE1hcHBpbmcuX25leHRVbmlxdWVJZCB8fCAwIDogMDsKKyAgICAg
ICAgdGhpcy5fZmlsZVN5c3RlbVBhdGhzID0gc2F2ZWRNYXBwaW5nID8gLyoqIEB0eXBlIHshT2Jq
ZWN0LjxzdHJpbmcsIHN0cmluZz59ICovIChzYXZlZE1hcHBpbmcuZmlsZVN5c3RlbVBhdGhzKSB8
fCB7fSA6IHt9OworICAgICAgICBmb3IgKHZhciBpZCBpbiB0aGlzLl9maWxlU3lzdGVtUGF0aHMp
IHsKKyAgICAgICAgICAgIHZhciBmaWxlU3lzdGVtUGF0aCA9IHRoaXMuX2ZpbGVTeXN0ZW1QYXRo
c1tpZF07CisgICAgICAgICAgICB2YXIgbmFtZSA9IHRoaXMuX2ZpbGVTeXN0ZW1OYW1lKGZpbGVT
eXN0ZW1QYXRoKTsKKyAgICAgICAgICAgIHRoaXMuX2ZpbGVTeXN0ZW1JZHNbZmlsZVN5c3RlbVBh
dGhdID0gaWQ7CisgICAgICAgICAgICB0aGlzLl9maWxlU3lzdGVtTmFtZXNbaWRdID0gbmFtZTsK
KyAgICAgICAgfQorICAgIH0sCisKKyAgICBfc2F2ZVRvU2V0dGluZ3M6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHZhciBzYXZlZE1hcHBpbmcgPSB7fTsKKyAgICAgICAgc2F2ZWRNYXBwaW5n
Lm5leHRVbmlxdWVJZCA9IHRoaXMuX25leHRVbmlxdWVJZDsKKyAgICAgICAgc2F2ZWRNYXBwaW5n
LmZpbGVTeXN0ZW1QYXRocyA9IHRoaXMuX2ZpbGVTeXN0ZW1QYXRoczsKKyAgICAgICAgdGhpcy5f
ZmlsZVN5c3RlbU1hcHBpbmdTZXR0aW5nLnNldChzYXZlZE1hcHBpbmcpOworICAgIH0sCisKICAg
ICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmlsZVN5c3RlbVBhdGgKICAgICAgKi8KLSAg
ICBhZGRGaWxlU3lzdGVtTWFwcGluZzogZnVuY3Rpb24oZmlsZVN5c3RlbVBhdGgpCisgICAgX2Zp
bGVTeXN0ZW1OYW1lOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCkKICAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLl9tYXBwZWROYW1lc1tmaWxlU3lzdGVtUGF0aF0pCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIHZhciBwYXRoU2VnbWVudHMgPSBmaWxlU3lzdGVtUGF0aC5zcGxpdCgiLyIpOwot
ICAgICAgICB2YXIgbWFwcGVkTmFtZSA9IHBhdGhTZWdtZW50c1twYXRoU2VnbWVudHMubGVuZ3Ro
IC0gMV07Ci0gICAgICAgIHZhciB1bmlxdWVNYXBwZWROYW1lID0gdGhpcy5fdW5pcXVlTWFwcGVk
TmFtZShtYXBwZWROYW1lKTsKLSAgICAgICAgdGhpcy5fbWFwcGVkTmFtZXNbZmlsZVN5c3RlbVBh
dGhdID0gbWFwcGVkTmFtZTsKLSAgICAgICAgdGhpcy5fZmlsZVN5c3RlbU1hcHBpbmdTZXR0aW5n
LnNldCh0aGlzLl9tYXBwZWROYW1lcyk7Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGluZy5FdmVudHMuRmlsZVN5c3RlbUFk
ZGVkLCBmaWxlU3lzdGVtUGF0aCk7CisgICAgICAgIHZhciBsYXN0SW5kZXhPZlNsYXNoID0gZmls
ZVN5c3RlbVBhdGgubGFzdEluZGV4T2YoIi8iKTsKKyAgICAgICAgcmV0dXJuIGZpbGVTeXN0ZW1Q
YXRoLnN1YnN0cihsYXN0SW5kZXhPZlNsYXNoICsgMSk7CiAgICAgfSwKIAogICAgIC8qKgotICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBtYXBwZWROYW1lCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGZp
bGVTeXN0ZW1QYXRoCisgICAgICogQHJldHVybiB7P3N0cmluZ30KICAgICAgKi8KLSAgICBfdW5p
cXVlTWFwcGVkTmFtZTogZnVuY3Rpb24obWFwcGVkTmFtZSkKKyAgICBmaWxlU3lzdGVtSWQ6IGZ1
bmN0aW9uKGZpbGVTeXN0ZW1QYXRoKQogICAgIHsKLSAgICAgICAgdmFyIHVuaXF1ZU1hcHBlZE5h
bWUgPSBtYXBwZWROYW1lOwotICAgICAgICB2YXIgaSA9IDE7Ci0gICAgICAgIHdoaWxlIChPYmpl
Y3QudmFsdWVzKHRoaXMuX21hcHBlZE5hbWVzKS5pbmRleE9mKHVuaXF1ZU1hcHBlZE5hbWUpICE9
PSAtMSkgewotICAgICAgICAgICAgdW5pcXVlTWFwcGVkTmFtZSA9IG1hcHBlZE5hbWUgKyAiICgi
ICsgaSArICIpIjsKLSAgICAgICAgICAgICsraTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
dW5pcXVlTWFwcGVkTmFtZTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVTeXN0ZW1JZHNbZmls
ZVN5c3RlbVBhdGhdOwogICAgIH0sCiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30g
ZmlsZVN5c3RlbVBhdGgKKyAgICAgKiBAcmV0dXJuIHs/c3RyaW5nfQogICAgICAqLwotICAgIHJl
bW92ZUZpbGVTeXN0ZW1NYXBwaW5nOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCkKKyAgICBhZGRG
aWxlU3lzdGVtTWFwcGluZzogZnVuY3Rpb24oZmlsZVN5c3RlbVBhdGgpCiAgICAgewotICAgICAg
ICB2YXIgdXJpUHJlZml4ID0gdGhpcy5fdXJpUHJlZml4Rm9yTWFwcGVkTmFtZSh0aGlzLl9tYXBw
ZWROYW1lc1tmaWxlU3lzdGVtUGF0aF0pOwotICAgICAgICBkZWxldGUgdGhpcy5fbWFwcGVkTmFt
ZXNbZmlsZVN5c3RlbVBhdGhdOwotICAgICAgICB0aGlzLl9maWxlU3lzdGVtTWFwcGluZ1NldHRp
bmcuc2V0KHRoaXMuX21hcHBlZE5hbWVzKTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9M
aXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBwaW5nLkV2ZW50cy5GaWxlU3lzdGVt
UmVtb3ZlZCwgZmlsZVN5c3RlbVBhdGgpOworICAgICAgICBpZiAodGhpcy5fZmlsZVN5c3RlbUlk
c1tmaWxlU3lzdGVtUGF0aF0pCisgICAgICAgICAgICByZXR1cm4gdGhpcy5fZmlsZVN5c3RlbUlk
c1tmaWxlU3lzdGVtUGF0aF07CisKKyAgICAgICAgdmFyIG5hbWUgPSB0aGlzLl9maWxlU3lzdGVt
TmFtZShmaWxlU3lzdGVtUGF0aCk7CisgICAgICAgIHZhciBpZCA9IFN0cmluZyh0aGlzLl9uZXh0
VW5pcXVlSWQrKykgKyAiQCIgKyBuYW1lOworICAgICAgICB0aGlzLl9maWxlU3lzdGVtSWRzW2Zp
bGVTeXN0ZW1QYXRoXSA9IGlkOworICAgICAgICB0aGlzLl9maWxlU3lzdGVtTmFtZXNbaWRdID0g
bmFtZTsKKyAgICAgICAgdGhpcy5fZmlsZVN5c3RlbVBhdGhzW2lkXSA9IGZpbGVTeXN0ZW1QYXRo
OworICAgICAgICB0aGlzLl9zYXZlVG9TZXR0aW5ncygpOworICAgICAgICBkZWxldGUgdGhpcy5f
Y2FjaGVkVVJJUHJlZml4ZXM7CisgICAgICAgIHJldHVybiBpZDsKICAgICB9LAogCiAgICAgLyoq
Ci0gICAgICogQHJldHVybiB7QXJyYXkuPHN0cmluZz59CisgICAgICogQHBhcmFtIHtzdHJpbmd9
IGZpbGVTeXN0ZW1QYXRoCiAgICAgICovCi0gICAgZmlsZVN5c3RlbVBhdGhzOiBmdW5jdGlvbigp
CisgICAgcmVtb3ZlRmlsZVN5c3RlbU1hcHBpbmc6IGZ1bmN0aW9uKGZpbGVTeXN0ZW1QYXRoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX21hcHBlZE5hbWVzKTsKKyAg
ICAgICAgdmFyIGlkID0gdGhpcy5fZmlsZVN5c3RlbUlkc1tmaWxlU3lzdGVtUGF0aF07CisgICAg
ICAgIGlmICghaWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGRlbGV0ZSB0aGlzLl9m
aWxlU3lzdGVtSWRzW2ZpbGVTeXN0ZW1QYXRoXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2ZpbGVT
eXN0ZW1OYW1lc1tpZF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlU3lzdGVtUGF0aHNbaWRd
OworICAgICAgICB0aGlzLl9zYXZlVG9TZXR0aW5ncygpOworICAgICAgICBkZWxldGUgdGhpcy5f
Y2FjaGVkVVJJUHJlZml4ZXM7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge3N0
cmluZ30KKyAgICAgKiBAcmV0dXJuIHtBcnJheS48c3RyaW5nPn0KICAgICAgKi8KLSAgICBfdXJp
UHJlZml4Rm9yTWFwcGVkTmFtZTogZnVuY3Rpb24obWFwcGVkTmFtZSkKKyAgICBmaWxlU3lzdGVt
UGF0aHM6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiAiZmlsZTovLy8iICsgbWFw
cGVkTmFtZSArICIvIjsKKyAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fZmlsZVN5
c3RlbVBhdGhzKTsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IGZp
bGVTeXN0ZW1QYXRoCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVyaQotICAgICAqIEByZXR1cm4g
ez9XZWJJbnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmcuRmlsZURlc2NyaXB0b3J9CisgICAgICog
QHJldHVybiB7P3N0cmluZ30KICAgICAgKi8KLSAgICBmaWxlRm9yVVJJOiBmdW5jdGlvbih1cmkp
CisgICAgZmlsZUZvclVSSTogZnVuY3Rpb24oZmlsZVN5c3RlbVBhdGgsIHVyaSkKICAgICB7Ci0g
ICAgICAgIGZvciAodmFyIGZpbGVTeXN0ZW1QYXRoIGluIHRoaXMuX21hcHBlZE5hbWVzKSB7Ci0g
ICAgICAgICAgICB2YXIgdXJpUHJlZml4ID0gdGhpcy5fdXJpUHJlZml4Rm9yTWFwcGVkTmFtZSh0
aGlzLl9tYXBwZWROYW1lc1tmaWxlU3lzdGVtUGF0aF0pOwotICAgICAgICAgICAgaWYgKHVyaS5z
dGFydHNXaXRoKHVyaVByZWZpeCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNw
ZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmcuRmlsZURlc2NyaXB0b3IoZmlsZVN5c3RlbVBhdGgsICIv
IiArIHVyaS5zdWJzdHJpbmcodXJpUHJlZml4Lmxlbmd0aCkpOwotICAgICAgICB9Ci0gICAgICAg
IHJldHVybiBudWxsOworICAgICAgICB2YXIgaW5kZXhPZlNsYXNoID0gdXJpLmluZGV4T2YoIi8i
KTsKKyAgICAgICAgdmFyIHVyaUlkID0gdXJpLnN1YnN0cigwLCBpbmRleE9mU2xhc2gpOworICAg
ICAgICB2YXIgaWQgPSB0aGlzLl9maWxlU3lzdGVtSWRzW2ZpbGVTeXN0ZW1QYXRoXQorICAgICAg
ICBpZiAoIXVyaUlkIHx8IHVyaUlkICE9PSBpZCkKKyAgICAgICAgICAgIHJldHVybiBudWxsOwor
ICAgICAgICB2YXIgZmlsZVBhdGggPSB1cmkuc3Vic3RyKGluZGV4T2ZTbGFzaCk7CisgICAgICAg
IHJldHVybiBmaWxlUGF0aDsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuRmlsZVN5c3RlbU1hcHBpbmcuRmlsZURlc2NyaXB0b3J9IGZpbGVEZXNjcmlwdG9y
Ci0gICAgICogQHJldHVybiB7c3RyaW5nfQorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlU3lz
dGVtUGF0aAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aAorICAgICAqIEByZXR1cm4g
ez9zdHJpbmd9CiAgICAgICovCi0gICAgdXJpRm9yRmlsZTogZnVuY3Rpb24oZmlsZURlc2NyaXB0
b3IpCisgICAgdXJpRm9yRmlsZTogZnVuY3Rpb24oZmlsZVN5c3RlbVBhdGgsIGZpbGVQYXRoKQog
ICAgIHsKLSAgICAgICAgdmFyIHVyaVByZWZpeCA9IHRoaXMuX3VyaVByZWZpeEZvck1hcHBlZE5h
bWUodGhpcy5fbWFwcGVkTmFtZXNbZmlsZURlc2NyaXB0b3IuZmlsZVN5c3RlbVBhdGhdKTsKLSAg
ICAgICAgcmV0dXJuIHVyaVByZWZpeCArIGZpbGVEZXNjcmlwdG9yLmZpbGVQYXRoLnN1YnN0cmlu
ZygiLyIubGVuZ3RoKTsKKyAgICAgICAgdmFyIGlkID0gdGhpcy5fZmlsZVN5c3RlbUlkc1tmaWxl
U3lzdGVtUGF0aF07CisgICAgICAgIGlmICghaWQpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsK
KyAgICAgICAgcmV0dXJuIGlkICsgZmlsZVBhdGg7CiAgICAgfSwKICAgICAKICAgICAvKioKLSAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoUHJl
Zml4CiAgICAgICogQHJldHVybiB7P3N0cmluZ30KICAgICAgKi8KLSAgICB1cmlGb3JQYXRoOiBm
dW5jdGlvbihwYXRoKQorICAgIHVyaVByZWZpeEZvclBhdGhQcmVmaXg6IGZ1bmN0aW9uKHBhdGhQ
cmVmaXgpCiAgICAgewotICAgICAgICBmb3IgKHZhciBmaWxlU3lzdGVtUGF0aCBpbiB0aGlzLl9t
YXBwZWROYW1lcykgewotICAgICAgICAgICAgaWYgKHBhdGguc3RhcnRzV2l0aChmaWxlU3lzdGVt
UGF0aCkpIHsKLSAgICAgICAgICAgICAgICB2YXIgdXJpUHJlZml4ID0gdGhpcy5fdXJpUHJlZml4
Rm9yTWFwcGVkTmFtZSh0aGlzLl9tYXBwZWROYW1lc1tmaWxlU3lzdGVtUGF0aF0pOwotICAgICAg
ICAgICAgICAgIHZhciBzdWJQYXRoID0gcGF0aC5zdWJzdHJpbmcoZmlsZVN5c3RlbVBhdGgubGVu
Z3RoKTsKLSAgICAgICAgICAgICAgICBpZiAoc3ViUGF0aC5sZW5ndGggPT09IDApCi0gICAgICAg
ICAgICAgICAgICAgIHJldHVybiB1cmlQcmVmaXg7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAo
c3ViUGF0aFswXSA9PT0gIi8iKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJpUHJlZml4
ICsgc3ViUGF0aC5zdWJzdHJpbmcoIi8iLmxlbmd0aCk7CisgICAgICAgIHRoaXMuX2NhY2hlZFVS
SVByZWZpeGVzID0gdGhpcy5fY2FjaGVkVVJJUHJlZml4ZXMgfHwge307CisgICAgICAgIGlmICh0
aGlzLl9jYWNoZWRVUklQcmVmaXhlcy5oYXNPd25Qcm9wZXJ0eShwYXRoUHJlZml4KSkKKyAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9jYWNoZWRVUklQcmVmaXhlc1twYXRoUHJlZml4XTsKKyAgICAg
ICAgdmFyIHVyaVByZWZpeDsKKyAgICAgICAgZm9yICh2YXIgaWQgaW4gdGhpcy5fZmlsZVN5c3Rl
bVBhdGhzKSB7CisgICAgICAgICAgICB2YXIgZmlsZVN5c3RlbVBhdGggPSB0aGlzLl9maWxlU3lz
dGVtUGF0aHNbaWRdOworICAgICAgICAgICAgaWYgKHBhdGhQcmVmaXguc3RhcnRzV2l0aChmaWxl
U3lzdGVtUGF0aCArICIvIikpIHsKKyAgICAgICAgICAgICAgICB1cmlQcmVmaXggPSBpZCArIHBh
dGhQcmVmaXguc3Vic3RyKGZpbGVTeXN0ZW1QYXRoLmxlbmd0aCk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG51bGw7Cisg
ICAgICAgIHRoaXMuX2NhY2hlZFVSSVByZWZpeGVzW3BhdGhQcmVmaXhdID0gdXJpUHJlZml4Owor
ICAgICAgICByZXR1cm4gdXJpUHJlZml4OwogICAgIH0sCiAKICAgICBfX3Byb3RvX186IFdlYklu
c3BlY3Rvci5PYmplY3QucHJvdG90eXBlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Xb3Jrc3BhY2VQcm92aWRlci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLmpz
CmluZGV4IDU3ZTE1ZDBmZmJkZjc5NDVlOGM1ZWFlYmYzY2FkZTU4ZThiYzNiYzUuLjYwYmNkYTA4
NWI4MWNkNjZlYmUxNTlkMzY4MmQ1ZTg2ODlkMGI1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVdvcmtzcGFj
ZVByb3ZpZGVyLmpzCkBAIC0zNCwxNCArMzQsMTIgQEAKICAqIEBleHRlbmRzIHtXZWJJbnNwZWN0
b3IuT2JqZWN0fQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lzdGVtTW9k
ZWx9IGlzb2xhdGVkRmlsZVN5c3RlbU1vZGVsCiAgKi8KLVdlYkluc3BlY3Rvci5GaWxlU3lzdGVt
V29ya3NwYWNlUHJvdmlkZXIgPSBmdW5jdGlvbihpc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbCkKK1dl
Ykluc3BlY3Rvci5GaWxlU3lzdGVtV29ya3NwYWNlUHJvdmlkZXIgPSBmdW5jdGlvbihpc29sYXRl
ZEZpbGVTeXN0ZW1Nb2RlbCwgZmlsZVN5c3RlbVBhdGgpCiB7CiAgICAgdGhpcy5faXNvbGF0ZWRG
aWxlU3lzdGVtTW9kZWwgPSBpc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbDsKKyAgICB0aGlzLl9maWxl
U3lzdGVtUGF0aCA9IGZpbGVTeXN0ZW1QYXRoOwogICAgIHRoaXMuX2ZpbGVzID0ge307Ci0KICAg
ICB0aGlzLl9wb3B1bGF0ZSgpOwotICAgIHRoaXMuX2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLm1h
cHBpbmcoKS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGluZy5F
dmVudHMuRmlsZVN5c3RlbUFkZGVkLCB0aGlzLl9maWxlU3lzdGVtQWRkZWQsIHRoaXMpOwotICAg
IHRoaXMuX2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLm1hcHBpbmcoKS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGluZy5FdmVudHMuRmlsZVN5c3RlbVJlbW92ZWQs
IHRoaXMuX2ZpbGVTeXN0ZW1SZW1vdmVkLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLkZpbGVT
eXN0ZW1Xb3Jrc3BhY2VQcm92aWRlci5fc2NyaXB0RXh0ZW5zaW9ucyA9IFsianMiLCAiamF2YSIs
ICJjYyIsICJjcHAiLCAiaCIsICJjcyIsICJweSIsICJwaHAiXS5rZXlTZXQoKTsKQEAgLTUzLDE3
ICs1MSwxNyBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICByZXF1ZXN0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVyaSwg
Y2FsbGJhY2spCiAgICAgewotICAgICAgICB2YXIgZmlsZURlc2NyaXB0b3IgPSB0aGlzLl9pc29s
YXRlZEZpbGVTeXN0ZW1Nb2RlbC5tYXBwaW5nKCkuZmlsZUZvclVSSSh1cmkpOwotICAgICAgICBp
ZiAoIWZpbGVEZXNjcmlwdG9yKSB7CisgICAgICAgIHZhciBmaWxlUGF0aCA9IHRoaXMuX2lzb2xh
dGVkRmlsZVN5c3RlbU1vZGVsLm1hcHBpbmcoKS5maWxlRm9yVVJJKHRoaXMuX2ZpbGVTeXN0ZW1Q
YXRoLCB1cmkpOworICAgICAgICBpZiAoIWZpbGVQYXRoKSB7CiAgICAgICAgICAgICBjb25zb2xl
LmVycm9yKCJObyBtYXRjaGluZyBmaWxlIGZvciB1cmk6ICIgKyB1cmkpOwogICAgICAgICAgICAg
Y2FsbGJhY2sobnVsbCwgZmFsc2UsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLk90aGVyLmNh
bm9uaWNhbE1pbWVUeXBlKCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAg
ICAgIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVXRpbHMucmVxdWVzdEZpbGVDb250ZW50KHRoaXMu
X2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLCBmaWxlRGVzY3JpcHRvci5maWxlU3lzdGVtUGF0aCwg
ZmlsZURlc2NyaXB0b3IuZmlsZVBhdGgsIGlubmVyQ2FsbGJhY2suYmluZCh0aGlzKSk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVXRpbHMucmVxdWVzdEZpbGVDb250ZW50KHRoaXMu
X2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLCB0aGlzLl9maWxlU3lzdGVtUGF0aCwgZmlsZVBhdGgs
IGlubmVyQ2FsbGJhY2suYmluZCh0aGlzKSk7CiAgICAgICAgIAogICAgICAgICBmdW5jdGlvbiBp
bm5lckNhbGxiYWNrKGNvbnRlbnQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciBjb250ZW50
VHlwZSA9IHRoaXMuX2NvbnRlbnRUeXBlRm9yUGF0aChmaWxlRGVzY3JpcHRvci5maWxlUGF0aCk7
CisgICAgICAgICAgICB2YXIgY29udGVudFR5cGUgPSB0aGlzLl9jb250ZW50VHlwZUZvclBhdGgo
ZmlsZVBhdGgpOwogICAgICAgICAgICAgY2FsbGJhY2soY29udGVudCwgZmFsc2UsIGNvbnRlbnRU
eXBlLmNhbm9uaWNhbE1pbWVUeXBlKCkpOwogICAgICAgICB9CiAgICAgfSwKQEAgLTc1LDEzICs3
MywxMyBAQCBXZWJJbnNwZWN0b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlw
ZSA9IHsKICAgICAgKi8KICAgICBzZXRGaWxlQ29udGVudDogZnVuY3Rpb24odXJpLCBuZXdDb250
ZW50LCBjYWxsYmFjaykKICAgICB7Ci0gICAgICAgIHZhciBmaWxlRGVzY3JpcHRvciA9IHRoaXMu
X2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLm1hcHBpbmcoKS5maWxlRm9yVVJJKHVyaSk7Ci0gICAg
ICAgIGlmICghZmlsZURlc2NyaXB0b3IpIHsKKyAgICAgICAgdmFyIGZpbGVQYXRoID0gdGhpcy5f
aXNvbGF0ZWRGaWxlU3lzdGVtTW9kZWwubWFwcGluZygpLmZpbGVGb3JVUkkodGhpcy5fZmlsZVN5
c3RlbVBhdGgsIHVyaSk7CisgICAgICAgIGlmICghZmlsZVBhdGgpIHsKICAgICAgICAgICAgIGNv
bnNvbGUuZXJyb3IoIk5vIG1hdGNoaW5nIGZpbGUgZm9yIHVyaTogIiArIHVyaSk7CiAgICAgICAg
ICAgICBjYWxsYmFjaygiIik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1VdGlscy5zZXRGaWxlQ29udGVudCh0aGlzLl9pc29s
YXRlZEZpbGVTeXN0ZW1Nb2RlbCwgZmlsZURlc2NyaXB0b3IuZmlsZVN5c3RlbVBhdGgsIGZpbGVE
ZXNjcmlwdG9yLmZpbGVQYXRoLCBuZXdDb250ZW50LCBjYWxsYmFjay5iaW5kKHRoaXMsICIiKSk7
CisgICAgICAgIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVXRpbHMuc2V0RmlsZUNvbnRlbnQodGhp
cy5faXNvbGF0ZWRGaWxlU3lzdGVtTW9kZWwsIHRoaXMuX2ZpbGVTeXN0ZW1QYXRoLCBmaWxlUGF0
aCwgbmV3Q29udGVudCwgY2FsbGJhY2suYmluZCh0aGlzLCAiIikpOwogICAgIH0sCiAKICAgICAv
KioKQEAgLTEzMSw4MSArMTI5LDQ3IEBAIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtV29ya3NwYWNl
UHJvdmlkZXIucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLnJlc291
cmNlVHlwZXMuT3RoZXI7CiAgICAgfSwKIAotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLkV2ZW50fSBldmVudAotICAgICAqLwotICAgIF9maWxlU3lzdGVtQWRkZWQ6IGZ1bmN0
aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIGZpbGVTeXN0ZW1QYXRoID0gLyoqIEB0eXBl
IHtzdHJpbmd9ICovIChldmVudC5kYXRhKTsKLSAgICAgICAgdGhpcy5fYWRkRmlsZVN5c3RlbShm
aWxlU3lzdGVtUGF0aCk7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLkV2ZW50fSBldmVudAotICAgICAqLwotICAgIF9maWxlU3lzdGVtUmVtb3ZlZDogZnVu
Y3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRCYXRjaFVwZGF0
ZSgpOwotICAgICAgICB2YXIgZmlsZVN5c3RlbVBhdGggPSAvKiogQHR5cGUge3N0cmluZ30gKi8g
KGV2ZW50LmRhdGEpOwotICAgICAgICBmb3IgKHZhciB1cmkgaW4gdGhpcy5fZmlsZXNbZmlsZVN5
c3RlbVBhdGhdKQotICAgICAgICAgICAgdGhpcy5fcmVtb3ZlRmlsZShmaWxlU3lzdGVtUGF0aCwg
dXJpKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmVuZEJhdGNoVXBkYXRlKCk7Ci0gICAgfSwKLQot
ICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlU3lzdGVtUGF0aAotICAgICAqLwot
ICAgIF9hZGRGaWxlU3lzdGVtOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCkKKyAgICBfcG9wdWxh
dGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtVXRp
bHMucmVxdWVzdEZpbGVzUmVjdXJzaXZlKHRoaXMuX2lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLCBm
aWxlU3lzdGVtUGF0aCwgIiIsIGZpbGVzTG9hZGVkLmJpbmQodGhpcykpOworICAgICAgICBXZWJJ
bnNwZWN0b3IuRmlsZVN5c3RlbVV0aWxzLnJlcXVlc3RGaWxlc1JlY3Vyc2l2ZSh0aGlzLl9pc29s
YXRlZEZpbGVTeXN0ZW1Nb2RlbCwgdGhpcy5fZmlsZVN5c3RlbVBhdGgsICIiLCBmaWxlc0xvYWRl
ZC5iaW5kKHRoaXMpKTsKIAogICAgICAgICBmdW5jdGlvbiBmaWxlc0xvYWRlZChmaWxlcykKICAg
ICAgICAgewogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7ICsr
aSkgewotICAgICAgICAgICAgICAgIHZhciB1cmkgPSB0aGlzLl9pc29sYXRlZEZpbGVTeXN0ZW1N
b2RlbC5tYXBwaW5nKCkudXJpRm9yRmlsZShuZXcgV2ViSW5zcGVjdG9yLkZpbGVTeXN0ZW1NYXBw
aW5nLkZpbGVEZXNjcmlwdG9yKGZpbGVTeXN0ZW1QYXRoLCBmaWxlc1tpXSkpOworICAgICAgICAg
ICAgICAgIHZhciB1cmkgPSB0aGlzLl9pc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbC5tYXBwaW5nKCku
dXJpRm9yRmlsZSh0aGlzLl9maWxlU3lzdGVtUGF0aCwgZmlsZXNbaV0pOwogICAgICAgICAgICAg
ICAgIHZhciBjb250ZW50VHlwZSA9IHRoaXMuX2NvbnRlbnRUeXBlRm9yUGF0aChmaWxlc1tpXSk7
CiAgICAgICAgICAgICAgICAgdmFyIHVybCA9IFdlYkluc3BlY3Rvci5maWxlTWFwcGluZy51cmxG
b3JVUkkodXJpKTsKLSAgICAgICAgICAgICAgICB2YXIgZmlsZURlc2NyaXB0b3IgPSBuZXcgV2Vi
SW5zcGVjdG9yLkZpbGVEZXNjcmlwdG9yKHVyaSwgImZpbGU6Ly8iICsgZmlsZVN5c3RlbVBhdGgg
KyBmaWxlc1tpXSwgdXJsLCBjb250ZW50VHlwZSwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgdGhp
cy5fYWRkRmlsZShmaWxlU3lzdGVtUGF0aCwgZmlsZURlc2NyaXB0b3IpOworICAgICAgICAgICAg
ICAgIHZhciBmaWxlRGVzY3JpcHRvciA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsZURlc2NyaXB0b3Io
dXJpLCAiZmlsZTovLyIgKyB0aGlzLl9maWxlU3lzdGVtUGF0aCArIGZpbGVzW2ldLCB1cmwsIGNv
bnRlbnRUeXBlLCB0cnVlKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9hZGRGaWxlKGZpbGVEZXNj
cmlwdG9yKTsKICAgICAgICAgICAgIH0gCiAgICAgICAgIH0KICAgICB9LAogCiAgICAgLyoqCi0g
ICAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVTeXN0ZW1QYXRoCiAgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuRmlsZURlc2NyaXB0b3J9IGZpbGVEZXNjcmlwdG9yCiAgICAgICovCi0gICAgX2Fk
ZEZpbGU6IGZ1bmN0aW9uKGZpbGVTeXN0ZW1QYXRoLCBmaWxlRGVzY3JpcHRvcikKKyAgICBfYWRk
RmlsZTogZnVuY3Rpb24oZmlsZURlc2NyaXB0b3IpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
X2ZpbGVzW2ZpbGVTeXN0ZW1QYXRoXSkKLSAgICAgICAgICAgIHRoaXMuX2ZpbGVzW2ZpbGVTeXN0
ZW1QYXRoXSA9IHt9OwotICAgICAgICB0aGlzLl9maWxlc1tmaWxlU3lzdGVtUGF0aF1bZmlsZURl
c2NyaXB0b3IudXJpXSA9IHRydWU7CisgICAgICAgIGlmICghdGhpcy5fZmlsZXNbdGhpcy5fZmls
ZVN5c3RlbVBhdGhdKQorICAgICAgICAgICAgdGhpcy5fZmlsZXNbdGhpcy5fZmlsZVN5c3RlbVBh
dGhdID0ge307CisgICAgICAgIHRoaXMuX2ZpbGVzW3RoaXMuX2ZpbGVTeXN0ZW1QYXRoXVtmaWxl
RGVzY3JpcHRvci51cmldID0gdHJ1ZTsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyLkV2ZW50cy5GaWxlQWRkZWQsIGZp
bGVEZXNjcmlwdG9yKTsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9
IGZpbGVTeXN0ZW1QYXRoCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVyaQogICAgICAqLwotICAg
IF9yZW1vdmVGaWxlOiBmdW5jdGlvbihmaWxlU3lzdGVtUGF0aCwgdXJpKQorICAgIF9yZW1vdmVG
aWxlOiBmdW5jdGlvbih1cmkpCiAgICAgewotICAgICAgICBkZWxldGUgdGhpcy5fZmlsZXNbZmls
ZVN5c3RlbVBhdGhdW3VyaV07Ci0gICAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9maWxlc1tm
aWxlU3lzdGVtUGF0aF0pLmxlbmd0aCA9PT0gMCkKLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9m
aWxlc1tmaWxlU3lzdGVtUGF0aF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlc1t0aGlzLl9m
aWxlU3lzdGVtUGF0aF1bdXJpXTsKKyAgICAgICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuX2ZpbGVz
W3RoaXMuX2ZpbGVTeXN0ZW1QYXRoXSkubGVuZ3RoID09PSAwKQorICAgICAgICAgICAgZGVsZXRl
IHRoaXMuX2ZpbGVzW3RoaXMuX2ZpbGVTeXN0ZW1QYXRoXTsKICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyLkV2ZW50cy5G
aWxlUmVtb3ZlZCwgdXJpKTsKICAgICB9LAogCi0gICAgX3BvcHVsYXRlOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICB2YXIgZmlsZVN5c3RlbVBhdGhzID0gdGhpcy5faXNvbGF0ZWRGaWxlU3lz
dGVtTW9kZWwubWFwcGluZygpLmZpbGVTeXN0ZW1QYXRocygpOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IGZpbGVTeXN0ZW1QYXRocy5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgICB0aGlz
Ll9hZGRGaWxlU3lzdGVtKGZpbGVTeXN0ZW1QYXRoc1tpXSk7Ci0gICAgfSwKLQogICAgIHJlc2V0
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJvdmlkZXIuRXZlbnRzLlJlc2V0LCBudWxsKTsKLSAg
ICAgICAgdGhpcy5fcG9wdWxhdGUoKTsKICAgICB9LAogICAgIAogICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSXNvbGF0ZWRGaWxlU3lzdGVtTW9kZWwuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lzb2xhdGVkRmlsZVN5c3RlbU1vZGVsLmpzCmluZGV4
IDEzYWRiM2Q2ZWNkMjEyYzdlYzgzMjRkYTFhMjczODNlYzBlM2MwOWUuLmNiMjc4Mjk4YTc1MWM4
YTliNDE4ZWY5OGJiZjNhYzY0ZTVhZjAyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSXNvbGF0ZWRGaWxlU3lzdGVtTW9kZWwuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Jc29sYXRlZEZpbGVTeXN0ZW1Nb2RlbC5qcwpA
QCAtMzQsNiArMzQsNyBAQAogICovCiBXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lzdGVtTW9k
ZWwgPSBmdW5jdGlvbih3b3Jrc3BhY2UpCiB7CisgICAgdGhpcy5fd29ya3NwYWNlID0gd29ya3Nw
YWNlOwogICAgIC8qKiBAdHlwZSB7IU9iamVjdC48c3RyaW5nLCBXZWJJbnNwZWN0b3IuSXNvbGF0
ZWRGaWxlU3lzdGVtTW9kZWwuRmlsZVN5c3RlbT59ICovCiAgICAgdGhpcy5fZmlsZVN5c3RlbXMg
PSB7fTsKICAgICAvKiogQHR5cGUge09iamVjdC48c3RyaW5nLCBBcnJheS48ZnVuY3Rpb24oRE9N
RmlsZVN5c3RlbSk+Pn0gKi8KQEAgLTQyLDkgKzQzLDYgQEAgV2ViSW5zcGVjdG9yLklzb2xhdGVk
RmlsZVN5c3RlbU1vZGVsID0gZnVuY3Rpb24od29ya3NwYWNlKQogCiAgICAgaWYgKHRoaXMuc3Vw
cG9ydHNGaWxlU3lzdGVtcygpKQogICAgICAgICB0aGlzLl9yZXF1ZXN0RmlsZVN5c3RlbXMoKTsK
LQotICAgIHRoaXMuX2ZpbGVTeXN0ZW1Xb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0
b3IuRmlsZVN5c3RlbVdvcmtzcGFjZVByb3ZpZGVyKHRoaXMpOwotICAgIHdvcmtzcGFjZS5hZGRQ
cm9qZWN0KFdlYkluc3BlY3Rvci5wcm9qZWN0TmFtZXMuRmlsZVN5c3RlbSwgdGhpcy5fZmlsZVN5
c3RlbVdvcmtzcGFjZVByb3ZpZGVyKTsKIH0KIAogLyoqIEB0eXBlZGVmIHt7ZmlsZVN5c3RlbU5h
bWU6IHN0cmluZywgcm9vdFVSTDogc3RyaW5nLCBmaWxlU3lzdGVtUGF0aDogc3RyaW5nfX0gKi8K
QEAgLTEwNyw4ICsxMDUsMTEgQEAgV2ViSW5zcGVjdG9yLklzb2xhdGVkRmlsZVN5c3RlbU1vZGVs
LnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBfaW5uZXJBZGRGaWxlU3lzdGVtOiBmdW5jdGlv
bihmaWxlU3lzdGVtKQogICAgIHsKLSAgICAgICAgdGhpcy5fZmlsZVN5c3RlbXNbZmlsZVN5c3Rl
bS5maWxlU3lzdGVtUGF0aF0gPSBmaWxlU3lzdGVtOwotICAgICAgICB0aGlzLl9maWxlU3lzdGVt
TWFwcGluZy5hZGRGaWxlU3lzdGVtTWFwcGluZyhmaWxlU3lzdGVtLmZpbGVTeXN0ZW1QYXRoKTsK
KyAgICAgICAgdmFyIGZpbGVTeXN0ZW1QYXRoID0gZmlsZVN5c3RlbS5maWxlU3lzdGVtUGF0aDsK
KyAgICAgICAgdGhpcy5fZmlsZVN5c3RlbXNbZmlsZVN5c3RlbVBhdGhdID0gZmlsZVN5c3RlbTsK
KyAgICAgICAgdmFyIGZpbGVTeXN0ZW1JZCA9IHRoaXMuX2ZpbGVTeXN0ZW1NYXBwaW5nLmFkZEZp
bGVTeXN0ZW1NYXBwaW5nKGZpbGVTeXN0ZW1QYXRoKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQo
IXRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KGZpbGVTeXN0ZW1JZCkpOworICAgICAgICB0aGlzLl93
b3Jrc3BhY2UuYWRkUHJvamVjdChmaWxlU3lzdGVtSWQsIG5ldyBXZWJJbnNwZWN0b3IuRmlsZVN5
c3RlbVdvcmtzcGFjZVByb3ZpZGVyKHRoaXMsIGZpbGVTeXN0ZW1QYXRoKSk7CiAgICAgfSwKIAog
ICAgIC8qKgpAQCAtMTU0LDkgKzE1NSwxMCBAQCBXZWJJbnNwZWN0b3IuSXNvbGF0ZWRGaWxlU3lz
dGVtTW9kZWwucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9maWxlU3lzdGVtUmVtb3ZlZDog
ZnVuY3Rpb24oZmlsZVN5c3RlbVBhdGgpCiAgICAgewotICAgICAgICBkZWxldGUgdGhpcy5fZmls
ZVN5c3RlbXNbZmlsZVN5c3RlbVBhdGhdOworICAgICAgICB2YXIgZmlsZVN5c3RlbUlkID0gdGhp
cy5fZmlsZVN5c3RlbU1hcHBpbmcuZmlsZVN5c3RlbUlkKGZpbGVTeXN0ZW1QYXRoKTsKKyAgICAg
ICAgdGhpcy5fd29ya3NwYWNlLnJlbW92ZVByb2plY3QoZmlsZVN5c3RlbUlkKTsKICAgICAgICAg
dGhpcy5fZmlsZVN5c3RlbU1hcHBpbmcucmVtb3ZlRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3Rl
bVBhdGgpOwotCisgICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlU3lzdGVtc1tmaWxlU3lzdGVtUGF0
aF07CiAgICAgICAgIGlmICh0aGlzLl9yZW1vdmVGaWxlU3lzdGVtQ2FsbGJhY2spIHsKICAgICAg
ICAgICAgIHRoaXMuX3JlbW92ZUZpbGVTeXN0ZW1DYWxsYmFjayhmaWxlU3lzdGVtUGF0aCk7CiAg
ICAgICAgICAgICBkZWxldGUgdGhpcy5fcmVtb3ZlRmlsZVN5c3RlbUNhbGxiYWNrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcwppbmRleCBjZDRh
YjI1NTA4YjJmNjdkNTk5ZDAxMTdjY2I4ZDBkMzk1YzMyYTYyLi40NTk0YjA2Y2YzZjI0NzE5NTQz
ZTcyYzAzM2U1MzVlOGUyMTdmZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dvcmtzcGFjZS5qcwpAQCAtMjQ4LDYgKzI0OCwxMSBAQCBXZWJJbnNwZWN0b3Iu
UHJvamVjdC5wcm90b3R5cGUgPSB7CiAgICAgc2VhcmNoSW5GaWxlQ29udGVudDogZnVuY3Rpb24o
dXJpLCBxdWVyeSwgY2FzZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJhY2spCiAgICAgewogICAg
ICAgICB0aGlzLl93b3Jrc3BhY2VQcm92aWRlci5zZWFyY2hJbkZpbGVDb250ZW50KHVyaSwgcXVl
cnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKTsKKyAgICB9LAorCisgICAgZGlz
cG9zZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fd29ya3NwYWNlUHJvdmlkZXIu
cmVzZXQoKTsKICAgICB9CiB9CiAKQEAgLTI1Niw4ICsyNjEsNyBAQCBXZWJJbnNwZWN0b3IucHJv
amVjdE5hbWVzID0gewogICAgIExpdmVFZGl0OiAibGl2ZWVkaXQiLAogICAgIENvbXBpbGVyOiAi
Y29tcGlsZXIiLAogICAgIE5ldHdvcms6ICJuZXR3b3JrIiwKLSAgICBTbmlwcGV0czogInNuaXBw
ZXRzIiwKLSAgICBGaWxlU3lzdGVtOiAiZmlsZXN5c3RlbSIKKyAgICBTbmlwcGV0czogInNuaXBw
ZXRzIgogfQogCiAvKioKQEAgLTMxNCw2ICszMTgsMTggQEAgV2ViSW5zcGVjdG9yLldvcmtzcGFj
ZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvamVj
dE5hbWUKKyAgICAgKi8KKyAgICByZW1vdmVQcm9qZWN0OiBmdW5jdGlvbihwcm9qZWN0TmFtZSkK
KyAgICB7CisgICAgICAgIHZhciBwcm9qZWN0ID0gdGhpcy5fcHJvamVjdHNbcHJvamVjdE5hbWVd
OworICAgICAgICBpZiAoIXByb2plY3QpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHBy
b2plY3QuZGlzcG9zZSgpOworICAgICAgICBkZWxldGUgdGhpcy5fcHJvamVjdHNbcHJvamVjdE5h
bWVdOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcHJvamVjdE5h
bWUKICAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuUHJvamVjdH0KICAgICAgKi8KICAgICBw
cm9qZWN0OiBmdW5jdGlvbihwcm9qZWN0TmFtZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMDhmYTY2NzcwOWVhMjUwOTg2
NTdlMjdkMzE2ODY4MjBlNDE5Yzc0Li4wODQ1MmVjMWEzZWRiNzU4YWE1YTNhNmFmM2I0ODUyOTVm
MTc5ZDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDItMDQgIFZzZXZvbG9kIFZsYXNv
diAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ3JlYXRl
IHNlcGFyYXRlIHByb2plY3QgZm9yIGVhY2ggZmlsZSBzeXN0ZW0gYWRkZWQgdG8gaW5zcGVjdG9y
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4NjUy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZmlsZS1tYXBwaW5nLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2ZpbGUtc3lzdGVt
LW1hcHBpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZmlsZS1z
eXN0ZW0tbWFwcGluZy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0wMyAgSGFqaW1lIE1vcnJpdGEg
IDxtb3JyaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkLCBt
YXJraW5nIHNvbWUgYXMgdGltaW5nIG91dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9maWxlLW1hcHBpbmcuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9maWxlLW1hcHBp
bmcuaHRtbAppbmRleCA3ZmQ0MmE4ZDBhZWY5MDY5ZjQ3NzZmYTdlZWViYzg0ZGNjMjBjMmFmLi4y
ZGIxNGRlZWJmYWFkMjZiNTI4Y2FkMWJjOWZlMjcwZTQzYzljOTZhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZmlsZS1tYXBwaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2ZpbGUtbWFwcGluZy5odG1sCkBAIC02LDggKzYsOCBAQCBmdW5jdGlvbiB0ZXN0KCkK
IHsKICAgICBmdW5jdGlvbiBNb2NrRmlsZVN5c3RlbU1hcHBpbmcoKSB7fQogICAgIE1vY2tGaWxl
U3lzdGVtTWFwcGluZy5wcm90b3R5cGUgPSB7Ci0gICAgICAgIHVyaUZvclBhdGg6IGZ1bmN0aW9u
KHBhdGgpIHsKLSAgICAgICAgICAgIHJldHVybiAidXJpOiIgKyBwYXRoOworICAgICAgICB1cmlQ
cmVmaXhGb3JQYXRoUHJlZml4OiBmdW5jdGlvbihwYXRoUHJlZml4KSB7CisgICAgICAgICAgICBy
ZXR1cm4gInVyaToiICsgcGF0aFByZWZpeDsKICAgICAgICAgfQogICAgIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9maWxlLXN5c3RlbS1tYXBwaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9maWxlLXN5c3RlbS1tYXBwaW5nLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NDJmNTg1MDU5MmJmNzc2Mjg0ZTBkZmM0MDQ0YzcwYjZjNTgyNWZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2ZpbGUtc3lzdGVtLW1hcHBp
bmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTM2IEBACitUZXN0cyBGaWxlU3lzdGVtTWFwcGlu
ZworCitUZXN0aW5nIGZpbGUgc3lzdGVtIG1hcHBpbmcuCisgICAgZmlsZSBzeXN0ZW0gcGF0aGVz
OgorICAgIHVyaVByZWZpeEZvclBhdGhQcmVmaXg6CisgICAgdXJpRm9yRmlsZToKKyAgICBmaWxl
Rm9yVVJJOgorCitBZGRpbmcgZmlsZSBzeXN0ZW0gL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvZm9v
CitUZXN0aW5nIGZpbGUgc3lzdGVtIG1hcHBpbmcuCisgICAgZmlsZSBzeXN0ZW0gcGF0aGVzOgor
ICAgICAtIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyhpZCA9IDBAZm9vKQorICAgIHVyaVBy
ZWZpeEZvclBhdGhQcmVmaXg6CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyA9
PiAwQGZvby8KKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvZm9vID0+IDBAZm9vLwor
ICAgIHVyaUZvckZpbGU6CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbywgL2Zv
by50eHQgPT4gMEBmb28vZm9vLnR4dAorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9m
b28sIC9zcmMvZm9vLmNwcCA9PiAwQGZvby9zcmMvZm9vLmNwcAorICAgIGZpbGVGb3JVUkk6Cisg
ICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbywgMEBmb28vZm9vLnR4dCA9PiAvZm9v
LnR4dAorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28sIDBAZm9vL3NyYy9mb28u
Y3BwID0+IC9zcmMvZm9vLmNwcAorCitBZGRpbmcgZmlsZSBzeXN0ZW0gL2hvbWUvdXNlcm5hbWUv
cHJvamVjdHMvYmFyCitUZXN0aW5nIGZpbGUgc3lzdGVtIG1hcHBpbmcuCisgICAgZmlsZSBzeXN0
ZW0gcGF0aGVzOgorICAgICAtIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyhpZCA9IDBAZm9v
KQorICAgICAtIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2JhcihpZCA9IDFAYmFyKQorICAgIHVy
aVByZWZpeEZvclBhdGhQcmVmaXg6CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2Zv
byA9PiAwQGZvby8KKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvZm9vID0+IDBAZm9v
LworICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIgPT4gMUBiYXIvCisgICAgICAg
IC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciA9PiAxQGJhci8KKyAgICB1cmlGb3JGaWxlOgor
ICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28sIC9mb28udHh0ID0+IDBAZm9vL2Zv
by50eHQKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvZm9vLCAvc3JjL2Zvby5jcHAg
PT4gMEBmb28vc3JjL2Zvby5jcHAKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvYmFy
LCAvYmFyLnR4dCA9PiAxQGJhci9iYXIudHh0CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2pl
Y3RzL2JhciwgL3NyYy9iYXIuY3BwID0+IDFAYmFyL3NyYy9iYXIuY3BwCisgICAgZmlsZUZvclVS
SToKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvZm9vLCAwQGZvby9mb28udHh0ID0+
IC9mb28udHh0CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbywgMEBmb28vc3Jj
L2Zvby5jcHAgPT4gL3NyYy9mb28uY3BwCisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3Rz
L2JhciwgMUBiYXIvYmFyLnR4dCA9PiAvYmFyLnR4dAorICAgICAgICAvaG9tZS91c2VybmFtZS9w
cm9qZWN0cy9iYXIsIDFAYmFyL3NyYy9iYXIuY3BwID0+IC9zcmMvYmFyLmNwcAorCitBZGRpbmcg
ZmlsZSBzeXN0ZW0gL3d3dy9zaXRlMQorVGVzdGluZyBmaWxlIHN5c3RlbSBtYXBwaW5nLgorICAg
IGZpbGUgc3lzdGVtIHBhdGhlczoKKyAgICAgLSAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28o
aWQgPSAwQGZvbykKKyAgICAgLSAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIoaWQgPSAxQGJh
cikKKyAgICAgLSAvd3d3L3NpdGUxKGlkID0gMkBzaXRlMSkKKyAgICB1cmlQcmVmaXhGb3JQYXRo
UHJlZml4OgorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28gPT4gMEBmb28vCisg
ICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyA9PiAwQGZvby8KKyAgICAgICAgL2hv
bWUvdXNlcm5hbWUvcHJvamVjdHMvYmFyID0+IDFAYmFyLworICAgICAgICAvaG9tZS91c2VybmFt
ZS9wcm9qZWN0cy9iYXIgPT4gMUBiYXIvCisgICAgICAgIC93d3cvc2l0ZTEgPT4gMkBzaXRlMS8K
KyAgICB1cmlGb3JGaWxlOgorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28sIC9m
b28udHh0ID0+IDBAZm9vL2Zvby50eHQKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMv
Zm9vLCAvc3JjL2Zvby5jcHAgPT4gMEBmb28vc3JjL2Zvby5jcHAKKyAgICAgICAgL2hvbWUvdXNl
cm5hbWUvcHJvamVjdHMvYmFyLCAvYmFyLnR4dCA9PiAxQGJhci9iYXIudHh0CisgICAgICAgIC9o
b21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciwgL3NyYy9iYXIuY3BwID0+IDFAYmFyL3NyYy9iYXIu
Y3BwCisgICAgICAgIC93d3cvc2l0ZTEsIC9zaXRlMS50eHQgPT4gMkBzaXRlMS9zaXRlMS50eHQK
KyAgICBmaWxlRm9yVVJJOgorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28sIDBA
Zm9vL2Zvby50eHQgPT4gL2Zvby50eHQKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMv
Zm9vLCAwQGZvby9zcmMvZm9vLmNwcCA9PiAvc3JjL2Zvby5jcHAKKyAgICAgICAgL2hvbWUvdXNl
cm5hbWUvcHJvamVjdHMvYmFyLCAxQGJhci9iYXIudHh0ID0+IC9iYXIudHh0CisgICAgICAgIC9o
b21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciwgMUBiYXIvc3JjL2Jhci5jcHAgPT4gL3NyYy9iYXIu
Y3BwCisgICAgICAgIC93d3cvc2l0ZTEsIDJAc2l0ZTEvc2l0ZTEudHh0ID0+IC9zaXRlMS50eHQK
KworQ3JlYXRpbmcgYW5vdGhlciBmaWxlIHN5c3RlbSBtYXBwaW5nLgorVGVzdGluZyBmaWxlIHN5
c3RlbSBtYXBwaW5nLgorICAgIGZpbGUgc3lzdGVtIHBhdGhlczoKKyAgICAgLSAvaG9tZS91c2Vy
bmFtZS9wcm9qZWN0cy9mb28oaWQgPSAwQGZvbykKKyAgICAgLSAvaG9tZS91c2VybmFtZS9wcm9q
ZWN0cy9iYXIoaWQgPSAxQGJhcikKKyAgICAgLSAvd3d3L3NpdGUxKGlkID0gMkBzaXRlMSkKKyAg
ICB1cmlQcmVmaXhGb3JQYXRoUHJlZml4OgorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0
cy9mb28gPT4gMEBmb28vCisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyA9PiAw
QGZvby8KKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvYmFyID0+IDFAYmFyLworICAg
ICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIgPT4gMUBiYXIvCisgICAgICAgIC93d3cv
c2l0ZTEgPT4gMkBzaXRlMS8KKyAgICB1cmlGb3JGaWxlOgorICAgICAgICAvaG9tZS91c2VybmFt
ZS9wcm9qZWN0cy9mb28sIC9mb28udHh0ID0+IDBAZm9vL2Zvby50eHQKKyAgICAgICAgL2hvbWUv
dXNlcm5hbWUvcHJvamVjdHMvZm9vLCAvc3JjL2Zvby5jcHAgPT4gMEBmb28vc3JjL2Zvby5jcHAK
KyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvYmFyLCAvYmFyLnR4dCA9PiAxQGJhci9i
YXIudHh0CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciwgL3NyYy9iYXIuY3Bw
ID0+IDFAYmFyL3NyYy9iYXIuY3BwCisgICAgICAgIC93d3cvc2l0ZTEsIC9zaXRlMS50eHQgPT4g
MkBzaXRlMS9zaXRlMS50eHQKKyAgICBmaWxlRm9yVVJJOgorICAgICAgICAvaG9tZS91c2VybmFt
ZS9wcm9qZWN0cy9mb28sIDBAZm9vL2Zvby50eHQgPT4gL2Zvby50eHQKKyAgICAgICAgL2hvbWUv
dXNlcm5hbWUvcHJvamVjdHMvZm9vLCAwQGZvby9zcmMvZm9vLmNwcCA9PiAvc3JjL2Zvby5jcHAK
KyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvYmFyLCAxQGJhci9iYXIudHh0ID0+IC9i
YXIudHh0CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciwgMUBiYXIvc3JjL2Jh
ci5jcHAgPT4gL3NyYy9iYXIuY3BwCisgICAgICAgIC93d3cvc2l0ZTEsIDJAc2l0ZTEvc2l0ZTEu
dHh0ID0+IC9zaXRlMS50eHQKKworUmVtb3ZpbmcgZmlsZSBzeXN0ZW0gL3d3dy9zaXRlMQorVGVz
dGluZyBmaWxlIHN5c3RlbSBtYXBwaW5nLgorICAgIGZpbGUgc3lzdGVtIHBhdGhlczoKKyAgICAg
LSAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28oaWQgPSAwQGZvbykKKyAgICAgLSAvaG9tZS91
c2VybmFtZS9wcm9qZWN0cy9iYXIoaWQgPSAxQGJhcikKKyAgICB1cmlQcmVmaXhGb3JQYXRoUHJl
Zml4OgorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28gPT4gMEBmb28vCisgICAg
ICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbyA9PiAwQGZvby8KKyAgICAgICAgL2hvbWUv
dXNlcm5hbWUvcHJvamVjdHMvYmFyID0+IDFAYmFyLworICAgICAgICAvaG9tZS91c2VybmFtZS9w
cm9qZWN0cy9iYXIgPT4gMUBiYXIvCisgICAgdXJpRm9yRmlsZToKKyAgICAgICAgL2hvbWUvdXNl
cm5hbWUvcHJvamVjdHMvZm9vLCAvZm9vLnR4dCA9PiAwQGZvby9mb28udHh0CisgICAgICAgIC9o
b21lL3VzZXJuYW1lL3Byb2plY3RzL2ZvbywgL3NyYy9mb28uY3BwID0+IDBAZm9vL3NyYy9mb28u
Y3BwCisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2JhciwgL2Jhci50eHQgPT4gMUBi
YXIvYmFyLnR4dAorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIsIC9zcmMvYmFy
LmNwcCA9PiAxQGJhci9zcmMvYmFyLmNwcAorICAgIGZpbGVGb3JVUkk6CisgICAgICAgIC9ob21l
L3VzZXJuYW1lL3Byb2plY3RzL2ZvbywgMEBmb28vZm9vLnR4dCA9PiAvZm9vLnR4dAorICAgICAg
ICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9mb28sIDBAZm9vL3NyYy9mb28uY3BwID0+IC9zcmMv
Zm9vLmNwcAorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIsIDFAYmFyL2Jhci50
eHQgPT4gL2Jhci50eHQKKyAgICAgICAgL2hvbWUvdXNlcm5hbWUvcHJvamVjdHMvYmFyLCAxQGJh
ci9zcmMvYmFyLmNwcCA9PiAvc3JjL2Jhci5jcHAKKworUmVtb3ZpbmcgZmlsZSBzeXN0ZW0gL2hv
bWUvdXNlcm5hbWUvcHJvamVjdHMvZm9vCitUZXN0aW5nIGZpbGUgc3lzdGVtIG1hcHBpbmcuCisg
ICAgZmlsZSBzeXN0ZW0gcGF0aGVzOgorICAgICAtIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2Jh
cihpZCA9IDFAYmFyKQorICAgIHVyaVByZWZpeEZvclBhdGhQcmVmaXg6CisgICAgICAgIC9ob21l
L3VzZXJuYW1lL3Byb2plY3RzL2JhciA9PiAxQGJhci8KKyAgICAgICAgL2hvbWUvdXNlcm5hbWUv
cHJvamVjdHMvYmFyID0+IDFAYmFyLworICAgIHVyaUZvckZpbGU6CisgICAgICAgIC9ob21lL3Vz
ZXJuYW1lL3Byb2plY3RzL2JhciwgL2Jhci50eHQgPT4gMUBiYXIvYmFyLnR4dAorICAgICAgICAv
aG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIsIC9zcmMvYmFyLmNwcCA9PiAxQGJhci9zcmMvYmFy
LmNwcAorICAgIGZpbGVGb3JVUkk6CisgICAgICAgIC9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2Jh
ciwgMUBiYXIvYmFyLnR4dCA9PiAvYmFyLnR4dAorICAgICAgICAvaG9tZS91c2VybmFtZS9wcm9q
ZWN0cy9iYXIsIDFAYmFyL3NyYy9iYXIuY3BwID0+IC9zcmMvYmFyLmNwcAorCitSZW1vdmluZyBm
aWxlIHN5c3RlbSAvaG9tZS91c2VybmFtZS9wcm9qZWN0cy9iYXIKK1Rlc3RpbmcgZmlsZSBzeXN0
ZW0gbWFwcGluZy4KKyAgICBmaWxlIHN5c3RlbSBwYXRoZXM6CisgICAgdXJpUHJlZml4Rm9yUGF0
aFByZWZpeDoKKyAgICB1cmlGb3JGaWxlOgorICAgIGZpbGVGb3JVUkk6CisKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2ZpbGUtc3lzdGVtLW1hcHBpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9maWxlLXN5c3RlbS1tYXBwaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRi
YzcxYjI0YzQ3YWFmYTY0MmE1OWM0ZjY4Mzg3MTM1OWYyOWRkNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9maWxlLXN5c3RlbS1tYXBwaW5nLmh0bWwKQEAgLTAsMCAr
MSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRl
c3QoKQoreworICAgIHZhciBwYXRoZXMgPSB7CisgICAgICAgIEZPTzogIi9ob21lL3VzZXJuYW1l
L3Byb2plY3RzL2ZvbyIsCisgICAgICAgIEJBUjogIi9ob21lL3VzZXJuYW1lL3Byb2plY3RzL2Jh
ciIsCisgICAgICAgIFNJVEUxOiAiL3d3dy9zaXRlMSIKKyAgICB9OworICAgIHZhciBmaWxlcyA9
IFt7ZmlsZVN5c3RlbVBhdGg6IHBhdGhlcy5GT08sIGZpbGVQYXRoOiAiL2Zvby50eHQifSwKKyAg
ICAgICAgICAgICAgICAge2ZpbGVTeXN0ZW1QYXRoOiBwYXRoZXMuRk9PLCBmaWxlUGF0aDogIi9z
cmMvZm9vLmNwcCJ9LAorICAgICAgICAgICAgICAgICB7ZmlsZVN5c3RlbVBhdGg6IHBhdGhlcy5C
QVIsIGZpbGVQYXRoOiAiL2Jhci50eHQifSwKKyAgICAgICAgICAgICAgICAge2ZpbGVTeXN0ZW1Q
YXRoOiBwYXRoZXMuQkFSLCBmaWxlUGF0aDogIi9zcmMvYmFyLmNwcCJ9LAorICAgICAgICAgICAg
ICAgICB7ZmlsZVN5c3RlbVBhdGg6IHBhdGhlcy5TSVRFMSwgZmlsZVBhdGg6ICIvc2l0ZTEudHh0
In1dOworCisgICAgZnVuY3Rpb24gYWRkRmlsZVN5c3RlbShmaWxlU3lzdGVtTWFwcGluZywgcGF0
aCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJBZGRpbmcgZmlsZSBz
eXN0ZW0gIiArIHBhdGgpOworICAgICAgICBmaWxlU3lzdGVtTWFwcGluZy5hZGRGaWxlU3lzdGVt
TWFwcGluZyhwYXRoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByZW1vdmVGaWxlU3lzdGVtKGZp
bGVTeXN0ZW1NYXBwaW5nLCBwYXRoKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRS
ZXN1bHQoIlJlbW92aW5nIGZpbGUgc3lzdGVtICIgKyBwYXRoKTsKKyAgICAgICAgZmlsZVN5c3Rl
bU1hcHBpbmcucmVtb3ZlRmlsZVN5c3RlbU1hcHBpbmcocGF0aCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gY2hlY2tBbmREdW1wRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3RlbU1hcHBpbmcpCisg
ICAgeworICAgICAgICB2YXIgZmlsZVN5c3RlbVBhdGhzID0gZmlsZVN5c3RlbU1hcHBpbmcuZmls
ZVN5c3RlbVBhdGhzKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0aW5n
IGZpbGUgc3lzdGVtIG1hcHBpbmcuIik7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCIgICAgZmlsZSBzeXN0ZW0gcGF0aGVzOiIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGZpbGVTeXN0ZW1QYXRocy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIGlkID0gZmls
ZVN5c3RlbU1hcHBpbmcuZmlsZVN5c3RlbUlkKGZpbGVTeXN0ZW1QYXRoc1tpXSk7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiICAgICAtICIgKyBmaWxlU3lzdGVtUGF0aHNb
aV0gKyAiKGlkID0gIiArIGlkICsgIikiKTsKKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiICAgIHVyaVByZWZpeEZvclBhdGhQcmVmaXg6Iik7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBw
YXRoUHJlZml4ID0gZmlsZXNbaV0uZmlsZVN5c3RlbVBhdGg7CisgICAgICAgICAgICB2YXIgdXJp
UHJlZml4ID0gZmlsZVN5c3RlbU1hcHBpbmcudXJpUHJlZml4Rm9yUGF0aFByZWZpeChwYXRoUHJl
Zml4ICsgIi8iKTsKKyAgICAgICAgICAgIGlmICghdXJpUHJlZml4KQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICAgICAg
IiArIHBhdGhQcmVmaXggKyAiID0+ICIgKyB1cmlQcmVmaXgpOworICAgICAgICB9CisKKyAgICAg
ICAgdmFyIHVyaXMgPSBbXTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB1
cmlGb3JGaWxlOiIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICB2YXIgdXJpID0gZmlsZVN5c3RlbU1hcHBpbmcudXJpRm9yRmls
ZShmaWxlc1tpXS5maWxlU3lzdGVtUGF0aCwgZmlsZXNbaV0uZmlsZVBhdGgpOworICAgICAgICAg
ICAgdXJpcy5wdXNoKHVyaSk7CisgICAgICAgICAgICBpZiAoIXVyaSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAg
ICIgKyBmaWxlc1tpXS5maWxlU3lzdGVtUGF0aCArICIsICIgKyBmaWxlc1tpXS5maWxlUGF0aCAr
ICIgPT4gIiArIHVyaSk7CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1
bHQoIiAgICBmaWxlRm9yVVJJOiIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAoIXVyaXNbaV0pCisgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICB2YXIgZmlsZVBhdGggPSBmaWxlU3lzdGVtTWFwcGlu
Zy5maWxlRm9yVVJJKGZpbGVzW2ldLmZpbGVTeXN0ZW1QYXRoLCB1cmlzW2ldKTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIgICAgICAgICIgKyBmaWxlc1tpXS5maWxlU3lz
dGVtUGF0aCArICIsICIgKyB1cmlzW2ldICsgIiA9PiAiICsgZmlsZVBhdGgpOworICAgICAgICB9
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKyAgICB9CisKKyAgICAvLyBB
dCBmaXJzdCBjcmVhdGUgZmlsZSBzeXN0ZW0gbWFwcGluZyBhbmQgY2xlYXIgaXQuCisgICAgdmFy
IGZpbGVTeXN0ZW1NYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGluZ0lt
cGwoKTsKKyAgICB2YXIgZmlsZVN5c3RlbVBhdGhzID0gZmlsZVN5c3RlbU1hcHBpbmcuZmlsZVN5
c3RlbVBhdGhzKCk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlU3lzdGVtUGF0aHMubGVu
Z3RoOyArK2kpCisgICAgICAgIGZpbGVTeXN0ZW1NYXBwaW5nLnJlbW92ZUZpbGVTeXN0ZW1NYXBw
aW5nKGZpbGVTeXN0ZW1QYXRoc1tpXSk7CisgICAgCisgICAgLy8gTm93IGZpbGwgaXQgd2l0aCBm
aWxlIHN5c3RlbXMgYW5kIHRlc3QuCisgICAgY2hlY2tBbmREdW1wRmlsZVN5c3RlbU1hcHBpbmco
ZmlsZVN5c3RlbU1hcHBpbmcpOworICAgIGFkZEZpbGVTeXN0ZW0oZmlsZVN5c3RlbU1hcHBpbmcs
IHBhdGhlcy5GT08pCisgICAgY2hlY2tBbmREdW1wRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3Rl
bU1hcHBpbmcpOworICAgIGFkZEZpbGVTeXN0ZW0oZmlsZVN5c3RlbU1hcHBpbmcsIHBhdGhlcy5C
QVIpCisgICAgY2hlY2tBbmREdW1wRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3RlbU1hcHBpbmcp
OworICAgIGFkZEZpbGVTeXN0ZW0oZmlsZVN5c3RlbU1hcHBpbmcsIHBhdGhlcy5TSVRFMSkKKyAg
ICBjaGVja0FuZER1bXBGaWxlU3lzdGVtTWFwcGluZyhmaWxlU3lzdGVtTWFwcGluZyk7CisKKyAg
ICAvLyBUaGVuIGNyZWF0ZSBhbm90aGVyIGZpbGUgbWFwcGluZyB0byBtYWtlIHN1cmUgaXQgaXMg
Y29ycmVjdGx5IHJlc3RvcmVkIGZyb20gdGhlIHNldHRpbmdzLgorICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCJDcmVhdGluZyBhbm90aGVyIGZpbGUgc3lzdGVtIG1hcHBpbmcuIik7CisgICAg
dmFyIGZpbGVTeXN0ZW1NYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlU3lzdGVtTWFwcGlu
Z0ltcGwoKTsKKyAgICBjaGVja0FuZER1bXBGaWxlU3lzdGVtTWFwcGluZyhmaWxlU3lzdGVtTWFw
cGluZyk7CisKKyAgICAvLyBOb3cgcmVtb3ZlIGZpbGUgc3lzdGVtcyBhbmQgdGVzdC4KKyAgICBy
ZW1vdmVGaWxlU3lzdGVtKGZpbGVTeXN0ZW1NYXBwaW5nLCBwYXRoZXMuU0lURTEpCisgICAgY2hl
Y2tBbmREdW1wRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3RlbU1hcHBpbmcpOworICAgIHJlbW92
ZUZpbGVTeXN0ZW0oZmlsZVN5c3RlbU1hcHBpbmcsIHBhdGhlcy5GT08pCisgICAgY2hlY2tBbmRE
dW1wRmlsZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3RlbU1hcHBpbmcpOworICAgIHJlbW92ZUZpbGVT
eXN0ZW0oZmlsZVN5c3RlbU1hcHBpbmcsIHBhdGhlcy5CQVIpCisgICAgY2hlY2tBbmREdW1wRmls
ZVN5c3RlbU1hcHBpbmcoZmlsZVN5c3RlbU1hcHBpbmcpOworCisgICAgSW5zcGVjdG9yVGVzdC5j
b21wbGV0ZVRlc3QoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHA+VGVzdHMgRmlsZVN5c3RlbU1hcHBpbmc8L3A+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>
<flag name="review"
          id="205726"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>