<?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>84244</bug_id>
          
          <creation_ts>2012-04-18 08:15:30 -0700</creation_ts>
          <short_desc>Web Inspector: extract script navigator overlay logic into the scripts navigator controller.</short_desc>
          <delta_ts>2012-04-18 11:02:14 -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>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604750</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-18 08:15:30 -0700</bug_when>
    <thetext>Overlay logic is well separable from the scripts panel and does not belong there. Extracting it into a separate class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604751</commentid>
    <comment_count>1</comment_count>
      <attachid>137694</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-18 08:19:10 -0700</bug_when>
    <thetext>Created attachment 137694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604758</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 08:22:29 -0700</bug_when>
    <thetext>Attachment 137694 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/bindings/v8/V8IsolatedContext.cpp:44:  &quot;stdio.h&quot; already included at Source/WebCore/bindings/v8/V8IsolatedContext.cpp:42  [build/include] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604759</commentid>
    <comment_count>3</comment_count>
      <attachid>137697</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-18 08:22:38 -0700</bug_when>
    <thetext>Created attachment 137697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604894</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-04-18 11:02:14 -0700</bug_when>
    <thetext>Committed r114532: &lt;http://trac.webkit.org/changeset/114532&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137694</attachid>
            <date>2012-04-18 08:19:10 -0700</date>
            <delta_ts>2012-04-18 08:22:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84244-20120418191909.patch</filename>
            <type>text/plain</type>
            <size>18441</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTJhYzk1ZjIwNjA0MGE5
