<?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>83871</bug_id>
          
          <creation_ts>2012-04-13 02:28:00 -0700</creation_ts>
          <short_desc>Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.</short_desc>
          <delta_ts>2012-04-13 05:25:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>601930</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-13 02:28:00 -0700</bug_when>
    <thetext>There is a number of random properties created on Resource and NetworkRequest that represent various url fragments. Display name is being based on them and sometimes requires fake Resource instance. This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601931</commentid>
    <comment_count>1</comment_count>
      <attachid>137063</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-13 02:30:53 -0700</bug_when>
    <thetext>Created attachment 137063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601989</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-13 05:25:47 -0700</bug_when>
    <thetext>Committed r114117: &lt;http://trac.webkit.org/changeset/114117&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137063</attachid>
            <date>2012-04-13 02:30:53 -0700</date>
            <delta_ts>2012-04-13 05:12:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83871-20120413133050.patch</filename>
            <type>text/plain</type>
            <size>30800</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzODM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVkYjZjMjk0OGJmNjA3
OTU4ZGVkYjcyMmYxNzRjYzM1MzhhMGYzYi4uMTMxOGYwMzcyZGFlZjAxMWQ5ZDRmZDE5YjE5NmFl
NzNhYzJlMjNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTA0LTEzICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGludHJvZHVjZSBQYXJzZWRVUkwgdHlwZSwgY2xlYW4gdXAgdXJsIGFuZCBkaXNwbGF5TmFt
ZSBtZXNzIGluIFJlc291cmNlIGFuZCBOZXR3b3JrUmVxdWVzdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzODcxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgaXMgYSBudW1iZXIgb2YgcmFuZG9t
IHByb3BlcnRpZXMgY3JlYXRlZCBvbiBSZXNvdXJjZSBhbmQgTmV0d29ya1JlcXVlc3QgdGhhdCBy
ZXByZXNlbnQgdmFyaW91cyB1cmwKKyAgICAgICAgZnJhZ21lbnRzLiBEaXNwbGF5IG5hbWUgaXMg
YmVpbmcgYmFzZWQgb24gdGhlbSBhbmQgc29tZXRpbWVzIHJlcXVpcmVzIGZha2UgUmVzb3VyY2Ug
aW5zdGFuY2UgdG8gYmUgY3JlYXRlZC4KKyAgICAgICAgVGhpcyBjaGFuZ2UgKG9mZmljaWFsbHkp
IGludHJvZHVjZXMgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCBhcyBhIHR5cGUgdGhhdCBlbmNhcHN1
bGF0ZXMgdGhpcyBjb21wbGV4aXR5LgorCisgICAgICAgIFRoaXMgY2hhbmdlIGFsc28gbW92ZXMg
ZG9jdW1lbnRVUkwgcHJvcGVydHkgaW50byB0aGUgUmVzb3VyY2UgYW5kIE5ldHdvcmtSZXF1ZXN0
IGNvbnN0cnVjdG9ycyBhbmQgYnJ1c2hlcyB1cAorICAgICAgICBmYWN0b3J5IG1ldGhvZHMgdXNl
ZCB0byBjcmVhdGUgdGhlIG9iamVjdHMuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0UnVsZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlcy5HemlwUnVs
ZS5wcm90b3R5cGUuX3Nob3VsZENvbXByZXNzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5BdWRp
dFJ1bGVzLkNvb2tpZVNpemVSdWxlLnByb3RvdHlwZS5wcm9jZXNzQ29va2llcyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EYXRhYmFzZS5wcm90b3R5cGUuZ2V0IGRpc3BsYXlEb21haW4pOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdENvbnRleHRNYW5hZ2VyLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkZyYW1lRXZhbHVhdGlvbkNvbnRleHQucHJvdG90eXBlLmdldCBkaXNwbGF5TmFt
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90b3R5cGUud2ViU29ja2V0
Q3JlYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90
eXBlLl9jcmVhdGVOZXR3b3JrUmVxdWVzdCk6CisgICAgICAgIChnZXQgV2ViSW5zcGVjdG9yKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX2hpZ2hsaWdodE50aE1hdGNo
ZWRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnBy
b3RvdHlwZS5fcmVmcmVzaE5hbWVDZWxsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtSZXF1ZXN0LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdC5wcm90b3R5cGUuc2V0IHVy
bCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QucHJvdG90eXBlLmdldCBk
b2N1bWVudFVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QucHJvdG90
eXBlLmdldCBwYXJzZWRVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0
LnByb3RvdHlwZS5nZXQgZGlzcGxheU5hbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdv
cmtSZXF1ZXN0LnByb3RvdHlwZS5nZXQgZm9sZGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1JlcXVlc3RIZWFkZXJzVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXF1
ZXN0SGVhZGVyc1ZpZXcucHJvdG90eXBlLl9yZWZyZXNoVXJsRnJhZ21lbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZS5zZXQg
dXJsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUuZ2V0IHBhcnNl
ZFVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLmdldCBmcmFt
ZUlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUuZ2V0IGxvYWRl
cklkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUuZ2V0IGRpc3Bs
YXlOYW1lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVs
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZS5f
b25SZXF1ZXN0VXBkYXRlRHJvcHBlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VU
cmVlTW9kZWwucHJvdG90eXBlLl9hZGRGcmFtZXNSZWN1cnNpdmVseSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwucHJvdG90eXBlLl9jcmVhdGVSZXNvdXJjZUZyb21G
cmFtZVBheWxvYWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUZyYW1lLnBy
b3RvdHlwZS5fYWRkUmVxdWVzdCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZVV0aWxzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUGFyc2VkVVJMLnByb3RvdHlwZS5nZXQgZGlzcGxheU5hbWUpOgorICAg
ICAgICAoU3RyaW5nLnByb3RvdHlwZS5hc1BhcnNlZFVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuZGlzcGxheURvbWFpbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxGb3JS
ZWxhdGVkTm9kZS5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxG
b3JSZWxhdGVkTm9kZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQ
YW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50LnByb3RvdHlw
ZS5mcmFtZU5hdmlnYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNo
ZU1hbmlmZXN0VHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9u
Q2FjaGVGcmFtZVRyZWVFbGVtZW50LnByb3RvdHlwZS5fcmVmcmVzaFRpdGxlcyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanM6CisKIDIwMTItMDQtMTIgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogZXh0cmFjdGluZyBOZXR3b3JrUmVxdWVzdCBmcm9tIFJlc291cmNlIChzdGVwIDMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0UnVsZXMuanMKaW5kZXgg
ODEzZGJjNjE5ZjA2ZjRjMjcyM2E3ZjFhN2FkZWU5MDZhZTZkYzIxZi4uZjE2MDg0NTFmOGM5Yjk4
OTUwMmU1YTcwMDgzYjkzNmFkMjQ2Yjg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9BdWRpdFJ1bGVzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvQXVkaXRSdWxlcy5qcwpAQCAtMTE2LDcgKzExNiw3IEBAIFdlYkluc3Bl
Y3Rvci5BdWRpdFJ1bGVzLkd6aXBSdWxlLnByb3RvdHlwZSA9IHsKIAogICAgIF9zaG91bGRDb21w
cmVzczogZnVuY3Rpb24ocmVxdWVzdCkKICAgICB7Ci0gICAgICAgIHJldHVybiByZXF1ZXN0LnR5
cGUuaXNUZXh0VHlwZSgpICYmIHJlcXVlc3QuZG9tYWluICYmIHJlcXVlc3QucmVzb3VyY2VTaXpl
ICE9PSB1bmRlZmluZWQgJiYgcmVxdWVzdC5yZXNvdXJjZVNpemUgPiAxNTA7CisgICAgICAgIHJl
dHVybiByZXF1ZXN0LnR5cGUuaXNUZXh0VHlwZSgpICYmIHJlcXVlc3QucGFyc2VkVVJMLmhvc3Qg
JiYgcmVxdWVzdC5yZXNvdXJjZVNpemUgIT09IHVuZGVmaW5lZCAmJiByZXF1ZXN0LnJlc291cmNl
U2l6ZSA+IDE1MDsKICAgICB9CiB9CiAKQEAgLTEyMjUsMTAgKzEyMjUsMTAgQEAgV2ViSW5zcGVj
dG9yLkF1ZGl0UnVsZXMuQ29va2llU2l6ZVJ1bGUucHJvdG90eXBlID0gewogCiAgICAgICAgIGZ1
bmN0aW9uIGNvbGxlY3RvckNhbGxiYWNrKHJlcXVlc3QsIGNvb2tpZSkKICAgICAgICAgewotICAg
ICAgICAgICAgdmFyIGNvb2tpZXMgPSBjb29raWVzUGVyUmVzb3VyY2VEb21haW5bcmVxdWVzdC5k
b21haW5dOworICAgICAgICAgICAgdmFyIGNvb2tpZXMgPSBjb29raWVzUGVyUmVzb3VyY2VEb21h
aW5bcmVxdWVzdC5wYXJzZWRVUkwuaG9zdF07CiAgICAgICAgICAgICBpZiAoIWNvb2tpZXMpIHsK
ICAgICAgICAgICAgICAgICBjb29raWVzID0gW107Ci0gICAgICAgICAgICAgICAgY29va2llc1Bl
clJlc291cmNlRG9tYWluW3JlcXVlc3QuZG9tYWluXSA9IGNvb2tpZXM7CisgICAgICAgICAgICAg
ICAgY29va2llc1BlclJlc291cmNlRG9tYWluW3JlcXVlc3QucGFyc2VkVVJMLmhvc3RdID0gY29v
a2llczsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvb2tpZXMucHVzaChjb29raWUpOwog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0RhdGFiYXNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFz
ZS5qcwppbmRleCA1MzIyYmFhZjk2OTliNGFlN2M5ODE3MDk4YTdiMTU4Y2VhMTQzZjhlLi43ZmE0
MWE5Nzg2ZjQ3YzBmZWFjODU2OTQ1ZTJmZjkxMGJkMWUwMTcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2UuanMKQEAgLTgwLDcgKzgwLDcgQEAgV2Vi
SW5zcGVjdG9yLkRhdGFiYXNlLnByb3RvdHlwZSA9IHsKICAgICAvKiogQHJldHVybiB7c3RyaW5n
fSAqLwogICAgIGdldCBkaXNwbGF5RG9tYWluKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLl9fbG9va3VwR2V0dGVyX18oImRpc3BsYXlEb21h
aW4iKS5jYWxsKHRoaXMpOworICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmRpc3BsYXlEb21h
aW4odGhpcy5fZG9tYWluKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0phdmFTY3JpcHRDb250ZXh0TWFuYWdlci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdENvbnRleHRNYW5h
Z2VyLmpzCmluZGV4IDc0MzFlOWY3MGJhZTg4YTliNDMxZjVlYTE0YzgwN2ExODllNTJiYTAuLmM4
MThkZWJjODU3YWQ0ZDMzYTg3YjVlZmQyMzlmZGFmNTBiZDllZTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdENvbnRleHRNYW5hZ2VyLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSmF2YVNjcmlwdENvbnRl
eHRNYW5hZ2VyLmpzCkBAIC0xMDcsNyArMTA3LDcgQEAgV2ViSW5zcGVjdG9yLkZyYW1lRXZhbHVh
dGlvbkNvbnRleHQucHJvdG90eXBlID0KICAgICAgICAgaWYgKCF0aGlzLl9mcmFtZS5wYXJlbnRG
cmFtZSkKICAgICAgICAgICAgIHJldHVybiAiPHRvcCBmcmFtZT4iOwogICAgICAgICB2YXIgbmFt
ZSA9IHRoaXMuX2ZyYW1lLm5hbWUgfHwgIiI7Ci0gICAgICAgIHZhciBzdWJ0aXRsZSA9IFdlYklu
c3BlY3Rvci5SZXNvdXJjZS5kaXNwbGF5TmFtZSh0aGlzLl9mcmFtZS51cmwpOworICAgICAgICB2
YXIgc3VidGl0bGUgPSBuZXcgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCh0aGlzLl9mcmFtZS51cmwp
LmRpc3BsYXlOYW1lOwogICAgICAgICBpZiAoc3VidGl0bGUpIHsKICAgICAgICAgICAgIGlmICgh
bmFtZSkKICAgICAgICAgICAgICAgICByZXR1cm4gc3VidGl0bGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5qcwppbmRleCA4MzQ2
NzM3OGY3ZDg2MDc1ZTA0NjY1YzAwZmQ0Yjk0YzhkMTAzYWZhLi5lYmU2NWJiMjMzZTc0YWIwNDk5
NmE5MDMzMWZiN2EwMzQ0ZTYwN2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMKQEAgLTQxMCw3ICs0MTAsNyBAQCBXZWJJ
bnNwZWN0b3IuTmV0d29ya0Rpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIHdl
YlNvY2tldENyZWF0ZWQ6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgcmVxdWVzdFVSTCkKICAgICB7Ci0g
ICAgICAgIHZhciBuZXR3b3JrUmVxdWVzdCA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVl
c3QocmVxdWVzdElkLCByZXF1ZXN0VVJMLCAiIiwgIiIpOworICAgICAgICB2YXIgbmV0d29ya1Jl
cXVlc3QgPSBuZXcgV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0KHJlcXVlc3RJZCwgcmVxdWVz
dFVSTCwgIiIsICIiLCAiIik7CiAgICAgICAgIG5ldHdvcmtSZXF1ZXN0LnR5cGUgPSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUeXBlcy5XZWJTb2NrZXQ7CiAgICAgICAgIHRoaXMuX3N0YXJ0TmV0d29y
a1JlcXVlc3QobmV0d29ya1JlcXVlc3QpOwogICAgIH0sCkBAIC01MzgsOCArNTM4LDcgQEAgV2Vi
SW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBf
Y3JlYXRlTmV0d29ya1JlcXVlc3Q6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgZnJhbWVJZCwgbG9hZGVy
SWQsIHVybCwgZG9jdW1lbnRVUkwsIGluaXRpYXRvciwgc3RhY2tUcmFjZSkKICAgICB7Ci0gICAg
ICAgIHZhciBuZXR3b3JrUmVxdWVzdCA9IG5ldyBXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3Qo
cmVxdWVzdElkLCB1cmwsIGZyYW1lSWQsIGxvYWRlcklkKTsKLSAgICAgICAgbmV0d29ya1JlcXVl
c3QuZG9jdW1lbnRVUkwgPSBkb2N1bWVudFVSTDsKKyAgICAgICAgdmFyIG5ldHdvcmtSZXF1ZXN0
ID0gbmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdChyZXF1ZXN0SWQsIHVybCwgZG9jdW1l
bnRVUkwsIGZyYW1lSWQsIGxvYWRlcklkKTsKICAgICAgICAgbmV0d29ya1JlcXVlc3QuaW5pdGlh
dG9yID0gaW5pdGlhdG9yOwogICAgICAgICBuZXR3b3JrUmVxdWVzdC5zdGFja1RyYWNlID0gc3Rh
Y2tUcmFjZTsKICAgICAgICAgcmV0dXJuIG5ldHdvcmtSZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAzY2JhMWRh
ZGNjNmFlMzBmNWQyMTU1NDY3MGRhYmRlZjBhNGU2ZTYyLi45ZmIyYzMyM2ZjZWEwZGJjNGFhZDNj
YTViZmRkN2ZmNmM1ZjE5NWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpAQCAtMTEyNiw3ICsxMTI2LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICB2YXIgbmFtZU1hdGNoZWQgPSByZXF1ZXN0LmRpc3BsYXlOYW1lICYmIHJlcXVlc3Qu
ZGlzcGxheU5hbWUubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAgICAgdmFyIHBhdGhN
YXRjaGVkID0gcmVxdWVzdC5wYXRoICYmIHJlcXVlc3QuZm9sZGVyLm1hdGNoKHRoaXMuX3NlYXJj
aFJlZ0V4cCk7CisgICAgICAgIHZhciBwYXRoTWF0Y2hlZCA9IHJlcXVlc3QucGFyc2VkVVJMLnBh
dGggJiYgcmVxdWVzdC5mb2xkZXIubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsKICAgICAgICAg
aWYgKCFuYW1lTWF0Y2hlZCAmJiBwYXRoTWF0Y2hlZCAmJiAhdGhpcy5fbGFyZ2VyUmVxdWVzdHNC
dXR0b24udG9nZ2xlZCkKICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3RzKCk7
CiAKQEAgLTE4MzYsOSArMTgzNiw5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2Rl
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fbmFtZUNlbGwuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlVGV4dE5vZGUodGhpcy5fZmlsZU5hbWUoKSkpOwogCiAKLSAgICAgICAgdmFyIHN1
YnRpdGxlID0gdGhpcy5fcmVxdWVzdC5kaXNwbGF5RG9tYWluOworICAgICAgICB2YXIgc3VidGl0
bGUgPSBXZWJJbnNwZWN0b3IuZGlzcGxheURvbWFpbih0aGlzLl9yZXF1ZXN0LnBhcnNlZFVSTC5o
b3N0KTsKIAotICAgICAgICBpZiAodGhpcy5fcmVxdWVzdC5wYXRoKQorICAgICAgICBpZiAodGhp
cy5fcmVxdWVzdC5wYXJzZWRVUkwucGF0aCkKICAgICAgICAgICAgIHN1YnRpdGxlICs9IHRoaXMu
X3JlcXVlc3QuZm9sZGVyOwogCiAgICAgICAgIHRoaXMuX2FwcGVuZFN1YnRpdGxlKHRoaXMuX25h
bWVDZWxsLCBzdWJ0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtSZXF1ZXN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9OZXR3b3JrUmVxdWVzdC5qcwppbmRleCBmZTAzMWM0OGU0NTE3ZWM2ZGYzMWEwMDlj
YjhjMThhZjg0ZGZlZDI4Li45NjQ0MWRiMDVhYmY5ZDBmOTJiZTFiMWM2ZWQ5ZDBjMDk1ZTgwN2Rj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtS
ZXF1ZXN0LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1JlcXVlc3QuanMKQEAgLTM0LDEzICszNCwxNSBAQAogICoKICAqIEBwYXJhbSB7TmV0d29ya0Fn
ZW50LlJlcXVlc3RJZH0gcmVxdWVzdElkCiAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCisgKiBAcGFy
YW0ge3N0cmluZ30gZG9jdW1lbnRVUkwKICAqIEBwYXJhbSB7TmV0d29ya0FnZW50LkZyYW1lSWR9
IGZyYW1lSWQKICAqIEBwYXJhbSB7TmV0d29ya0FnZW50LkxvYWRlcklkfSBsb2FkZXJJZAogICov
Ci1XZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QgPSBmdW5jdGlvbihyZXF1ZXN0SWQsIHVybCwg
ZnJhbWVJZCwgbG9hZGVySWQpCitXZWJJbnNwZWN0b3IuTmV0d29ya1JlcXVlc3QgPSBmdW5jdGlv
bihyZXF1ZXN0SWQsIHVybCwgZG9jdW1lbnRVUkwsIGZyYW1lSWQsIGxvYWRlcklkKQogewogICAg
IHRoaXMuX3JlcXVlc3RJZCA9IHJlcXVlc3RJZDsKLSAgICB0aGlzLl91cmwgPSB1cmw7CisgICAg
dGhpcy51cmwgPSB1cmw7CisgICAgdGhpcy5fZG9jdW1lbnRVUkwgPSBkb2N1bWVudFVSTDsKICAg
ICB0aGlzLl9mcmFtZUlkID0gZnJhbWVJZDsKICAgICB0aGlzLl9sb2FkZXJJZCA9IGxvYWRlcklk
OwogICAgIHRoaXMuX3N0YXJ0VGltZSA9IC0xOwpAQCAtNTYsMTQgKzU4LDYgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtSZXF1ZXN0ID0gZnVuY3Rpb24ocmVxdWVzdElkLCB1cmwsIGZyYW1lSWQsIGxv
YWRlcklkKQogICAgIHRoaXMuX2NvbnRlbnQgPSB1bmRlZmluZWQ7CiAgICAgdGhpcy5fY29udGVu
dEVuY29kZWQgPSBmYWxzZTsKICAgICB0aGlzLl9wZW5kaW5nQ29udGVudENhbGxiYWNrcyA9IFtd
OwotCi0gICAgZGVsZXRlIHRoaXMuX3BhcnNlZFF1ZXJ5UGFyYW1ldGVyczsKLQotICAgIHZhciBw
YXJzZWRVUkwgPSB1cmwuYXNQYXJzZWRVUkwoKTsKLSAgICB0aGlzLmRvbWFpbiA9IHBhcnNlZFVS
TCA/IHBhcnNlZFVSTC5ob3N0IDogIiI7Ci0gICAgdGhpcy5wYXRoID0gcGFyc2VkVVJMID8gcGFy
c2VkVVJMLnBhdGggOiAiIjsKLSAgICB0aGlzLnVybEZyYWdtZW50ID0gcGFyc2VkVVJMID8gcGFy
c2VkVVJMLmZyYWdtZW50IDogIiI7Ci0gICAgdGhpcy5sYXN0UGF0aENvbXBvbmVudCA9IHBhcnNl
ZFVSTCA/IHBhcnNlZFVSTC5sYXN0UGF0aENvbXBvbmVudCA6ICIiOwogfQogCiBXZWJJbnNwZWN0
b3IuTmV0d29ya1JlcXVlc3QuRXZlbnRzID0gewpAQCAtOTUsNiArODksMjkgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtSZXF1ZXN0LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Vy
bDsKICAgICB9LAogCisgICAgc2V0IHVybCh4KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3Vy
bCA9PT0geCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl91cmwgPSB4Owor
ICAgICAgICB0aGlzLl9wYXJzZWRVUkwgPSBuZXcgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCh4KTsK
KyAgICAgICAgZGVsZXRlIHRoaXMuX3BhcnNlZFF1ZXJ5UGFyYW1ldGVyczsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHR5cGUge3N0cmluZ30KKyAgICAgKi8KKyAgICBnZXQgZG9jdW1lbnRV
UkwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2RvY3VtZW50VVJMOworICAgIH0sCisK
KyAgICBnZXQgcGFyc2VkVVJMKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9wYXJzZWRV
Ukw7CisgICAgfSwKKwogICAgIC8qKgogICAgICAqIEB0eXBlIHtOZXR3b3JrQWdlbnQuRnJhbWVJ
ZH0KICAgICAgKi8KQEAgLTMzNiwxNiArMzUzLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1
ZXN0LnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBnZXQgZGlzcGxheU5hbWUoKQogICAgIHsK
LSAgICAgICAgaWYgKHRoaXMuX2Rpc3BsYXlOYW1lKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMu
X2Rpc3BsYXlOYW1lOwotICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IHRoaXMubGFzdFBhdGhD
b21wb25lbnQ7Ci0gICAgICAgIGlmICghdGhpcy5fZGlzcGxheU5hbWUpCi0gICAgICAgICAgICB0
aGlzLl9kaXNwbGF5TmFtZSA9IHRoaXMuZGlzcGxheURvbWFpbjsKLSAgICAgICAgaWYgKCF0aGlz
Ll9kaXNwbGF5TmFtZSAmJiB0aGlzLnVybCkKLSAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXlOYW1l
ID0gdGhpcy51cmwudHJpbVVSTChXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZURvbWFpbiA/IFdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlRG9tYWluIDogIiIpOwotICAgICAgICBpZiAodGhpcy5f
ZGlzcGxheU5hbWUgPT09ICIvIikKLSAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXlOYW1lID0gdGhp
cy51cmw7Ci0gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TmFtZTsKKyAgICAgICAgcmV0dXJu
IHRoaXMuX3BhcnNlZFVSTC5kaXNwbGF5TmFtZTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zNTMs
NyArMzYxLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0LnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICBnZXQgZm9sZGVyKCkKICAgICB7Ci0gICAgICAgIHZhciBwYXRoID0gdGhpcy5w
YXRoOworICAgICAgICB2YXIgcGF0aCA9IHRoaXMuX3BhcnNlZFVSTC5wYXRoOwogICAgICAgICB2
YXIgaW5kZXhPZlF1ZXJ5ID0gcGF0aC5pbmRleE9mKCI/Iik7CiAgICAgICAgIGlmIChpbmRleE9m
UXVlcnkgIT09IC0xKQogICAgICAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKDAsIGluZGV4
T2ZRdWVyeSk7CkBAIC0zNjIsMTcgKzM3MCw2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVz
dC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEB0eXBlIHtzdHJpbmd9
Ci0gICAgICovCi0gICAgZ2V0IGRpc3BsYXlEb21haW4oKQotICAgIHsKLSAgICAgICAgLy8gV2Vi
SW5zcGVjdG9yLkRhdGFiYXNlIGNhbGxzIHRoaXMsIHNvIGRvbid0IGFjY2VzcyBtb3JlIHRoYW4g
dGhpcy5kb21haW4uCi0gICAgICAgIGlmICh0aGlzLmRvbWFpbiAmJiAoIVdlYkluc3BlY3Rvci5p
bnNwZWN0ZWRQYWdlRG9tYWluIHx8IChXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZURvbWFpbiAm
JiB0aGlzLmRvbWFpbiAhPT0gV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEb21haW4pKSkKLSAg
ICAgICAgICAgIHJldHVybiB0aGlzLmRvbWFpbjsKLSAgICAgICAgcmV0dXJuICIiOwotICAgIH0s
Ci0KLSAgICAvKioKICAgICAgKiBAdHlwZSB7V2ViSW5zcGVjdG9yLlJlc291cmNlVHlwZX0KICAg
ICAgKi8KICAgICBnZXQgdHlwZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1JlcXVlc3RIZWFkZXJzVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVxdWVzdEhlYWRlcnNWaWV3LmpzCmluZGV4IDViZmM4ODczM2ZmZWJk
YzlkZTcyOGE1MzFmYWIzYTQ1M2E3OWMwODcuLjMxMThiMzc2MTQ1NmI1MmE1NzI3NDc1NWFmMzY2
MTQxMGM2NjRiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVxdWVzdEhlYWRlcnNWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUmVxdWVzdEhlYWRlcnNWaWV3LmpzCkBAIC0xNjgsNyArMTY4LDcgQEAgV2ViSW5z
cGVjdG9yLlJlcXVlc3RIZWFkZXJzVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfcmVmcmVzaFVy
bEZyYWdtZW50OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgdXJsRnJhZ21lbnQgPSB0
aGlzLl9yZXF1ZXN0LnVybEZyYWdtZW50OworICAgICAgICB2YXIgdXJsRnJhZ21lbnQgPSB0aGlz
Ll9yZXF1ZXN0LnBhcnNlZFVSTC5mcmFnbWVudDsKICAgICAgICAgdGhpcy5fdXJsRnJhZ21lbnRU
cmVlRWxlbWVudC5oaWRkZW4gPSAhdXJsRnJhZ21lbnQ7CiAKICAgICAgICAgaWYgKCF1cmxGcmFn
bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2UuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpz
CmluZGV4IDNhMTQ4ZTQyZDhhMGQzNWJhNmU5ZDdkNGQzYmRiZWU0YTk3OTIwNjYuLmFiY2EyMDEx
ODM3YzVhYTFiNDJiM2U1YTdmMDU5YTU2OWU0YmQxMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZS5qcwpAQCAtMzIsMTggKzMyLDIzIEBACiAgKgog
ICogQHBhcmFtIHs/V2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0fSByZXF1ZXN0CiAgKiBAcGFy
YW0ge3N0cmluZ30gdXJsCi0gKiBAcGFyYW0ge3N0cmluZ30gZnJhbWVJZAotICogQHBhcmFtIHs/
TmV0d29ya0FnZW50LkxvYWRlcklkfSBsb2FkZXJJZAorICogQHBhcmFtIHtzdHJpbmd9IGRvY3Vt
ZW50VVJMCisgKiBAcGFyYW0ge05ldHdvcmtBZ2VudC5GcmFtZUlkfSBmcmFtZUlkCisgKiBAcGFy
YW0ge05ldHdvcmtBZ2VudC5Mb2FkZXJJZH0gbG9hZGVySWQKKyAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLlJlc291cmNlVHlwZT19IHR5cGUKKyAqIEBwYXJhbSB7c3RyaW5nPX0gbWltZVR5cGUKICAq
LwotV2ViSW5zcGVjdG9yLlJlc291cmNlID0gZnVuY3Rpb24ocmVxdWVzdCwgdXJsLCBmcmFtZUlk
LCBsb2FkZXJJZCkKK1dlYkluc3BlY3Rvci5SZXNvdXJjZSA9IGZ1bmN0aW9uKHJlcXVlc3QsIHVy
bCwgZG9jdW1lbnRVUkwsIGZyYW1lSWQsIGxvYWRlcklkLCB0eXBlLCBtaW1lVHlwZSkKIHsKICAg
ICB0aGlzLl9yZXF1ZXN0ID0gcmVxdWVzdDsKICAgICBpZiAodGhpcy5fcmVxdWVzdCkKICAgICAg
ICAgdGhpcy5fcmVxdWVzdC5zZXRSZXNvdXJjZSh0aGlzKTsKICAgICB0aGlzLnVybCA9IHVybDsK
LSAgICB0aGlzLmZyYW1lSWQgPSBmcmFtZUlkOwotICAgIHRoaXMubG9hZGVySWQgPSBsb2FkZXJJ
ZDsKLSAgICB0aGlzLl90eXBlID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHlwZXMuT3RoZXI7Cisg
ICAgdGhpcy5fZG9jdW1lbnRVUkwgPSBkb2N1bWVudFVSTDsKKyAgICB0aGlzLl9mcmFtZUlkID0g
ZnJhbWVJZDsKKyAgICB0aGlzLl9sb2FkZXJJZCA9IGxvYWRlcklkOworICAgIHRoaXMuX3R5cGUg
PSB0eXBlIHx8IFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzLk90aGVyOworICAgIHRoaXMuX21p
bWVUeXBlID0gbWltZVR5cGU7CiAgICAgdGhpcy5oaXN0b3J5ID0gW107CiAKICAgICB0aGlzLl9j
b250ZW50ID0gdW5kZWZpbmVkOwpAQCAtNTEsMTUgKzU2LDYgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlID0gZnVuY3Rpb24ocmVxdWVzdCwgdXJsLCBmcmFtZUlkLCBsb2FkZXJJZCkKICAgICB0aGlz
Ll9wZW5kaW5nQ29udGVudENhbGxiYWNrcyA9IFtdOwogfQogCi0vKioKLSAqIEBwYXJhbSB7c3Ry
aW5nfSB1cmwKLSAqIEByZXR1cm4ge3N0cmluZ30KLSAqLwotV2ViSW5zcGVjdG9yLlJlc291cmNl
LmRpc3BsYXlOYW1lID0gZnVuY3Rpb24odXJsKQotewotICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLlJlc291cmNlKG51bGwsIHVybCwgIiIsIG51bGwpLmRpc3BsYXlOYW1lOwotfQotCiBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UuX2RvbWFpbk1vZGVsQmluZGluZ3MgPSBbXTsKIAogLyoqCkBAIC0x
NjYsMTQgKzE2Miw2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAg
fSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SZXNvdXJjZX0KLSAg
ICAgKi8KLSAgICByZXNvdXJjZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRo
aXM7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgICovCiAg
ICAgZ2V0IHVybCgpCkBAIC0xODMsMTUgKzE3MSwxMyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2Uu
cHJvdG90eXBlID0gewogCiAgICAgc2V0IHVybCh4KQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMu
X3VybCA9PT0geCkKLSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICB0aGlzLl91cmwgPSB4
OworICAgICAgICB0aGlzLl9wYXJzZWRVUkwgPSBuZXcgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTCh4
KTsKKyAgICB9LAogCi0gICAgICAgIHZhciBwYXJzZWRVUkwgPSB4LmFzUGFyc2VkVVJMKCk7Ci0g
ICAgICAgIHRoaXMuZG9tYWluID0gcGFyc2VkVVJMID8gcGFyc2VkVVJMLmhvc3QgOiAiIjsKLSAg
ICAgICAgdGhpcy5wYXRoID0gcGFyc2VkVVJMID8gcGFyc2VkVVJMLnBhdGggOiAiIjsKLSAgICAg
ICAgdGhpcy5sYXN0UGF0aENvbXBvbmVudCA9IHBhcnNlZFVSTCA/IHBhcnNlZFVSTC5sYXN0UGF0
aENvbXBvbmVudCA6ICIiOworICAgIGdldCBwYXJzZWRVUkwoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuX3BhcnNlZFVSTDsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yMDIsNTAgKzE4OCwy
OCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4g
dGhpcy5fZG9jdW1lbnRVUkw7CiAgICAgfSwKIAotICAgIHNldCBkb2N1bWVudFVSTCh4KQotICAg
IHsKLSAgICAgICAgdGhpcy5fZG9jdW1lbnRVUkwgPSB4OwotICAgIH0sCi0KICAgICAvKioKLSAg
ICAgKiBAdHlwZSB7c3RyaW5nfQorICAgICAqIEB0eXBlIHtOZXR3b3JrQWdlbnQuRnJhbWVJZH0K
ICAgICAgKi8KLSAgICBnZXQgZGlzcGxheU5hbWUoKQorICAgIGdldCBmcmFtZUlkKCkKICAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5TmFtZSkKLSAgICAgICAgICAgIHJldHVybiB0aGlz
Ll9kaXNwbGF5TmFtZTsKLSAgICAgICAgdGhpcy5fZGlzcGxheU5hbWUgPSB0aGlzLmxhc3RQYXRo
Q29tcG9uZW50OwotICAgICAgICBpZiAoIXRoaXMuX2Rpc3BsYXlOYW1lKQotICAgICAgICAgICAg
dGhpcy5fZGlzcGxheU5hbWUgPSB0aGlzLmRpc3BsYXlEb21haW47Ci0gICAgICAgIGlmICghdGhp
cy5fZGlzcGxheU5hbWUgJiYgdGhpcy51cmwpCi0gICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmFt
ZSA9IHRoaXMudXJsLnRyaW1VUkwoV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEb21haW4gPyBX
ZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZURvbWFpbiA6ICIiKTsKLSAgICAgICAgaWYgKHRoaXMu
X2Rpc3BsYXlOYW1lID09PSAiLyIpCi0gICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IHRo
aXMudXJsOwotICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheU5hbWU7CisgICAgICAgIHJldHVy
biB0aGlzLl9mcmFtZUlkOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAdHlwZSB7c3RyaW5n
fQorICAgICAqIEB0eXBlIHtOZXR3b3JrQWdlbnQuTG9hZGVySWR9CiAgICAgICovCi0gICAgZ2V0
IGZvbGRlcigpCisgICAgZ2V0IGxvYWRlcklkKCkKICAgICB7Ci0gICAgICAgIHZhciBwYXRoID0g
dGhpcy5wYXRoOwotICAgICAgICB2YXIgaW5kZXhPZlF1ZXJ5ID0gcGF0aC5pbmRleE9mKCI/Iik7
Ci0gICAgICAgIGlmIChpbmRleE9mUXVlcnkgIT09IC0xKQotICAgICAgICAgICAgcGF0aCA9IHBh
dGguc3Vic3RyaW5nKDAsIGluZGV4T2ZRdWVyeSk7Ci0gICAgICAgIHZhciBsYXN0U2xhc2hJbmRl
eCA9IHBhdGgubGFzdEluZGV4T2YoIi8iKTsKLSAgICAgICAgcmV0dXJuIGxhc3RTbGFzaEluZGV4
ICE9PSAtMSA/IHBhdGguc3Vic3RyaW5nKDAsIGxhc3RTbGFzaEluZGV4KSA6ICIiOworICAgICAg
ICByZXR1cm4gdGhpcy5fbG9hZGVySWQ7CiAgICAgfSwKIAogICAgIC8qKgogICAgICAqIEB0eXBl
IHtzdHJpbmd9CiAgICAgICovCi0gICAgZ2V0IGRpc3BsYXlEb21haW4oKQorICAgIGdldCBkaXNw
bGF5TmFtZSgpCiAgICAgewotICAgICAgICAvLyBXZWJJbnNwZWN0b3IuRGF0YWJhc2UgY2FsbHMg
dGhpcywgc28gZG9uJ3QgYWNjZXNzIG1vcmUgdGhhbiB0aGlzLmRvbWFpbi4KLSAgICAgICAgaWYg
KHRoaXMuZG9tYWluICYmICghV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEb21haW4gfHwgKFdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlRG9tYWluICYmIHRoaXMuZG9tYWluICE9PSBXZWJJbnNw
ZWN0b3IuaW5zcGVjdGVkUGFnZURvbWFpbikpKQotICAgICAgICAgICAgcmV0dXJuIHRoaXMuZG9t
YWluOwotICAgICAgICByZXR1cm4gIiI7CisgICAgICAgIHJldHVybiB0aGlzLl9wYXJzZWRVUkwu
ZGlzcGxheU5hbWU7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMjU2LDExICsyMjAsNiBAQCBXZWJJ
bnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fcmVx
dWVzdCA/IHRoaXMuX3JlcXVlc3QudHlwZSA6IHRoaXMuX3R5cGU7CiAgICAgfSwKIAotICAgIHNl
dCB0eXBlKHgpCi0gICAgewotICAgICAgICB0aGlzLl90eXBlID0geDsKLSAgICB9LAotCiAgICAg
LyoqCiAgICAgICogQHR5cGUge3N0cmluZ30KICAgICAgKi8KQEAgLTI2OSwxMSArMjI4LDYgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMu
X3JlcXVlc3QgPyB0aGlzLl9yZXF1ZXN0Lm1pbWVUeXBlIDogdGhpcy5fbWltZVR5cGU7CiAgICAg
fSwKIAotICAgIHNldCBtaW1lVHlwZSh4KQotICAgIHsKLSAgICAgICAgdGhpcy5fbWltZVR5cGUg
PSB4OwotICAgIH0sCi0KICAgICAvKioKICAgICAgKiBAdHlwZSB7QXJyYXkuPFdlYkluc3BlY3Rv
ci5Db25zb2xlTWVzc2FnZT59CiAgICAgICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwppbmRleCA3ZDQ4NDIxMjli
MDIyMjA1ZWUwMTQzZDNkNjA1NGU1MTdiMjk4Y2NlLi44MDczN2YxODQ4YjEzMWQ1YTMxNjY4MzQz
OGEzNjZmMGI0NTI5ZTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKQEAgLTIyNiwxMCArMjI2LDcgQEAgV2Vi
SW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGZy
YW1lLl9yZXNvdXJjZXNNYXBbdXJsXSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2
YXIgcmVzb3VyY2UgPSB0aGlzLl9jcmVhdGVSZXNvdXJjZSh1cmwsIGZyYW1lLnVybCwgZnJhbWVJ
ZCwgZXZlbnQuZGF0YS5sb2FkZXJJZCk7Ci0gICAgICAgIHJlc291cmNlLnR5cGUgPSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VUeXBlc1tldmVudC5kYXRhLnJlc291cmNlVHlwZV07Ci0gICAgICAgIHJl
c291cmNlLm1pbWVUeXBlID0gZXZlbnQuZGF0YS5taW1lVHlwZTsKLSAgICAgICAgcmVzb3VyY2Uu
ZmluaXNoZWQgPSB0cnVlOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgV2ViSW5zcGVjdG9y
LlJlc291cmNlKG51bGwsIHVybCwgZnJhbWUudXJsLCBmcmFtZUlkLCBldmVudC5kYXRhLmxvYWRl
cklkLCBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlc1tldmVudC5kYXRhLnJlc291cmNlVHlwZV0s
IGV2ZW50LmRhdGEubWltZVR5cGUpOwogICAgICAgICBmcmFtZS5fYWRkUmVzb3VyY2UocmVzb3Vy
Y2UpOwogICAgIH0sCiAKQEAgLTMzOCwxMCArMzM1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNl
VHJlZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGZyYW1lID0gbmV3IFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVRyZWVGcmFtZSh0aGlzLCBwYXJlbnRGcmFtZSwgZnJhbWVQYXlsb2FkKTsK
IAogICAgICAgICAvLyBDcmVhdGUgZnJhbWUgcmVzb3VyY2UuCi0gICAgICAgIHZhciBmcmFtZVJl
c291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2VGcm9tRnJhbWVQYXlsb2FkKGZyYW1lUGF5bG9h
ZCwgZnJhbWVQYXlsb2FkLnVybCk7Ci0gICAgICAgIGZyYW1lUmVzb3VyY2UubWltZVR5cGUgPSBm
cmFtZVBheWxvYWQubWltZVR5cGU7Ci0gICAgICAgIGZyYW1lUmVzb3VyY2UudHlwZSA9IFdlYklu
c3BlY3Rvci5yZXNvdXJjZVR5cGVzLkRvY3VtZW50OwotICAgICAgICBmcmFtZVJlc291cmNlLmZp
bmlzaGVkID0gdHJ1ZTsKKyAgICAgICAgdmFyIGZyYW1lUmVzb3VyY2UgPSB0aGlzLl9jcmVhdGVS
ZXNvdXJjZUZyb21GcmFtZVBheWxvYWQoZnJhbWVQYXlsb2FkLCBmcmFtZVBheWxvYWQudXJsLCBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5Eb2N1bWVudCwgZnJhbWVQYXlsb2FkLm1pbWVUeXBl
KTsKIAogICAgICAgICBpZiAoZnJhbWUuaXNNYWluRnJhbWUoKSkKICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMID0gZnJhbWVSZXNvdXJjZS51cmw7CkBAIC0zNTgsMTAg
KzM1Miw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIC8vIENyZWF0ZSBmcmFtZSBzdWJyZXNvdXJjZXMuCiAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgZnJhbWVUcmVlUGF5bG9hZC5yZXNvdXJjZXMubGVuZ3RoOyArK2kpIHsKICAgICAg
ICAgICAgIHZhciBzdWJyZXNvdXJjZSA9IGZyYW1lVHJlZVBheWxvYWQucmVzb3VyY2VzW2ldOwot
ICAgICAgICAgICAgdmFyIHJlc291cmNlID0gdGhpcy5fY3JlYXRlUmVzb3VyY2VGcm9tRnJhbWVQ
YXlsb2FkKGZyYW1lUGF5bG9hZCwgc3VicmVzb3VyY2UudXJsKTsKLSAgICAgICAgICAgIHJlc291
cmNlLnR5cGUgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlc1tzdWJyZXNvdXJjZS50eXBlXTsK
LSAgICAgICAgICAgIHJlc291cmNlLm1pbWVUeXBlID0gc3VicmVzb3VyY2UubWltZVR5cGU7Ci0g
ICAgICAgICAgICByZXNvdXJjZS5maW5pc2hlZCA9IHRydWU7CisgICAgICAgICAgICB2YXIgcmVz
b3VyY2UgPSB0aGlzLl9jcmVhdGVSZXNvdXJjZUZyb21GcmFtZVBheWxvYWQoZnJhbWVQYXlsb2Fk
LCBzdWJyZXNvdXJjZS51cmwsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVR5cGVzW3N1YnJlc291cmNl
LnR5cGVdLCBzdWJyZXNvdXJjZS5taW1lVHlwZSk7CiAgICAgICAgICAgICBmcmFtZS5fYWRkUmVz
b3VyY2UocmVzb3VyY2UpOwogICAgICAgICB9CiAgICAgfSwKQEAgLTM2OSwyNSArMzYwLDEzIEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAg
ICAgICogQHBhcmFtIHtQYWdlQWdlbnQuRnJhbWV9IGZyYW1lCiAgICAgICogQHBhcmFtIHtzdHJp
bmd9IHVybAorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlJlc291cmNlVHlwZX0gdHlwZQor
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtaW1lVHlwZQogICAgICAqIEByZXR1cm4ge1dlYkluc3Bl
Y3Rvci5SZXNvdXJjZX0KICAgICAgKi8KLSAgICBfY3JlYXRlUmVzb3VyY2VGcm9tRnJhbWVQYXls
b2FkOiBmdW5jdGlvbihmcmFtZSwgdXJsKQorICAgIF9jcmVhdGVSZXNvdXJjZUZyb21GcmFtZVBh
eWxvYWQ6IGZ1bmN0aW9uKGZyYW1lLCB1cmwsIHR5cGUsIG1pbWVUeXBlKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuX2NyZWF0ZVJlc291cmNlKHVybCwgZnJhbWUudXJsLCBmcmFtZS5pZCwg
ZnJhbWUubG9hZGVySWQpOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmlu
Z30gdXJsCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IGRvY3VtZW50VVJMCi0gICAgICogQHBhcmFt
IHtOZXR3b3JrQWdlbnQuRnJhbWVJZH0gZnJhbWVJZAotICAgICAqIEBwYXJhbSB7TmV0d29ya0Fn
ZW50LkxvYWRlcklkfSBsb2FkZXJJZAotICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5SZXNv
dXJjZX0KLSAgICAgKi8KLSAgICBfY3JlYXRlUmVzb3VyY2U6IGZ1bmN0aW9uKHVybCwgZG9jdW1l
bnRVUkwsIGZyYW1lSWQsIGxvYWRlcklkKQotICAgIHsKLSAgICAgICAgdmFyIHJlc291cmNlID0g
bmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZShudWxsLCB1cmwsIGZyYW1lSWQsIGxvYWRlcklkKTsK
LSAgICAgICAgcmVzb3VyY2UuZG9jdW1lbnRVUkwgPSBkb2N1bWVudFVSTDsKLSAgICAgICAgcmV0
dXJuIHJlc291cmNlOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZShu
dWxsLCB1cmwsIGZyYW1lLnVybCwgZnJhbWUuaWQsIGZyYW1lLmxvYWRlcklkLCB0eXBlLCBtaW1l
VHlwZSk7CiAgICAgfQogfQogCkBAIC01NjMsNyArNTQyLDcgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlVHJlZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIC8vIEFscmVhZHkgaW4gdGhl
IHRyZWUsIHdlIGp1c3QgZ290IGFuIGV4dHJhIHVwZGF0ZS4KICAgICAgICAgICAgIHJldHVybiBy
ZXNvdXJjZTsKICAgICAgICAgfQotICAgICAgICByZXNvdXJjZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UocmVxdWVzdCwgcmVxdWVzdC51cmwsIHJlcXVlc3QuZnJhbWVJZCwgcmVxdWVzdC5s
b2FkZXJJZCk7CisgICAgICAgIHJlc291cmNlID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZShy
ZXF1ZXN0LCByZXF1ZXN0LnVybCwgcmVxdWVzdC5kb2N1bWVudFVSTCwgcmVxdWVzdC5mcmFtZUlk
LCByZXF1ZXN0LmxvYWRlcklkKTsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzTWFwW3Jlc291cmNl
LnVybF0gPSByZXNvdXJjZTsKICAgICAgICAgdGhpcy5fbW9kZWwuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLlJlc291cmNl
QWRkZWQsIHJlc291cmNlKTsKICAgICAgICAgcmV0dXJuIHJlc291cmNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCmluZGV4IGY4
MjBiMGNhZjhiNmRmNTQ2NDY0MWEwZDM4MWQzMDg4ZmFkNGFkMTcuLmNjODhiMzZiMWYyNzQwNDIx
MGVjZDg0YmExYTE2MGM4NTc3MjNiZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMKQEAgLTI5LDYgKzI5LDg5IEBACiAgKi8K
IAogLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7U3RyaW5nfHN0cmluZ30gdXJsCisg
Ki8KK1dlYkluc3BlY3Rvci5QYXJzZWRVUkwgPSBmdW5jdGlvbih1cmwpCit7CisgICAgdGhpcy5p
c1ZhbGlkID0gZmFsc2U7CisgICAgdGhpcy51cmwgPSB1cmw7CisgICAgdGhpcy5zY2hlbWUgPSAi
IjsKKyAgICB0aGlzLmhvc3QgPSAiIjsKKyAgICB0aGlzLnBvcnQgPSAiIjsKKyAgICB0aGlzLnBh
dGggPSAiIjsKKyAgICB0aGlzLmZyYWdtZW50ID0gIiI7CisgICAgdGhpcy5sYXN0UGF0aENvbXBv
bmVudCA9ICIiOworCisgICAgLy8gUmVnRXhwIGdyb3VwczoKKyAgICAvLyAxIC0gc2NoZW1lCisg
ICAgLy8gMiAtIGhvc3RuYW1lCisgICAgLy8gMyAtID9wb3J0CisgICAgLy8gNCAtID9wYXRoCisg
ICAgLy8gNSAtID9mcmFnbWVudAorICAgIHZhciBtYXRjaCA9IHVybC5tYXRjaCgvXihbXjpdKyk6
XC9cLyhbXlwvOl0qKSg/OjooW1xkXSspKT8oPzooXC9bXiNdKikoPzojKC4qKSk/KT8kL2kpOwor
ICAgIGlmICghbWF0Y2gpIHsKKyAgICAgICAgaWYgKHRoaXMgPT0gImFib3V0OmJsYW5rIikgewor
ICAgICAgICAgICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuc2NoZW1l
ID0gImFib3V0IjsKKyAgICAgICAgICAgIHRoaXMuaG9zdCA9ICJibGFuayI7CisgICAgICAgICAg
ICB0aGlzLnBhdGggPSAiLyI7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7CisgICAgdGhpcy5z
Y2hlbWUgPSBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpOworICAgIHRoaXMuaG9zdCA9IG1hdGNoWzJd
OworICAgIHRoaXMucG9ydCA9IG1hdGNoWzNdOworICAgIHRoaXMucGF0aCA9IG1hdGNoWzRdIHx8
ICIvIjsKKyAgICB0aGlzLmZyYWdtZW50ID0gbWF0Y2hbNV07CisKKyAgICBpZiAodGhpcy5wYXRo
KSB7CisgICAgICAgIC8vIEZpcnN0IGN1dCB0aGUgcXVlcnkgcGFyYW1zLgorICAgICAgICB2YXIg
cGF0aCA9IHRoaXMucGF0aDsKKyAgICAgICAgdmFyIGluZGV4T2ZRdWVyeSA9IHBhdGguaW5kZXhP
ZigiPyIpOworICAgICAgICBpZiAoaW5kZXhPZlF1ZXJ5ICE9PSAtMSkKKyAgICAgICAgICAgIHBh
dGggPSBwYXRoLnN1YnN0cmluZygwLCBpbmRleE9mUXVlcnkpOworCisgICAgICAgIC8vIFRoZW4g
dGFrZSBsYXN0IHBhdGggY29tcG9uZW50LgorICAgICAgICB2YXIgbGFzdFNsYXNoSW5kZXggPSBw
YXRoLmxhc3RJbmRleE9mKCIvIik7CisgICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCAhPT0gLTEp
IHsKKyAgICAgICAgICAgIHRoaXMuZmlyc3RQYXRoQ29tcG9uZW50cyA9IHBhdGguc3Vic3RyaW5n
KDAsIGxhc3RTbGFzaEluZGV4ICsgMSk7CisgICAgICAgICAgICB0aGlzLmxhc3RQYXRoQ29tcG9u
ZW50ID0gcGF0aC5zdWJzdHJpbmcobGFzdFNsYXNoSW5kZXggKyAxKTsKKyAgICAgICAgfQorICAg
IH0KK30KKworV2ViSW5zcGVjdG9yLlBhcnNlZFVSTC5wcm90b3R5cGUgPSB7CisgICAgZ2V0IGRp
c3BsYXlOYW1lKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9kaXNwbGF5TmFtZSkKKyAgICAg
ICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5TmFtZTsKKworICAgICAgICB0aGlzLl9kaXNwbGF5
TmFtZSA9IHRoaXMubGFzdFBhdGhDb21wb25lbnQ7CisgICAgICAgIGlmICghdGhpcy5fZGlzcGxh
eU5hbWUpCisgICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IFdlYkluc3BlY3Rvci5kaXNw
bGF5RG9tYWluKHRoaXMuaG9zdCk7CisgICAgICAgIGlmICghdGhpcy5fZGlzcGxheU5hbWUgJiYg
dGhpcy51cmwpCisgICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IHRoaXMudXJsLnRyaW1V
UkwoV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEb21haW4gPyBXZWJJbnNwZWN0b3IuaW5zcGVj
dGVkUGFnZURvbWFpbiA6ICIiKTsKKyAgICAgICAgaWYgKHRoaXMuX2Rpc3BsYXlOYW1lID09PSAi
LyIpCisgICAgICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IHRoaXMudXJsOworICAgICAgICBy
ZXR1cm4gdGhpcy5fZGlzcGxheU5hbWU7CisgICAgfQorfQorLyoqCisgKiBAcmV0dXJuIHs/V2Vi
SW5zcGVjdG9yLlBhcnNlZFVSTH0KKyAqLworU3RyaW5nLnByb3RvdHlwZS5hc1BhcnNlZFVSTCA9
IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgcGFyc2VkVVJMID0gbmV3IFdlYkluc3BlY3Rvci5QYXJz
ZWRVUkwodGhpcyk7CisgICAgaWYgKHBhcnNlZFVSTC5pc1ZhbGlkKQorICAgICAgICByZXR1cm4g
cGFyc2VkVVJMOworICAgIHJldHVybiBudWxsOworfQorCisvKioKICAqIEBwYXJhbSB7c3RyaW5n
fSB1cmwKICAqIEByZXR1cm4gez9XZWJJbnNwZWN0b3IuUmVzb3VyY2V9CiAgKi8KQEAgLTQ2LDYg
KzEyOSwxNiBAQCBXZWJJbnNwZWN0b3IuZm9yQWxsUmVzb3VyY2VzID0gZnVuY3Rpb24oY2FsbGJh
Y2spCiB9CiAKIC8qKgorICogQHBhcmFtIHtzdHJpbmd9IGhvc3QKKyAqLworV2ViSW5zcGVjdG9y
LmRpc3BsYXlEb21haW4gPSBmdW5jdGlvbihob3N0KQoreworICAgIGlmIChob3N0ICYmICghV2Vi
SW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VEb21haW4gfHwgKFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQ
YWdlRG9tYWluICYmIGhvc3QgIT09IFdlYkluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlRG9tYWluKSkp
CisgICAgICAgIHJldHVybiBob3N0OworICAgIHJldHVybiAiIjsKK30KKworLyoqCiAgKiBAcGFy
YW0ge3N0cmluZ30gdXJsCiAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgKi8KQEAgLTI0Nyw3ICszNDAs
NyBAQCBXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxGb3JSZWxhdGVkTm9kZSA9IGZ1bmN0aW9uKG5v
ZGUsIHVybCkKICAgICB2YXIgcmVzb3VyY2VVUkwgPSB1cmw7CiAgICAgZnVuY3Rpb24gY2FsbGJh
Y2socmVzb3VyY2UpCiAgICAgewotICAgICAgICBpZiAocmVzb3VyY2UucGF0aCA9PT0gdXJsKSB7
CisgICAgICAgIGlmIChyZXNvdXJjZS5wYXJzZWRVUkwucGF0aCA9PT0gdXJsKSB7CiAgICAgICAg
ICAgICByZXNvdXJjZVVSTCA9IHJlc291cmNlLnVybDsKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCBiMTNmNDNkNzA5MzU3OTNjZWZmODUzYjZjZGZiMjBh
ZTk0ZjBmMzNhLi5hZjQ2ZDg2ODM2NGQ0MDI0Mjc5NDA4MDI2ZmNlNDMyMDgzY2UzYzU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFu
ZWwuanMKQEAgLTEwODEsNyArMTA4MSw3IEBAIFdlYkluc3BlY3Rvci5GcmFtZVRyZWVFbGVtZW50
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZnJhbWVJZCA9IGZyYW1lLmlkOwogCiAgICAg
ICAgIHRoaXMudGl0bGVUZXh0ID0gZnJhbWUubmFtZTsKLSAgICAgICAgdGhpcy5zdWJ0aXRsZVRl
eHQgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlzcGxheU5hbWUoZnJhbWUudXJsKTsKKyAgICAg
ICAgdGhpcy5zdWJ0aXRsZVRleHQgPSBuZXcgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTChmcmFtZS51
cmwpLmRpc3BsYXlOYW1lOwogCiAgICAgICAgIHRoaXMuX2NhdGVnb3J5RWxlbWVudHMgPSB7fTsK
ICAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRGb3JSZXNvdXJjZSA9IHt9OwpAQCAtMTkyMiw3ICsx
OTIyLDcgQEAgV2ViSW5zcGVjdG9yLkNvb2tpZVRyZWVFbGVtZW50LnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuQmFzZVN0b3JhZ2VUcmUKICAqLwogV2ViSW5zcGVjdG9yLkFwcGxp
Y2F0aW9uQ2FjaGVNYW5pZmVzdFRyZWVFbGVtZW50ID0gZnVuY3Rpb24oc3RvcmFnZVBhbmVsLCBt
YW5pZmVzdFVSTCkKIHsKLSAgICB2YXIgdGl0bGUgPSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuZGlz
cGxheU5hbWUobWFuaWZlc3RVUkwpOworICAgIHZhciB0aXRsZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
UGFyc2VkVVJMKG1hbmlmZXN0VVJMKS5kaXNwbGF5TmFtZTsKICAgICBXZWJJbnNwZWN0b3IuQmFz
ZVN0b3JhZ2VUcmVlRWxlbWVudC5jYWxsKHRoaXMsIHN0b3JhZ2VQYW5lbCwgbnVsbCwgdGl0bGUs
IFsiYXBwbGljYXRpb24tY2FjaGUtc3RvcmFnZS10cmVlLWl0ZW0iXSk7CiAgICAgdGhpcy50b29s
dGlwID0gbWFuaWZlc3RVUkw7CiAgICAgdGhpcy5fbWFuaWZlc3RVUkwgPSBtYW5pZmVzdFVSTDsK
QEAgLTE5ODMsNyArMTk4Myw3IEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRnJhbWVU
cmVlRWxlbWVudC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICAgICAgdGhpcy50aXRsZVRleHQgPSBmcmFtZS5uYW1lOwotICAgICAgICB0aGlzLnN1YnRp
dGxlVGV4dCA9IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5kaXNwbGF5TmFtZShmcmFtZS51cmwpOwor
ICAgICAgICB0aGlzLnN1YnRpdGxlVGV4dCA9IG5ldyBXZWJJbnNwZWN0b3IuUGFyc2VkVVJMKGZy
YW1lLnVybCkuZGlzcGxheU5hbWU7CiAgICAgfSwKIAogICAgIGZyYW1lTmF2aWdhdGVkOiBmdW5j
dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3V0
aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVz
LmpzCmluZGV4IDFmZTVhMWFkNTVlMTBlOTdiNGUxYmViNGVlN2MyNmM2M2QzMWIwNmQuLmQyYTdl
YjU3ZjM5NDljODgwMmU1MGNlOGYwZmVjOGMxYWU1YjQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCkBAIC00NTMsNDkgKzQ1Myw2IEBA
IFN0cmluZy5wcm90b3R5cGUubGluZUVuZGluZ3MgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJuIHRo
aXMuX2xpbmVFbmRpbmdzOwogfQogCi1TdHJpbmcucHJvdG90eXBlLmFzUGFyc2VkVVJMID0gZnVu
Y3Rpb24oKQotewotICAgIC8vIFJlZ0V4cCBncm91cHM6Ci0gICAgLy8gMSAtIHNjaGVtZQotICAg
IC8vIDIgLSBob3N0bmFtZQotICAgIC8vIDMgLSA/cG9ydAotICAgIC8vIDQgLSA/cGF0aAotICAg
IC8vIDUgLSA/ZnJhZ21lbnQKLSAgICB2YXIgbWF0Y2ggPSB0aGlzLm1hdGNoKC9eKFteOl0rKTpc
L1wvKFteXC86XSopKD86OihbXGRdKykpPyg/OihcL1teI10qKSg/OiMoLiopKT8pPyQvaSk7Ci0g
ICAgaWYgKCFtYXRjaCkgewotICAgICAgICBpZiAodGhpcyA9PSAiYWJvdXQ6YmxhbmsiKSB7Ci0g
ICAgICAgICAgICByZXR1cm4geyBzY2hlbWU6ICJhYm91dCIsCi0gICAgICAgICAgICAgICAgICAg
ICBob3N0OiAiYmxhbmsiLAotICAgICAgICAgICAgICAgICAgICAgcGF0aDogIi8iLAotICAgICAg
ICAgICAgICAgICAgICAgbGFzdFBhdGhDb21wb25lbnQ6ICIifTsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9Ci0gICAgdmFyIHJlc3VsdCA9IHt9OwotICAgIHJlc3VsdC5z
Y2hlbWUgPSBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpOwotICAgIHJlc3VsdC5ob3N0ID0gbWF0Y2hb
Ml07Ci0gICAgcmVzdWx0LnBvcnQgPSBtYXRjaFszXTsKLSAgICByZXN1bHQucGF0aCA9IG1hdGNo
WzRdIHx8ICIvIjsKLSAgICByZXN1bHQuZnJhZ21lbnQgPSBtYXRjaFs1XTsKLQotICAgIHJlc3Vs
dC5sYXN0UGF0aENvbXBvbmVudCA9ICIiOwotICAgIGlmIChyZXN1bHQucGF0aCkgewotICAgICAg
ICAvLyBGaXJzdCBjdXQgdGhlIHF1ZXJ5IHBhcmFtcy4KLSAgICAgICAgdmFyIHBhdGggPSByZXN1
bHQucGF0aDsKLSAgICAgICAgdmFyIGluZGV4T2ZRdWVyeSA9IHBhdGguaW5kZXhPZigiPyIpOwot
ICAgICAgICBpZiAoaW5kZXhPZlF1ZXJ5ICE9PSAtMSkKLSAgICAgICAgICAgIHBhdGggPSBwYXRo
LnN1YnN0cmluZygwLCBpbmRleE9mUXVlcnkpOwotCi0gICAgICAgIC8vIFRoZW4gdGFrZSBsYXN0
IHBhdGggY29tcG9uZW50LgotICAgICAgICB2YXIgbGFzdFNsYXNoSW5kZXggPSBwYXRoLmxhc3RJ
bmRleE9mKCIvIik7Ci0gICAgICAgIGlmIChsYXN0U2xhc2hJbmRleCAhPT0gLTEpIHsKLSAgICAg
ICAgICAgIHJlc3VsdC5maXJzdFBhdGhDb21wb25lbnRzID0gcGF0aC5zdWJzdHJpbmcoMCwgbGFz
dFNsYXNoSW5kZXggKyAxKTsKLSAgICAgICAgICAgIHJlc3VsdC5sYXN0UGF0aENvbXBvbmVudCA9
IHBhdGguc3Vic3RyaW5nKGxhc3RTbGFzaEluZGV4ICsgMSk7Ci0gICAgICAgIH0KLSAgICB9IAot
ICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIFN0cmluZy5wcm90b3R5cGUuZXNjYXBlQ2hhcmFjdGVy
cyA9IGZ1bmN0aW9uKGNoYXJzKQogewogICAgIHZhciBmb3VuZENoYXIgPSBmYWxzZTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3MTRiZjZkMjg2NjQ2ZDZiODBkZDhmZGIxNTY1ODE4MzYxMGI2MTIwLi44MjliOThjODVmNmFh
OWVmNTU5ODQ3NTZmMzI1YzRjNWVkZTIzZGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTIt
MDQtMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogaW50cm9kdWNlIFBhcnNlZFVSTCB0eXBlLCBjbGVhbiB1cCB1cmwgYW5k
IGRpc3BsYXlOYW1lIG1lc3MgaW4gUmVzb3VyY2UgYW5kIE5ldHdvcmtSZXF1ZXN0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4NzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1
Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbDoKKwogMjAxMi0wNC0xMiAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHRyYWN0
aW5nIE5ldHdvcmtSZXF1ZXN0IGZyb20gUmVzb3VyY2UgKHN0ZXAgMykKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbCBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZWJ1Z2dlci9yYXctc291cmNlLWNvZGUuaHRtbAppbmRleCBmMTI5
YzlmNjYyOTZhNGFhOGIxOWRlM2ZiMDNiYTU3M2ZlYmIxZThlLi4zNWZjMzEwYTgzNTdhYTQxMzE3
ZjYxN2UwYTZhOTgyMDRhNzVkNjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZGVidWdnZXIvcmF3LXNvdXJjZS1jb2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RlYnVnZ2VyL3Jhdy1zb3VyY2UtY29kZS5odG1sCkBAIC0xOSw3ICsxOSw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgIHsKICAgICAgICAgdmFyIHJlcXVlc3RJZCA9ICsrbGFzdFJlcXVlc3RJZCAr
ICIiOwogICAgICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuX2FkZEZyYW1lKG5l
dyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRnJhbWUoV2ViSW5zcGVjdG9yLnJlc291cmNlVHJl
ZU1vZGVsLCBudWxsLCB7aWQ6ICJmcmFtZS1pZCJ9KSk7Ci0gICAgICAgIHZhciByZXF1ZXN0ID0g
bmV3IFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdChyZXF1ZXN0SWQsICJodHRwOi8vZmFrZS51
cmwiLCAiZnJhbWUtaWQiLCAibG9hZGVyLWlkIik7CisgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3
IFdlYkluc3BlY3Rvci5OZXR3b3JrUmVxdWVzdChyZXF1ZXN0SWQsICJodHRwOi8vZmFrZS51cmwi
LCAiaHR0cDovL2Zha2UudXJsIiwgImZyYW1lLWlkIiwgImxvYWRlci1pZCIpOwogICAgICAgICBy
ZXF1ZXN0LnR5cGUgPSB0eXBlID09PSAiZG9jdW1lbnQiID8gV2ViSW5zcGVjdG9yLnJlc291cmNl
VHlwZXMuRG9jdW1lbnQgOiBXZWJJbnNwZWN0b3IucmVzb3VyY2VUeXBlcy5TY3JpcHQ7CiAKICAg
ICAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5hZ2VyLl9kaXNwYXRjaGVyLl9zdGFydE5ldHdv
cmtSZXF1ZXN0KHJlcXVlc3QpOwo=
</data>
<flag name="review"
          id="142037"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>