<?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>106635</bug_id>
          
          <creation_ts>2013-01-11 00:08:47 -0800</creation_ts>
          <short_desc>Web Inspector: Refactoring, move NetworkWorkspaceProvider to NetworkUISourceCodeProvider.js and rename its parent to SimpleWorkspaceProvider.</short_desc>
          <delta_ts>2013-01-11 00:38:35 -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>805018</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-01-11 00:08:47 -0800</bug_when>
    <thetext>Patch to follow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805025</commentid>
    <comment_count>1</comment_count>
      <attachid>182279</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-01-11 00:22:19 -0800</bug_when>
    <thetext>Created attachment 182279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805038</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-01-11 00:38:35 -0800</bug_when>
    <thetext>Committed r139414: &lt;http://trac.webkit.org/changeset/139414&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182279</attachid>
            <date>2013-01-11 00:22:19 -0800</date>
            <delta_ts>2013-01-11 00:22:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106635-20130111121921.patch</filename>
            <type>text/plain</type>
            <size>33509</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiNGQ1MmYzZGZlMDg3
NzhlYmMwMmVkODdjMmViYzBkNmNkZmNjOS4uMmNhMjc0ZjI2MThjNGU4NjFjMzI3ZWNjMTI3NmJi
YzE1MTk3MmZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAxLTExICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlZmFjdG9yaW5nLCBtb3ZlIE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciB0byBOZXR3b3Jr
VUlTb3VyY2VDb2RlUHJvdmlkZXIuanMgYW5kIHJlbmFtZSBpdHMgcGFyZW50IHRvIFNpbXBsZVdv
cmtzcGFjZVByb3ZpZGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA2NjM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRGVidWdnZXJTY3JpcHRNYXBwaW5nLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2NyaXB0TWFwcGluZyk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9EZWZhdWx0U2NyaXB0TWFwcGluZy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EZWZhdWx0U2NyaXB0TWFwcGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVm
YXVsdFNjcmlwdE1hcHBpbmcucHJvdG90eXBlLmFkZFNjcmlwdCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUuYWRkRGVidWdnZXJGaWxlKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0xpdmVFZGl0U3VwcG9ydC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5MaXZlRWRpdFN1cHBvcnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxp
dmVFZGl0U3VwcG9ydC5wcm90b3R5cGUudWlTb3VyY2VDb2RlRm9yTGl2ZUVkaXQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkxpdmVFZGl0V29ya3NwYWNlUHJvdmlkZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkxpdmVFZGl0V29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlLmFkZExpdmVFZGl0
RmlsZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2Rl
UHJvdmlkZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3Zp
ZGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIucHJv
dG90eXBlLmFkZE5ldHdvcmtGaWxlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Np
bXBsZVdvcmtzcGFjZVByb3ZpZGVyLmpzOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuanMuCisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLnVyaUZvclVSTCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlLnJlcXVlc3RGaWxlQ29udGVu
dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIucHJvdG90
eXBlLnNldEZpbGVDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3Bh
Y2VQcm92aWRlci5wcm90b3R5cGUuc2VhcmNoSW5GaWxlQ29udGVudCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlLmFkZEZpbGUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZS5yZW1v
dmVGaWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci5w
cm90b3R5cGUudW5pcXVlVVJJKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3Bh
Y2VQcm92aWRlci5wcm90b3R5cGUucmVzZXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5o
dG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorCiAyMDEz
LTAxLTEwICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIE9uIExpbnV4LCBzaG91bGQgYmUgYWJsZSB0byBnZXQgc3BlbGxpbmcgc3VnZ2Vz
dGlvbnMgd2l0aG91dCBzZWxlY3RpbmcgdGhlIG1pc3NwZWxsZWQgd29yZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IGFhOGQyODc3OTllZmUyMzlkYWQzZmIxMzRmY2E5YTNiY2UzNWYyZDcuLmVkZDRjMmQx
OTg1N2IzNGJhNjhlM2M1ZWU1YWI4MmFkYTQxZGU1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTUx
NzAsNyArNTE3MCw2IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3Jr
TG9nLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbERl
c2NyaXB0b3IuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1Jl
cXVlc3QuanMnLAotICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1dvcmtz
cGFjZVByb3ZpZGVyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdv
cmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9PYmplY3QuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0
UG9wb3ZlckhlbHBlci5qcycsCkBAIC01MjAwLDE1ICs1MTk5LDE2IEBACiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsRGVzY3JpcHRvci5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzJywKLSAgICAgICAg
ICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1NjcmVlbi5qcycsCi0gICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9TaG93TW9yZURhdGFHcmlkTm9kZS5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TZWN0aW9uLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL1Nob3J0Y3V0c1NjcmVlbi5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9TaG93TW9yZURhdGFHcmlkTm9kZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250
LWVuZC9TaWRlYmFyT3ZlcmxheS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9TaWRlYmFyUGFuZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TaWRl
YmFyVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9TaWRlYmFyVHJl
ZUVsZW1lbnQuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU2ltcGxlV29y
a3NwYWNlUHJvdmlkZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU25p
cHBldFN0b3JhZ2UuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvU29mdENv
bnRleHRNZW51LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUNT
U1Rva2VuaXplci5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCmluZGV4IDI3MTk1NTNmZmZkMjYzNjg4ODc0Y2ZiOGM5M2UzMDFlYjlkMmVkYzkuLmMx
NWJjMjExZmI0YTVjMjQyMzBlNTM2YzlhMTQxNDhhMDM3NjllZmMgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03Njk2MSwxMCArNzY5NjEsNiBA
QAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxOZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuanMiCi0JCQkJCT4K
LQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXE9iamVjdC5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KQEAgLTc3MjIxLDYgKzc3
MjE3LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLmpzIgor
CQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5z
cGVjdG9yXGZyb250LWVuZFxTbmlwcGV0SmF2YVNjcmlwdFNvdXJjZUZyYW1lLmpzIgogCQkJCQk+
CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBp
bGUtZnJvbnQtZW5kLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQt
ZW5kLnB5CmluZGV4IDdhYjNmYTQwNmM4MzJhMjAwZDY4YTkzYzVlMzRlYzkwYzAxODdjN2YuLjA3
NGQzNGE2YzgxYmI0MGYxMGIyZGViNThmOTBmMTI4Mzg4NzVmN2QgMTAwNzU1Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKQEAgLTg0LDEzICs4NCwxMyBAQCBt
b2R1bGVzID0gWwogICAgICAgICAgICAgIkxpbmtpZmllci5qcyIsCiAgICAgICAgICAgICAiTmV0
d29ya0xvZy5qcyIsCiAgICAgICAgICAgICAiTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpz
IiwKLSAgICAgICAgICAgICJOZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIuanMiLAogICAgICAgICAg
ICAgIlByZXNlbnRhdGlvbkNvbnNvbGVNZXNzYWdlSGVscGVyLmpzIiwKICAgICAgICAgICAgICJS
dW50aW1lTW9kZWwuanMiLAogICAgICAgICAgICAgIlNBU1NTb3VyY2VNYXBwaW5nLmpzIiwKICAg
ICAgICAgICAgICJTY3JpcHQuanMiLAogICAgICAgICAgICAgIlNjcmlwdEZvcm1hdHRlci5qcyIs
CiAgICAgICAgICAgICAiU2NyaXB0U25pcHBldE1vZGVsLmpzIiwKKyAgICAgICAgICAgICJTaW1w
bGVXb3Jrc3BhY2VQcm92aWRlci5qcyIsCiAgICAgICAgICAgICAiU25pcHBldFN0b3JhZ2UuanMi
LAogICAgICAgICAgICAgIlNvdXJjZU1hcHBpbmcuanMiLAogICAgICAgICAgICAgIlN0eWxlc1Nv
dXJjZU1hcHBpbmcuanMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWJ1Z2dlclNjcmlwdE1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcwppbmRleCBiOTM4Y2U5YjUzM2Ez
OTY3MGQ1YzNkYjRlN2IzNWM0NDgwYWM3NTgwLi44Zjg4YjlkOGI2MGE0Y2YzNDYzMGY4NGE4NTdh
NTE3YmM0YzcyNDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RlYnVnZ2VyU2NyaXB0TWFwcGluZy5qcwpAQCAtMzEsMTIgKzMxLDExIEBA
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuV29ya3NwYWNl
fSB3b3Jrc3BhY2UKLSAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkRlYnVnZ2VyV29ya3NwYWNlUHJv
dmlkZXJ9IGRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
Lk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcn0gbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyCiAgKi8K
LVdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2Us
IGRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKK1dl
Ykluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2UsIG5l
dHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKIHsKLSAgICB0aGlzLl9kZWZhdWx0TWFwcGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcod29ya3NwYWNlLCBkZWJ1Z2dlcldv
cmtzcGFjZVByb3ZpZGVyKTsKKyAgICB0aGlzLl9kZWZhdWx0TWFwcGluZyA9IG5ldyBXZWJJbnNw
ZWN0b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcod29ya3NwYWNlKTsKICAgICB0aGlzLl9yZXNvdXJj
ZU1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZyh3b3Jrc3Bh
Y2UpOwogICAgIHRoaXMuX2NvbXBpbGVyTWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGls
ZXJTY3JpcHRNYXBwaW5nKHdvcmtzcGFjZSwgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKICAg
ICB0aGlzLl9zbmlwcGV0TWFwcGluZyA9IFdlYkluc3BlY3Rvci5zY3JpcHRTbmlwcGV0TW9kZWwu
c2NyaXB0TWFwcGluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRGVmYXVsdFNjcmlwdE1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0RlZmF1bHRTY3JpcHRNYXBwaW5nLmpzCmluZGV4IDkwODE1NjJhMTM4MmI3OTI2
MzNkNDBjMDhjNzQyZGZjYzdlMjk0MTkuLjM5NmRhMDZhZDZhZjg2MGZlZWE5NzQxZWM5NGM4NzRk
YTBkZTk2Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RGVmYXVsdFNjcmlwdE1hcHBpbmcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9EZWZhdWx0U2NyaXB0TWFwcGluZy5qcwpAQCAtMzIsMTIgKzMyLDExIEBACiAgKiBA
Y29uc3RydWN0b3IKICAqIEBpbXBsZW1lbnRzIHtXZWJJbnNwZWN0b3IuU2NyaXB0U291cmNlTWFw
cGluZ30KICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLldvcmtzcGFjZX0gd29ya3NwYWNlCi0gKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5EZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyfSBkZWJ1Z2dlcldv
cmtzcGFjZVByb3ZpZGVyCiAgKi8KLVdlYkluc3BlY3Rvci5EZWZhdWx0U2NyaXB0TWFwcGluZyA9
IGZ1bmN0aW9uKHdvcmtzcGFjZSwgZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlcikKK1dlYkluc3Bl
Y3Rvci5EZWZhdWx0U2NyaXB0TWFwcGluZyA9IGZ1bmN0aW9uKHdvcmtzcGFjZSkKIHsKICAgICB0
aGlzLl93b3Jrc3BhY2UgPSB3b3Jrc3BhY2U7Ci0gICAgdGhpcy5fZGVidWdnZXJXb3Jrc3BhY2VQ
cm92aWRlciA9IGRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXI7CisgICAgdGhpcy5fd29ya3NwYWNl
UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIod29y
a3NwYWNlKTsKICAgICB0aGlzLl93b3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuV29ya3NwYWNlLkV2ZW50cy5Qcm9qZWN0V2lsbFJlc2V0LCB0aGlzLl9yZXNldCwgdGhpcyk7
CiAgICAgdGhpcy5fcmVzZXQoKTsKIH0KQEAgLTc2LDcgKzc1LDcgQEAgV2ViSW5zcGVjdG9yLkRl
ZmF1bHRTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICBhZGRTY3JpcHQ6IGZ1bmN0aW9u
KHNjcmlwdCkKICAgICB7CiAgICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSBzY3JpcHQuaXNJ
bmxpbmVTY3JpcHQoKSA/IG5ldyBXZWJJbnNwZWN0b3IuQ29uY2F0ZW5hdGVkU2NyaXB0c0NvbnRl
bnRQcm92aWRlcihbc2NyaXB0XSkgOiBzY3JpcHQ7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGUg
PSB0aGlzLl9kZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyLmFkZERlYnVnZ2VyRmlsZShzY3JpcHQu
c291cmNlVVJMLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IHRoaXMuX3dvcmtzcGFjZVByb3ZpZGVyLmFkZERlYnVnZ2VyRmlsZShzY3JpcHQuc291
cmNlVVJMLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VD
b2RlRm9yU2NyaXB0SWRbc2NyaXB0LnNjcmlwdElkXSA9IHVpU291cmNlQ29kZTsKICAgICAgICAg
dGhpcy5fc2NyaXB0SWRGb3JVSVNvdXJjZUNvZGUucHV0KHVpU291cmNlQ29kZSwgc2NyaXB0LnNj
cmlwdElkKTsKICAgICAgICAgdWlTb3VyY2VDb2RlLnNldFNvdXJjZU1hcHBpbmcodGhpcyk7CkBA
IC0xMDUsMTEgKzEwNCwxMSBAQCBXZWJJbnNwZWN0b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcucHJv
dG90eXBlID0gewogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgotICogQGV4dGVuZHMge1dlYkluc3Bl
Y3Rvci5Db250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92aWRlcn0KKyAqIEBleHRlbmRzIHtXZWJJ
bnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXJ9CiAgKi8KIFdlYkluc3BlY3Rvci5EZWJ1
Z2dlcldvcmtzcGFjZVByb3ZpZGVyID0gZnVuY3Rpb24od29ya3NwYWNlKQogewotICAgIFdlYklu
c3BlY3Rvci5Db250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92aWRlci5jYWxsKHRoaXMpOworICAg
IFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci5jYWxsKHRoaXMpOwogICAgIHRo
aXMuX3dvcmtzcGFjZSA9IHdvcmtzcGFjZTsKIH0KIApAQCAtMTIyLDcgKzEyMSw3IEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8K
ICAgICBhZGREZWJ1Z2dlckZpbGU6IGZ1bmN0aW9uKHVybCwgY29udGVudFByb3ZpZGVyLCBpc0Vk
aXRhYmxlKQogICAgIHsKLSAgICAgICAgdmFyIHVyaSA9ICJkZWJ1Z2dlcjoiICsgV2ViSW5zcGVj
dG9yLkNvbnRlbnRQcm92aWRlcldvcmtzcGFjZVByb3ZpZGVyLnVyaUZvclVSTCh1cmwpOworICAg
ICAgICB2YXIgdXJpID0gImRlYnVnZ2VyOiIgKyBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNl
UHJvdmlkZXIudXJpRm9yVVJMKHVybCk7CiAgICAgICAgIHZhciB1bmlxdWVVUkkgPSB0aGlzLnVu
aXF1ZVVSSSh1cmkpOwogICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gdGhpcy5fd29ya3NwYWNl
LmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh1bmlxdWVVUkksIHVybCwgY29udGVudFByb3ZpZGVy
LCBpc0VkaXRhYmxlKTsKICAgICAgICAgLy8gRklYTUU6IHRoaXMgaXMgYSB0ZW1wb3JhcnkgaGFj
ayB0byBiZSByZW1vdmVkIG9uY2UgRGVmYXVsdFNjcmlwdE1hcHBpbmcgdWlTb3VyY2VDb2RlIGJl
Y29tZSBwYXJ0IG9mIHRoZSB3b3Jrc3BhY2UuCkBAIC0xMzAsNyArMTI5LDcgQEAgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlID0gewogICAgICAgICByZXR1
cm4gdWlTb3VyY2VDb2RlOwogICAgIH0sCiAKLSAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5D
b250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUKKyAgICBfX3Byb3RvX186
IFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUKIH0KIAogLyoq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpdmVFZGl0
U3VwcG9ydC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRT
dXBwb3J0LmpzCmluZGV4IDc1YTU5NjNhOGJjN2VkYTI4MmZlZTNlNTVhMDMwMDlmNjZkNDcwOTYu
LmM2ODc0NDI2NzRjMDdmMjFkNjZiZjc1OWViZDc4NTAxY2JhZGYxYWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGl2ZUVkaXRTdXBwb3J0LmpzCkBA
IC0zNSw3ICszNSw3IEBACiBXZWJJbnNwZWN0b3IuTGl2ZUVkaXRTdXBwb3J0ID0gZnVuY3Rpb24o
d29ya3NwYWNlKQogewogICAgIHRoaXMuX3dvcmtzcGFjZSA9IHdvcmtzcGFjZTsKLSAgICB0aGlz
Ll9saXZlRWRpdFdvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5MaXZlRWRpdFdv
cmtzcGFjZVByb3ZpZGVyKHdvcmtzcGFjZSk7CisgICAgdGhpcy5fd29ya3NwYWNlUHJvdmlkZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLkxpdmVFZGl0V29ya3NwYWNlUHJvdmlkZXIod29ya3NwYWNlKTsK
ICAgICB0aGlzLl93b3Jrc3BhY2UuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlLkV2ZW50cy5Qcm9qZWN0V2lsbFJlc2V0LCB0aGlzLl9yZXNldCwgdGhpcyk7CiAgICAgdGhp
cy5fcmVzZXQoKTsKIH0KQEAgLTU5LDggKzU5LDcgQEAgV2ViSW5zcGVjdG9yLkxpdmVFZGl0U3Vw
cG9ydC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdWlTb3VyY2VDb2Rl
Rm9yU2NyaXB0SWRbc2NyaXB0LnNjcmlwdElkXTsKICAgICAgICAgCiAgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCFzY3JpcHQuaXNJbmxpbmVTY3JpcHQoKSk7Ci0gICAgICAgIHZhciB1cmkgPSB1aVNv
dXJjZUNvZGUudXJpKCk7Ci0gICAgICAgIHZhciBsaXZlRWRpdFVJU291cmNlQ29kZSA9IHRoaXMu
X2xpdmVFZGl0V29ya3NwYWNlUHJvdmlkZXIuYWRkTGl2ZUVkaXRGaWxlKHVpU291cmNlQ29kZS51
cmwsIHNjcmlwdCwgdHJ1ZSk7CisgICAgICAgIHZhciBsaXZlRWRpdFVJU291cmNlQ29kZSA9IHRo
aXMuX3dvcmtzcGFjZVByb3ZpZGVyLmFkZExpdmVFZGl0RmlsZSh1aVNvdXJjZUNvZGUudXJsLCBz
Y3JpcHQsIHRydWUpOwogICAgICAgICBsaXZlRWRpdFVJU291cmNlQ29kZS5zZXRTY3JpcHRGaWxl
KG5ldyBXZWJJbnNwZWN0b3IuTGl2ZUVkaXRTY3JpcHRGaWxlKHVpU291cmNlQ29kZSwgbGl2ZUVk
aXRVSVNvdXJjZUNvZGUsIHNjcmlwdC5zY3JpcHRJZCkpOwogICAgICAgICB0aGlzLl91aVNvdXJj
ZUNvZGVGb3JTY3JpcHRJZFtzY3JpcHQuc2NyaXB0SWRdID0gbGl2ZUVkaXRVSVNvdXJjZUNvZGU7
CiAgICAgICAgIHRoaXMuX3NjcmlwdElkRm9yVUlTb3VyY2VDb2RlLnB1dChsaXZlRWRpdFVJU291
cmNlQ29kZSwgc2NyaXB0LnNjcmlwdElkKTsKQEAgLTEzNCwxMSArMTMzLDExIEBAIFdlYkluc3Bl
Y3Rvci5saXZlRWRpdFN1cHBvcnQgPSBudWxsOwogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgotICog
QGV4dGVuZHMge1dlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92aWRlcn0K
KyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXJ9CiAgKi8K
IFdlYkluc3BlY3Rvci5MaXZlRWRpdFdvcmtzcGFjZVByb3ZpZGVyID0gZnVuY3Rpb24od29ya3Nw
YWNlKQogewotICAgIFdlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92aWRl
ci5jYWxsKHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci5j
YWxsKHRoaXMpOwogICAgIHRoaXMuX3dvcmtzcGFjZSA9IHdvcmtzcGFjZTsKIH0KIApAQCAtMTUx
LDEyICsxNTAsMTIgQEAgV2ViSW5zcGVjdG9yLkxpdmVFZGl0V29ya3NwYWNlUHJvdmlkZXIucHJv
dG90eXBlID0gewogICAgICAqLwogICAgIGFkZExpdmVFZGl0RmlsZTogZnVuY3Rpb24odXJsLCBj
b250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUpCiAgICAgewotICAgICAgICB2YXIgdXJpID0gImxp
dmVlZGl0OiIgKyBXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlkZXIu
dXJpRm9yVVJMKHVybCk7CisgICAgICAgIHZhciB1cmkgPSAibGl2ZWVkaXQ6IiArIFdlYkluc3Bl
Y3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci51cmlGb3JVUkwodXJsKTsKICAgICAgICAgdmFy
IHVuaXF1ZVVSSSA9IHRoaXMudW5pcXVlVVJJKHVyaSk7CiAgICAgICAgIC8vIEZJWE1FOiB0aGlz
IGlzIGEgdGVtcG9yYXJ5IGhhY2sgdG8gYmUgcmVtb3ZlZCBvbmNlIExpdmVFZGl0IHVpU291cmNl
Q29kZSBiZWNvbWUgcGFydCBvZiB0aGUgd29ya3NwYWNlLgogICAgICAgICB0aGlzLl9jb250ZW50
UHJvdmlkZXJzW3VuaXF1ZVVSSV0gPSBudWxsOwogICAgICAgICByZXR1cm4gdGhpcy5fd29ya3Nw
YWNlLmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh1bmlxdWVVUkksIHVybCwgY29udGVudFByb3Zp
ZGVyLCBpc0VkaXRhYmxlKTsKICAgICB9LAogCi0gICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3Iu
Q29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlCisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtVSVNvdXJj
ZUNvZGVQcm92aWRlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0
d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzCmluZGV4IDFkYjRiYmZkZDJmZTFhMzQxMTc4MGQ3
NWE3MTQxZDI4MTg3ZDExMGEuLjNiNWYzMTNjZTgyOTY0OGRmODBhYjkyMWIxZDZmYzBlMmQyNDA3
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1VJU291cmNlQ29kZVByb3ZpZGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzCkBAIC0zMSw3ICszMSw3IEBA
CiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuV29ya3NwYWNl
fSB3b3Jrc3BhY2UKLSAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92
aWRlcn0gbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5T
aW1wbGVXb3Jrc3BhY2VQcm92aWRlcn0gbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyCiAgKi8KIFdl
Ykluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIgPSBmdW5jdGlvbih3b3Jrc3Bh
Y2UsIG5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcikKIHsKQEAgLTEyOCwzICsxMjgsMzQgQEAgV2Vi
SW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuX3BvcHVsYXRlKCk7CiAgICAgfQogfQorCisvKioKKyAqIEBjb25zdHJ1Y3Rvcgor
ICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5TaW1wbGVXb3Jrc3BhY2VQcm92aWRlcn0KKyAqLwor
V2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IGZ1bmN0aW9uKCkKK3sKKyAg
ICBXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIuY2FsbCh0aGlzKTsKK30KKwor
V2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5wcm90b3R5cGUgPSB7CisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLkNvbnRlbnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVyCisgICAgICogQHBhcmFtIHtib29s
ZWFufSBpc0VkaXRhYmxlCisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNDb250ZW50U2NyaXB0
CisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0CisgICAgICovCisgICAgYWRkTmV0
d29ya0ZpbGU6IGZ1bmN0aW9uKHVybCwgY29udGVudFByb3ZpZGVyLCBpc0VkaXRhYmxlLCBpc0Nv
bnRlbnRTY3JpcHQsIGlzU25pcHBldCkKKyAgICB7CisgICAgICAgIHZhciB1cmkgPSBXZWJJbnNw
ZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIudXJpRm9yVVJMKHVybCk7CisgICAgICAgIHRo
aXMuYWRkRmlsZSh1cmksIHVybCwgY29udGVudFByb3ZpZGVyLCBpc0VkaXRhYmxlLCBpc0NvbnRl
bnRTY3JpcHQsIGlzU25pcHBldCk7CisgICAgfSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVj
dG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLnByb3RvdHlwZQorfQorCisvKioKKyAqIEB0eXBl
IHs/V2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcn0KKyAqLworV2ViSW5zcGVj
dG9yLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1dvcmtzcGFjZVByb3Zp
ZGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MmY1YWZlNDZiMTJlMTA3N2I2
YWUyNTY4YzZlYzIxZjdjMzFkMzNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1dv
cmtzcGFjZVByb3ZpZGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTU5ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlz
dHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwot
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0vKioKLSAq
IEBjb25zdHJ1Y3RvcgotICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2VQcm92
aWRlcn0KLSAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0fQotICovCi1XZWJJbnNwZWN0
b3IuQ29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlkZXIgPSBmdW5jdGlvbigpCi17Ci0gICAg
LyoqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcj59
ICovCi0gICAgdGhpcy5fY29udGVudFByb3ZpZGVycyA9IHt9OwotfQotCi0vKioKLSAqIEBwYXJh
bSB7c3RyaW5nfSB1cmwKLSAqIEByZXR1cm4ge3N0cmluZ30KLSAqLwotV2ViSW5zcGVjdG9yLkNv
bnRlbnRQcm92aWRlcldvcmtzcGFjZVByb3ZpZGVyLnVyaUZvclVSTCA9IGZ1bmN0aW9uKHVybCkK
LXsKLSAgICB2YXIgdXJpID0gdXJsOwotICAgIHJldHVybiB1cmk7Ci19LAotCi1XZWJJbnNwZWN0
b3IuQ29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlID0gewotICAgIC8q
KgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmkKLSAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9z
dHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxsYmFjawotICAgICAqLwotICAgIHJlcXVlc3RGaWxl
Q29udGVudDogZnVuY3Rpb24odXJpLCBjYWxsYmFjaykKLSAgICB7Ci0gICAgICAgIHZhciBjb250
ZW50UHJvdmlkZXIgPSB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3VyaV07Ci0gICAgICAgIGNvbnRl
bnRQcm92aWRlci5yZXF1ZXN0Q29udGVudChjYWxsYmFjayk7Ci0gICAgfSwKLQotICAgIC8qKgot
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmkKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3Q29u
dGVudAotICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyl9IGNhbGxiYWNrCi0gICAgICov
Ci0gICAgc2V0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVyaSwgbmV3Q29udGVudCwgY2FsbGJhY2sp
Ci0gICAgewotICAgICAgICBjYWxsYmFjayhudWxsKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAg
ICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5Ci0gICAgICogQHBhcmFtIHtib29sZWFufSBjYXNlU2Vu
c2l0aXZlCi0gICAgICogQHBhcmFtIHtib29sZWFufSBpc1JlZ2V4Ci0gICAgICogQHBhcmFtIHtm
dW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFyY2hNYXRjaD4p
fSBjYWxsYmFjawotICAgICAqLwotICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVy
aSwgcXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQotICAgIHsKLSAgICAg
ICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IHRoaXMuX2NvbnRlbnRQcm92aWRlcnNbdXJpXTsKLSAg
ICAgICAgY29udGVudFByb3ZpZGVyLnNlYXJjaEluQ29udGVudChxdWVyeSwgY2FzZVNlbnNpdGl2
ZSwgaXNSZWdleCwgY2FsbGJhY2spOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0g
e3N0cmluZ30gdXJpCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAotICAgICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVyCi0gICAgICogQHBh
cmFtIHtib29sZWFufSBpc0VkaXRhYmxlCi0gICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNDb250
ZW50U2NyaXB0Ci0gICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0Ci0gICAgICovCi0g
ICAgYWRkRmlsZTogZnVuY3Rpb24odXJpLCB1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJs
ZSwgaXNDb250ZW50U2NyaXB0LCBpc1NuaXBwZXQpCi0gICAgewotICAgICAgICBjb25zb2xlLmFz
c2VydCghdGhpcy5fY29udGVudFByb3ZpZGVyc1t1cmldKTsKLSAgICAgICAgdmFyIGZpbGVEZXNj
cmlwdG9yID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlRGVzY3JpcHRvcih1cmksIHVybCwgY29udGVu
dFByb3ZpZGVyLmNvbnRlbnRUeXBlKCksIGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCwgaXNT
bmlwcGV0KTsKLSAgICAgICAgdGhpcy5fY29udGVudFByb3ZpZGVyc1t1cmldID0gY29udGVudFBy
b3ZpZGVyOwotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuV29ya3NwYWNlUHJvdmlkZXIuRXZlbnRzLkZpbGVBZGRlZCwgZmlsZURlc2NyaXB0b3IpOwot
ICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJpCi0gICAgICovCi0g
ICAgcmVtb3ZlRmlsZTogZnVuY3Rpb24odXJpKQotICAgIHsKLSAgICAgICAgZGVsZXRlIHRoaXMu
X2NvbnRlbnRQcm92aWRlcnNbdXJpXTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyLkV2ZW50cy5GaWxlUmVtb3ZlZCwg
dXJpKTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHVyaQotICAg
ICAqIEByZXR1cm4ge3N0cmluZ30KLSAgICAgKi8KLSAgICB1bmlxdWVVUkk6IGZ1bmN0aW9uKHVy
aSkKLSAgICB7Ci0gICAgICAgIHZhciB1bmlxdWVVUkkgPSB1cmk7Ci0gICAgICAgIGZvciAodmFy
IGkgPSAxOyB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3VuaXF1ZVVSSV07ICsraSkKLSAgICAgICAg
ICAgIHVuaXF1ZVVSSSA9IHVyaSArICIgKCIgKyBpICsgIikiOwotICAgICAgICByZXR1cm4gdW5p
cXVlVVJJOwotICAgIH0sCi0KLSAgICByZXNldDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAg
dGhpcy5fY29udGVudFByb3ZpZGVycyA9IHt9OwotICAgIH0sCi0gICAgCi0gICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQotfQotCi0vKioKLSAqIEBjb25zdHJ1Y3Rv
cgotICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJXb3Jrc3BhY2VQcm92
aWRlcn0KLSAqLwotV2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IGZ1bmN0
aW9uKCkKLXsKLSAgICBXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlk
ZXIuY2FsbCh0aGlzKTsKLX0KLQotV2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRl
ci5wcm90b3R5cGUgPSB7Ci0gICAgLyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAotICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVy
Ci0gICAgICogQHBhcmFtIHtib29sZWFufSBpc0VkaXRhYmxlCi0gICAgICogQHBhcmFtIHtib29s
ZWFuPX0gaXNDb250ZW50U2NyaXB0Ci0gICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0
Ci0gICAgICovCi0gICAgYWRkTmV0d29ya0ZpbGU6IGZ1bmN0aW9uKHVybCwgY29udGVudFByb3Zp
ZGVyLCBpc0VkaXRhYmxlLCBpc0NvbnRlbnRTY3JpcHQsIGlzU25pcHBldCkKLSAgICB7Ci0gICAg
ICAgIHZhciB1cmkgPSBXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyV29ya3NwYWNlUHJvdmlk
ZXIudXJpRm9yVVJMKHVybCk7Ci0gICAgICAgIHRoaXMuYWRkRmlsZSh1cmksIHVybCwgY29udGVu
dFByb3ZpZGVyLCBpc0VkaXRhYmxlLCBpc0NvbnRlbnRTY3JpcHQsIGlzU25pcHBldCk7Ci0gICAg
fSwKLSAgICAKLSAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJXb3Jr
c3BhY2VQcm92aWRlci5wcm90b3R5cGUKLX0KLQotLyoqCi0gKiBAdHlwZSB7P1dlYkluc3BlY3Rv
ci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXJ9Ci0gKi8KLVdlYkluc3BlY3Rvci5uZXR3b3JrV29y
a3NwYWNlUHJvdmlkZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TaW1wbGVXb3Jrc3BhY2VQcm92aWRlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDU2NjhhMjEyOTYwNGY4ZjMyZmRmZjVlOTZiYWVjODM2YzM2NDc3NAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2ltcGxlV29ya3NwYWNl
UHJvdmlkZXIuanMKQEAgLTAsMCArMSwxMjggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGlt
cGxlbWVudHMge1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2VQcm92aWRlcn0KKyAqIEBleHRlbmRzIHtX
ZWJJbnNwZWN0b3IuT2JqZWN0fQorICovCitXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJv
dmlkZXIgPSBmdW5jdGlvbigpCit7CisgICAgLyoqIEB0eXBlIHtPYmplY3QuPHN0cmluZywgV2Vi
SW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcj59ICovCisgICAgdGhpcy5fY29udGVudFByb3ZpZGVy
cyA9IHt9OworfQorCisvKioKKyAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKKyAqIEByZXR1cm4ge3N0
cmluZ30KKyAqLworV2ViSW5zcGVjdG9yLlNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLnVyaUZvclVS
TCA9IGZ1bmN0aW9uKHVybCkKK3sKKyAgICB2YXIgdXJpID0gdXJsOworICAgIHJldHVybiB1cmk7
Cit9LAorCitXZWJJbnNwZWN0b3IuU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIucHJvdG90eXBlID0g
eworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmkKKyAgICAgKiBAcGFyYW0ge2Z1
bmN0aW9uKD9zdHJpbmcsYm9vbGVhbixzdHJpbmcpfSBjYWxsYmFjaworICAgICAqLworICAgIHJl
cXVlc3RGaWxlQ29udGVudDogZnVuY3Rpb24odXJpLCBjYWxsYmFjaykKKyAgICB7CisgICAgICAg
IHZhciBjb250ZW50UHJvdmlkZXIgPSB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3VyaV07CisgICAg
ICAgIGNvbnRlbnRQcm92aWRlci5yZXF1ZXN0Q29udGVudChjYWxsYmFjayk7CisgICAgfSwKKwor
ICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmkKKyAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gbmV3Q29udGVudAorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP3N0cmluZyl9IGNhbGxiYWNr
CisgICAgICovCisgICAgc2V0RmlsZUNvbnRlbnQ6IGZ1bmN0aW9uKHVyaSwgbmV3Q29udGVudCwg
Y2FsbGJhY2spCisgICAgeworICAgICAgICBjYWxsYmFjayhudWxsKTsKKyAgICB9LAorCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICogQHBhcmFtIHtib29sZWFu
fSBjYXNlU2Vuc2l0aXZlCisgICAgICogQHBhcmFtIHtib29sZWFufSBpc1JlZ2V4CisgICAgICog
QHBhcmFtIHtmdW5jdGlvbihBcnJheS48V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlci5TZWFy
Y2hNYXRjaD4pfSBjYWxsYmFjaworICAgICAqLworICAgIHNlYXJjaEluRmlsZUNvbnRlbnQ6IGZ1
bmN0aW9uKHVyaSwgcXVlcnksIGNhc2VTZW5zaXRpdmUsIGlzUmVnZXgsIGNhbGxiYWNrKQorICAg
IHsKKyAgICAgICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IHRoaXMuX2NvbnRlbnRQcm92aWRlcnNb
dXJpXTsKKyAgICAgICAgY29udGVudFByb3ZpZGVyLnNlYXJjaEluQ29udGVudChxdWVyeSwgY2Fz
ZVNlbnNpdGl2ZSwgaXNSZWdleCwgY2FsbGJhY2spOworICAgIH0sCisKKyAgICAvKioKKyAgICAg
KiBAcGFyYW0ge3N0cmluZ30gdXJpCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAgICAq
IEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNvbnRlbnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVyCisg
ICAgICogQHBhcmFtIHtib29sZWFufSBpc0VkaXRhYmxlCisgICAgICogQHBhcmFtIHtib29sZWFu
PX0gaXNDb250ZW50U2NyaXB0CisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0Cisg
ICAgICovCisgICAgYWRkRmlsZTogZnVuY3Rpb24odXJpLCB1cmwsIGNvbnRlbnRQcm92aWRlciwg
aXNFZGl0YWJsZSwgaXNDb250ZW50U2NyaXB0LCBpc1NuaXBwZXQpCisgICAgeworICAgICAgICBj
b25zb2xlLmFzc2VydCghdGhpcy5fY29udGVudFByb3ZpZGVyc1t1cmldKTsKKyAgICAgICAgdmFy
IGZpbGVEZXNjcmlwdG9yID0gbmV3IFdlYkluc3BlY3Rvci5GaWxlRGVzY3JpcHRvcih1cmksIHVy
bCwgY29udGVudFByb3ZpZGVyLmNvbnRlbnRUeXBlKCksIGlzRWRpdGFibGUsIGlzQ29udGVudFNj
cmlwdCwgaXNTbmlwcGV0KTsKKyAgICAgICAgdGhpcy5fY29udGVudFByb3ZpZGVyc1t1cmldID0g
Y29udGVudFByb3ZpZGVyOworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuV29ya3NwYWNlUHJvdmlkZXIuRXZlbnRzLkZpbGVBZGRlZCwgZmlsZURlc2Ny
aXB0b3IpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJpCisg
ICAgICovCisgICAgcmVtb3ZlRmlsZTogZnVuY3Rpb24odXJpKQorICAgIHsKKyAgICAgICAgZGVs
ZXRlIHRoaXMuX2NvbnRlbnRQcm92aWRlcnNbdXJpXTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLldvcmtzcGFjZVByb3ZpZGVyLkV2ZW50cy5GaWxl
UmVtb3ZlZCwgdXJpKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9
IHVyaQorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAgICB1bmlxdWVVUkk6IGZ1
bmN0aW9uKHVyaSkKKyAgICB7CisgICAgICAgIHZhciB1bmlxdWVVUkkgPSB1cmk7CisgICAgICAg
IGZvciAodmFyIGkgPSAxOyB0aGlzLl9jb250ZW50UHJvdmlkZXJzW3VuaXF1ZVVSSV07ICsraSkK
KyAgICAgICAgICAgIHVuaXF1ZVVSSSA9IHVyaSArICIgKCIgKyBpICsgIikiOworICAgICAgICBy
ZXR1cm4gdW5pcXVlVVJJOworICAgIH0sCisKKyAgICByZXNldDogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgdGhpcy5fY29udGVudFByb3ZpZGVycyA9IHt9OworICAgIH0sCisgICAgCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZQorfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDUyNDA5NDVkYjZjMmM2
ZTBlNGJiZmMwMWY2ODk0NWM1YzAwYzI1ODIuLjllMTA3ODBiNmYxNWExYjdhYTIzYzNlZDM4ZGUw
ZjUwY2Q5MDEyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMKQEAgLTEyMCw3ICsxMjAsNiBAQAogICAgIDxmaWxlPk5ldHdvcmtQYW5lbERlc2Ny
aXB0b3IuanM8L2ZpbGU+CiAgICAgPGZpbGU+TmV0d29ya1JlcXVlc3QuanM8L2ZpbGU+CiAgICAg
PGZpbGU+TmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzPC9maWxlPgotICAgIDxmaWxlPk5l
dHdvcmtXb3Jrc3BhY2VQcm92aWRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5PYmplY3QuanM8L2Zp
bGU+CiAgICAgPGZpbGU+T2JqZWN0UG9wb3ZlckhlbHBlci5qczwvZmlsZT4KICAgICA8ZmlsZT5P
YmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qczwvZmlsZT4KQEAgLTE3Nyw2ICsxNzYsNyBAQAogICAg
IDxmaWxlPlNpZGViYXJQYW5lLmpzPC9maWxlPgogICAgIDxmaWxlPlNpZGViYXJUcmVlRWxlbWVu
dC5qczwvZmlsZT4KICAgICA8ZmlsZT5TaWRlYmFyVmlldy5qczwvZmlsZT4KKyAgICA8ZmlsZT5T
aW1wbGVXb3Jrc3BhY2VQcm92aWRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5TbmlwcGV0SmF2YVNj
cmlwdFNvdXJjZUZyYW1lLmpzPC9maWxlPgogICAgIDxmaWxlPlNuaXBwZXRTdG9yYWdlLmpzPC9m
aWxlPgogICAgIDxmaWxlPlNvZnRDb250ZXh0TWVudS5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IGEzYWY1OWZi
ZjIzNmE1MDI2MWI4YmM2NTE3OGVlNGYxMWM1Yjc5OTcuLjdmOGQ5ZGZiNzE4NmU4NmFhNDc1ZGJh
OGFkYzUxYWMwMzIyYmY3YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtMTM3LDggKzEzNyw4IEBAIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iTGlua2lmaWVyLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEZWJ1Z2dlclNjcmlw
dE1hcHBpbmcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IlByZXNlbnRhdGlvbkNvbnNvbGVNZXNzYWdlSGVscGVyLmpzIj48L3NjcmlwdD4KLSAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJOZXR3b3JrV29ya3NwYWNlUHJv
dmlkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IldvcmtzcGFjZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iU2ltcGxlV29ya3NwYWNlUHJvdmlkZXIuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkJyZWFrcG9pbnRNYW5hZ2VyLmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb250ZW50
UHJvdmlkZXJzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJEZWZhdWx0U2NyaXB0TWFwcGluZy5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDg3NDZjYjU4ZGMy
M2ZiYTBlMTM0ODQzOTRiYjdlMmNjOTMxM2ZlNDEuLjA1NjAwMmYzMzA3ZmQ1ZGQzMjcxNjA0NDk2
YjJlYWFmZDYyNDFjODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCkBAIC00MzAsMTYgKzQzMCwxNSBAQCBXZWJJbnNwZWN0b3IuX2RvTG9h
ZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5vcGVuQW5jaG9y
TG9jYXRpb25SZWdpc3RyeSA9IG5ldyBXZWJJbnNwZWN0b3IuSGFuZGxlclJlZ2lzdHJ5KG9wZW5B
bmNob3JMb2NhdGlvblNldHRpbmcpOwogICAgIHRoaXMub3BlbkFuY2hvckxvY2F0aW9uUmVnaXN0
cnkucmVnaXN0ZXJIYW5kbGVyKGF1dG9zZWxlY3RQYW5lbCwgZnVuY3Rpb24oKSB7IHJldHVybiBm
YWxzZTsgfSk7CiAKLSAgICB0aGlzLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuTmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKCk7CiAgICAgdGhpcy53b3Jrc3BhY2Ug
PSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOwotICAgIHRoaXMuZGVidWdnZXJXb3Jrc3Bh
Y2VQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlcih0
aGlzLndvcmtzcGFjZSk7CisgICAgdGhpcy5uZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcigpOwogICAgIHRoaXMud29ya3Nw
YWNlLmFkZFByb2plY3QoIm5ldHdvcmsiLCB0aGlzLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7
CiAgICAgdGhpcy53b3Jrc3BhY2VDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jrc3Bh
Y2VDb250cm9sbGVyKHRoaXMud29ya3NwYWNlKTsKIAogICAgIHRoaXMuYnJlYWtwb2ludE1hbmFn
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnRNYW5hZ2VyKFdlYkluc3BlY3Rvci5zZXR0
aW5ncy5icmVha3BvaW50cywgdGhpcy5kZWJ1Z2dlck1vZGVsLCB0aGlzLndvcmtzcGFjZSk7CiAK
ICAgICB0aGlzLnNjcmlwdFNuaXBwZXRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0U25p
cHBldE1vZGVsKHRoaXMud29ya3NwYWNlLCB0aGlzLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7
Ci0gICAgbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcodGhpcy53b3Jrc3Bh
Y2UsIHRoaXMuZGVidWdnZXJXb3Jrc3BhY2VQcm92aWRlciwgdGhpcy5uZXR3b3JrV29ya3NwYWNl
UHJvdmlkZXIpOworICAgIG5ldyBXZWJJbnNwZWN0b3IuRGVidWdnZXJTY3JpcHRNYXBwaW5nKHRo
aXMud29ya3NwYWNlLCB0aGlzLm5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcik7CiAgICAgdGhpcy5s
aXZlRWRpdFN1cHBvcnQgPSBuZXcgV2ViSW5zcGVjdG9yLkxpdmVFZGl0U3VwcG9ydCh0aGlzLndv
cmtzcGFjZSk7CiAgICAgdGhpcy5zdHlsZUNvbnRlbnRCaW5kaW5nID0gbmV3IFdlYkluc3BlY3Rv
ci5TdHlsZUNvbnRlbnRCaW5kaW5nKHRoaXMuY3NzTW9kZWwpOwogICAgIG5ldyBXZWJJbnNwZWN0
b3IuTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyKHRoaXMud29ya3NwYWNlLCB0aGlzLm5ldHdv
cmtXb3Jrc3BhY2VQcm92aWRlcik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY1MTJlNjIxNWZlNDQ4MDM4ZDhmNGJkMWQw
MzE2M2ZhMjg5YzY3ZC4uZDMxMjdiMGMwNDI4ZjE3ZDRkMGZlNDE3NWNjMTYzZDExNjQzOGM5ZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAxLTExICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlZmFjdG9yaW5nLCBt
b3ZlIE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlciB0byBOZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlk
ZXIuanMgYW5kIHJlbmFtZSBpdHMgcGFyZW50IHRvIFNpbXBsZVdvcmtzcGFjZVByb3ZpZGVyLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2NjM1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sOgorICAgICAgICAqIGlu
c3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy5odG1sOgorICAgICAgICAq
IGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWw6CisKIDIwMTMtMDEtMTAgIEdy
emVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
T24gTGludXgsIHNob3VsZCBiZSBhYmxlIHRvIGdldCBzcGVsbGluZyBzdWdnZXN0aW9ucyB3aXRo
b3V0IHNlbGVjdGluZyB0aGUgbWlzc3BlbGxlZCB3b3JkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXItc2NyaXB0LW1hcHBpbmcuaHRt
bAppbmRleCAzMzBhNjgzNWIyYjA5YmMxODI2NjFmZGRhZWRkZjI3NDlhYTRlOTUxLi4xOGViZTMx
MTNlNWYyMTgxZDIwODZmZDZlOTc2OGMxODZlNTEwYzc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFwcGluZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5n
Lmh0bWwKQEAgLTE2LDcgKzE2LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIEluc3BlY3Rv
clRlc3QuY3JlYXRlV29ya3NwYWNlKCk7CiAgICAgICAgIHZhciBjb21waWxlclNjcmlwdE1hcHBp
bmcgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbXBpbGVyU2NyaXB0TWFwcGluZyhJbnNwZWN0b3JUZXN0
LnRlc3RXb3Jrc3BhY2UsIEluc3BlY3RvclRlc3QudGVzdE5ldHdvcmtXb3Jrc3BhY2VQcm92aWRl
cik7CiAgICAgICAgIHJlc291cmNlU2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuUmVz
b3VyY2VTY3JpcHRNYXBwaW5nKEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSk7Ci0gICAgICAg
IGRlZmF1bHRTY3JpcHRNYXBwaW5nID0gbmV3IFdlYkluc3BlY3Rvci5EZWZhdWx0U2NyaXB0TWFw
cGluZyhJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UsIEluc3BlY3RvclRlc3QudGVzdERlYnVn
Z2VyV29ya3NwYWNlUHJvdmlkZXIpOworICAgICAgICBkZWZhdWx0U2NyaXB0TWFwcGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29y
a3NwYWNlKTsKICAgICAgICAgcmV0dXJuIGNvbXBpbGVyU2NyaXB0TWFwcGluZzsKICAgICB9CiAK
QEAgLTMxMyw3ICszMTMsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIHZhciB3b3Jr
c3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOwogICAgICAgICAgICAgdmFyIGRl
YnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyV29ya3Nw
YWNlUHJvdmlkZXIod29ya3NwYWNlKTsKICAgICAgICAgICAgIHdvcmtzcGFjZS5hZGRQcm9qZWN0
KCJuZXR3b3JrIiwgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyKTsKLSAgICAgICAgICAgIHZhciBk
ZWJ1Z2dlclNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2NyaXB0TWFw
cGluZyh3b3Jrc3BhY2UsIGRlYnVnZ2VyV29ya3NwYWNlUHJvdmlkZXIsIG5ldHdvcmtXb3Jrc3Bh
Y2VQcm92aWRlcik7CisgICAgICAgICAgICB2YXIgZGVidWdnZXJTY3JpcHRNYXBwaW5nID0gbmV3
IFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNjcmlwdE1hcHBpbmcod29ya3NwYWNlLCBuZXR3b3JrV29y
a3NwYWNlUHJvdmlkZXIpOwogCiAgICAgICAgICAgICB2YXIgc2NyaXB0ID0gSW5zcGVjdG9yVGVz
dC5jcmVhdGVTY3JpcHRNb2NrKCJjb21waWxlZC5qcyIsIDAsIDAsIHRydWUsICIiKTsKICAgICAg
ICAgICAgIHNjcmlwdC5zb3VyY2VNYXBVUkwgPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvc291cmNlLW1hcC5qc29uXyI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2Utc2NyaXB0LW1hcHBpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy5odG1sCmlu
ZGV4IDI3MDU4YjBjOWU3M2NkNGYwNmIzZDNhNzVmZDQyZTljZmM1NDNiYzUuLjI2MmUyNTBlY2I4
NDk5OWE4NDU1MDQ5YjAxNmEwODlhODFiNTk1ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy5odG1sCkBA
IC0xMSw3ICsxMSw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGZ1bmN0aW9uIGNyZWF0ZVJlc291
cmNlU2NyaXB0TWFwcGluZygpCiAgICAgewogICAgICAgICBJbnNwZWN0b3JUZXN0LmNyZWF0ZVdv
cmtzcGFjZSgpOwotICAgICAgICBkZWZhdWx0U2NyaXB0TWFwcGluZyA9IG5ldyBXZWJJbnNwZWN0
b3IuRGVmYXVsdFNjcmlwdE1hcHBpbmcoSW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLCBJbnNw
ZWN0b3JUZXN0LnRlc3REZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyKTsKKyAgICAgICAgZGVmYXVs
dFNjcmlwdE1hcHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLkRlZmF1bHRTY3JpcHRNYXBwaW5nKElu
c3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZSk7CiAgICAgICAgIHZhciByZXNvdXJjZVNjcmlwdE1h
cHBpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZyhJbnNwZWN0b3JU
ZXN0LnRlc3RXb3Jrc3BhY2UpOwogICAgICAgICByZXR1cm4gcmVzb3VyY2VTY3JpcHRNYXBwaW5n
OwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3Jp
cHRzLXBhbmVsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1w
YW5lbC5odG1sCmluZGV4IGRmYTZiNzJjZGJjZDA4YzU4ZTEyMjEzNzI3OTk5ZWUyZWQwYWFmZDUu
LmRkNGQ3ZTI0OWFkODE5ZmU1OWQ3ZDA3ZWEwMTQxZjkwZTA4ZjFiMzIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbApAQCAtMTksMTAg
KzE5LDEwIEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgZnVuY3Rpb24gY3JlYXRlTW9ja1dvcmtz
cGFjZSgpCiAgICAgewotICAgICAgICB2YXIgbmV0d29ya1dvcmtzcGFjZVByb3ZpZGVyID0gbmV3
IFdlYkluc3BlY3Rvci5OZXR3b3JrV29ya3NwYWNlUHJvdmlkZXIoKTsKICAgICAgICAgdmFyIHdv
cmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7Ci0gICAgICAgIHdvcmtzcGFj
ZS5kZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlcldv
cmtzcGFjZVByb3ZpZGVyKHdvcmtzcGFjZSk7CisgICAgICAgIHZhciBuZXR3b3JrV29ya3NwYWNl
UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtXb3Jrc3BhY2VQcm92aWRlcigpOwog
ICAgICAgICB3b3Jrc3BhY2UuYWRkUHJvamVjdCgibmV0d29yayIsIG5ldHdvcmtXb3Jrc3BhY2VQ
cm92aWRlcik7CisgICAgICAgIHdvcmtzcGFjZS5kZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyID0g
bmV3IFdlYkluc3BlY3Rvci5EZWJ1Z2dlcldvcmtzcGFjZVByb3ZpZGVyKHdvcmtzcGFjZSk7CiAg
ICAgICAgIHdvcmtzcGFjZS5yZXF1ZXN0RmlsZUNvbnRlbnQgPSBmdW5jdGlvbih1aVNvdXJjZUNv
ZGUsIGNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdCgiU291cmNlIHJlcXVlc3RlZCBmb3IgIiArIHVpU291cmNlQ29kZS51cmwpOwo=
</data>
<flag name="review"
          id="200225"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>