MDc3OGUyOWM0NzEzNzc0YTY0YzgwNDk1Ni4uNzgyYTNjOWIzMzk0M2M3ODBkYTk2N2FiMTQyMDEw
YTBmOGMwMmJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTE4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4dHJhY3Qgc2NyaXB0IG5hdmlnYXRvciBvdmVybGF5IGxvZ2ljIGludG8gdGhlIHNjcmlw
dHMgbmF2aWdhdG9yIGNvbnRyb2xsZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NDI0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE92ZXJsYXkgbG9naWMgaXMgd2VsbCBzZXBhcmFibGUgZnJvbSB0aGUg
c2NyaXB0cyBwYW5lbCBhbmQgZG9lcyBub3QgYmVsb25nIHRoZXJlLgorICAgICAgICBFeHRyYWN0
aW5nIGl0IGludG8gYSBzZXBhcmF0ZSBjbGFzcy4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c05hdmlnYXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRz
TmF2aWdhdG9yQ29udHJvbGxlci5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250cm9sbGVyLnByb3RvdHlwZS5fY3JlYXRlTmF2aWdh
dG9yQ29udHJvbEJ1dHRvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRv
ckNvbnRyb2xsZXIucHJvdG90eXBlLl9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVybGF5T3Blbik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvckNvbnRyb2xsZXIucHJvdG90
eXBlLl90b2dnbGVOYXZpZ2F0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZp
Z2F0b3JDb250cm9sbGVyLnByb3RvdHlwZS5faGlkZVBpbm5lZE5hdmlnYXRvcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvckNvbnRyb2xsZXIucHJvdG90eXBlLnNldCBf
cGluTmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29u
dHJvbGxlci5wcm90b3R5cGUuc2V0IHNob3dOYXZpZ2F0b3JPdmVybGF5KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29udHJvbGxlci5wcm90b3R5cGUuaGlkZU5hdmln
YXRvck92ZXJsYXkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250
cm9sbGVyLnByb3RvdHlwZS5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLndhc1Nob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9lZGl0b3JDbG9zZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2VkaXRvclNlbGVjdGVkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zY3JpcHRTZWxlY3RlZCk6CisK
KzIwMTItMDQtMTggICdQYXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBOb3QgcmV2aWV3ZWQ6IGZpeGluZyBDaHJvbWl1bSB3aW4gY29tcGlsYXRpb24uCisK
KyAgICAgICAgKiBiaW5kaW5ncy92OC9WOElzb2xhdGVkQ29udGV4dC5jcHA6CisKIDIwMTItMDQt
MTggIEx1a2UgTWFjcGhlcnNvbiAgPG1hY3BoZXJzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZSByZWFzc2lnbm1lbnQgaW4gQ1NTUGFyc2VyOjpw
YXJzZUltYWdlU2V0KCkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OElzb2xhdGVkQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOElzb2xh
dGVkQ29udGV4dC5jcHAKaW5kZXggYjkxNjQ0ODQ4ZjVkM2UxYTdiNDMzY2YzYmYyNjkyZjI3NGJi
YjQ4ZC4uMzA5MjIwMjY4MGYwMWJmZDhmMjQ0NTlkNWQ2ZGNhZmVlNjJhNTMwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJc29sYXRlZENvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SXNvbGF0ZWRDb250ZXh0LmNwcApAQCAtMzks
NiArMzksOCBAQAogI2luY2x1ZGUgIlY4RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiVjhQcm94eS5o
IgogCisjaW5jbHVkZSA8c3RkaW8uaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBWOElzb2xh
dGVkQ29udGV4dCogVjhJc29sYXRlZENvbnRleHQ6Omlzb2xhdGVkQ29udGV4dCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3Iu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZpZ2F0b3Iu
anMKaW5kZXggNDJkZWIyMDY0ZmE0NGVhZDViMzc4NmYzMWMyZThhNzA5NGQzZWQ3Mi4uMDlkMTYx
NGMzZjkxYmVhMDM1MmQ5OWE2NjZiY2Y2MDdmZTc2YTQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcwpAQCAtNzY0
LDMgKzc2NCwxNTQgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvclNjcmlwdFRyZWVFbGVtZW50LnBy
b3RvdHlwZSA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLk5hdmlnYXRvclNjcmlwdFRyZWVFbGVtZW50
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRyZWVFbGVt
ZW50LnByb3RvdHlwZTsKKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlBhbmVsfSBwYW5lbAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU3BsaXRWaWV3fSBl
ZGl0b3JWaWV3CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yfSBuYXZp
Z2F0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lcn0gZWRp
dG9yQ29udGFpbmVyCisgKi8KK1dlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29udHJvbGxl
ciA9IGZ1bmN0aW9uKHBhbmVsLCBlZGl0b3JWaWV3LCBuYXZpZ2F0b3IsIGVkaXRvckNvbnRhaW5l
cikKK3sKKyAgICB0aGlzLl9wYW5lbCA9IHBhbmVsOworICAgIHRoaXMuX2VkaXRvclZpZXcgPSBl
ZGl0b3JWaWV3OworICAgIHRoaXMuX25hdmlnYXRvciA9IG5hdmlnYXRvcjsKKyAgICB0aGlzLl9l
ZGl0b3JDb250YWluZXIgPSBlZGl0b3JDb250YWluZXI7CisKKyAgICB0aGlzLl9uYXZpZ2F0b3JT
aWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OworICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50LmFkZFN0eWxl
Q2xhc3MoInNjcmlwdHMtbmF2aWdhdG9yLXJlc2l6ZXItd2lkZ2V0Iik7CisgICAgdGhpcy5fZWRp
dG9yVmlldy5pbnN0YWxsUmVzaXplcih0aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0
RWxlbWVudCk7CisgICAgdGhpcy5fbmF2aWdhdG9yLnZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0
aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCk7CisKKyAgICB0aGlzLl9u
YXZpZ2F0b3JTaG93SGlkZUJ1dHRvbiA9IHRoaXMuX2NyZWF0ZU5hdmlnYXRvckNvbnRyb2xCdXR0
b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IHNjcmlwdHMgbmF2aWdhdG9yIiksICJzY3Jp
cHRzLW5hdmlnYXRvci1zaG93LWhpZGUtYnV0dG9uIiwgdGhpcy5fdG9nZ2xlTmF2aWdhdG9yLmJp
bmQodGhpcykpOworICAgIHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xh
c3MoInRvZ2dsZWQtb24iKTsKKyAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGlkZSBzY3JpcHRzIG5hdmlnYXRvciIpOworICAg
IHRoaXMuX2VkaXRvclZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0b3JTaG93
SGlkZUJ1dHRvbik7CisKKyAgICB0aGlzLl9uYXZpZ2F0b3JQaW5CdXR0b24gPSB0aGlzLl9jcmVh
dGVOYXZpZ2F0b3JDb250cm9sQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGluIHNjcmlw
dHMgbmF2aWdhdG9yIiksICJzY3JpcHRzLW5hdmlnYXRvci1waW4tYnV0dG9uIiwgdGhpcy5fcGlu
TmF2aWdhdG9yLmJpbmQodGhpcykpOworICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbi5hZGRT
dHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICB0aGlzLl9uYXZpZ2F0b3Iudmlldy5lbGVtZW50LmFw
cGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbik7CisKKyAgICBXZWJJbnNwZWN0b3Iu
c2V0dGluZ3MubmF2aWdhdG9ySGlkZGVuID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNyZWF0ZVNl
dHRpbmcoIm5hdmlnYXRvckhpZGRlbiIsIHRydWUpOworICAgIGlmIChXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MubmF2aWdhdG9ySGlkZGVuLmdldCgpKQorICAgICAgICB0aGlzLl90b2dnbGVOYXZpZ2F0
b3IoKTsKK30KKworV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250cm9sbGVyLnByb3Rv
dHlwZSA9IHsKKyAgICB3YXNTaG93bjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgd2luZG93
LnNldFRpbWVvdXQodGhpcy5fbWF5YmVTaG93TmF2aWdhdG9yT3ZlcmxheS5iaW5kKHRoaXMpLCAw
KTsKKyAgICB9LAorCisgICAgX2NyZWF0ZU5hdmlnYXRvckNvbnRyb2xCdXR0b246IGZ1bmN0aW9u
KHRpdGxlLCBpZCwgbGlzdGVuZXIpCisgICAgeworICAgICAgICB2YXIgYnV0dG9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgICAgIGJ1dHRvbi50aXRsZSA9IHRpdGxl
OworICAgICAgICBidXR0b24uaWQgPSBpZDsKKyAgICAgICAgYnV0dG9uLmFkZFN0eWxlQ2xhc3Mo
InNjcmlwdHMtbmF2aWdhdG9yLWNvbnRyb2wtYnV0dG9uIik7CisgICAgICAgIGJ1dHRvbi5hZGRF
dmVudExpc3RlbmVyKCJjbGljayIsIGxpc3RlbmVyLCBmYWxzZSk7CisgICAgICAgIGJ1dHRvbi5j
cmVhdGVDaGlsZCgiZGl2IiwgImdseXBoIik7CisgICAgICAgIHJldHVybiBidXR0b247CisgICAg
fSwKKworICAgIF9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVybGF5T3BlbjogZnVuY3Rpb24oZXZl
bnQpCisgICAgeworICAgICAgICB0aGlzLmhpZGVOYXZpZ2F0b3JPdmVybGF5KCk7CisgICAgfSwK
KworICAgIF9tYXliZVNob3dOYXZpZ2F0b3JPdmVybGF5OiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5nZXQoKSAmJiAh
V2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvcldhc09uY2VIaWRkZW4uZ2V0KCkpCisgICAg
ICAgICAgICB0aGlzLnNob3dOYXZpZ2F0b3JPdmVybGF5KCk7CisgICAgfSwKKworICAgIF90b2dn
bGVOYXZpZ2F0b3I6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9uYXZpZ2F0
b3JPdmVybGF5U2hvd24pCisgICAgICAgICAgICB0aGlzLmhpZGVOYXZpZ2F0b3JPdmVybGF5KCk7
CisgICAgICAgIGVsc2UgaWYgKHRoaXMuX25hdmlnYXRvckhpZGRlbikKKyAgICAgICAgICAgIHRo
aXMuc2hvd05hdmlnYXRvck92ZXJsYXkoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhp
cy5faGlkZVBpbm5lZE5hdmlnYXRvcigpOworICAgIH0sCisKKyAgICBfaGlkZVBpbm5lZE5hdmln
YXRvcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9ySGlkZGVuID0g
dHJ1ZTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVtb3ZlU3R5bGVD
bGFzcygidG9nZ2xlZC1vbiIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRv
bi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5hdmlnYXRvciIp
OworICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJu
YXZpZ2F0b3ItaGlkZGVuIik7CisgICAgICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNpemVX
aWRnZXRFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworCisgICAgICAgIHRoaXMuX25h
dmlnYXRvclBpbkJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKworICAgICAgICB0
aGlzLl9lZGl0b3JWaWV3LmhpZGVTaWRlYmFyRWxlbWVudCgpOworICAgICAgICB0aGlzLl9uYXZp
Z2F0b3Iudmlldy5kZXRhY2goKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmln
YXRvckhpZGRlbi5zZXQodHJ1ZSk7CisgICAgfSwKKworICAgIF9waW5OYXZpZ2F0b3I6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9uYXZpZ2F0b3JIaWRkZW47CisgICAg
ICAgIHRoaXMuaGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKKworICAgICAgICB0aGlzLl9uYXZpZ2F0
b3JQaW5CdXR0b24uYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX25hdmln
YXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKKyAgICAgICAg
dGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKKworICAgICAgICB0aGlzLl9lZGl0b3JDb250
YWluZXIuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJuYXZpZ2F0b3ItaGlkZGVuIik7CisgICAg
ICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50LnJlbW92ZVN0eWxl
Q2xhc3MoImhpZGRlbiIpOworCisgICAgICAgIHRoaXMuX2VkaXRvclZpZXcuc2hvd1NpZGViYXJF
bGVtZW50KCk7CisgICAgICAgIHRoaXMuX25hdmlnYXRvci5zaG93KHRoaXMuX2VkaXRvclZpZXcu
c2lkZWJhckVsZW1lbnQpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsKKyAgICAg
ICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5zZXQoZmFsc2UpOworICAg
IH0sCisKKyAgICBzaG93TmF2aWdhdG9yT3ZlcmxheTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgaWYgKHRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93bikKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICB0aGlzLl9uYXZpZ2F0b3JPdmVybGF5U2hvd24gPSB0cnVlOworICAgICAgICB0
aGlzLl9zaWRlYmFyT3ZlcmxheSA9IG5ldyBXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJsYXkodGhp
cy5fbmF2aWdhdG9yLnZpZXcsICJzY3JpcHRzUGFuZWxOYXZpZ2F0b3JPdmVybGF5V2lkdGgiLCBQ
cmVmZXJlbmNlcy5taW5TY3JpcHRzU2lkZWJhcldpZHRoKTsKKyAgICAgICAgdGhpcy5fc2lkZWJh
ck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJsYXkuRXZl
bnRUeXBlcy5XYXNTaG93biwgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duLCB0aGlzKTsK
KyAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuU2lkZWJhck92ZXJsYXkuRXZlbnRUeXBlcy5XaWxsSGlkZSwgdGhpcy5fbmF2aWdhdG9yT3Zl
cmxheVdpbGxIaWRlLCB0aGlzKTsKKworICAgICAgICB2YXIgbmF2aWdhdG9yT3ZlcmxheVJlc2l6
ZVdpZGdldEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAg
bmF2aWdhdG9yT3ZlcmxheVJlc2l6ZVdpZGdldEVsZW1lbnQuYWRkU3R5bGVDbGFzcygic2NyaXB0
cy1uYXZpZ2F0b3ItcmVzaXplci13aWRnZXQiKTsKKyAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJs
YXkucmVzaXplcldpZGdldEVsZW1lbnQgPSBuYXZpZ2F0b3JPdmVybGF5UmVzaXplV2lkZ2V0RWxl
bWVudDsKKworICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5zaG93KHRoaXMuX2VkaXRvclZp
ZXcuZWxlbWVudCk7CisgICAgfSwKKworICAgIGhpZGVOYXZpZ2F0b3JPdmVybGF5OiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93bikKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5oaWRlKCk7
CisgICAgICAgIGlmICh0aGlzLl9lZGl0b3JDb250YWluZXIudmlzaWJsZVZpZXcpCisgICAgICAg
ICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIudmlzaWJsZVZpZXcuZm9jdXMoKTsKKyAgICB9LAor
CisgICAgX25hdmlnYXRvck92ZXJsYXlXYXNTaG93bjogZnVuY3Rpb24oZXZlbnQpCisgICAgewor
ICAgICAgICB0aGlzLl9uYXZpZ2F0b3Iudmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25h
dmlnYXRvclNob3dIaWRlQnV0dG9uKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVC
dXR0b24uYWRkU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0
b3JTaG93SGlkZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGlkZSBzY3Jp
cHRzIG5hdmlnYXRvciIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsKKyAgICAg
ICAgdGhpcy5fcGFuZWwucmVnaXN0ZXJTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXlzLkVzYy5jb2RlLCB0aGlzLl9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVybGF5T3Bl
bi5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgX25hdmlnYXRvck92ZXJsYXlXaWxsSGlkZTog
ZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBkZWxldGUgdGhpcy5fbmF2aWdhdG9yT3Zl
cmxheVNob3duOworICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubmF2aWdhdG9yV2FzT25j
ZUhpZGRlbi5zZXQodHJ1ZSk7CisgICAgICAgIHRoaXMuX2VkaXRvclZpZXcuZWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbik7CisgICAgICAgIHRoaXMuX25h
dmlnYXRvclNob3dIaWRlQnV0dG9uLnJlbW92ZVN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKKyAg
ICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlNob3cgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKKyAgICAgICAgdGhpcy5fcGFuZWwu
dW5yZWdpc3RlclNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRXNj
LmNvZGUpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggMWFkODZkNWM0MzcxY2Q1N2JlNzY4ZTk3ZDY1NDQ2
YWE5ZmQxZDRjMy4uMmRkODE1ZDdmMjBkYjEzNTlhMjdkNWJkNzc4NTlkNDZhNTEzMzNiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwu
anMKQEAgLTczLDE3ICs3MywxMyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0gZnVuY3Rp
b24ocHJlc2VudGF0aW9uTW9kZWwpCiAgICAgdGhpcy5lZGl0b3JWaWV3LnNob3codGhpcy5zcGxp
dFZpZXcubWFpbkVsZW1lbnQpOwogCiAgICAgdGhpcy5fbmF2aWdhdG9yID0gbmV3IFdlYkluc3Bl
Y3Rvci5TY3JpcHRzTmF2aWdhdG9yKCk7Ci0gICAgdGhpcy5fbmF2aWdhdG9yVmlldyA9IHRoaXMu
X25hdmlnYXRvci52aWV3OwogICAgIHRoaXMuX25hdmlnYXRvci5zaG93KHRoaXMuZWRpdG9yVmll
dy5zaWRlYmFyRWxlbWVudCk7CiAKICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIgPSBuZXcgV2Vi
SW5zcGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lcih0aGlzKTsKICAgICB0aGlzLl9lZGl0b3JD
b250YWluZXIuc2hvdyh0aGlzLmVkaXRvclZpZXcubWFpbkVsZW1lbnQpOwogICAgIFdlYkluc3Bl
Y3Rvci5PcGVuUmVzb3VyY2VEaWFsb2cuaW5zdGFsbCh0aGlzLCB0aGlzLl9wcmVzZW50YXRpb25N
b2RlbCwgdGhpcy5lZGl0b3JWaWV3Lm1haW5FbGVtZW50KTsKIAotICAgIHRoaXMuX2NyZWF0ZU5h
dmlnYXRvckNvbnRyb2xzKCk7Ci0gICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhp
ZGRlbiA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jcmVhdGVTZXR0aW5nKCJuYXZpZ2F0b3JIaWRk
ZW4iLCB0cnVlKTsKLSAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRl
bi5nZXQoKSkKLSAgICAgICAgdGhpcy5fdG9nZ2xlTmF2aWdhdG9yKCk7CisgICAgdGhpcy5fbmF2
aWdhdG9yQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvckNvbnRy
b2xsZXIodGhpcywgdGhpcy5lZGl0b3JWaWV3LCB0aGlzLl9uYXZpZ2F0b3IsIHRoaXMuX2VkaXRv
ckNvbnRhaW5lcik7CiAKICAgICB0aGlzLl9uYXZpZ2F0b3IuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5FdmVudHMuU2NyaXB0U2VsZWN0ZWQsIHRoaXMuX3Nj
cmlwdFNlbGVjdGVkLCB0aGlzKTsKICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkV2ZW50cy5FZGl0b3JT
ZWxlY3RlZCwgdGhpcy5fZWRpdG9yU2VsZWN0ZWQsIHRoaXMpOwpAQCAtMjE1LDcgKzIxMSw3IEBA
IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhp
cy5fZGVidWdTaWRlYmFyQ29udGVudHNFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLnNpZGViYXJQ
YW5lcy5kb21CcmVha3BvaW50cy5lbGVtZW50LCB0aGlzLnNpZGViYXJQYW5lcy54aHJCcmVha3Bv
aW50cy5lbGVtZW50KTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hFeHByZXNzaW9u
cy5zaG93KCk7CiAKLSAgICAgICAgd2luZG93LnNldFRpbWVvdXQodGhpcy5fbWF5YmVTaG93TmF2
aWdhdG9yT3ZlcmxheS5iaW5kKHRoaXMpLCAwKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29u
dHJvbGxlci53YXNTaG93bigpOwogICAgIH0sCiAKICAgICBfZGlkQnVpbGRPdXRsaW5lQ2h1bms6
IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNjIxLDcgKzYxNyw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRz
UGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX2VkaXRvckNsb3NlZDogZnVuY3Rpb24oZXZlbnQp
CiAgICAgewotICAgICAgICB0aGlzLl9oaWRlTmF2aWdhdG9yT3ZlcmxheSgpOworICAgICAgICB0
aGlzLl9uYXZpZ2F0b3JDb250cm9sbGVyLmhpZGVOYXZpZ2F0b3JPdmVybGF5KCk7CiAgICAgICAg
IHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5VSVNvdXJjZUNvZGV9
ICovIGV2ZW50LmRhdGE7CiAKICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRVSVNvdXJjZUNvZGUg
PT09IHVpU291cmNlQ29kZSkKQEAgLTYzNSwxNCArNjMxLDE0IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9
IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gKi8gZXZlbnQuZGF0YTsKICAg
ICAgICAgdGhpcy5fc2hvd0ZpbGUodWlTb3VyY2VDb2RlKTsKLSAgICAgICAgdGhpcy5faGlkZU5h
dmlnYXRvck92ZXJsYXkoKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29udHJvbGxlci5oaWRl
TmF2aWdhdG9yT3ZlcmxheSgpOwogICAgIH0sCiAKICAgICBfc2NyaXB0U2VsZWN0ZWQ6IGZ1bmN0
aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IC8qKiBAdHlwZSB7
V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gKi8gZXZlbnQuZGF0YS51aVNvdXJjZUNvZGU7CiAg
ICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IHRoaXMuX3Nob3dGaWxlKHVpU291cmNlQ29kZSk7Ci0g
ICAgICAgIHRoaXMuX2hpZGVOYXZpZ2F0b3JPdmVybGF5KCk7CisgICAgICAgIHRoaXMuX25hdmln
YXRvckNvbnRyb2xsZXIuaGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKICAgICAgICAgaWYgKHNvdXJj
ZUZyYW1lICYmIGV2ZW50LmRhdGEuZm9jdXNTb3VyY2UpCiAgICAgICAgICAgICBzb3VyY2VGcmFt
ZS5mb2N1cygpOwogICAgIH0sCkBAIC05MDIsMTM0ICs4OTgsNiBAQCBXZWJJbnNwZWN0b3IuU2Ny
aXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGRlYnVnVG9vbGJhcjsKICAg
ICB9LAogCi0gICAgX2NyZWF0ZU5hdmlnYXRvckNvbnRyb2xzOiBmdW5jdGlvbigpCi0gICAgewot
ICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaWRlYmFy
UmVzaXplV2lkZ2V0RWxlbWVudC5hZGRTdHlsZUNsYXNzKCJzY3JpcHRzLW5hdmlnYXRvci1yZXNp
emVyLXdpZGdldCIpOwotICAgICAgICB0aGlzLmVkaXRvclZpZXcuaW5zdGFsbFJlc2l6ZXIodGhp
cy5fbmF2aWdhdG9yU2lkZWJhclJlc2l6ZVdpZGdldEVsZW1lbnQpOwotICAgICAgICB0aGlzLl9u
YXZpZ2F0b3JWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdG9yU2lkZWJhclJl
c2l6ZVdpZGdldEVsZW1lbnQpOwotCi0gICAgICAgIHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0
dG9uID0gdGhpcy5fY3JlYXRlTmF2aWdhdG9yQ29udHJvbEJ1dHRvbihXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlNob3cgc2NyaXB0cyBuYXZpZ2F0b3IiKSwgInNjcmlwdHMtbmF2aWdhdG9yLXNob3ct
aGlkZS1idXR0b24iLCB0aGlzLl90b2dnbGVOYXZpZ2F0b3IuYmluZCh0aGlzKSk7Ci0gICAgICAg
IHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2dsZWQtb24i
KTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKLSAgICAgICAgdGhpcy5l
ZGl0b3JWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0
b24pOwotCi0gICAgICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbiA9IHRoaXMuX2NyZWF0ZU5h
dmlnYXRvckNvbnRyb2xCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQaW4gc2NyaXB0cyBu
YXZpZ2F0b3IiKSwgInNjcmlwdHMtbmF2aWdhdG9yLXBpbi1idXR0b24iLCB0aGlzLl9waW5OYXZp
Z2F0b3IuYmluZCh0aGlzKSk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbi5hZGRT
dHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yVmlldy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbik7Ci0gICAgfSwKLQotICAgIF9j
cmVhdGVOYXZpZ2F0b3JDb250cm9sQnV0dG9uOiBmdW5jdGlvbih0aXRsZSwgaWQsIGxpc3RlbmVy
KQotICAgIHsKLSAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1
dHRvbiIpOwotICAgICAgICBidXR0b24udGl0bGUgPSB0aXRsZTsKLSAgICAgICAgYnV0dG9uLmlk
ID0gaWQ7Ci0gICAgICAgIGJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJzY3JpcHRzLW5hdmlnYXRvci1j
b250cm9sLWJ1dHRvbiIpOwotICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBsaXN0ZW5lciwgZmFsc2UpOwotICAgICAgICBidXR0b24uY3JlYXRlQ2hpbGQoImRpdiIsICJn
bHlwaCIpOwotICAgICAgICByZXR1cm4gYnV0dG9uOwotICAgIH0sCi0KLSAgICBfZXNjRG93bldo
aWxlTmF2aWdhdG9yT3ZlcmxheU9wZW46IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAg
dGhpcy5faGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKLSAgICB9LAotCi0gICAgX21heWJlU2hvd05h
dmlnYXRvck92ZXJsYXk6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9uYXZp
Z2F0b3IgJiYgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5nZXQoKSAmJiAh
V2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvcldhc09uY2VIaWRkZW4uZ2V0KCkpCi0gICAg
ICAgICAgICB0aGlzLl9zaG93TmF2aWdhdG9yT3ZlcmxheSgpOwotICAgIH0sCi0KLSAgICBfdG9n
Z2xlTmF2aWdhdG9yOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAodGhpcy5fbmF2aWdh
dG9yT3ZlcmxheVNob3duKQotICAgICAgICAgICAgdGhpcy5faGlkZU5hdmlnYXRvck92ZXJsYXko
KTsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5fbmF2aWdhdG9ySGlkZGVuKQotICAgICAgICAgICAg
dGhpcy5fc2hvd05hdmlnYXRvck92ZXJsYXkoKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
dGhpcy5faGlkZVBpbm5lZE5hdmlnYXRvcigpOwotICAgIH0sCi0KLSAgICBfaGlkZVBpbm5lZE5h
dmlnYXRvcjogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9ySGlkZGVu
ID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVtb3ZlU3R5
bGVDbGFzcygidG9nZ2xlZC1vbiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1
dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5hdmlnYXRv
ciIpOwotICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuZWxlbWVudC5hZGRTdHlsZUNsYXNz
KCJuYXZpZ2F0b3ItaGlkZGVuIik7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNp
emVXaWRnZXRFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwotCi0gICAgICAgIHRoaXMu
X25hdmlnYXRvclBpbkJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLQotICAgICAg
ICB0aGlzLmVkaXRvclZpZXcuaGlkZVNpZGViYXJFbGVtZW50KCk7Ci0gICAgICAgIHRoaXMuX25h
dmlnYXRvclZpZXcuZGV0YWNoKCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5ncy5uYXZp
Z2F0b3JIaWRkZW4uc2V0KHRydWUpOwotICAgIH0sCi0KLSAgICBfcGluTmF2aWdhdG9yOiBmdW5j
dGlvbigpCi0gICAgewotICAgICAgICBkZWxldGUgdGhpcy5fbmF2aWdhdG9ySGlkZGVuOwotICAg
ICAgICB0aGlzLl9oaWRlTmF2aWdhdG9yT3ZlcmxheSgpOwotCi0gICAgICAgIHRoaXMuX25hdmln
YXRvclBpbkJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5fbmF2
aWdhdG9yU2hvd0hpZGVCdXR0b24uYWRkU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOwotICAgICAg
ICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiSGlkZSBzY3JpcHRzIG5hdmlnYXRvciIpOwotCi0gICAgICAgIHRoaXMuX2VkaXRvckNv
bnRhaW5lci5lbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoIm5hdmlnYXRvci1oaWRkZW4iKTsKLSAg
ICAgICAgdGhpcy5fbmF2aWdhdG9yU2lkZWJhclJlc2l6ZVdpZGdldEVsZW1lbnQucmVtb3ZlU3R5
bGVDbGFzcygiaGlkZGVuIik7Ci0KLSAgICAgICAgdGhpcy5lZGl0b3JWaWV3LnNob3dTaWRlYmFy
RWxlbWVudCgpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3Iuc2hvdyh0aGlzLmVkaXRvclZpZXcu
c2lkZWJhckVsZW1lbnQpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5zZXQoZmFsc2UpOwotICAg
IH0sCi0KLSAgICBfc2hvd05hdmlnYXRvck92ZXJsYXk6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAg
ICAgIGlmICh0aGlzLl9uYXZpZ2F0b3JPdmVybGF5U2hvd24pCi0gICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duID0gdHJ1ZTsKLSAgICAgICAg
dGhpcy5fc2lkZWJhck92ZXJsYXkgPSBuZXcgV2ViSW5zcGVjdG9yLlNpZGViYXJPdmVybGF5KHRo
aXMuX25hdmlnYXRvclZpZXcsICJzY3JpcHRzUGFuZWxOYXZpZ2F0b3JPdmVybGF5V2lkdGgiLCBQ
cmVmZXJlbmNlcy5taW5TY3JpcHRzU2lkZWJhcldpZHRoKTsKLSAgICAgICAgdGhpcy5fc2lkZWJh
ck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJsYXkuRXZl
bnRUeXBlcy5XYXNTaG93biwgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duLCB0aGlzKTsK
LSAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuU2lkZWJhck92ZXJsYXkuRXZlbnRUeXBlcy5XaWxsSGlkZSwgdGhpcy5fbmF2aWdhdG9yT3Zl
cmxheVdpbGxIaWRlLCB0aGlzKTsKLQotICAgICAgICB2YXIgbmF2aWdhdG9yT3ZlcmxheVJlc2l6
ZVdpZGdldEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAg
bmF2aWdhdG9yT3ZlcmxheVJlc2l6ZVdpZGdldEVsZW1lbnQuYWRkU3R5bGVDbGFzcygic2NyaXB0
cy1uYXZpZ2F0b3ItcmVzaXplci13aWRnZXQiKTsKLSAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJs
YXkucmVzaXplcldpZGdldEVsZW1lbnQgPSBuYXZpZ2F0b3JPdmVybGF5UmVzaXplV2lkZ2V0RWxl
bWVudDsKLQotICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5zaG93KHRoaXMuZWRpdG9yVmll
dy5lbGVtZW50KTsKLSAgICB9LAotCi0gICAgX2hpZGVOYXZpZ2F0b3JPdmVybGF5OiBmdW5jdGlv
bigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93bikKLSAg
ICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5oaWRlKCk7
Ci0gICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3KQotICAgICAgICAgICAgdGhpcy52aXNpYmxl
Vmlldy5mb2N1cygpOwotICAgIH0sCi0KLSAgICBfbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duOiBm
dW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclZpZXcuZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbik7Ci0gICAgICAgIHRo
aXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsK
LSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKLSAgICAgICAgdGhpcy5fbmF2
aWdhdG9yLmZvY3VzKCk7Ci0gICAgICAgIHRoaXMucmVnaXN0ZXJTaG9ydGN1dChXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzLkVzYy5jb2RlLCB0aGlzLl9lc2NEb3duV2hpbGVOYXZp
Z2F0b3JPdmVybGF5T3Blbi5iaW5kKHRoaXMpKTsKLSAgICB9LAotCi0gICAgX25hdmlnYXRvck92
ZXJsYXlXaWxsSGlkZTogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICBkZWxldGUgdGhp
cy5fbmF2aWdhdG9yT3ZlcmxheVNob3duOwotICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
bmF2aWdhdG9yV2FzT25jZUhpZGRlbi5zZXQodHJ1ZSk7Ci0gICAgICAgIHRoaXMuZWRpdG9yVmll
dy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uKTsKLSAg
ICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVtb3ZlU3R5bGVDbGFzcygidG9n
Z2xlZC1vbiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50aXRsZSA9
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5hdmlnYXRvciIpOwotICAgICAg
ICB0aGlzLnVucmVnaXN0ZXJTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5L
ZXlzLkVzYy5jb2RlKTsKLSAgICB9LAotCiAgICAgX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lzdGVyU2hv
cnRjdXRzOiBmdW5jdGlvbihidXR0b25JZCwgYnV0dG9uVGl0bGUsIGhhbmRsZXIsIHNob3J0Y3V0
cywgc2hvcnRjdXREZXNjcmlwdGlvbikKICAgICB7CiAgICAgICAgIHZhciBidXR0b24gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137697</attachid>
            <date>2012-04-18 08:22:38 -0700</date>
            <delta_ts>2012-04-18 10:13:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84244-20120418192236.patch</filename>
            <type>text/plain</type>
            <size>17763</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdjM2I2NmIyYjk3ZjU5
