<?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>100092</bug_id>
          
          <creation_ts>2012-10-23 01:57:07 -0700</creation_ts>
          <short_desc>Web Inspector: Move UISourceCode creation out of mappings to workspace.</short_desc>
          <delta_ts>2012-10-23 09:25:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>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>748384</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 01:57:07 -0700</bug_when>
    <thetext>Patch to follow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748389</commentid>
    <comment_count>1</comment_count>
      <attachid>170086</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 01:59:59 -0700</bug_when>
    <thetext>Created attachment 170086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748390</commentid>
    <comment_count>2</comment_count>
      <attachid>170087</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 02:00:58 -0700</bug_when>
    <thetext>Created attachment 170087
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748719</commentid>
    <comment_count>3</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 09:25:25 -0700</bug_when>
    <thetext>Committed r132234: &lt;http://trac.webkit.org/changeset/132234&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170086</attachid>
            <date>2012-10-23 01:59:59 -0700</date>
            <delta_ts>2012-10-23 02:00:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100092-20121023125835.patch</filename>
            <type>text/plain</type>
            <size>25609</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZhYThjNDEwM2JkZDc5
MDkwZjA4NzM4NDgxMjU3Mjg0NDU4ZDA5Mi4uNDBmMjhjNTI3YmEzZTYwNmVjY2NhM2IxNmNlZGRi
YjViOGRkOWEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE1vdmUgVUlTb3VyY2VDb2RlIGNyZWF0aW9uIG91dCBvZiBtYXBwaW5ncyB0byB3b3Jrc3Bh
Y2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAw
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB1aVNvdXJjZUNvZGUgY29uc3RydWN0b3IgY2FsbHMgb3V0IG9mIG1hcHBpbmdzIHRvIHdvcmtz
cGFjZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTY3JpcHRNYXBw
aW5nLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29k
ZVByb3ZpZGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQ
cm92aWRlci5wcm90b3R5cGUuX3BhcnNlZFNjcmlwdFNvdXJjZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS5fYWRkVUlTb3VyY2VD
b2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGlu
Zy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcucHJvdG90
eXBlLl9kZWxldGVPcmlnaW5hbFVJU291cmNlQ29kZUZvclNjcmlwdHMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2RlbGV0ZVRlbXBvcmFy
eVVJU291cmNlQ29kZUZvclNjcmlwdHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNl
U2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2JpbmRVSVNvdXJjZUNvZGVUb1NjcmlwdHMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2NyZWF0
ZVVJU291cmNlQ29kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZS5fZ2V0T3JDcmVhdGVUZW1wb3JhcnlVSVNvdXJjZUNvZGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2dldE9yQ3Jl
YXRlT3JpZ2luYWxVSVNvdXJjZUNvZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U0FTU1NvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChfYmluZFVJU291cmNlQ29kZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlwZS5fYWRkU2NyaXB0U25p
cHBldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlw
ZS5fY3JlYXRlVUlTb3VyY2VDb2RlRm9yU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1dvcmtzcGFjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3Rv
dHlwZS5hZGRVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QucHJv
dG90eXBlLnJlbW92ZVVJU291cmNlQ29kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlLnByb3RvdHlwZS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLldvcmtzcGFjZS5wcm90b3R5cGUucmVtb3ZlVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKToK
KwogMjAxMi0xMC0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcmVwYXJlIG1hcHBpbmdzIHRvIG1vdmluZyB1aVNvdXJj
ZUNvZGVzIGNyZWF0aW9uIG91dCBvZiB0aGVtIHRvIHdvcmtzcGFjZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTY3JpcHRNYXBwaW5nLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBp
bmcuanMKaW5kZXggZjdhNTAyYTNjY2ViMzY4Y2IxMzQ5OGE1NDExMmUzNzgyMmM2OTgxMC4uNjU4
N2I0MmU1NjJiYWJjMzNhODhjM2EwYjEwOWM5ZTZmZTdlY2QyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBpbmcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBp
bmcuanMKQEAgLTkyLDExICs5MiwxMCBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgb25s
eSBjcmVhdGUgdGVtcG9yYXJ5IHVpU291cmNlQ29kZXMgb24gZGVtYW5kIGFuZCBzaG91bGQgc2V0
IHRoaXMgYXMgYSBtYXBwaW5nIHRvIAogICAgICAgICAvLyByZWxldmFudCB1aVNvdXJjZUNvZGVz
IGFkZGVkIGJ5IE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci4KLSAgICAgICAgdmFyIG9yaWdp
bmFsVUlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoc2NyaXB0LnNv
dXJjZVVSTCwgc2NyaXB0LCBmYWxzZSk7CisgICAgICAgIHZhciBvcmlnaW5hbFVJU291cmNlQ29k
ZSA9IHRoaXMuX3dvcmtzcGFjZS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoc2NyaXB0LnNvdXJj
ZVVSTCwgc2NyaXB0LCBmYWxzZSk7CisgICAgICAgIG9yaWdpbmFsVUlTb3VyY2VDb2RlLnNldFNv
dXJjZU1hcHBpbmcodGhpcyk7CiAgICAgICAgIHRoaXMuX29yaWdpbmFsVUlTb3VyY2VDb2RlRm9y
U2NyaXB0SWRbc2NyaXB0LnNjcmlwdElkXSA9IG9yaWdpbmFsVUlTb3VyY2VDb2RlOwogICAgICAg
ICB0aGlzLl9zY3JpcHRGb3JPcmlnaW5hbFVJU291cmNlQ29kZS5wdXQob3JpZ2luYWxVSVNvdXJj
ZUNvZGUsIHNjcmlwdCk7Ci0gICAgICAgIG9yaWdpbmFsVUlTb3VyY2VDb2RlLnNldFNvdXJjZU1h
cHBpbmcodGhpcyk7Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVGVtcG9y
YXJ5VUlTb3VyY2VDb2RlKG9yaWdpbmFsVUlTb3VyY2VDb2RlKTsKIAogICAgICAgICB2YXIgc291
cmNlTWFwID0gdGhpcy5sb2FkU291cmNlTWFwRm9yU2NyaXB0KHNjcmlwdCk7CiAKQEAgLTExOCw5
ICsxMTcsOCBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0
YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHNv
dXJjZUNvbnRlbnQpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNvbnRlbnRQ
cm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nQ29udGVudFBy
b3ZpZGVyKHNvdXJjZVVSTCk7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUoc291cmNlVVJMLCBjb250ZW50UHJvdmlkZXIsIGZhbHNl
KTsKLSAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2Rl
KHVpU291cmNlQ29kZSk7Ci0KKyAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCku
YWRkVUlTb3VyY2VDb2RlKHNvdXJjZVVSTCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9y
VVJMKHNvdXJjZVVSTCk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNlTWFwcGlu
Zyh0aGlzKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQgPSBzY3Jp
cHQuaXNDb250ZW50U2NyaXB0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3Zp
ZGVyLmpzCmluZGV4IGVjMThkY2YzMmNiOGViNDEyZmRlMWJlYjlkNjQzMWE2OWI5MDRlNWQuLjYz
YzFkY2FkMzgyMzM5OTNlMzA3NTI0MzljMzgwMWEzYmVhYmQ2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291
cmNlQ29kZVByb3ZpZGVyLmpzCkBAIC04Myw3ICs4Myw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
VUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFwYXJz
ZWRVUkwuaG9zdCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAg
dGhpcy5fYWRkVUlTb3VyY2VDb2RlKHNjcmlwdC5zb3VyY2VVUkwsIHNjcmlwdCk7CisgICAgICAg
IHRoaXMuX2FkZFVJU291cmNlQ29kZShzY3JpcHQuc291cmNlVVJMLCBzY3JpcHQsIHNjcmlwdC5p
c0NvbnRlbnRTY3JpcHQpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTk2LDkgKzk2LDExIEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewogICAg
IH0sCiAKICAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyfSBjb250ZW50UHJvdmlkZXIKKyAgICAgKiBA
cGFyYW0ge2Jvb2xlYW49fSBpc0NvbnRlbnRTY3JpcHQKICAgICAgKi8KLSAgICBfYWRkVUlTb3Vy
Y2VDb2RlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlcikKKyAgICBfYWRkVUlTb3VyY2VD
b2RlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNDb250ZW50U2NyaXB0KQogICAg
IHsKICAgICAgICAgdmFyIHR5cGUgPSBjb250ZW50UHJvdmlkZXIuY29udGVudFR5cGUoKTsKICAg
ICAgICAgaWYgKHR5cGUgIT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQg
JiYgdHlwZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQgJiYgdHlwZSAh
PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KQpAQCAtMTA3LDggKzEwOSw3IEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl9wcm9jZXNzZWRVUkxzW3VybF0gPSB0
cnVlOwogICAgICAgICB2YXIgaXNFZGl0YWJsZSA9IHR5cGUgIT09IFdlYkluc3BlY3Rvci5yZXNv
dXJjZVR5cGVzLkRvY3VtZW50OwotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUpOwot
ICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJj
ZUNvZGUpOworICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29k
ZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSwgaXNDb250ZW50U2NyaXB0KTsKICAg
ICB9LAogCiAgICAgX3Byb2plY3RXaWxsUmVzZXQ6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VTY3JpcHRNYXBwaW5nLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBp
bmcuanMKaW5kZXggYmQ2YjJmYTNlZDBlZWNiOTc2Y2JiZWNlNzBkYTVlN2M3YmRmODkzMi4uMjdk
YjU1MmQ5NWQxY2MyMDhlNzVhNDA4ZjU0ZDUxNGNmZGI1NDcxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBpbmcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBp
bmcuanMKQEAgLTE0OCw3ICsxNDgsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAgICBpZiAoIW9yaWdpbmFsVUlTb3Vy
Y2VDb2RlKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJv
amVjdCgpLnJlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZShvcmlnaW5hbFVJU291cmNlQ29kZSk7
CisgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUob3Jp
Z2luYWxVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlzLl9zY3JpcHRJZHNGb3JPcmlnaW5hbFVJ
U291cmNlQ29kZS5yZW1vdmUob3JpZ2luYWxVSVNvdXJjZUNvZGUpOwogICAgIH0sCiAKQEAgLTE2
NSw3ICsxNjUsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgfQogICAgICAgICBpZiAoIXRlbXBvcmFyeVVJU291cmNlQ29kZSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3Qo
KS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUodGVtcG9yYXJ5VUlTb3VyY2VDb2RlKTsKKyAg
ICAgICAgdGhpcy5fd29ya3NwYWNlLnJlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZSh0ZW1wb3Jh
cnlVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlzLl9zY3JpcHRJZHNGb3JUZW1wb3JhcnlVSVNv
dXJjZUNvZGUucmVtb3ZlKHRlbXBvcmFyeVVJU291cmNlQ29kZSk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0sCkBAIC0xNzksNyArMTc5LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2Ny
aXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNjcmlwdHMu
bGVuZ3RoKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytp
KQogICAgICAgICAgICAgc2NyaXB0c1tpXS5zZXRTb3VyY2VNYXBwaW5nKHRoaXMpOwotICAgICAg
ICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gc2NyaXB0c1swXS5pc0NvbnRlbnRTY3Jp
cHQ7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTb3VyY2VNYXBwaW5nKHRoaXMpOwogICAgICAg
ICBpZiAodWlTb3VyY2VDb2RlLmlzRWRpdGFibGUoKSkgewogICAgICAgICAgICAgdmFyIHNjcmlw
dEZpbGUgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZSh0aGlzLCB1aVNvdXJj
ZUNvZGUpOwpAQCAtMjI1LDkgKzIyNCwxMCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRN
YXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IHNjcmlw
dC5pc0lubGluZVNjcmlwdCgpID8gbmV3IFdlYkluc3BlY3Rvci5Db25jYXRlbmF0ZWRTY3JpcHRz
Q29udGVudFByb3ZpZGVyKHNjcmlwdHMpIDogc2NyaXB0OwogICAgICAgICB2YXIgaXNEeW5hbWlj
U2NyaXB0ID0gdGhpcy5faXNEeW5hbWljU2NyaXB0KHNjcmlwdCk7CiAgICAgICAgIHZhciB1cmwg
PSBpc0R5bmFtaWNTY3JpcHQgPyAiIiA6IHNjcmlwdC5zb3VyY2VVUkw7Ci0gICAgICAgIHZhciB0
ZW1wb3JhcnlVSVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSh1cmws
IGNvbnRlbnRQcm92aWRlciwgIXNjcmlwdC5pc0lubGluZVNjcmlwdCgpICYmICFkaXZlcmdlZFZl
cnNpb24pOworICAgICAgICB2YXIgdGVtcG9yYXJ5VUlTb3VyY2VDb2RlID0gdGhpcy5fd29ya3Nw
YWNlLmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgIXNjcmlw
dC5pc0lubGluZVNjcmlwdCgpICYmICFkaXZlcmdlZFZlcnNpb24sIHNjcmlwdC5pc0NvbnRlbnRT
Y3JpcHQpOwogICAgICAgICB0ZW1wb3JhcnlVSVNvdXJjZUNvZGUuZGl2ZXJnZWRWZXJzaW9uID0g
ZGl2ZXJnZWRWZXJzaW9uOwogICAgICAgICByZXR1cm4gdGVtcG9yYXJ5VUlTb3VyY2VDb2RlOwor
ICAgICAgICAKICAgICB9LAogCiAgICAgLyoqCkBAIC0yNDgsNyArMjQ4LDYgQEAgV2ViSW5zcGVj
dG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBzY3Jp
cHRJZHMucHVzaChzY3JpcHRzW2ldLnNjcmlwdElkKTsKICAgICAgICAgfQogICAgICAgICB0aGlz
Ll9zY3JpcHRJZHNGb3JUZW1wb3JhcnlVSVNvdXJjZUNvZGUucHV0KHRlbXBvcmFyeVVJU291cmNl
Q29kZSwgc2NyaXB0SWRzKTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRU
ZW1wb3JhcnlVSVNvdXJjZUNvZGUodGVtcG9yYXJ5VUlTb3VyY2VDb2RlKTsKICAgICAgICAgdGhp
cy5fYmluZFVJU291cmNlQ29kZVRvU2NyaXB0cyh0ZW1wb3JhcnlVSVNvdXJjZUNvZGUsIHNjcmlw
dHMpOwogICAgICAgICByZXR1cm4gdGVtcG9yYXJ5VUlTb3VyY2VDb2RlOwogICAgIH0sCkBAIC0y
NzIsNyArMjcxLDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICBzY3JpcHRJZHMucHVzaChzY3JpcHRzW2ldLnNjcmlwdElkKTsK
ICAgICAgICAgfQogICAgICAgICB0aGlzLl9zY3JpcHRJZHNGb3JPcmlnaW5hbFVJU291cmNlQ29k
ZS5wdXQob3JpZ2luYWxVSVNvdXJjZUNvZGUsIHNjcmlwdElkcyk7Ci0gICAgICAgIHRoaXMuX3dv
cmtzcGFjZS5wcm9qZWN0KCkuYWRkVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKG9yaWdpbmFsVUlTb3Vy
Y2VDb2RlKTsKICAgICAgICAgdGhpcy5fYmluZFVJU291cmNlQ29kZVRvU2NyaXB0cyhvcmlnaW5h
bFVJU291cmNlQ29kZSwgc2NyaXB0cyk7CiAgICAgICAgIHJldHVybiBvcmlnaW5hbFVJU291cmNl
Q29kZTsKICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKaW5kZXggODViNTIxZGNlY2FkNDZkZTM0OTliNjE4
MGMxZmM5MDMxMWY5MThmNS4uNjI1MzE5NzBhMDM0MTk5YjU2MmI4ODA4ODU1M2RmY2QyYjQ2Yzlh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291
cmNlTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NB
U1NTb3VyY2VNYXBwaW5nLmpzCkBAIC0xMTUsOCArMTE1LDggQEAgV2ViSW5zcGVjdG9yLlNBU1NT
b3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF1aVNvdXJjZUNvZGUpIHsK
ICAgICAgICAgICAgIHZhciBjb250ZW50ID0gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkodXJsKTsKICAgICAgICAgICAgIHZhciBjb250ZW50UHJvdmlkZXIg
PSBuZXcgV2ViSW5zcGVjdG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVz
b3VyY2VUeXBlcy5TdHlsZXNoZWV0LCBjb250ZW50LCAidGV4dC94LXNjc3MiKTsKLSAgICAgICAg
ICAgIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHVybCwgY29u
dGVudFByb3ZpZGVyLCB0cnVlKTsKLSAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0
KCkuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CisgICAgICAgICAgICB0aGlzLl93b3Jr
c3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgdHJ1
ZSk7CisgICAgICAgICAgICB1aVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlTb3VyY2VD
b2RlRm9yVVJMKHVybCk7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuc2V0U291
cmNlTWFwcGluZyhyYXdVUkwsIHRoaXMpOwogICAgICAgICB9CiAgICAgICAgIHZhciByYXdMb2Nh
dGlvblN0cmluZyA9IHJhd1VSTCArICI6IiArIChyYXdMaW5lICsgMSk7ICAvLyBOZXh0IGxpbmUg
YWZ0ZXIgbWFwcGluZyBtZXRhaW5mbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qcwppbmRleCBhNjcwN2M2OTNjZTA5
ZGMxMTkwYWIxZDY3YmQxNTc0MjdmZmEwZWQzLi4wN2ViNjJlNTA1OGRlOWI3ZjNlZTM3N2IyMDY3
NTEyZDgwZGIzMGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdFNuaXBwZXRNb2RlbC5qcwpAQCAtODIsMTQgKzgyLDEzIEBAIFdlYklu
c3BlY3Rvci5TY3JpcHRTbmlwcGV0TW9kZWwucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9h
ZGRTY3JpcHRTbmlwcGV0OiBmdW5jdGlvbihzbmlwcGV0KQogICAgIHsKLSAgICAgICAgdmFyIHVp
U291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHNuaXBwZXQubmFtZSwg
bmV3IFdlYkluc3BlY3Rvci5TbmlwcGV0Q29udGVudFByb3ZpZGVyKHNuaXBwZXQpLCB0cnVlKTsK
LSAgICAgICAgdWlTb3VyY2VDb2RlLmlzU25pcHBldCA9IHRydWU7CisgICAgICAgIHRoaXMuX3dv
cmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHNuaXBwZXQubmFtZSwgbmV3IFdlYklu
c3BlY3Rvci5TbmlwcGV0Q29udGVudFByb3ZpZGVyKHNuaXBwZXQpLCB0cnVlLCBmYWxzZSwgdHJ1
ZSk7CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlTb3VyY2VD
b2RlRm9yVVJMKHNuaXBwZXQubmFtZSk7CiAgICAgICAgIHZhciBzY3JpcHRGaWxlID0gbmV3IFdl
Ykluc3BlY3Rvci5TbmlwcGV0U2NyaXB0RmlsZSh0aGlzLCB1aVNvdXJjZUNvZGUpOwogICAgICAg
ICB1aVNvdXJjZUNvZGUuc2V0U2NyaXB0RmlsZShzY3JpcHRGaWxlKTsKICAgICAgICAgdGhpcy5f
c25pcHBldElkRm9yVUlTb3VyY2VDb2RlLnB1dCh1aVNvdXJjZUNvZGUsIHNuaXBwZXQuaWQpOwog
ICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNlTWFwcGluZyh0aGlzLl9zbmlwcGV0U2NyaXB0
TWFwcGluZyk7CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZUZvclNuaXBwZXRJZFtzbmlwcGV0
LmlkXSA9IHVpU291cmNlQ29kZTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5h
ZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKICAgICAgICAgcmV0dXJuIHVpU291cmNlQ29k
ZTsKICAgICB9LAogCkBAIC0xMDUsNyArMTA0LDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBw
ZXRNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3JlbGVhc2VTbmlwcGV0U2NyaXB0
KHVpU291cmNlQ29kZSk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl91aVNvdXJjZUNvZGVGb3JTbmlw
cGV0SWRbc25pcHBldC5pZF07CiAgICAgICAgIHRoaXMuX3NuaXBwZXRJZEZvclVJU291cmNlQ29k
ZS5yZW1vdmUodWlTb3VyY2VDb2RlKTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3Qo
KS5yZW1vdmVVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKKyAgICAgICAgdGhpcy5fd29ya3Nw
YWNlLnByb2plY3QoKS5yZW1vdmVVSVNvdXJjZUNvZGUoc25pcHBldC5uYW1lKTsKICAgICB9LAog
CiAgICAgLyoqCkBAIC0zMjEsOSArMzIwLDcgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBwZXRN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2NyZWF0ZVVJU291cmNlQ29kZUZvclNj
cmlwdDogZnVuY3Rpb24oc2NyaXB0KQogICAgIHsKLSAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9
IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHNjcmlwdC5zb3VyY2VVUkwsIHNjcmlwdCwg
ZmFsc2UpOwotICAgICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0ID0gdHJ1ZTsKLSAgICAgICAg
dGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUodWlTb3Vy
Y2VDb2RlKTsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHRoaXMuX3dvcmtzcGFjZS5hZGRU
ZW1wb3JhcnlVSVNvdXJjZUNvZGUoc2NyaXB0LnNvdXJjZVVSTCwgc2NyaXB0LCBmYWxzZSwgdHJ1
ZSk7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTb3VyY2VNYXBwaW5nKHRoaXMuX3NuaXBwZXRT
Y3JpcHRNYXBwaW5nKTsKICAgICAgICAgdGhpcy5fdWlTb3VyY2VDb2RlRm9yU2NyaXB0SWRbc2Ny
aXB0LnNjcmlwdElkXSA9IHVpU291cmNlQ29kZTsKICAgICAgICAgdGhpcy5fc2NyaXB0Rm9yVUlT
b3VyY2VDb2RlLnB1dCh1aVNvdXJjZUNvZGUsIHNjcmlwdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dvcmtzcGFjZS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV29ya3NwYWNlLmpzCmluZGV4IGM1NTE1ZTgyYjcwYzI2ZTg0
NmI4MDdiMjc0ZjI3ZWI0NzY0NTY4ODMuLjY2NjU2ODZhOTEwY2U5NDQ3MjdjNDA4ZTJkMzhjYjg1
OTg5MDAxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
V29ya3NwYWNlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV29y
a3NwYWNlLmpzCkBAIC02MSw2ICs2MSw3IEBAIFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2VDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKIFdlYkluc3BlY3Rvci53b3Jrc3BhY2VDb250cm9sbGVyID0gbnVs
bDsKIAogLyoqCisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Xb3Jrc3BhY2V9IHdvcmtzcGFjZQog
ICogQGNvbnN0cnVjdG9yCiAgKi8KIFdlYkluc3BlY3Rvci5Qcm9qZWN0ID0gZnVuY3Rpb24od29y
a3NwYWNlKQpAQCAtNzYsNDEgKzc3LDM5IEBAIFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3RvdHlw
ZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyfSBjb250ZW50UHJvdmlkZXIK
KyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzRWRpdGFibGUKKyAgICAgKiBAcGFyYW0ge2Jvb2xl
YW49fSBpc0NvbnRlbnRTY3JpcHQKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBpc1NuaXBwZXQK
ICAgICAgKi8KLSAgICBhZGRVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVpU291cmNlQ29kZSkKKyAg
ICBhZGRVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVybCwgY29udGVudFByb3ZpZGVyLCBpc0VkaXRh
YmxlLCBpc0NvbnRlbnRTY3JpcHQsIGlzU25pcHBldCkKICAgICB7CisgICAgICAgIHZhciB1aVNv
dXJjZUNvZGUgPSB0aGlzLnVpU291cmNlQ29kZUZvclVSTCh1cmwpOworICAgICAgICBpZiAodWlT
b3VyY2VDb2RlKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogSW1wbGVtZW50CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3Bl
Y3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUpOworICAg
ICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gaXNDb250ZW50U2NyaXB0OworICAg
ICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0ID0gaXNTbmlwcGV0OwogICAgICAgICB0aGlzLl91
aVNvdXJjZUNvZGVzLnB1c2godWlTb3VyY2VDb2RlKTsKICAgICAgICAgdGhpcy5fd29ya3NwYWNl
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlk
ZXIuRXZlbnRzLlVJU291cmNlQ29kZUFkZGVkLCB1aVNvdXJjZUNvZGUpOwogICAgIH0sCiAKICAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNl
Q29kZQotICAgICAqLwotICAgIGFkZFRlbXBvcmFyeVVJU291cmNlQ29kZTogZnVuY3Rpb24odWlT
b3VyY2VDb2RlKQotICAgIHsKLSAgICAgICAgdWlTb3VyY2VDb2RlLmlzVGVtcG9yYXJ5ID0gdHJ1
ZTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJ
bnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlRlbXBvcmFyeVVJU291cmNlQ29k
ZUFkZGVkLCB1aVNvdXJjZUNvZGUpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAgICAqIEBwYXJhbSB7
c3RyaW5nfSB1cmwKICAgICAgKi8KLSAgICByZW1vdmVVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVp
U291cmNlQ29kZSkKKyAgICByZW1vdmVVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVybCkKICAgICB7
CisgICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLnVpU291cmNlQ29kZUZvclVSTCh1cmwp
OworICAgICAgICBpZiAoIXVpU291cmNlQ29kZSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgdGhpcy5fdWlTb3VyY2VDb2Rlcy5zcGxpY2UodGhpcy5fdWlTb3VyY2VDb2Rlcy5pbmRleE9m
KHVpU291cmNlQ29kZSksIDEpOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2UuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlT
b3VyY2VDb2RlUmVtb3ZlZCwgdWlTb3VyY2VDb2RlKTsKICAgICB9LAogCiAgICAgLyoqCi0gICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlfSB1aVNvdXJjZUNvZGUKLSAgICAg
Ki8KLSAgICByZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGU6IGZ1bmN0aW9uKHVpU291cmNlQ29k
ZSkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5UZW1wb3JhcnlVSVNv
dXJjZUNvZGVSZW1vdmVkLCB1aVNvdXJjZUNvZGUpOwotICAgIH0sCi0KLSAgICAvKioKICAgICAg
KiBAcGFyYW0ge3N0cmluZ30gdXJsCiAgICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGV9CiAgICAgICovCkBAIC0xNzUsNiArMTc0LDMxIEBAIFdlYkluc3BlY3Rvci5Xb3Jr
c3BhY2UucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fcHJvamVjdC51aVNvdXJj
ZUNvZGVzKCk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwK
KyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5Db250ZW50UHJvdmlkZXJ9IGNvbnRlbnRQcm92
aWRlcgorICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNFZGl0YWJsZQorICAgICAqIEBwYXJhbSB7
Ym9vbGVhbj19IGlzQ29udGVudFNjcmlwdAorICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGlzU25p
cHBldAorICAgICAqLworICAgIGFkZFRlbXBvcmFyeVVJU291cmNlQ29kZTogZnVuY3Rpb24odXJs
LCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCwgaXNTbmlwcGV0
KQorICAgIHsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlKHVybCwgY29udGVudFByb3ZpZGVyLCBpc0VkaXRhYmxlKTsKKyAgICAgICAgdWlT
b3VyY2VDb2RlLmlzQ29udGVudFNjcmlwdCA9IGlzQ29udGVudFNjcmlwdDsKKyAgICAgICAgdWlT
b3VyY2VDb2RlLmlzU25pcHBldCA9IGlzU25pcHBldDsKKyAgICAgICAgdWlTb3VyY2VDb2RlLmlz
VGVtcG9yYXJ5ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5UZW1wb3JhcnlVSVNvdXJj
ZUNvZGVBZGRlZCwgdWlTb3VyY2VDb2RlKTsKKyAgICAgICAgcmV0dXJuIHVpU291cmNlQ29kZTsg
ICAgICAgIAorICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5V
SVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQorICAgICAqLworICAgIHJlbW92ZVRlbXBvcmFyeVVJ
U291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAgIHsKKyAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZVByb3ZpZGVy
LkV2ZW50cy5UZW1wb3JhcnlVSVNvdXJjZUNvZGVSZW1vdmVkLCB1aVNvdXJjZUNvZGUpOworICAg
IH0sCisKICAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlCiB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzYTIzODYxMmYxOTgyYjBlMjQ2YTM2ODZkMTY2NWY2MDAzZTk4OGI5Li43MTM0MjRj
NDc3NTQ1OTZjYzA4MThmMTY0NDY3Yzg3MTYzNWVlOWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTItMTAtMjMgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogTW92ZSBVSVNvdXJjZUNvZGUgY3JlYXRpb24gb3V0IG9mIG1h
cHBpbmdzIHRvIHdvcmtzcGFjZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMDA5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd29ya3NwYWNlLXRlc3QuanM6Cisg
ICAgICAgIChpbml0aWFsaXplX1dvcmtzcGFjZVRlc3QuSW5zcGVjdG9yVGVzdC5hZGRNb2NrVUlT
b3VyY2VDb2RlVG9Xb3Jrc3BhY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9yZXNv
dXJjZS1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL2Rl
YnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbDoKKwogMjAxMi0xMC0yMiAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcmVwYXJl
IG1hcHBpbmdzIHRvIG1vdmluZyB1aVNvdXJjZUNvZGVzIGNyZWF0aW9uIG91dCBvZiB0aGVtIHRv
IHdvcmtzcGFjZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3dvcmtzcGFjZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd29y
a3NwYWNlLXRlc3QuanMKaW5kZXggNTExMTk0YjIxMjQxMzg0MzkwODVjYzc2ZTA3Nzk5OGUwMDk0
NWM3MC4uZTUyZmI5YjU2MzdjMTM2YzQ3NmM5MWZkOTY1ZWE2ZTNmYzllODVkNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd29ya3NwYWNlLXRlc3QuanMKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd29ya3NwYWNlLXRlc3QuanMKQEAg
LTUzLDggKzUzLDcgQEAgSW5zcGVjdG9yVGVzdC5hZGRNb2NrVUlTb3VyY2VDb2RlVG9Xb3Jrc3Bh
Y2UgPSBmdW5jdGlvbih1cmwsIHR5cGUsIGNvbnRlbnQpCiB7CiAgICAgdmFyIGlzRG9jdW1lbnQg
PSB0eXBlID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5Eb2N1bWVudDsKICAgICB2YXIg
bW9ja0NvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdGljQ29udGVudFByb3Zp
ZGVyKHR5cGUsIGNvbnRlbnQpOwotICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZSh1cmwsIG1vY2tDb250ZW50UHJvdmlkZXIsICFpc0RvY3VtZW50KTsK
LSAgICBJbnNwZWN0b3JUZXN0LnRlc3RXb3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29k
ZSh1aVNvdXJjZUNvZGUpOworICAgIEluc3BlY3RvclRlc3QudGVzdFdvcmtzcGFjZS5wcm9qZWN0
KCkuYWRkVUlTb3VyY2VDb2RlKHVybCwgbW9ja0NvbnRlbnRQcm92aWRlciwgIWlzRG9jdW1lbnQp
OwogfQogCiBJbnNwZWN0b3JUZXN0Ll9kZWZhdWx0VUlTb3VyY2VDb2RlUHJvdmlkZXJFdmVudEhh
bmRsZXIgPSBmdW5jdGlvbihldmVudCkKQEAgLTY4LDcgKzY3LDcgQEAgSW5zcGVjdG9yVGVzdC5k
dW1wVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24odWlTb3VyY2VDb2RlLCBjYWxsYmFjaykKICAgICBJ
bnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlOiAiICsgdXJsKTsKICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlIGlzIGVkaXRhYmxlOiAiICsgdWlTb3Vy
Y2VDb2RlLmlzRWRpdGFibGUoKSk7CiAgICAgaWYgKHVpU291cmNlQ29kZS5jb250ZW50VHlwZSgp
ID09PSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQgfHwgdWlTb3VyY2VDb2RlLmNv
bnRlbnRUeXBlKCkgPT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50KQotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiVUlTb3VyY2VDb2RlIGlzIGNvbnRlbnQgc2Ny
aXB0OiAiICsgdWlTb3VyY2VDb2RlLmlzQ29udGVudFNjcmlwdCk7CisgICAgICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCJVSVNvdXJjZUNvZGUgaXMgY29udGVudCBzY3JpcHQ6ICIgKyAhIXVp
U291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQpOwogICAgIHVpU291cmNlQ29kZS5yZXF1ZXN0Q29u
dGVudChkaWRSZXF1ZXN0Q29udGVudCk7CiAKICAgICBmdW5jdGlvbiBkaWRSZXF1ZXN0Q29udGVu
dChjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2Utc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlLXNjcmlwdC1tYXBw
aW5nLWV4cGVjdGVkLnR4dAppbmRleCBhZmE5YzIxMTZmOGEzNWJmNjg3MDlhNTUxOGQ0NjQ0MGM1
ZTYzNjgzLi4yNjU3ODZkZDljNzk3OWU0OThhNmMzMjYxZThlZjE0NjJmNDljNjFkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvcmVzb3VyY2Utc2NyaXB0LW1hcHBp
bmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yZXNv
dXJjZS1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcgQEAgVUlTb3Vy
Y2VDb2RlIGNvbnRlbnQ6IDxjb250ZW50IHNjcmlwdCBzb3VyY2U+CiBBZGRpbmcgdWlTb3VyY2VD
b2RlIGZvciBmaW5pc2hlZCByZXNvdXJjZS4KIFVJU291cmNlQ29kZTogZm9vLmpzCiBVSVNvdXJj
ZUNvZGUgaXMgZWRpdGFibGU6IHRydWUKLVVJU291cmNlQ29kZSBpcyBjb250ZW50IHNjcmlwdDog
dHJ1ZQorVUlTb3VyY2VDb2RlIGlzIGNvbnRlbnQgc2NyaXB0OiBmYWxzZQogTWltZSB0eXBlOiB0
ZXh0L2phdmFzY3JpcHQKIFVJU291cmNlQ29kZSBjb250ZW50OiA8Y29udGVudCBzY3JpcHQgcmVz
b3VyY2UgY29udGVudD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVn
Z2VyL3NjcmlwdHMtcGFuZWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9z
Y3JpcHRzLXBhbmVsLmh0bWwKaW5kZXggOGNlOTEyMGVlMDZkNGJiNWZlYjdiZjBmODg4ZTU0ZWJh
NDUwNmJhMS4uMTRjYzBiNWMzZDg5NzQ3N2NmMjM1Mzk0ZDI3N2M5YjM2YWIwODBmNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCkBA
IC0xNSw0NyArMTUsNDAgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHNldDogZnVuY3Rpb24o
YnJlYWtwb2ludHMpIHsgcGVyc2lzdGVudEJyZWFrcG9pbnRzID0gYnJlYWtwb2ludHM7IH0KICAg
ICB9OwogCi0gICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IHsKLSAgICAgICAgY29udGVudFR5cGU6
IGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVR5cGVzLlNjcmlwdDsKLSAgICAgICAgfQotICAgIH0KKyAgICB2YXIgY29udGVudFBy
b3ZpZGVyID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIoV2ViSW5zcGVj
dG9yLnJlc291cmNlVHlwZXMuU2NyaXB0LCAiIiwgInRleHQvamF2YXNjcmlwdCIpOworICAgIElu
c3BlY3RvclRlc3QuYWRkU25pZmZlcihXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnByb3RvdHlw
ZSwgInJlcXVlc3RDb250ZW50IiwgcmVxdWVzdENvbnRlbnRTbmlmZmVyLCB0cnVlKQogICAgIAot
ICAgIGZ1bmN0aW9uIGNyZWF0ZVVJU291Y2VDb2RlKHVybCkKKyAgICBmdW5jdGlvbiByZXF1ZXN0
Q29udGVudFNuaWZmZXIoY2FsbGJhY2spCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2Rl
ID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGZh
bHNlKTsKLSAgICAgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50ID0gZnVuY3Rpb24oY2Fs
bGJhY2spCi0gICAgICAgIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJT
b3VyY2UgcmVxdWVzdGVkIGZvciAiICsgdXJsKTsKLSAgICAgICAgICAgIGNhbGxiYWNrKCIiKTsK
LSAgICAgICAgfTsKLSAgICAgICAgcmV0dXJuIHVpU291cmNlQ29kZTsKKyAgICAgICAgSW5zcGVj
dG9yVGVzdC5hZGRSZXN1bHQoIlNvdXJjZSByZXF1ZXN0ZWQgZm9yICIgKyB0aGlzLnVybCk7Cisg
ICAgICAgIGNhbGxiYWNrKCIiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjcmVhdGVNb2NrV29y
a3NwYWNlKCkKKyAgICB7CisgICAgICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9y
LldvcmtzcGFjZSgpOworICAgICAgICByZXR1cm4gd29ya3NwYWNlOwogICAgIH0KIAogICAgIElu
c3BlY3RvclRlc3QucnVuVGVzdFN1aXRlKFsKICAgICAgICAgZnVuY3Rpb24gdGVzdEluaXRpYWxM
b2FkKG5leHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2Vi
SW5zcGVjdG9yLldvcmtzcGFjZSgpOworICAgICAgICAgICAgdmFyIHdvcmtzcGFjZSA9IGNyZWF0
ZU1vY2tXb3Jrc3BhY2UoKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IGNyZWF0ZVVJU291Y2VDb2RlKCJmb29iYXIuanMiKTsKLSAgICAgICAgICAgIHZhciB1
aVNvdXJjZUNvZGVGb28gPSBjcmVhdGVVSVNvdWNlQ29kZSgiZm9vLmpzIik7Ci0gICAgICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlQmFyID0gY3JlYXRlVUlTb3VjZUNvZGUoImJhci5qcyIpOwotICAg
ICAgICAgICAgdmFyIHVpU291cmNlQ29kZUJheiA9IGNyZWF0ZVVJU291Y2VDb2RlKCJiYXouanMi
KTsKLQotICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodWlT
b3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VD
b2RlKCJmb29iYXIuanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKIAogICAgICAgICAgICAg
dmFyIHBhbmVsID0gbmV3IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwod29ya3NwYWNlKTsKICAg
ICAgICAgICAgIHBhbmVsLnNob3coKTsKIAotICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3Qo
KS5hZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlRm9vKTsKLSAgICAgICAgICAgIHdvcmtzcGFj
ZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZUJhcik7Ci0gICAgICAgICAg
ICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGVCYXopOwor
ICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImZvby5qcyIs
IGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOworICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3Qo
KS5hZGRVSVNvdXJjZUNvZGUoImJhci5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOworICAg
ICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImJhei5qcyIsIGNv
bnRlbnRQcm92aWRlciwgZmFsc2UpOworICAgICAgICAgICAgCiAKICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7CiAKICAgICAg
ICAgICAgIC8vIFNlbGVjdCAiYmF6LmpzIi4KLSAgICAgICAgICAgIHBhbmVsLl9zaG93RmlsZSh1
aVNvdXJjZUNvZGVCYXopOworICAgICAgICAgICAgcGFuZWwuX3Nob3dGaWxlKHdvcmtzcGFjZS51
aVNvdXJjZUNvZGVGb3JVUkwoImJhei5qcyIpKTsKICAgICAgICAgICAgIHBhbmVsLmRldGFjaCgp
OwogCiAgICAgICAgICAgICBuZXh0KCk7CkBAIC02MywyMyArNTYsMTkgQEAgZnVuY3Rpb24gdGVz
dCgpCiAKICAgICAgICAgZnVuY3Rpb24gdGVzdFJlc2V0KG5leHQpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHZhciB3b3Jrc3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOworICAg
ICAgICAgICAgdmFyIHdvcmtzcGFjZSA9IGNyZWF0ZU1vY2tXb3Jrc3BhY2UoKTsKICAgICAgICAg
ICAgIHZhciB3b3Jrc3BhY2VDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2VD
b250cm9sbGVyKHdvcmtzcGFjZSk7CiAgICAgICAgICAgICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbCh3b3Jrc3BhY2UpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygp
OwogCi0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlRm9vID0gY3JlYXRlVUlTb3VjZUNvZGUo
ImZvby5qcyIpOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZUJhciA9IGNyZWF0ZVVJU291
Y2VDb2RlKCJiYXIuanMiKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVCYXogPSBjcmVh
dGVVSVNvdWNlQ29kZSgiYmF6LmpzIik7Ci0KLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0
KCkuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZUZvbyk7Ci0gICAgICAgICAgICB3b3Jrc3Bh
Y2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGVCYXIpOwotICAgICAgICAg
ICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlQmF6KTsK
KyAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKCJmb28uanMi
LCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0
KCkuYWRkVUlTb3VyY2VDb2RlKCJiYXIuanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAg
ICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKCJiYXouanMiLCBj
b250ZW50UHJvdmlkZXIsIGZhbHNlKTsKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1w
U2NyaXB0c05hdmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKIAogICAgICAgICAgICAgd29ya3Nw
YWNlQ29udHJvbGxlci5fbWFpbkZyYW1lTmF2aWdhdGVkKCk7Ci0gICAgICAgICAgICB3b3Jrc3Bh
Y2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGVCYXIpOworICAgICAgICAg
ICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImJhci5qcyIsIGNvbnRlbnRQ
cm92aWRlciwgZmFsc2UpOwogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05h
dmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKIAogICAgICAgICAgICAgcGFuZWwuZGV0YWNoKCk7
CkBAIC04OCwyMSArNzcsMTggQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAgICAgZnVuY3Rpb24g
dGVzdFRlbXBvcmFyeVVJU291cmNlQ29kZUFkZGVkQW5kUmVtb3ZlZChuZXh0KQogICAgICAgICB7
Ci0gICAgICAgICAgICB2YXIgd29ya3NwYWNlID0gbmV3IFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2Uo
KTsKKyAgICAgICAgICAgIHZhciB3b3Jrc3BhY2UgPSBjcmVhdGVNb2NrV29ya3NwYWNlKCk7CiAg
ICAgICAgICAgICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCh3b3Jr
c3BhY2UpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygpOwogCi0gICAgICAgICAgICB2YXIgdWlT
b3VyY2VDb2RlRm9vID0gY3JlYXRlVUlTb3VjZUNvZGUoImZvby5qcyIpOwotICAgICAgICAgICAg
d29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlRm9vKTsKLSAg
ICAgICAgICAgIHZhciBjb21waWxlZFNvdXJjZUNvZGUgPSBjcmVhdGVVSVNvdWNlQ29kZSgiY29t
cGlsZWQuanMiKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVGVtcG9yYXJ5
VUlTb3VyY2VDb2RlKGNvbXBpbGVkU291cmNlQ29kZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2Uu
cHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9vLmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxz
ZSk7CisgICAgICAgICAgICB2YXIgdGVtcG9yYXJ5VUlTb3VyY2VDb2RlID0gd29ya3NwYWNlLmFk
ZFRlbXBvcmFyeVVJU291cmNlQ29kZSgiY29tcGlsZWQuanMiLCBjb250ZW50UHJvdmlkZXIpOwog
CiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTY3JpcHRzTmF2aWdhdG9yKHBhbmVsLl9u
YXZpZ2F0b3IpOwogCiAgICAgICAgICAgICAvLyBQbHVnIGNvbXBpbGVyIHNvdXJjZSBtYXBwaW5n
LgotICAgICAgICAgICAgdmFyIHNvdXJjZVNvdXJjZUNvZGUgPSBjcmVhdGVVSVNvdWNlQ29kZSgi
c291cmNlLmpzIik7Ci0gICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNl
Q29kZShzb3VyY2VTb3VyY2VDb2RlKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCku
cmVtb3ZlVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKGNvbXBpbGVkU291cmNlQ29kZSk7CisgICAgICAg
ICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgic291cmNlLmpzIiwgY29u
dGVudFByb3ZpZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UucmVtb3ZlVGVtcG9y
YXJ5VUlTb3VyY2VDb2RlKHRlbXBvcmFyeVVJU291cmNlQ29kZSk7CiAKICAgICAgICAgICAgIElu
c3BlY3RvclRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7CiAgICAg
ICAgICAgICBuZXh0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170087</attachid>
            <date>2012-10-23 02:00:58 -0700</date>
            <delta_ts>2012-10-23 07:48:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100092-20121023125935.patch</filename>
            <type>text/plain</type>
            <size>25587</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZhYThjNDEwM2JkZDc5