M2JlNDFhN2I1N2FlNWRmNTBkNzE2MTU5Yy4uNzgyYTNjOWIzMzk0M2M3ODBkYTk2N2FiMTQyMDEw
YTBmOGMwMmJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA0LTE4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGV4dHJhY3Qgc2NyaXB0IG5hdmlnYXRvciBvdmVybGF5IGxvZ2ljIGludG8gdGhlIHNjcmlw
dHMgbmF2aWdhdG9yIGNvbnRyb2xsZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NDI0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE92ZXJsYXkgbG9naWMgaXMgd2VsbCBzZXBhcmFibGUgZnJvbSB0aGUg
c2NyaXB0cyBwYW5lbCBhbmQgZG9lcyBub3QgYmVsb25nIHRoZXJlLgorICAgICAgICBFeHRyYWN0
aW5nIGl0IGludG8gYSBzZXBhcmF0ZSBjbGFzcy4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0c05hdmlnYXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRz
TmF2aWdhdG9yQ29udHJvbGxlci5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250cm9sbGVyLnByb3RvdHlwZS5fY3JlYXRlTmF2aWdh
dG9yQ29udHJvbEJ1dHRvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRv
ckNvbnRyb2xsZXIucHJvdG90eXBlLl9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVybGF5T3Blbik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvckNvbnRyb2xsZXIucHJvdG90
eXBlLl90b2dnbGVOYXZpZ2F0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZp
Z2F0b3JDb250cm9sbGVyLnByb3RvdHlwZS5faGlkZVBpbm5lZE5hdmlnYXRvcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvckNvbnRyb2xsZXIucHJvdG90eXBlLnNldCBf
cGluTmF2aWdhdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29u
dHJvbGxlci5wcm90b3R5cGUuc2V0IHNob3dOYXZpZ2F0b3JPdmVybGF5KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29udHJvbGxlci5wcm90b3R5cGUuaGlkZU5hdmln
YXRvck92ZXJsYXkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250
cm9sbGVyLnByb3RvdHlwZS5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLndhc1Nob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9lZGl0b3JDbG9zZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2VkaXRvclNlbGVjdGVkKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl9zY3JpcHRTZWxlY3RlZCk6CisK
IDIwMTItMDQtMTggICdQYXZlbCBGZWxkbWFuJyAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBOb3QgcmV2aWV3ZWQ6IGZpeGluZyBDaHJvbWl1bSB3aW4gY29tcGlsYXRpb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZp
Z2F0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNOYXZp
Z2F0b3IuanMKaW5kZXggNDJkZWIyMDY0ZmE0NGVhZDViMzc4NmYzMWMyZThhNzA5NGQzZWQ3Mi4u
MDlkMTYxNGMzZjkxYmVhMDM1MmQ5OWE2NjZiY2Y2MDdmZTc2YTQ1ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c05hdmlnYXRvci5qcwpA
QCAtNzY0LDMgKzc2NCwxNTQgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRvclNjcmlwdFRyZWVFbGVt
ZW50LnByb3RvdHlwZSA9IHsKIH0KIAogV2ViSW5zcGVjdG9yLk5hdmlnYXRvclNjcmlwdFRyZWVF
bGVtZW50LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQmFzZU5hdmlnYXRvclRy
ZWVFbGVtZW50LnByb3RvdHlwZTsKKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7
V2ViSW5zcGVjdG9yLlBhbmVsfSBwYW5lbAorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU3BsaXRW
aWV3fSBlZGl0b3JWaWV3CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9y
fSBuYXZpZ2F0b3IKKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5l
cn0gZWRpdG9yQ29udGFpbmVyCisgKi8KK1dlYkluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yQ29u
dHJvbGxlciA9IGZ1bmN0aW9uKHBhbmVsLCBlZGl0b3JWaWV3LCBuYXZpZ2F0b3IsIGVkaXRvckNv
bnRhaW5lcikKK3sKKyAgICB0aGlzLl9wYW5lbCA9IHBhbmVsOworICAgIHRoaXMuX2VkaXRvclZp
ZXcgPSBlZGl0b3JWaWV3OworICAgIHRoaXMuX25hdmlnYXRvciA9IG5hdmlnYXRvcjsKKyAgICB0
aGlzLl9lZGl0b3JDb250YWluZXIgPSBlZGl0b3JDb250YWluZXI7CisKKyAgICB0aGlzLl9uYXZp
Z2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoInNjcmlwdHMtbmF2aWdhdG9yLXJlc2l6ZXItd2lkZ2V0Iik7CisgICAgdGhp
cy5fZWRpdG9yVmlldy5pbnN0YWxsUmVzaXplcih0aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXpl
V2lkZ2V0RWxlbWVudCk7CisgICAgdGhpcy5fbmF2aWdhdG9yLnZpZXcuZWxlbWVudC5hcHBlbmRD
aGlsZCh0aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCk7CisKKyAgICB0
aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbiA9IHRoaXMuX2NyZWF0ZU5hdmlnYXRvckNvbnRy
b2xCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IHNjcmlwdHMgbmF2aWdhdG9yIiks
ICJzY3JpcHRzLW5hdmlnYXRvci1zaG93LWhpZGUtYnV0dG9uIiwgdGhpcy5fdG9nZ2xlTmF2aWdh
dG9yLmJpbmQodGhpcykpOworICAgIHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0
eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKKyAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRv
bi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGlkZSBzY3JpcHRzIG5hdmlnYXRvciIp
OworICAgIHRoaXMuX2VkaXRvclZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0
b3JTaG93SGlkZUJ1dHRvbik7CisKKyAgICB0aGlzLl9uYXZpZ2F0b3JQaW5CdXR0b24gPSB0aGlz
Ll9jcmVhdGVOYXZpZ2F0b3JDb250cm9sQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiUGlu
IHNjcmlwdHMgbmF2aWdhdG9yIiksICJzY3JpcHRzLW5hdmlnYXRvci1waW4tYnV0dG9uIiwgdGhp
cy5fcGluTmF2aWdhdG9yLmJpbmQodGhpcykpOworICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRv
bi5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICB0aGlzLl9uYXZpZ2F0b3Iudmlldy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbik7CisKKyAgICBXZWJJbnNw
ZWN0b3Iuc2V0dGluZ3MubmF2aWdhdG9ySGlkZGVuID0gV2ViSW5zcGVjdG9yLnNldHRpbmdzLmNy
ZWF0ZVNldHRpbmcoIm5hdmlnYXRvckhpZGRlbiIsIHRydWUpOworICAgIGlmIChXZWJJbnNwZWN0
b3Iuc2V0dGluZ3MubmF2aWdhdG9ySGlkZGVuLmdldCgpKQorICAgICAgICB0aGlzLl90b2dnbGVO
YXZpZ2F0b3IoKTsKK30KKworV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3JDb250cm9sbGVy
LnByb3RvdHlwZSA9IHsKKyAgICB3YXNTaG93bjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
d2luZG93LnNldFRpbWVvdXQodGhpcy5fbWF5YmVTaG93TmF2aWdhdG9yT3ZlcmxheS5iaW5kKHRo
aXMpLCAwKTsKKyAgICB9LAorCisgICAgX2NyZWF0ZU5hdmlnYXRvckNvbnRyb2xCdXR0b246IGZ1
bmN0aW9uKHRpdGxlLCBpZCwgbGlzdGVuZXIpCisgICAgeworICAgICAgICB2YXIgYnV0dG9uID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgICAgIGJ1dHRvbi50aXRsZSA9
IHRpdGxlOworICAgICAgICBidXR0b24uaWQgPSBpZDsKKyAgICAgICAgYnV0dG9uLmFkZFN0eWxl
Q2xhc3MoInNjcmlwdHMtbmF2aWdhdG9yLWNvbnRyb2wtYnV0dG9uIik7CisgICAgICAgIGJ1dHRv
bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGxpc3RlbmVyLCBmYWxzZSk7CisgICAgICAgIGJ1
dHRvbi5jcmVhdGVDaGlsZCgiZGl2IiwgImdseXBoIik7CisgICAgICAgIHJldHVybiBidXR0b247
CisgICAgfSwKKworICAgIF9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVybGF5T3BlbjogZnVuY3Rp
b24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLmhpZGVOYXZpZ2F0b3JPdmVybGF5KCk7Cisg
ICAgfSwKKworICAgIF9tYXliZVNob3dOYXZpZ2F0b3JPdmVybGF5OiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5nZXQo
KSAmJiAhV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvcldhc09uY2VIaWRkZW4uZ2V0KCkp
CisgICAgICAgICAgICB0aGlzLnNob3dOYXZpZ2F0b3JPdmVybGF5KCk7CisgICAgfSwKKworICAg
IF90b2dnbGVOYXZpZ2F0b3I6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9u
YXZpZ2F0b3JPdmVybGF5U2hvd24pCisgICAgICAgICAgICB0aGlzLmhpZGVOYXZpZ2F0b3JPdmVy
bGF5KCk7CisgICAgICAgIGVsc2UgaWYgKHRoaXMuX25hdmlnYXRvckhpZGRlbikKKyAgICAgICAg
ICAgIHRoaXMuc2hvd05hdmlnYXRvck92ZXJsYXkoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgdGhpcy5faGlkZVBpbm5lZE5hdmlnYXRvcigpOworICAgIH0sCisKKyAgICBfaGlkZVBpbm5l
ZE5hdmlnYXRvcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9ySGlk
ZGVuID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVtb3Zl
U3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlk
ZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5hdmln
YXRvciIpOworICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuZWxlbWVudC5hZGRTdHlsZUNs
YXNzKCJuYXZpZ2F0b3ItaGlkZGVuIik7CisgICAgICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJS
ZXNpemVXaWRnZXRFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworCisgICAgICAgIHRo
aXMuX25hdmlnYXRvclBpbkJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKworICAg
ICAgICB0aGlzLl9lZGl0b3JWaWV3LmhpZGVTaWRlYmFyRWxlbWVudCgpOworICAgICAgICB0aGlz
Ll9uYXZpZ2F0b3Iudmlldy5kZXRhY2goKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdz
Lm5hdmlnYXRvckhpZGRlbi5zZXQodHJ1ZSk7CisgICAgfSwKKworICAgIF9waW5OYXZpZ2F0b3I6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9uYXZpZ2F0b3JIaWRkZW47
CisgICAgICAgIHRoaXMuaGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKKworICAgICAgICB0aGlzLl9u
YXZpZ2F0b3JQaW5CdXR0b24uYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMu
X25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKKyAg
ICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKKworICAgICAgICB0aGlzLl9lZGl0
b3JDb250YWluZXIuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJuYXZpZ2F0b3ItaGlkZGVuIik7
CisgICAgICAgIHRoaXMuX25hdmlnYXRvclNpZGViYXJSZXNpemVXaWRnZXRFbGVtZW50LnJlbW92
ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworCisgICAgICAgIHRoaXMuX2VkaXRvclZpZXcuc2hvd1Np
ZGViYXJFbGVtZW50KCk7CisgICAgICAgIHRoaXMuX25hdmlnYXRvci5zaG93KHRoaXMuX2VkaXRv
clZpZXcuc2lkZWJhckVsZW1lbnQpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsK
KyAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5zZXQoZmFsc2Up
OworICAgIH0sCisKKyAgICBzaG93TmF2aWdhdG9yT3ZlcmxheTogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgaWYgKHRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93bikKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLl9uYXZpZ2F0b3JPdmVybGF5U2hvd24gPSB0cnVlOworICAg
ICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheSA9IG5ldyBXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJs
YXkodGhpcy5fbmF2aWdhdG9yLnZpZXcsICJzY3JpcHRzUGFuZWxOYXZpZ2F0b3JPdmVybGF5V2lk
dGgiLCBQcmVmZXJlbmNlcy5taW5TY3JpcHRzU2lkZWJhcldpZHRoKTsKKyAgICAgICAgdGhpcy5f
c2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJs
YXkuRXZlbnRUeXBlcy5XYXNTaG93biwgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duLCB0
aGlzKTsKKyAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuU2lkZWJhck92ZXJsYXkuRXZlbnRUeXBlcy5XaWxsSGlkZSwgdGhpcy5fbmF2aWdh
dG9yT3ZlcmxheVdpbGxIaWRlLCB0aGlzKTsKKworICAgICAgICB2YXIgbmF2aWdhdG9yT3Zlcmxh
eVJlc2l6ZVdpZGdldEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAg
ICAgICAgbmF2aWdhdG9yT3ZlcmxheVJlc2l6ZVdpZGdldEVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
c2NyaXB0cy1uYXZpZ2F0b3ItcmVzaXplci13aWRnZXQiKTsKKyAgICAgICAgdGhpcy5fc2lkZWJh
ck92ZXJsYXkucmVzaXplcldpZGdldEVsZW1lbnQgPSBuYXZpZ2F0b3JPdmVybGF5UmVzaXplV2lk
Z2V0RWxlbWVudDsKKworICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5zaG93KHRoaXMuX2Vk
aXRvclZpZXcuZWxlbWVudCk7CisgICAgfSwKKworICAgIGhpZGVOYXZpZ2F0b3JPdmVybGF5OiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93
bikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5o
aWRlKCk7CisgICAgICAgIGlmICh0aGlzLl9lZGl0b3JDb250YWluZXIudmlzaWJsZVZpZXcpCisg
ICAgICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIudmlzaWJsZVZpZXcuZm9jdXMoKTsKKyAg
ICB9LAorCisgICAgX25hdmlnYXRvck92ZXJsYXlXYXNTaG93bjogZnVuY3Rpb24oZXZlbnQpCisg
ICAgeworICAgICAgICB0aGlzLl9uYXZpZ2F0b3Iudmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRo
aXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hv
d0hpZGVCdXR0b24uYWRkU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOworICAgICAgICB0aGlzLl9u
YXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGlk
ZSBzY3JpcHRzIG5hdmlnYXRvciIpOworICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsK
KyAgICAgICAgdGhpcy5fcGFuZWwucmVnaXN0ZXJTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5LZXlzLkVzYy5jb2RlLCB0aGlzLl9lc2NEb3duV2hpbGVOYXZpZ2F0b3JPdmVy
bGF5T3Blbi5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgX25hdmlnYXRvck92ZXJsYXlXaWxs
SGlkZTogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBkZWxldGUgdGhpcy5fbmF2aWdh
dG9yT3ZlcmxheVNob3duOworICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGluZ3MubmF2aWdhdG9y
V2FzT25jZUhpZGRlbi5zZXQodHJ1ZSk7CisgICAgICAgIHRoaXMuX2VkaXRvclZpZXcuZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbik7CisgICAgICAgIHRo
aXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLnJlbW92ZVN0eWxlQ2xhc3MoInRvZ2dsZWQtb24i
KTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlNob3cgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKKyAgICAgICAgdGhpcy5f
cGFuZWwudW5yZWdpc3RlclNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lktl
eXMuRXNjLmNvZGUpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMKaW5kZXggMWFkODZkNWM0MzcxY2Q1N2JlNzY4ZTk3
ZDY1NDQ2YWE5ZmQxZDRjMy4uMmRkODE1ZDdmMjBkYjEzNTlhMjdkNWJkNzc4NTlkNDZhNTEzMzNi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRz
UGFuZWwuanMKQEAgLTczLDE3ICs3MywxMyBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsID0g
ZnVuY3Rpb24ocHJlc2VudGF0aW9uTW9kZWwpCiAgICAgdGhpcy5lZGl0b3JWaWV3LnNob3codGhp
cy5zcGxpdFZpZXcubWFpbkVsZW1lbnQpOwogCiAgICAgdGhpcy5fbmF2aWdhdG9yID0gbmV3IFdl
Ykluc3BlY3Rvci5TY3JpcHRzTmF2aWdhdG9yKCk7Ci0gICAgdGhpcy5fbmF2aWdhdG9yVmlldyA9
IHRoaXMuX25hdmlnYXRvci52aWV3OwogICAgIHRoaXMuX25hdmlnYXRvci5zaG93KHRoaXMuZWRp
dG9yVmlldy5zaWRlYmFyRWxlbWVudCk7CiAKICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIgPSBu
ZXcgV2ViSW5zcGVjdG9yLlRhYmJlZEVkaXRvckNvbnRhaW5lcih0aGlzKTsKICAgICB0aGlzLl9l
ZGl0b3JDb250YWluZXIuc2hvdyh0aGlzLmVkaXRvclZpZXcubWFpbkVsZW1lbnQpOwogICAgIFdl
Ykluc3BlY3Rvci5PcGVuUmVzb3VyY2VEaWFsb2cuaW5zdGFsbCh0aGlzLCB0aGlzLl9wcmVzZW50
YXRpb25Nb2RlbCwgdGhpcy5lZGl0b3JWaWV3Lm1haW5FbGVtZW50KTsKIAotICAgIHRoaXMuX2Ny
ZWF0ZU5hdmlnYXRvckNvbnRyb2xzKCk7Ci0gICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmln
YXRvckhpZGRlbiA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jcmVhdGVTZXR0aW5nKCJuYXZpZ2F0
b3JIaWRkZW4iLCB0cnVlKTsKLSAgICBpZiAoV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRv
ckhpZGRlbi5nZXQoKSkKLSAgICAgICAgdGhpcy5fdG9nZ2xlTmF2aWdhdG9yKCk7CisgICAgdGhp
cy5fbmF2aWdhdG9yQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRv
ckNvbnRyb2xsZXIodGhpcywgdGhpcy5lZGl0b3JWaWV3LCB0aGlzLl9uYXZpZ2F0b3IsIHRoaXMu
X2VkaXRvckNvbnRhaW5lcik7CiAKICAgICB0aGlzLl9uYXZpZ2F0b3IuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuU2NyaXB0c05hdmlnYXRvci5FdmVudHMuU2NyaXB0U2VsZWN0ZWQsIHRo
aXMuX3NjcmlwdFNlbGVjdGVkLCB0aGlzKTsKICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGFiYmVkRWRpdG9yQ29udGFpbmVyLkV2ZW50cy5F
ZGl0b3JTZWxlY3RlZCwgdGhpcy5fZWRpdG9yU2VsZWN0ZWQsIHRoaXMpOwpAQCAtMjE1LDcgKzIx
MSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdGhpcy5fZGVidWdTaWRlYmFyQ29udGVudHNFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLnNp
ZGViYXJQYW5lcy5kb21CcmVha3BvaW50cy5lbGVtZW50LCB0aGlzLnNpZGViYXJQYW5lcy54aHJC
cmVha3BvaW50cy5lbGVtZW50KTsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMud2F0Y2hFeHBy
ZXNzaW9ucy5zaG93KCk7CiAKLSAgICAgICAgd2luZG93LnNldFRpbWVvdXQodGhpcy5fbWF5YmVT
aG93TmF2aWdhdG9yT3ZlcmxheS5iaW5kKHRoaXMpLCAwKTsKKyAgICAgICAgdGhpcy5fbmF2aWdh
dG9yQ29udHJvbGxlci53YXNTaG93bigpOwogICAgIH0sCiAKICAgICBfZGlkQnVpbGRPdXRsaW5l
Q2h1bms6IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNjIxLDcgKzYxNyw3IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgX2VkaXRvckNsb3NlZDogZnVuY3Rpb24o
ZXZlbnQpCiAgICAgewotICAgICAgICB0aGlzLl9oaWRlTmF2aWdhdG9yT3ZlcmxheSgpOworICAg
ICAgICB0aGlzLl9uYXZpZ2F0b3JDb250cm9sbGVyLmhpZGVOYXZpZ2F0b3JPdmVybGF5KCk7CiAg
ICAgICAgIHZhciB1aVNvdXJjZUNvZGUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5VSVNvdXJj
ZUNvZGV9ICovIGV2ZW50LmRhdGE7CiAKICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRVSVNvdXJj
ZUNvZGUgPT09IHVpU291cmNlQ29kZSkKQEAgLTYzNSwxNCArNjMxLDE0IEBAIFdlYkluc3BlY3Rv
ci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIHVpU291cmNl
Q29kZSA9IC8qKiBAdHlwZSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gKi8gZXZlbnQuZGF0
YTsKICAgICAgICAgdGhpcy5fc2hvd0ZpbGUodWlTb3VyY2VDb2RlKTsKLSAgICAgICAgdGhpcy5f
aGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKKyAgICAgICAgdGhpcy5fbmF2aWdhdG9yQ29udHJvbGxl
ci5oaWRlTmF2aWdhdG9yT3ZlcmxheSgpOwogICAgIH0sCiAKICAgICBfc2NyaXB0U2VsZWN0ZWQ6
IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHVpU291cmNlQ29kZSA9IC8qKiBA
dHlwZSB7V2ViSW5zcGVjdG9yLlVJU291cmNlQ29kZX0gKi8gZXZlbnQuZGF0YS51aVNvdXJjZUNv
ZGU7CiAgICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IHRoaXMuX3Nob3dGaWxlKHVpU291cmNlQ29k
ZSk7Ci0gICAgICAgIHRoaXMuX2hpZGVOYXZpZ2F0b3JPdmVybGF5KCk7CisgICAgICAgIHRoaXMu
X25hdmlnYXRvckNvbnRyb2xsZXIuaGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKICAgICAgICAgaWYg
KHNvdXJjZUZyYW1lICYmIGV2ZW50LmRhdGEuZm9jdXNTb3VyY2UpCiAgICAgICAgICAgICBzb3Vy
Y2VGcmFtZS5mb2N1cygpOwogICAgIH0sCkBAIC05MDIsMTM0ICs4OTgsNiBAQCBXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGRlYnVnVG9vbGJh
cjsKICAgICB9LAogCi0gICAgX2NyZWF0ZU5hdmlnYXRvckNvbnRyb2xzOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JT
aWRlYmFyUmVzaXplV2lkZ2V0RWxlbWVudC5hZGRTdHlsZUNsYXNzKCJzY3JpcHRzLW5hdmlnYXRv
ci1yZXNpemVyLXdpZGdldCIpOwotICAgICAgICB0aGlzLmVkaXRvclZpZXcuaW5zdGFsbFJlc2l6
ZXIodGhpcy5fbmF2aWdhdG9yU2lkZWJhclJlc2l6ZVdpZGdldEVsZW1lbnQpOwotICAgICAgICB0
aGlzLl9uYXZpZ2F0b3JWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdG9yU2lk
ZWJhclJlc2l6ZVdpZGdldEVsZW1lbnQpOwotCi0gICAgICAgIHRoaXMuX25hdmlnYXRvclNob3dI
aWRlQnV0dG9uID0gdGhpcy5fY3JlYXRlTmF2aWdhdG9yQ29udHJvbEJ1dHRvbihXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlNob3cgc2NyaXB0cyBuYXZpZ2F0b3IiKSwgInNjcmlwdHMtbmF2aWdhdG9y
LXNob3ctaGlkZS1idXR0b24iLCB0aGlzLl90b2dnbGVOYXZpZ2F0b3IuYmluZCh0aGlzKSk7Ci0g
ICAgICAgIHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2ds
ZWQtb24iKTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKLSAgICAgICAg
dGhpcy5lZGl0b3JWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdG9yU2hvd0hp
ZGVCdXR0b24pOwotCi0gICAgICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbiA9IHRoaXMuX2Ny
ZWF0ZU5hdmlnYXRvckNvbnRyb2xCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQaW4gc2Ny
aXB0cyBuYXZpZ2F0b3IiKSwgInNjcmlwdHMtbmF2aWdhdG9yLXBpbi1idXR0b24iLCB0aGlzLl9w
aW5OYXZpZ2F0b3IuYmluZCh0aGlzKSk7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclBpbkJ1dHRv
bi5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yVmlldy5l
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbik7Ci0gICAgfSwKLQot
ICAgIF9jcmVhdGVOYXZpZ2F0b3JDb250cm9sQnV0dG9uOiBmdW5jdGlvbih0aXRsZSwgaWQsIGxp
c3RlbmVyKQotICAgIHsKLSAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImJ1dHRvbiIpOwotICAgICAgICBidXR0b24udGl0bGUgPSB0aXRsZTsKLSAgICAgICAgYnV0
dG9uLmlkID0gaWQ7Ci0gICAgICAgIGJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJzY3JpcHRzLW5hdmln
YXRvci1jb250cm9sLWJ1dHRvbiIpOwotICAgICAgICBidXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBsaXN0ZW5lciwgZmFsc2UpOwotICAgICAgICBidXR0b24uY3JlYXRlQ2hpbGQoImRp
diIsICJnbHlwaCIpOwotICAgICAgICByZXR1cm4gYnV0dG9uOwotICAgIH0sCi0KLSAgICBfZXNj
RG93bldoaWxlTmF2aWdhdG9yT3ZlcmxheU9wZW46IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgdGhpcy5faGlkZU5hdmlnYXRvck92ZXJsYXkoKTsKLSAgICB9LAotCi0gICAgX21heWJl
U2hvd05hdmlnYXRvck92ZXJsYXk6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlz
Ll9uYXZpZ2F0b3IgJiYgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5nZXQo
KSAmJiAhV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvcldhc09uY2VIaWRkZW4uZ2V0KCkp
Ci0gICAgICAgICAgICB0aGlzLl9zaG93TmF2aWdhdG9yT3ZlcmxheSgpOwotICAgIH0sCi0KLSAg
ICBfdG9nZ2xlTmF2aWdhdG9yOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAodGhpcy5f
bmF2aWdhdG9yT3ZlcmxheVNob3duKQotICAgICAgICAgICAgdGhpcy5faGlkZU5hdmlnYXRvck92
ZXJsYXkoKTsKLSAgICAgICAgZWxzZSBpZiAodGhpcy5fbmF2aWdhdG9ySGlkZGVuKQotICAgICAg
ICAgICAgdGhpcy5fc2hvd05hdmlnYXRvck92ZXJsYXkoKTsKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgdGhpcy5faGlkZVBpbm5lZE5hdmlnYXRvcigpOwotICAgIH0sCi0KLSAgICBfaGlkZVBp
bm5lZE5hdmlnYXRvcjogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9y
SGlkZGVuID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVt
b3ZlU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93
SGlkZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5h
dmlnYXRvciIpOwotICAgICAgICB0aGlzLl9lZGl0b3JDb250YWluZXIuZWxlbWVudC5hZGRTdHls
ZUNsYXNzKCJuYXZpZ2F0b3ItaGlkZGVuIik7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclNpZGVi
YXJSZXNpemVXaWRnZXRFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwotCi0gICAgICAg
IHRoaXMuX25hdmlnYXRvclBpbkJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLQot
ICAgICAgICB0aGlzLmVkaXRvclZpZXcuaGlkZVNpZGViYXJFbGVtZW50KCk7Ci0gICAgICAgIHRo
aXMuX25hdmlnYXRvclZpZXcuZGV0YWNoKCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5zZXR0aW5n
cy5uYXZpZ2F0b3JIaWRkZW4uc2V0KHRydWUpOwotICAgIH0sCi0KLSAgICBfcGluTmF2aWdhdG9y
OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICBkZWxldGUgdGhpcy5fbmF2aWdhdG9ySGlkZGVu
OwotICAgICAgICB0aGlzLl9oaWRlTmF2aWdhdG9yT3ZlcmxheSgpOwotCi0gICAgICAgIHRoaXMu
X25hdmlnYXRvclBpbkJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhp
cy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24uYWRkU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOwot
ICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiSGlkZSBzY3JpcHRzIG5hdmlnYXRvciIpOwotCi0gICAgICAgIHRoaXMuX2Vk
aXRvckNvbnRhaW5lci5lbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoIm5hdmlnYXRvci1oaWRkZW4i
KTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2lkZWJhclJlc2l6ZVdpZGdldEVsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Ci0KLSAgICAgICAgdGhpcy5lZGl0b3JWaWV3LnNob3dT
aWRlYmFyRWxlbWVudCgpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3Iuc2hvdyh0aGlzLmVkaXRv
clZpZXcuc2lkZWJhckVsZW1lbnQpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3IuZm9jdXMoKTsK
LSAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLm5hdmlnYXRvckhpZGRlbi5zZXQoZmFsc2Up
OwotICAgIH0sCi0KLSAgICBfc2hvd05hdmlnYXRvck92ZXJsYXk6IGZ1bmN0aW9uKCkKLSAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9uYXZpZ2F0b3JPdmVybGF5U2hvd24pCi0gICAgICAgICAgICBy
ZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duID0gdHJ1ZTsKLSAg
ICAgICAgdGhpcy5fc2lkZWJhck92ZXJsYXkgPSBuZXcgV2ViSW5zcGVjdG9yLlNpZGViYXJPdmVy
bGF5KHRoaXMuX25hdmlnYXRvclZpZXcsICJzY3JpcHRzUGFuZWxOYXZpZ2F0b3JPdmVybGF5V2lk
dGgiLCBQcmVmZXJlbmNlcy5taW5TY3JpcHRzU2lkZWJhcldpZHRoKTsKLSAgICAgICAgdGhpcy5f
c2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJhck92ZXJs
YXkuRXZlbnRUeXBlcy5XYXNTaG93biwgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVdhc1Nob3duLCB0
aGlzKTsKLSAgICAgICAgdGhpcy5fc2lkZWJhck92ZXJsYXkuYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuU2lkZWJhck92ZXJsYXkuRXZlbnRUeXBlcy5XaWxsSGlkZSwgdGhpcy5fbmF2aWdh
dG9yT3ZlcmxheVdpbGxIaWRlLCB0aGlzKTsKLQotICAgICAgICB2YXIgbmF2aWdhdG9yT3Zlcmxh
eVJlc2l6ZVdpZGdldEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAg
ICAgICAgbmF2aWdhdG9yT3ZlcmxheVJlc2l6ZVdpZGdldEVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
c2NyaXB0cy1uYXZpZ2F0b3ItcmVzaXplci13aWRnZXQiKTsKLSAgICAgICAgdGhpcy5fc2lkZWJh
ck92ZXJsYXkucmVzaXplcldpZGdldEVsZW1lbnQgPSBuYXZpZ2F0b3JPdmVybGF5UmVzaXplV2lk
Z2V0RWxlbWVudDsKLQotICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5zaG93KHRoaXMuZWRp
dG9yVmlldy5lbGVtZW50KTsKLSAgICB9LAotCi0gICAgX2hpZGVOYXZpZ2F0b3JPdmVybGF5OiBm
dW5jdGlvbigpCi0gICAgewotICAgICAgICBpZiAoIXRoaXMuX25hdmlnYXRvck92ZXJsYXlTaG93
bikKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl9zaWRlYmFyT3ZlcmxheS5o
aWRlKCk7Ci0gICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3KQotICAgICAgICAgICAgdGhpcy52
aXNpYmxlVmlldy5mb2N1cygpOwotICAgIH0sCi0KLSAgICBfbmF2aWdhdG9yT3ZlcmxheVdhc1No
b3duOiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX25hdmlnYXRvclZpZXcu
ZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbik7Ci0gICAg
ICAgIHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoInRvZ2dsZWQt
b24iKTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24udGl0bGUgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkhpZGUgc2NyaXB0cyBuYXZpZ2F0b3IiKTsKLSAgICAgICAgdGhp
cy5fbmF2aWdhdG9yLmZvY3VzKCk7Ci0gICAgICAgIHRoaXMucmVnaXN0ZXJTaG9ydGN1dChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzLkVzYy5jb2RlLCB0aGlzLl9lc2NEb3duV2hp
bGVOYXZpZ2F0b3JPdmVybGF5T3Blbi5iaW5kKHRoaXMpKTsKLSAgICB9LAotCi0gICAgX25hdmln
YXRvck92ZXJsYXlXaWxsSGlkZTogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICBkZWxl
dGUgdGhpcy5fbmF2aWdhdG9yT3ZlcmxheVNob3duOwotICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0
dGluZ3MubmF2aWdhdG9yV2FzT25jZUhpZGRlbi5zZXQodHJ1ZSk7Ci0gICAgICAgIHRoaXMuZWRp
dG9yVmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRvclNob3dIaWRlQnV0dG9u
KTsKLSAgICAgICAgdGhpcy5fbmF2aWdhdG9yU2hvd0hpZGVCdXR0b24ucmVtb3ZlU3R5bGVDbGFz
cygidG9nZ2xlZC1vbiIpOwotICAgICAgICB0aGlzLl9uYXZpZ2F0b3JTaG93SGlkZUJ1dHRvbi50
aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBzY3JpcHRzIG5hdmlnYXRvciIpOwot
ICAgICAgICB0aGlzLnVucmVnaXN0ZXJTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXlzLkVzYy5jb2RlKTsKLSAgICB9LAotCiAgICAgX2NyZWF0ZUJ1dHRvbkFuZFJlZ2lz
dGVyU2hvcnRjdXRzOiBmdW5jdGlvbihidXR0b25JZCwgYnV0dG9uVGl0bGUsIGhhbmRsZXIsIHNo
b3J0Y3V0cywgc2hvcnRjdXREZXNjcmlwdGlvbikKICAgICB7CiAgICAgICAgIHZhciBidXR0b24g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsK
</data>
<flag name="review"
          id="142835"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>