MDkwZjA4NzM4NDgxMjU3Mjg0NDU4ZDA5Mi4uNDBmMjhjNTI3YmEzZTYwNmVjY2NhM2IxNmNlZGRi
YjViOGRkOWEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTIzICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE1vdmUgVUlTb3VyY2VDb2RlIGNyZWF0aW9uIG91dCBvZiBtYXBwaW5ncyB0byB3b3Jrc3Bh
Y2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAw
OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3Zl
ZCB1aVNvdXJjZUNvZGUgY29uc3RydWN0b3IgY2FsbHMgb3V0IG9mIG1hcHBpbmdzIHRvIHdvcmtz
cGFjZS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTY3JpcHRNYXBw
aW5nLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29k
ZVByb3ZpZGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtVSVNvdXJjZUNvZGVQ
cm92aWRlci5wcm90b3R5cGUuX3BhcnNlZFNjcmlwdFNvdXJjZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLnByb3RvdHlwZS5fYWRkVUlTb3VyY2VD
b2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlU2NyaXB0TWFwcGlu
Zy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1hcHBpbmcucHJvdG90
eXBlLl9kZWxldGVPcmlnaW5hbFVJU291cmNlQ29kZUZvclNjcmlwdHMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2RlbGV0ZVRlbXBvcmFy
eVVJU291cmNlQ29kZUZvclNjcmlwdHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNl
U2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2JpbmRVSVNvdXJjZUNvZGVUb1NjcmlwdHMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2NyZWF0
ZVVJU291cmNlQ29kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZS5fZ2V0T3JDcmVhdGVUZW1wb3JhcnlVSVNvdXJjZUNvZGUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0TWFwcGluZy5wcm90b3R5cGUuX2dldE9yQ3Jl
YXRlT3JpZ2luYWxVSVNvdXJjZUNvZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
U0FTU1NvdXJjZU1hcHBpbmcuanM6CisgICAgICAgIChfYmluZFVJU291cmNlQ29kZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRTbmlwcGV0TW9kZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlwZS5fYWRkU2NyaXB0U25p
cHBldCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlw
ZS5fY3JlYXRlVUlTb3VyY2VDb2RlRm9yU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1dvcmtzcGFjZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9qZWN0LnByb3Rv
dHlwZS5hZGRVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2plY3QucHJv
dG90eXBlLnJlbW92ZVVJU291cmNlQ29kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlLnByb3RvdHlwZS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLldvcmtzcGFjZS5wcm90b3R5cGUucmVtb3ZlVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKToK
KwogMjAxMi0xMC0yMiAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBQcmVwYXJlIG1hcHBpbmdzIHRvIG1vdmluZyB1aVNvdXJj
ZUNvZGVzIGNyZWF0aW9uIG91dCBvZiB0aGVtIHRvIHdvcmtzcGFjZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29tcGlsZXJTY3JpcHRNYXBwaW5nLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBp
bmcuanMKaW5kZXggZjdhNTAyYTNjY2ViMzY4Y2IxMzQ5OGE1NDExMmUzNzgyMmM2OTgxMC4uNjU4
N2I0MmU1NjJiYWJjMzNhODhjM2EwYjEwOWM5ZTZmZTdlY2QyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBpbmcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBp
bmcuanMKQEAgLTkyLDExICs5MiwxMCBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgb25s
eSBjcmVhdGUgdGVtcG9yYXJ5IHVpU291cmNlQ29kZXMgb24gZGVtYW5kIGFuZCBzaG91bGQgc2V0
IHRoaXMgYXMgYSBtYXBwaW5nIHRvIAogICAgICAgICAvLyByZWxldmFudCB1aVNvdXJjZUNvZGVz
IGFkZGVkIGJ5IE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci4KLSAgICAgICAgdmFyIG9yaWdp
bmFsVUlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUoc2NyaXB0LnNv
dXJjZVVSTCwgc2NyaXB0LCBmYWxzZSk7CisgICAgICAgIHZhciBvcmlnaW5hbFVJU291cmNlQ29k
ZSA9IHRoaXMuX3dvcmtzcGFjZS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoc2NyaXB0LnNvdXJj
ZVVSTCwgc2NyaXB0LCBmYWxzZSk7CisgICAgICAgIG9yaWdpbmFsVUlTb3VyY2VDb2RlLnNldFNv
dXJjZU1hcHBpbmcodGhpcyk7CiAgICAgICAgIHRoaXMuX29yaWdpbmFsVUlTb3VyY2VDb2RlRm9y
U2NyaXB0SWRbc2NyaXB0LnNjcmlwdElkXSA9IG9yaWdpbmFsVUlTb3VyY2VDb2RlOwogICAgICAg
ICB0aGlzLl9zY3JpcHRGb3JPcmlnaW5hbFVJU291cmNlQ29kZS5wdXQob3JpZ2luYWxVSVNvdXJj
ZUNvZGUsIHNjcmlwdCk7Ci0gICAgICAgIG9yaWdpbmFsVUlTb3VyY2VDb2RlLnNldFNvdXJjZU1h
cHBpbmcodGhpcyk7Ci0gICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVGVtcG9y
YXJ5VUlTb3VyY2VDb2RlKG9yaWdpbmFsVUlTb3VyY2VDb2RlKTsKIAogICAgICAgICB2YXIgc291
cmNlTWFwID0gdGhpcy5sb2FkU291cmNlTWFwRm9yU2NyaXB0KHNjcmlwdCk7CiAKQEAgLTExOCw5
ICsxMTcsOCBAQCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgICAgICBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlN0
YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQsIHNv
dXJjZUNvbnRlbnQpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGNvbnRlbnRQ
cm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTb3VyY2VNYXBwaW5nQ29udGVudFBy
b3ZpZGVyKHNvdXJjZVVSTCk7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdl
Ykluc3BlY3Rvci5VSVNvdXJjZUNvZGUoc291cmNlVVJMLCBjb250ZW50UHJvdmlkZXIsIGZhbHNl
KTsKLSAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2Rl
KHVpU291cmNlQ29kZSk7Ci0KKyAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCku
YWRkVUlTb3VyY2VDb2RlKHNvdXJjZVVSTCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9y
VVJMKHNvdXJjZVVSTCk7CiAgICAgICAgICAgICB1aVNvdXJjZUNvZGUuc2V0U291cmNlTWFwcGlu
Zyh0aGlzKTsKICAgICAgICAgICAgIHVpU291cmNlQ29kZS5pc0NvbnRlbnRTY3JpcHQgPSBzY3Jp
cHQuaXNDb250ZW50U2NyaXB0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3Zp
ZGVyLmpzCmluZGV4IGVjMThkY2YzMmNiOGViNDEyZmRlMWJlYjlkNjQzMWE2OWI5MDRlNWQuLjYz
YzFkY2FkMzgyMzM5OTNlMzA3NTI0MzljMzgwMWEzYmVhYmQ2YzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1VJU291
cmNlQ29kZVByb3ZpZGVyLmpzCkBAIC04Myw3ICs4Myw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3Jr
VUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKCFwYXJz
ZWRVUkwuaG9zdCkKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAg
dGhpcy5fYWRkVUlTb3VyY2VDb2RlKHNjcmlwdC5zb3VyY2VVUkwsIHNjcmlwdCk7CisgICAgICAg
IHRoaXMuX2FkZFVJU291cmNlQ29kZShzY3JpcHQuc291cmNlVVJMLCBzY3JpcHQsIHNjcmlwdC5p
c0NvbnRlbnRTY3JpcHQpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTk2LDkgKzk2LDExIEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewogICAg
IH0sCiAKICAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuQ29udGVudFByb3ZpZGVyfSBjb250ZW50UHJvdmlkZXIKKyAgICAgKiBA
cGFyYW0ge2Jvb2xlYW49fSBpc0NvbnRlbnRTY3JpcHQKICAgICAgKi8KLSAgICBfYWRkVUlTb3Vy
Y2VDb2RlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlcikKKyAgICBfYWRkVUlTb3VyY2VD
b2RlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNDb250ZW50U2NyaXB0KQogICAg
IHsKICAgICAgICAgdmFyIHR5cGUgPSBjb250ZW50UHJvdmlkZXIuY29udGVudFR5cGUoKTsKICAg
ICAgICAgaWYgKHR5cGUgIT09IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQg
JiYgdHlwZSAhPT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQgJiYgdHlwZSAh
PT0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0KQpAQCAtMTA3LDggKzEwOSw3IEBA
IFdlYkluc3BlY3Rvci5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl9wcm9jZXNzZWRVUkxzW3VybF0gPSB0
cnVlOwogICAgICAgICB2YXIgaXNFZGl0YWJsZSA9IHR5cGUgIT09IFdlYkluc3BlY3Rvci5yZXNv
dXJjZVR5cGVzLkRvY3VtZW50OwotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUpOwot
ICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJj
ZUNvZGUpOworICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29k
ZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSwgaXNDb250ZW50U2NyaXB0KTsKICAg
ICB9LAogCiAgICAgX3Byb2plY3RXaWxsUmVzZXQ6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VTY3JpcHRNYXBwaW5nLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBp
bmcuanMKaW5kZXggYmQ2YjJmYTNlZDBlZWNiOTc2Y2JiZWNlNzBkYTVlN2M3YmRmODkzMi4uN2Rj
YzBjMGEzMTRmNDJhMGE0YjRiZDMxOTcxOWJlZjI5YWY4NzlkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBpbmcuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVNjcmlwdE1hcHBp
bmcuanMKQEAgLTE0OCw3ICsxNDgsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAgICBpZiAoIW9yaWdpbmFsVUlTb3Vy
Y2VDb2RlKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJv
amVjdCgpLnJlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZShvcmlnaW5hbFVJU291cmNlQ29kZSk7
CisgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUob3Jp
Z2luYWxVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlzLl9zY3JpcHRJZHNGb3JPcmlnaW5hbFVJ
U291cmNlQ29kZS5yZW1vdmUob3JpZ2luYWxVSVNvdXJjZUNvZGUpOwogICAgIH0sCiAKQEAgLTE2
NSw3ICsxNjUsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgfQogICAgICAgICBpZiAoIXRlbXBvcmFyeVVJU291cmNlQ29kZSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3Qo
KS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUodGVtcG9yYXJ5VUlTb3VyY2VDb2RlKTsKKyAg
ICAgICAgdGhpcy5fd29ya3NwYWNlLnJlbW92ZVRlbXBvcmFyeVVJU291cmNlQ29kZSh0ZW1wb3Jh
cnlVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlzLl9zY3JpcHRJZHNGb3JUZW1wb3JhcnlVSVNv
dXJjZUNvZGUucmVtb3ZlKHRlbXBvcmFyeVVJU291cmNlQ29kZSk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0sCkBAIC0xNzksNyArMTc5LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2Ny
aXB0TWFwcGluZy5wcm90b3R5cGUgPSB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNjcmlwdHMu
bGVuZ3RoKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgKytp
KQogICAgICAgICAgICAgc2NyaXB0c1tpXS5zZXRTb3VyY2VNYXBwaW5nKHRoaXMpOwotICAgICAg
ICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2NyaXB0ID0gc2NyaXB0c1swXS5pc0NvbnRlbnRTY3Jp
cHQ7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTb3VyY2VNYXBwaW5nKHRoaXMpOwogICAgICAg
ICBpZiAodWlTb3VyY2VDb2RlLmlzRWRpdGFibGUoKSkgewogICAgICAgICAgICAgdmFyIHNjcmlw
dEZpbGUgPSBuZXcgV2ViSW5zcGVjdG9yLlJlc291cmNlU2NyaXB0RmlsZSh0aGlzLCB1aVNvdXJj
ZUNvZGUpOwpAQCAtMjI1LDcgKzIyNCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNjcmlwdE1h
cHBpbmcucHJvdG90eXBlID0gewogICAgICAgICB2YXIgY29udGVudFByb3ZpZGVyID0gc2NyaXB0
LmlzSW5saW5lU2NyaXB0KCkgPyBuZXcgV2ViSW5zcGVjdG9yLkNvbmNhdGVuYXRlZFNjcmlwdHND
b250ZW50UHJvdmlkZXIoc2NyaXB0cykgOiBzY3JpcHQ7CiAgICAgICAgIHZhciBpc0R5bmFtaWNT
Y3JpcHQgPSB0aGlzLl9pc0R5bmFtaWNTY3JpcHQoc2NyaXB0KTsKICAgICAgICAgdmFyIHVybCA9
IGlzRHluYW1pY1NjcmlwdCA/ICIiIDogc2NyaXB0LnNvdXJjZVVSTDsKLSAgICAgICAgdmFyIHRl
bXBvcmFyeVVJU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHVybCwg
Y29udGVudFByb3ZpZGVyLCAhc2NyaXB0LmlzSW5saW5lU2NyaXB0KCkgJiYgIWRpdmVyZ2VkVmVy
c2lvbik7CisgICAgICAgIHZhciB0ZW1wb3JhcnlVSVNvdXJjZUNvZGUgPSB0aGlzLl93b3Jrc3Bh
Y2UuYWRkVGVtcG9yYXJ5VUlTb3VyY2VDb2RlKHVybCwgY29udGVudFByb3ZpZGVyLCAhc2NyaXB0
LmlzSW5saW5lU2NyaXB0KCkgJiYgIWRpdmVyZ2VkVmVyc2lvbiwgc2NyaXB0LmlzQ29udGVudFNj
cmlwdCk7CiAgICAgICAgIHRlbXBvcmFyeVVJU291cmNlQ29kZS5kaXZlcmdlZFZlcnNpb24gPSBk
aXZlcmdlZFZlcnNpb247CiAgICAgICAgIHJldHVybiB0ZW1wb3JhcnlVSVNvdXJjZUNvZGU7CiAg
ICAgfSwKQEAgLTI0OCw3ICsyNDcsNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHNjcmlwdElkcy5wdXNoKHNjcmlwdHNbaV0u
c2NyaXB0SWQpOwogICAgICAgICB9CiAgICAgICAgIHRoaXMuX3NjcmlwdElkc0ZvclRlbXBvcmFy
eVVJU291cmNlQ29kZS5wdXQodGVtcG9yYXJ5VUlTb3VyY2VDb2RlLCBzY3JpcHRJZHMpOwotICAg
ICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh0
ZW1wb3JhcnlVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlzLl9iaW5kVUlTb3VyY2VDb2RlVG9T
Y3JpcHRzKHRlbXBvcmFyeVVJU291cmNlQ29kZSwgc2NyaXB0cyk7CiAgICAgICAgIHJldHVybiB0
ZW1wb3JhcnlVSVNvdXJjZUNvZGU7CiAgICAgfSwKQEAgLTI3Miw3ICsyNzAsNiBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHNj
cmlwdElkcy5wdXNoKHNjcmlwdHNbaV0uc2NyaXB0SWQpOwogICAgICAgICB9CiAgICAgICAgIHRo
aXMuX3NjcmlwdElkc0Zvck9yaWdpbmFsVUlTb3VyY2VDb2RlLnB1dChvcmlnaW5hbFVJU291cmNl
Q29kZSwgc2NyaXB0SWRzKTsKLSAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRU
ZW1wb3JhcnlVSVNvdXJjZUNvZGUob3JpZ2luYWxVSVNvdXJjZUNvZGUpOwogICAgICAgICB0aGlz
Ll9iaW5kVUlTb3VyY2VDb2RlVG9TY3JpcHRzKG9yaWdpbmFsVUlTb3VyY2VDb2RlLCBzY3JpcHRz
KTsKICAgICAgICAgcmV0dXJuIG9yaWdpbmFsVUlTb3VyY2VDb2RlOwogICAgIH0sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5n
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGlu
Zy5qcwppbmRleCA4NWI1MjFkY2VjYWQ0NmRlMzQ5OWI2MTgwYzFmYzkwMzExZjkxOGY1Li42MjUz
MTk3MGEwMzQxOTliNTYyYjg4MDg4NTUzZGZjZDJiNDZjOWExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKQEAg
LTExNSw4ICsxMTUsOCBAQCBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBl
ID0gewogICAgICAgICBpZiAoIXVpU291cmNlQ29kZSkgewogICAgICAgICAgICAgdmFyIGNvbnRl
bnQgPSBJbnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseSh1cmwp
OwogICAgICAgICAgICAgdmFyIGNvbnRlbnRQcm92aWRlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3Rh
dGljQ29udGVudFByb3ZpZGVyKFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLlN0eWxlc2hlZXQs
IGNvbnRlbnQsICJ0ZXh0L3gtc2NzcyIpOwotICAgICAgICAgICAgdWlTb3VyY2VDb2RlID0gbmV3
IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50UHJvdmlkZXIsIHRydWUpOwot
ICAgICAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodWlT
b3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHRoaXMuX3dvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlT
b3VyY2VDb2RlKHVybCwgY29udGVudFByb3ZpZGVyLCB0cnVlKTsKKyAgICAgICAgICAgIHVpU291
cmNlQ29kZSA9IHRoaXMuX3dvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JVUkwodXJsKTsKICAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC5zZXRTb3VyY2VNYXBwaW5nKHJhd1VSTCwgdGhp
cyk7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHJhd0xvY2F0aW9uU3RyaW5nID0gcmF3VVJMICsg
IjoiICsgKHJhd0xpbmUgKyAxKTsgIC8vIE5leHQgbGluZSBhZnRlciBtYXBwaW5nIG1ldGFpbmZv
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFNu
aXBwZXRNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
U25pcHBldE1vZGVsLmpzCmluZGV4IGE2NzA3YzY5M2NlMDlkYzExOTBhYjFkNjdiZDE1NzQyN2Zm
YTBlZDMuLjA3ZWI2MmU1MDU4ZGU5YjdmM2VlMzc3YjIwNjc1MTJkODBkYjMwY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBldE1vZGVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0U25pcHBl
dE1vZGVsLmpzCkBAIC04MiwxNCArODIsMTMgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdFNuaXBwZXRN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2FkZFNjcmlwdFNuaXBwZXQ6IGZ1bmN0
aW9uKHNuaXBwZXQpCiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYklu
c3BlY3Rvci5VSVNvdXJjZUNvZGUoc25pcHBldC5uYW1lLCBuZXcgV2ViSW5zcGVjdG9yLlNuaXBw
ZXRDb250ZW50UHJvdmlkZXIoc25pcHBldCksIHRydWUpOwotICAgICAgICB1aVNvdXJjZUNvZGUu
aXNTbmlwcGV0ID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3QoKS5hZGRV
SVNvdXJjZUNvZGUoc25pcHBldC5uYW1lLCBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRDb250ZW50
UHJvdmlkZXIoc25pcHBldCksIHRydWUsIGZhbHNlLCB0cnVlKTsKKyAgICAgICAgdmFyIHVpU291
cmNlQ29kZSA9IHRoaXMuX3dvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JVUkwoc25pcHBldC5uYW1l
KTsKICAgICAgICAgdmFyIHNjcmlwdEZpbGUgPSBuZXcgV2ViSW5zcGVjdG9yLlNuaXBwZXRTY3Jp
cHRGaWxlKHRoaXMsIHVpU291cmNlQ29kZSk7CiAgICAgICAgIHVpU291cmNlQ29kZS5zZXRTY3Jp
cHRGaWxlKHNjcmlwdEZpbGUpOwogICAgICAgICB0aGlzLl9zbmlwcGV0SWRGb3JVSVNvdXJjZUNv
ZGUucHV0KHVpU291cmNlQ29kZSwgc25pcHBldC5pZCk7CiAgICAgICAgIHVpU291cmNlQ29kZS5z
ZXRTb3VyY2VNYXBwaW5nKHRoaXMuX3NuaXBwZXRTY3JpcHRNYXBwaW5nKTsKICAgICAgICAgdGhp
cy5fdWlTb3VyY2VDb2RlRm9yU25pcHBldElkW3NuaXBwZXQuaWRdID0gdWlTb3VyY2VDb2RlOwot
ICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJj
ZUNvZGUpOwogICAgICAgICByZXR1cm4gdWlTb3VyY2VDb2RlOwogICAgIH0sCiAKQEAgLTEwNSw3
ICsxMDQsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fcmVsZWFzZVNuaXBwZXRTY3JpcHQodWlTb3VyY2VDb2RlKTsKICAgICAg
ICAgZGVsZXRlIHRoaXMuX3VpU291cmNlQ29kZUZvclNuaXBwZXRJZFtzbmlwcGV0LmlkXTsKICAg
ICAgICAgdGhpcy5fc25pcHBldElkRm9yVUlTb3VyY2VDb2RlLnJlbW92ZSh1aVNvdXJjZUNvZGUp
OwotICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLnJlbW92ZVVJU291cmNlQ29kZSh1
aVNvdXJjZUNvZGUpOworICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVjdCgpLnJlbW92ZVVJ
U291cmNlQ29kZShzbmlwcGV0Lm5hbWUpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTMyMSw5ICsz
MjAsNyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0U25pcHBldE1vZGVsLnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICBfY3JlYXRlVUlTb3VyY2VDb2RlRm9yU2NyaXB0OiBmdW5jdGlvbihzY3JpcHQp
CiAgICAgewotICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNv
dXJjZUNvZGUoc2NyaXB0LnNvdXJjZVVSTCwgc2NyaXB0LCBmYWxzZSk7Ci0gICAgICAgIHVpU291
cmNlQ29kZS5pc1NuaXBwZXQgPSB0cnVlOwotICAgICAgICB0aGlzLl93b3Jrc3BhY2UucHJvamVj
dCgpLmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICB2YXIg
dWlTb3VyY2VDb2RlID0gdGhpcy5fd29ya3NwYWNlLmFkZFRlbXBvcmFyeVVJU291cmNlQ29kZShz
Y3JpcHQuc291cmNlVVJMLCBzY3JpcHQsIGZhbHNlLCB0cnVlKTsKICAgICAgICAgdWlTb3VyY2VD
b2RlLnNldFNvdXJjZU1hcHBpbmcodGhpcy5fc25pcHBldFNjcmlwdE1hcHBpbmcpOwogICAgICAg
ICB0aGlzLl91aVNvdXJjZUNvZGVGb3JTY3JpcHRJZFtzY3JpcHQuc2NyaXB0SWRdID0gdWlTb3Vy
Y2VDb2RlOwogICAgICAgICB0aGlzLl9zY3JpcHRGb3JVSVNvdXJjZUNvZGUucHV0KHVpU291cmNl
Q29kZSwgc2NyaXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV29ya3NwYWNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9X
b3Jrc3BhY2UuanMKaW5kZXggYzU1MTVlODJiNzBjMjZlODQ2YjgwN2IyNzRmMjdlYjQ3NjQ1Njg4
My4uNjY2NTY4NmE5MTBjZTk0NDcyN2M0MDhlMmQzOGNiODU5ODkwMDEwYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Xb3Jrc3BhY2UuanMKQEAgLTYxLDYgKzYx
LDcgQEAgV2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xsZXIucHJvdG90eXBlID0gewogV2Vi
SW5zcGVjdG9yLndvcmtzcGFjZUNvbnRyb2xsZXIgPSBudWxsOwogCiAvKioKKyAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLldvcmtzcGFjZX0gd29ya3NwYWNlCiAgKiBAY29uc3RydWN0b3IKICAqLwog
V2ViSW5zcGVjdG9yLlByb2plY3QgPSBmdW5jdGlvbih3b3Jrc3BhY2UpCkBAIC03Niw0MSArNzcs
MzkgQEAgV2ViSW5zcGVjdG9yLlByb2plY3QucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAv
KioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29k
ZQorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5Db250ZW50UHJvdmlkZXJ9IGNvbnRlbnRQcm92aWRlcgorICAgICAqIEBwYXJhbSB7Ym9vbGVh
bn0gaXNFZGl0YWJsZQorICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGlzQ29udGVudFNjcmlwdAor
ICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IGlzU25pcHBldAogICAgICAqLwotICAgIGFkZFVJU291
cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAgIGFkZFVJU291cmNlQ29kZTogZnVu
Y3Rpb24odXJsLCBjb250ZW50UHJvdmlkZXIsIGlzRWRpdGFibGUsIGlzQ29udGVudFNjcmlwdCwg
aXNTbmlwcGV0KQogICAgIHsKKyAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IHRoaXMudWlTb3Vy
Y2VDb2RlRm9yVVJMKHVybCk7CisgICAgICAgIGlmICh1aVNvdXJjZUNvZGUpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZSh1cmws
IGNvbnRlbnRQcm92aWRlciwgaXNFZGl0YWJsZSk7CisgICAgICAgIHVpU291cmNlQ29kZS5pc0Nv
bnRlbnRTY3JpcHQgPSBpc0NvbnRlbnRTY3JpcHQ7CisgICAgICAgIHVpU291cmNlQ29kZS5pc1Nu
aXBwZXQgPSBpc1NuaXBwZXQ7CiAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZXMucHVzaCh1aVNv
dXJjZUNvZGUpOwogICAgICAgICB0aGlzLl93b3Jrc3BhY2UuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQcm92aWRlci5FdmVudHMuVUlTb3VyY2VDb2Rl
QWRkZWQsIHVpU291cmNlQ29kZSk7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VDb2RlCi0gICAgICovCi0gICAgYWRk
VGVtcG9yYXJ5VUlTb3VyY2VDb2RlOiBmdW5jdGlvbih1aVNvdXJjZUNvZGUpCi0gICAgewotICAg
ICAgICB1aVNvdXJjZUNvZGUuaXNUZW1wb3JhcnkgPSB0cnVlOwotICAgICAgICB0aGlzLl93b3Jr
c3BhY2UuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGVQ
cm92aWRlci5FdmVudHMuVGVtcG9yYXJ5VUlTb3VyY2VDb2RlQWRkZWQsIHVpU291cmNlQ29kZSk7
Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNl
Q29kZX0gdWlTb3VyY2VDb2RlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAogICAgICAqLwot
ICAgIHJlbW92ZVVJU291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQorICAgIHJlbW92
ZVVJU291cmNlQ29kZTogZnVuY3Rpb24odXJsKQogICAgIHsKKyAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IHRoaXMudWlTb3VyY2VDb2RlRm9yVVJMKHVybCk7CisgICAgICAgIGlmICghdWlTb3Vy
Y2VDb2RlKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB0aGlzLl91aVNvdXJjZUNvZGVz
LnNwbGljZSh0aGlzLl91aVNvdXJjZUNvZGVzLmluZGV4T2YodWlTb3VyY2VDb2RlKSwgMSk7CiAg
ICAgICAgIHRoaXMuX3dvcmtzcGFjZS5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLlVJU291cmNlQ29kZVByb3ZpZGVyLkV2ZW50cy5VSVNvdXJjZUNvZGVSZW1vdmVkLCB1aVNv
dXJjZUNvZGUpOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5VSVNvdXJjZUNvZGV9IHVpU291cmNlQ29kZQotICAgICAqLwotICAgIHJlbW92ZVRlbXBvcmFy
eVVJU291cmNlQ29kZTogZnVuY3Rpb24odWlTb3VyY2VDb2RlKQotICAgIHsKLSAgICAgICAgdGhp
cy5fd29ya3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3Vy
Y2VDb2RlUHJvdmlkZXIuRXZlbnRzLlRlbXBvcmFyeVVJU291cmNlQ29kZVJlbW92ZWQsIHVpU291
cmNlQ29kZSk7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwK
ICAgICAgKiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0KICAgICAgKi8KQEAg
LTE3NSw2ICsxNzQsMzEgQEAgV2ViSW5zcGVjdG9yLldvcmtzcGFjZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9wcm9qZWN0LnVpU291cmNlQ29kZXMoKTsKICAgICB9LAogCisg
ICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLkNvbnRlbnRQcm92aWRlcn0gY29udGVudFByb3ZpZGVyCisgICAgICogQHBhcmFtIHti
b29sZWFufSBpc0VkaXRhYmxlCisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNDb250ZW50U2Ny
aXB0CisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNTbmlwcGV0CisgICAgICovCisgICAgYWRk
VGVtcG9yYXJ5VUlTb3VyY2VDb2RlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnRQcm92aWRlciwgaXNF
ZGl0YWJsZSwgaXNDb250ZW50U2NyaXB0LCBpc1NuaXBwZXQpCisgICAgeworICAgICAgICB2YXIg
dWlTb3VyY2VDb2RlID0gbmV3IFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUodXJsLCBjb250ZW50
UHJvdmlkZXIsIGlzRWRpdGFibGUpOworICAgICAgICB1aVNvdXJjZUNvZGUuaXNDb250ZW50U2Ny
aXB0ID0gaXNDb250ZW50U2NyaXB0OworICAgICAgICB1aVNvdXJjZUNvZGUuaXNTbmlwcGV0ID0g
aXNTbmlwcGV0OworICAgICAgICB1aVNvdXJjZUNvZGUuaXNUZW1wb3JhcnkgPSB0cnVlOworICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VD
b2RlUHJvdmlkZXIuRXZlbnRzLlRlbXBvcmFyeVVJU291cmNlQ29kZUFkZGVkLCB1aVNvdXJjZUNv
ZGUpOworICAgICAgICByZXR1cm4gdWlTb3VyY2VDb2RlOyAgICAgICAgCisgICAgfSwKKworICAg
IC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gdWlTb3VyY2VD
b2RlCisgICAgICovCisgICAgcmVtb3ZlVGVtcG9yYXJ5VUlTb3VyY2VDb2RlOiBmdW5jdGlvbih1
aVNvdXJjZUNvZGUpCisgICAgeworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlUHJvdmlkZXIuRXZlbnRzLlRlbXBvcmFyeVVJU291
cmNlQ29kZVJlbW92ZWQsIHVpU291cmNlQ29kZSk7CisgICAgfSwKKwogICAgIF9fcHJvdG9fXzog
V2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNhMjM4NjEyZjE5ODJi
MGUyNDZhMzY4NmQxNjY1ZjYwMDNlOTg4YjkuLjcxMzQyNGM0Nzc1NDU5NmNjMDgxOGYxNjQ0Njdj
ODcxNjM1ZWU5ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0yMyAgVnNldm9sb2Qg
Vmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBN
b3ZlIFVJU291cmNlQ29kZSBjcmVhdGlvbiBvdXQgb2YgbWFwcGluZ3MgdG8gd29ya3NwYWNlLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDkyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL2luc3BlY3Rvci93b3Jrc3BhY2UtdGVzdC5qczoKKyAgICAgICAgKGluaXRpYWxpemVfV29y
a3NwYWNlVGVzdC5JbnNwZWN0b3JUZXN0LmFkZE1vY2tVSVNvdXJjZUNvZGVUb1dvcmtzcGFjZSk6
CisgICAgICAgICogaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlLXNjcmlwdC1tYXBwaW5nLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5o
dG1sOgorCiAyMDEyLTEwLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFByZXBhcmUgbWFwcGluZ3MgdG8gbW92aW5nIHVp
U291cmNlQ29kZXMgY3JlYXRpb24gb3V0IG9mIHRoZW0gdG8gd29ya3NwYWNlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Ivd29ya3NwYWNlLXRlc3QuanMgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci93b3Jrc3BhY2UtdGVzdC5qcwppbmRleCA1
MTExOTRiMjEyNDEzODQzOTA4NWNjNzZlMDc3OTk4ZTAwOTQ1YzcwLi5lNTJmYjliNTYzN2MxMzZj
NDc2YzkxZmQ5NjVlYTZlM2ZjOWU4NWQ2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci93b3Jrc3BhY2UtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2luc3BlY3Rvci93b3Jrc3BhY2UtdGVzdC5qcwpAQCAtNTMsOCArNTMsNyBAQCBJbnNwZWN0
b3JUZXN0LmFkZE1vY2tVSVNvdXJjZUNvZGVUb1dvcmtzcGFjZSA9IGZ1bmN0aW9uKHVybCwgdHlw
ZSwgY29udGVudCkKIHsKICAgICB2YXIgaXNEb2N1bWVudCA9IHR5cGUgPT09IFdlYkluc3BlY3Rv
ci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50OwogICAgIHZhciBtb2NrQ29udGVudFByb3ZpZGVyID0g
bmV3IFdlYkluc3BlY3Rvci5TdGF0aWNDb250ZW50UHJvdmlkZXIodHlwZSwgY29udGVudCk7Ci0g
ICAgdmFyIHVpU291cmNlQ29kZSA9IG5ldyBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlKHVybCwg
bW9ja0NvbnRlbnRQcm92aWRlciwgIWlzRG9jdW1lbnQpOwotICAgIEluc3BlY3RvclRlc3QudGVz
dFdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZSk7CisgICAg
SW5zcGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodXJs
LCBtb2NrQ29udGVudFByb3ZpZGVyLCAhaXNEb2N1bWVudCk7CiB9CiAKIEluc3BlY3RvclRlc3Qu
X2RlZmF1bHRVSVNvdXJjZUNvZGVQcm92aWRlckV2ZW50SGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50
KQpAQCAtNjgsNyArNjcsNyBAQCBJbnNwZWN0b3JUZXN0LmR1bXBVSVNvdXJjZUNvZGUgPSBmdW5j
dGlvbih1aVNvdXJjZUNvZGUsIGNhbGxiYWNrKQogICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0
KCJVSVNvdXJjZUNvZGU6ICIgKyB1cmwpOwogICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJV
SVNvdXJjZUNvZGUgaXMgZWRpdGFibGU6ICIgKyB1aVNvdXJjZUNvZGUuaXNFZGl0YWJsZSgpKTsK
ICAgICBpZiAodWlTb3VyY2VDb2RlLmNvbnRlbnRUeXBlKCkgPT09IFdlYkluc3BlY3Rvci5yZXNv
dXJjZVR5cGVzLlNjcmlwdCB8fCB1aVNvdXJjZUNvZGUuY29udGVudFR5cGUoKSA9PT0gV2ViSW5z
cGVjdG9yLnJlc291cmNlVHlwZXMuRG9jdW1lbnQpCi0gICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJVSVNvdXJjZUNvZGUgaXMgY29udGVudCBzY3JpcHQ6ICIgKyB1aVNvdXJjZUNvZGUu
aXNDb250ZW50U2NyaXB0KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlVJU291
cmNlQ29kZSBpcyBjb250ZW50IHNjcmlwdDogIiArICEhdWlTb3VyY2VDb2RlLmlzQ29udGVudFNj
cmlwdCk7CiAgICAgdWlTb3VyY2VDb2RlLnJlcXVlc3RDb250ZW50KGRpZFJlcXVlc3RDb250ZW50
KTsKIAogICAgIGZ1bmN0aW9uIGRpZFJlcXVlc3RDb250ZW50KGNvbnRlbnQsIGNvbnRlbnRFbmNv
ZGVkLCBtaW1lVHlwZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dl
ci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvcmVzb3VyY2Utc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQudHh0CmluZGV4
IGFmYTljMjExNmY4YTM1YmY2ODcwOWE1NTE4ZDQ2NDQwYzVlNjM2ODMuLjI2NTc4NmRkOWM3OTc5
ZTQ5OGE2YzMyNjFlOGVmMTQ2MmY0OWM2MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9yZXNvdXJjZS1zY3JpcHQtbWFwcGluZy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3Jlc291cmNlLXNjcmlwdC1tYXBwaW5nLWV4
cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBVSVNvdXJjZUNvZGUgY29udGVudDogPGNvbnRl
bnQgc2NyaXB0IHNvdXJjZT4KIEFkZGluZyB1aVNvdXJjZUNvZGUgZm9yIGZpbmlzaGVkIHJlc291
cmNlLgogVUlTb3VyY2VDb2RlOiBmb28uanMKIFVJU291cmNlQ29kZSBpcyBlZGl0YWJsZTogdHJ1
ZQotVUlTb3VyY2VDb2RlIGlzIGNvbnRlbnQgc2NyaXB0OiB0cnVlCitVSVNvdXJjZUNvZGUgaXMg
Y29udGVudCBzY3JpcHQ6IGZhbHNlCiBNaW1lIHR5cGU6IHRleHQvamF2YXNjcmlwdAogVUlTb3Vy
Y2VDb2RlIGNvbnRlbnQ6IDxjb250ZW50IHNjcmlwdCByZXNvdXJjZSBjb250ZW50PgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRl
eCA4Y2U5MTIwZWUwNmQ0YmI1ZmViN2JmMGY4ODhlNTRlYmE0NTA2YmExLi4xNGNjMGI1YzNkODk3
NDc3Y2YyMzUzOTRkMjc3YzliMzZhYjA4MGY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTE1LDQ3ICsxNSw0MCBAQCBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgc2V0OiBmdW5jdGlvbihicmVha3BvaW50cykgeyBwZXJzaXN0
ZW50QnJlYWtwb2ludHMgPSBicmVha3BvaW50czsgfQogICAgIH07CiAKLSAgICB2YXIgY29udGVu
dFByb3ZpZGVyID0gewotICAgICAgICBjb250ZW50VHlwZTogZnVuY3Rpb24oKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuU2NyaXB0Owot
ICAgICAgICB9Ci0gICAgfQorICAgIHZhciBjb250ZW50UHJvdmlkZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLlN0YXRpY0NvbnRlbnRQcm92aWRlcihXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3Jp
cHQsICIiLCAidGV4dC9qYXZhc2NyaXB0Iik7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRTbmlmZmVy
KFdlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGUucHJvdG90eXBlLCAicmVxdWVzdENvbnRlbnQiLCBy
ZXF1ZXN0Q29udGVudFNuaWZmZXIsIHRydWUpCiAgICAgCi0gICAgZnVuY3Rpb24gY3JlYXRlVUlT
b3VjZUNvZGUodXJsKQorICAgIGZ1bmN0aW9uIHJlcXVlc3RDb250ZW50U25pZmZlcihjYWxsYmFj
aykKICAgICB7Ci0gICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSBuZXcgV2ViSW5zcGVjdG9yLlVJ
U291cmNlQ29kZSh1cmwsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOwotICAgICAgICB1aVNvdXJj
ZUNvZGUucmVxdWVzdENvbnRlbnQgPSBmdW5jdGlvbihjYWxsYmFjaykKLSAgICAgICAgewotICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIlNvdXJjZSByZXF1ZXN0ZWQgZm9yICIg
KyB1cmwpOwotICAgICAgICAgICAgY2FsbGJhY2soIiIpOwotICAgICAgICB9OwotICAgICAgICBy
ZXR1cm4gdWlTb3VyY2VDb2RlOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiU291
cmNlIHJlcXVlc3RlZCBmb3IgIiArIHRoaXMudXJsKTsKKyAgICAgICAgY2FsbGJhY2soIiIpOwor
ICAgIH0KKworICAgIGZ1bmN0aW9uIGNyZWF0ZU1vY2tXb3Jrc3BhY2UoKQorICAgIHsKKyAgICAg
ICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7CisgICAgICAg
IHJldHVybiB3b3Jrc3BhY2U7CiAgICAgfQogCiAgICAgSW5zcGVjdG9yVGVzdC5ydW5UZXN0U3Vp
dGUoWwogICAgICAgICBmdW5jdGlvbiB0ZXN0SW5pdGlhbExvYWQobmV4dCkKICAgICAgICAgewot
ICAgICAgICAgICAgdmFyIHdvcmtzcGFjZSA9IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7
CisgICAgICAgICAgICB2YXIgd29ya3NwYWNlID0gY3JlYXRlTW9ja1dvcmtzcGFjZSgpOwogICAg
ICAgICAgICAgCi0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gY3JlYXRlVUlTb3VjZUNv
ZGUoImZvb2Jhci5qcyIpOwotICAgICAgICAgICAgdmFyIHVpU291cmNlQ29kZUZvbyA9IGNyZWF0
ZVVJU291Y2VDb2RlKCJmb28uanMiKTsKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVCYXIg
PSBjcmVhdGVVSVNvdWNlQ29kZSgiYmFyLmpzIik7Ci0gICAgICAgICAgICB2YXIgdWlTb3VyY2VD
b2RlQmF6ID0gY3JlYXRlVUlTb3VjZUNvZGUoImJhei5qcyIpOwotCi0gICAgICAgICAgICB3b3Jr
c3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGUpOworICAgICAgICAg
ICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImZvb2Jhci5qcyIsIGNvbnRl
bnRQcm92aWRlciwgZmFsc2UpOwogCiAgICAgICAgICAgICB2YXIgcGFuZWwgPSBuZXcgV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbCh3b3Jrc3BhY2UpOwogICAgICAgICAgICAgcGFuZWwuc2hvdygp
OwogCi0gICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSh1aVNv
dXJjZUNvZGVGb28pOwotICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJj
ZUNvZGUodWlTb3VyY2VDb2RlQmFyKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCku
YWRkVUlTb3VyY2VDb2RlKHVpU291cmNlQ29kZUJheik7CisgICAgICAgICAgICB3b3Jrc3BhY2Uu
cHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiZm9vLmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxz
ZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmFy
LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7CisgICAgICAgICAgICB3b3Jrc3BhY2UucHJv
amVjdCgpLmFkZFVJU291cmNlQ29kZSgiYmF6LmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7
CisgICAgICAgICAgICAKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0c05h
dmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKIAogICAgICAgICAgICAgLy8gU2VsZWN0ICJiYXou
anMiLgotICAgICAgICAgICAgcGFuZWwuX3Nob3dGaWxlKHVpU291cmNlQ29kZUJheik7CisgICAg
ICAgICAgICBwYW5lbC5fc2hvd0ZpbGUod29ya3NwYWNlLnVpU291cmNlQ29kZUZvclVSTCgiYmF6
LmpzIikpOwogICAgICAgICAgICAgcGFuZWwuZGV0YWNoKCk7CiAKICAgICAgICAgICAgIG5leHQo
KTsKQEAgLTYzLDIzICs1NiwxOSBAQCBmdW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlv
biB0ZXN0UmVzZXQobmV4dCkKICAgICAgICAgewotICAgICAgICAgICAgdmFyIHdvcmtzcGFjZSA9
IG5ldyBXZWJJbnNwZWN0b3IuV29ya3NwYWNlKCk7CisgICAgICAgICAgICB2YXIgd29ya3NwYWNl
ID0gY3JlYXRlTW9ja1dvcmtzcGFjZSgpOwogICAgICAgICAgICAgdmFyIHdvcmtzcGFjZUNvbnRy
b2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZUNvbnRyb2xsZXIod29ya3NwYWNlKTsK
ICAgICAgICAgICAgIHZhciBwYW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKHdv
cmtzcGFjZSk7CiAgICAgICAgICAgICBwYW5lbC5zaG93KCk7CiAKLSAgICAgICAgICAgIHZhciB1
aVNvdXJjZUNvZGVGb28gPSBjcmVhdGVVSVNvdWNlQ29kZSgiZm9vLmpzIik7Ci0gICAgICAgICAg
ICB2YXIgdWlTb3VyY2VDb2RlQmFyID0gY3JlYXRlVUlTb3VjZUNvZGUoImJhci5qcyIpOwotICAg
ICAgICAgICAgdmFyIHVpU291cmNlQ29kZUJheiA9IGNyZWF0ZVVJU291Y2VDb2RlKCJiYXouanMi
KTsKLQotICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUodWlT
b3VyY2VDb2RlRm9vKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3Vy
Y2VDb2RlKHVpU291cmNlQ29kZUJhcik7Ci0gICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgp
LmFkZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGVCYXopOworICAgICAgICAgICAgd29ya3NwYWNl
LnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImZvby5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFs
c2UpOworICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImJh
ci5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2UpOworICAgICAgICAgICAgd29ya3NwYWNlLnBy
b2plY3QoKS5hZGRVSVNvdXJjZUNvZGUoImJhei5qcyIsIGNvbnRlbnRQcm92aWRlciwgZmFsc2Up
OwogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTY3JpcHRzTmF2aWdhdG9yKHBhbmVs
Ll9uYXZpZ2F0b3IpOwogCiAgICAgICAgICAgICB3b3Jrc3BhY2VDb250cm9sbGVyLl9tYWluRnJh
bWVOYXZpZ2F0ZWQoKTsKLSAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3Vy
Y2VDb2RlKHVpU291cmNlQ29kZUJhcik7CisgICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgp
LmFkZFVJU291cmNlQ29kZSgiYmFyLmpzIiwgY29udGVudFByb3ZpZGVyLCBmYWxzZSk7CiAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmR1bXBTY3JpcHRzTmF2aWdhdG9yKHBhbmVsLl9uYXZpZ2F0
b3IpOwogCiAgICAgICAgICAgICBwYW5lbC5kZXRhY2goKTsKQEAgLTg4LDIxICs3NywxOCBAQCBm
dW5jdGlvbiB0ZXN0KCkKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0VGVtcG9yYXJ5VUlTb3VyY2VD
b2RlQWRkZWRBbmRSZW1vdmVkKG5leHQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHZhciB3b3Jr
c3BhY2UgPSBuZXcgV2ViSW5zcGVjdG9yLldvcmtzcGFjZSgpOworICAgICAgICAgICAgdmFyIHdv
cmtzcGFjZSA9IGNyZWF0ZU1vY2tXb3Jrc3BhY2UoKTsKICAgICAgICAgICAgIHZhciBwYW5lbCA9
IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsKHdvcmtzcGFjZSk7CiAgICAgICAgICAgICBw
YW5lbC5zaG93KCk7CiAKLSAgICAgICAgICAgIHZhciB1aVNvdXJjZUNvZGVGb28gPSBjcmVhdGVV
SVNvdWNlQ29kZSgiZm9vLmpzIik7Ci0gICAgICAgICAgICB3b3Jrc3BhY2UucHJvamVjdCgpLmFk
ZFVJU291cmNlQ29kZSh1aVNvdXJjZUNvZGVGb28pOwotICAgICAgICAgICAgdmFyIGNvbXBpbGVk
U291cmNlQ29kZSA9IGNyZWF0ZVVJU291Y2VDb2RlKCJjb21waWxlZC5qcyIpOwotICAgICAgICAg
ICAgd29ya3NwYWNlLnByb2plY3QoKS5hZGRUZW1wb3JhcnlVSVNvdXJjZUNvZGUoY29tcGlsZWRT
b3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VD
b2RlKCJmb28uanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsKKyAgICAgICAgICAgIHZhciB0
ZW1wb3JhcnlVSVNvdXJjZUNvZGUgPSB3b3Jrc3BhY2UuYWRkVGVtcG9yYXJ5VUlTb3VyY2VDb2Rl
KCJjb21waWxlZC5qcyIsIGNvbnRlbnRQcm92aWRlcik7CiAKICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZHVtcFNjcmlwdHNOYXZpZ2F0b3IocGFuZWwuX25hdmlnYXRvcik7CiAKICAgICAgICAg
ICAgIC8vIFBsdWcgY29tcGlsZXIgc291cmNlIG1hcHBpbmcuCi0gICAgICAgICAgICB2YXIgc291
cmNlU291cmNlQ29kZSA9IGNyZWF0ZVVJU291Y2VDb2RlKCJzb3VyY2UuanMiKTsKLSAgICAgICAg
ICAgIHdvcmtzcGFjZS5wcm9qZWN0KCkuYWRkVUlTb3VyY2VDb2RlKHNvdXJjZVNvdXJjZUNvZGUp
OwotICAgICAgICAgICAgd29ya3NwYWNlLnByb2plY3QoKS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJj
ZUNvZGUoY29tcGlsZWRTb3VyY2VDb2RlKTsKKyAgICAgICAgICAgIHdvcmtzcGFjZS5wcm9qZWN0
KCkuYWRkVUlTb3VyY2VDb2RlKCJzb3VyY2UuanMiLCBjb250ZW50UHJvdmlkZXIsIGZhbHNlKTsK
KyAgICAgICAgICAgIHdvcmtzcGFjZS5yZW1vdmVUZW1wb3JhcnlVSVNvdXJjZUNvZGUodGVtcG9y
YXJ5VUlTb3VyY2VDb2RlKTsKIAogICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5kdW1wU2NyaXB0
c05hdmlnYXRvcihwYW5lbC5fbmF2aWdhdG9yKTsKICAgICAgICAgICAgIG5leHQoKTsK
</data>
<flag name="review"
          id="183579"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>