<?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>144126</bug_id>
          
          <creation_ts>2015-04-23 15:15:13 -0700</creation_ts>
          <short_desc>Web Inspector: Remove Main.js code we don&apos;t need for Tabs</short_desc>
          <delta_ts>2015-04-25 18:36:10 -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</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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088031</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-04-23 15:15:13 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088032</commentid>
    <comment_count>1</comment_count>
      <attachid>251498</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-04-23 15:15:55 -0700</bug_when>
    <thetext>Created attachment 251498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088104</commentid>
    <comment_count>2</comment_count>
      <attachid>251498</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-23 17:01:56 -0700</bug_when>
    <thetext>Comment on attachment 251498
Patch

r=me! Yay</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088641</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-04-25 18:36:10 -0700</bug_when>
    <thetext>r183322 – r183342

http://trac.webkit.org/log/?revs=183322-183342</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251498</attachid>
            <date>2015-04-23 15:15:55 -0700</date>
            <delta_ts>2015-04-23 17:01:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144126-20150423151450.patch</filename>
            <type>text/plain</type>
            <size>17868</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAx
ODRlMTA0YTI4MGRmYmNhOTk4NDI4M2JmN2VmMGM0NjEzZThhZmVmLi5lNWYxNGExMDdhZGVjNmEz
OTQxM2QwM2I5YTZiN2JkMTg5NzA2YjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwxNiBAQAogMjAxNS0wNC0yMyAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIE1haW4uanMgY29kZSB3ZSBkb24n
dCBuZWVkIGZvciBUYWJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDQxMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLmxvYWRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuY29udGVudExvYWRlZCk6CisKKzIw
MTUtMDQtMjMgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IENoYW5nZSBtb3JlIHBsYWNlcyB0aGF0IGNoYW5nZWQgV2ViSW5zcGVj
dG9yLm5hdmlnYXRpb25TaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsIHRvIHRhYnMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDEyNQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXgg
OGZiMGVjM2RjNjY2NmI2MTIzNzUwNmQ0YWMzNDkwYzhiOTdmNTFjYy4uOTAwZTY5ODRkZDc2YjU3
OGY5MzhjOTIzZWM0Zjc1MjJmNDVhZjc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtMTM5LDEzICsxMzksNiBAQCBXZWJJbnNw
ZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIC8vIENyZWF0ZSBzZXR0aW5ncy4KICAgICB0
aGlzLl9sYXN0SW5zcGVjdG9yVmlld1N0YXRlQ29va2llU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0
b3IuU2V0dGluZygibGFzdC1jb250ZW50LXZpZXctc3RhdGUtY29va2llIiwge30pOwogCi0gICAg
dGhpcy5fbmF2aWdhdGlvblNpZGViYXJDb2xsYXBzZWRTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rv
ci5TZXR0aW5nKCJuYXZpZ2F0aW9uLXNpZGViYXItY29sbGFwc2VkIiwgZmFsc2UpOwotICAgIHRo
aXMuX25hdmlnYXRpb25TaWRlYmFyV2lkdGhTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0
aW5nKCJuYXZpZ2F0aW9uLXNpZGViYXItd2lkdGgiLCBudWxsKTsKLQotICAgIHRoaXMuX2xhc3RT
ZWxlY3RlZERldGFpbHNTaWRlYmFyUGFuZWxTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0
aW5nKCJsYXN0LXNlbGVjdGVkLWRldGFpbHMtc2lkZWJhci1wYW5lbCIsIG51bGwpOwotICAgIHRo
aXMuX2RldGFpbHNTaWRlYmFyQ29sbGFwc2VkU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0
dGluZygiZGV0YWlscy1zaWRlYmFyLWNvbGxhcHNlZCIsIHRydWUpOwotICAgIHRoaXMuX2RldGFp
bHNTaWRlYmFyV2lkdGhTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJkZXRhaWxz
LXNpZGViYXItd2lkdGgiLCBudWxsKTsKLQogICAgIHRoaXMuX3Rvb2xiYXJEb2NrZWRSaWdodERp
c3BsYXlNb2RlU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygidG9vbGJhci1kb2Nr
ZWQtcmlnaHQtZGlzcGxheS1tb2RlIiwgV2ViSW5zcGVjdG9yLlRvb2xiYXIuRGlzcGxheU1vZGUu
SWNvbkFuZExhYmVsVmVydGljYWwpOwogICAgIHRoaXMuX3Rvb2xiYXJEb2NrZWRSaWdodFNpemVN
b2RlU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygidG9vbGJhci1kb2NrZWQtcmln
aHQtc2l6ZS1tb2RlIixXZWJJbnNwZWN0b3IuVG9vbGJhci5TaXplTW9kZS5Ob3JtYWwpOwogCkBA
IC0yMTcsMTAgKzIxMCw2IEBAIFdlYkluc3BlY3Rvci5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24o
KQogICAgIGNvbnRlbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsICJtYWluIik7CiAgICAg
Y29udGVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJDb250ZW50IikpOwogCi0gICAgdGhpcy5jb250ZW50QnJvd3NlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuQ29udGVudEJyb3dzZXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQt
YnJvd3NlciIpLCB0aGlzKTsKLSAgICB0aGlzLmNvbnRlbnRCcm93c2VyLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRCcm93c2VyLkV2ZW50LkN1cnJlbnRSZXByZXNlbnRlZE9i
amVjdHNEaWRDaGFuZ2UsIHRoaXMuX2NvbnRlbnRCcm93c2VyUmVwcmVzZW50ZWRPYmplY3RzRGlk
Q2hhbmdlLCB0aGlzKTsKLSAgICB0aGlzLmNvbnRlbnRCcm93c2VyLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkNvbnRlbnRCcm93c2VyLkV2ZW50LkN1cnJlbnRDb250ZW50Vmlld0RpZENo
YW5nZSwgdGhpcy5fY29udGVudEJyb3dzZXJDdXJyZW50Q29udGVudFZpZXdEaWRDaGFuZ2UsIHRo
aXMpOwotCiAgICAgdGhpcy5zcGxpdENvbnRlbnRCcm93c2VyID0gbmV3IFdlYkluc3BlY3Rvci5D
b250ZW50QnJvd3Nlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3BsaXQtY29udGVudC1icm93
c2VyIiksIHRoaXMsIHRydWUpOwogICAgIHRoaXMuc3BsaXRDb250ZW50QnJvd3Nlci5uYXZpZ2F0
aW9uQmFyLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fY29uc29s
ZVJlc2l6ZXJNb3VzZURvd24uYmluZCh0aGlzKSk7CiAKQEAgLTIzMywxNSArMjIyLDExIEBAIFdl
Ykluc3BlY3Rvci5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQogICAgIHRoaXMuY29uc29sZUxv
Z1ZpZXdDb250cm9sbGVyID0gdGhpcy5jb25zb2xlQ29udGVudFZpZXcubG9nVmlld0NvbnRyb2xs
ZXI7CiAKICAgICAvLyBGSVhNRTogVGhlIHNpZGViYXJzIHNob3VsZCBiZSBmbGlwcGVkIGluIFJU
TCBsYW5ndWFnZXMuCi0gICAgdGhpcy5sZWZ0U2lkZWJhciA9IHRoaXMubmF2aWdhdGlvblNpZGVi
YXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNpZGViYXIoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5h
dmlnYXRpb24tc2lkZWJhciIpLCBXZWJJbnNwZWN0b3IuU2lkZWJhci5TaWRlcy5MZWZ0KTsKLSAg
ICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlNp
ZGViYXIuRXZlbnQuQ29sbGFwc2VkU3RhdGVEaWRDaGFuZ2UsIHRoaXMuX3NpZGViYXJDb2xsYXBz
ZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7CisgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhciA9IG5l
dyBXZWJJbnNwZWN0b3IuU2lkZWJhcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2aWdhdGlv
bi1zaWRlYmFyIiksIFdlYkluc3BlY3Rvci5TaWRlYmFyLlNpZGVzLkxlZnQpOwogICAgIHRoaXMu
bmF2aWdhdGlvblNpZGViYXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJhci5F
dmVudC5XaWR0aERpZENoYW5nZSwgdGhpcy5fc2lkZWJhcldpZHRoRGlkQ2hhbmdlLCB0aGlzKTsK
LSAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlNpZGViYXIuRXZlbnQuU2lkZWJhclBhbmVsU2VsZWN0ZWQsIHRoaXMuX25hdmlnYXRpb25TaWRl
YmFyUGFuZWxTZWxlY3RlZCwgdGhpcyk7CiAKLSAgICB0aGlzLnJpZ2h0U2lkZWJhciA9IHRoaXMu
ZGV0YWlsc1NpZGViYXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNpZGViYXIoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRldGFpbHMtc2lkZWJhciIpLCBXZWJJbnNwZWN0b3IuU2lkZWJhci5TaWRlcy5S
aWdodCwgbnVsbCwgbnVsbCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEZXRhaWxzIikpOwotICAg
IHRoaXMuZGV0YWlsc1NpZGViYXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU2lkZWJh
ci5FdmVudC5Db2xsYXBzZWRTdGF0ZURpZENoYW5nZSwgdGhpcy5fc2lkZWJhckNvbGxhcHNlZFN0
YXRlRGlkQ2hhbmdlLCB0aGlzKTsKKyAgICB0aGlzLmRldGFpbHNTaWRlYmFyID0gbmV3IFdlYklu
c3BlY3Rvci5TaWRlYmFyKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXRhaWxzLXNpZGViYXIi
KSwgV2ViSW5zcGVjdG9yLlNpZGViYXIuU2lkZXMuUmlnaHQsIG51bGwsIG51bGwsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRGV0YWlscyIpKTsKICAgICB0aGlzLmRldGFpbHNTaWRlYmFyLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlNpZGViYXIuRXZlbnQuV2lkdGhEaWRDaGFuZ2UsIHRo
aXMuX3NpZGViYXJXaWR0aERpZENoYW5nZSwgdGhpcyk7Ci0gICAgdGhpcy5kZXRhaWxzU2lkZWJh
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TaWRlYmFyLkV2ZW50LlNpZGViYXJQYW5l
bFNlbGVjdGVkLCB0aGlzLl9kZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWQsIHRoaXMpOwogCiAg
ICAgdGhpcy5fcmVsb2FkUGFnZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29t
bWFuZE9yQ29udHJvbCwgIlIiLCB0aGlzLl9yZWxvYWRQYWdlLmJpbmQodGhpcykpOwogICAgIHRo
aXMuX3JlbG9hZFBhZ2VJZ25vcmluZ0NhY2hlS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2Rp
Zmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXIuU2hpZnQsICJSIiwgdGhpcy5fcmVsb2FkUGFnZUlnbm9yaW5nQ2FjaGUuYmluZCh0aGlz
KSk7CkBAIC0yNzQsNDMgKzI1OSwxMSBAQCBXZWJJbnNwZWN0b3IuY29udGVudExvYWRlZCA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLnRvb2xiYXIuYWRkVG9vbGJhckl0ZW0odGhpcy5jbG9zZUJ1dHRv
bk5hdmlnYXRpb25JdGVtLCBXZWJJbnNwZWN0b3IuVG9vbGJhci5TZWN0aW9uLkNvbnRyb2wpOwog
ICAgIHRoaXMudG9vbGJhci5hZGRUb29sYmFySXRlbSh0aGlzLnVuZG9ja0J1dHRvbk5hdmlnYXRp
b25JdGVtLCBXZWJJbnNwZWN0b3IuVG9vbGJhci5TZWN0aW9uLkNvbnRyb2wpOwogCi0gICAgdGhp
cy5yZXNvdXJjZVNpZGViYXJQYW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFy
UGFuZWw7Ci0gICAgdGhpcy50aW1lbGluZVNpZGViYXJQYW5lbCA9IG5ldyBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVTaWRlYmFyUGFuZWw7Ci0gICAgdGhpcy5kZWJ1Z2dlclNpZGViYXJQYW5lbCA9IG5l
dyBXZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWw7Ci0KLSAgICB0aGlzLm5hdmlnYXRp
b25TaWRlYmFyLmFkZFNpZGViYXJQYW5lbCh0aGlzLnJlc291cmNlU2lkZWJhclBhbmVsKTsKLSAg
ICAvLyBGSVhNRTogRW5hYmxlIHRpbWVsaW5lcyBwYW5lbCBmb3IgSmF2YVNjcmlwdCBpbnNwZWN0
aW9uLgotICAgIGlmICh0aGlzLmRlYnVnZ2FibGVUeXBlICE9PSBXZWJJbnNwZWN0b3IuRGVidWdn
YWJsZVR5cGUuSmF2YVNjcmlwdCkKLSAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2lkZWJhci5hZGRT
aWRlYmFyUGFuZWwodGhpcy50aW1lbGluZVNpZGViYXJQYW5lbCk7Ci0gICAgdGhpcy5uYXZpZ2F0
aW9uU2lkZWJhci5hZGRTaWRlYmFyUGFuZWwodGhpcy5kZWJ1Z2dlclNpZGViYXJQYW5lbCk7Ci0K
LSAgICB0aGlzLnRvb2xiYXIuYWRkVG9vbGJhckl0ZW0odGhpcy5yZXNvdXJjZVNpZGViYXJQYW5l
bC50b29sYmFySXRlbSwgV2ViSW5zcGVjdG9yLlRvb2xiYXIuU2VjdGlvbi5MZWZ0KTsKLSAgICAv
LyBGSVhNRTogRW5hYmxlIHRpbWVsaW5lcyBwYW5lbCBmb3IgSmF2YVNjcmlwdCBpbnNwZWN0aW9u
LgotICAgIGlmICh0aGlzLmRlYnVnZ2FibGVUeXBlICE9PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJs
ZVR5cGUuSmF2YVNjcmlwdCkKLSAgICAgICAgdGhpcy50b29sYmFyLmFkZFRvb2xiYXJJdGVtKHRo
aXMudGltZWxpbmVTaWRlYmFyUGFuZWwudG9vbGJhckl0ZW0sIFdlYkluc3BlY3Rvci5Ub29sYmFy
LlNlY3Rpb24uTGVmdCk7Ci0gICAgdGhpcy50b29sYmFyLmFkZFRvb2xiYXJJdGVtKHRoaXMuZGVi
dWdnZXJTaWRlYmFyUGFuZWwudG9vbGJhckl0ZW0sIFdlYkluc3BlY3Rvci5Ub29sYmFyLlNlY3Rp
b24uTGVmdCk7Ci0KLSAgICAvLyBUaGUgdG9vbGJhciBidXR0b24gZm9yIHRoZSBjb25zb2xlLgot
ICAgIHZhciB0b29sVGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93IGNvbnNvbGUgKCVz
KSIpLmZvcm1hdChXZWJJbnNwZWN0b3IuX2NvbnNvbGVLZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlO
YW1lKTsKLSAgICB2YXIgYWN0aXZhdGVkVG9vbFRpcCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
SGlkZSBjb25zb2xlICglcykiKS5mb3JtYXQoV2ViSW5zcGVjdG9yLl9jb25zb2xlS2V5Ym9hcmRT
aG9ydGN1dC5kaXNwbGF5TmFtZSk7Ci0gICAgdGhpcy5fY29uc29sZVRvb2xiYXJCdXR0b24gPSBu
ZXcgV2ViSW5zcGVjdG9yLkFjdGl2YXRlQnV0dG9uVG9vbGJhckl0ZW0oImNvbnNvbGUiLCB0b29s
VGlwLCBhY3RpdmF0ZWRUb29sVGlwLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnNvbGUiKSwg
IkltYWdlcy9OYXZpZ2F0aW9uSXRlbUxvZy5zdmciKTsKLSAgICB0aGlzLl9jb25zb2xlVG9vbGJh
ckJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRl
bS5FdmVudC5DbGlja2VkLCB0aGlzLnRvZ2dsZUNvbnNvbGVWaWV3LCB0aGlzKTsKLSAgICB0aGlz
LnRvb2xiYXIuYWRkVG9vbGJhckl0ZW0odGhpcy5fY29uc29sZVRvb2xiYXJCdXR0b24sIFdlYklu
c3BlY3Rvci5Ub29sYmFyLlNlY3Rpb24uQ2VudGVyKTsKLQogICAgIHRoaXMuZGFzaGJvYXJkQ29u
dGFpbmVyID0gbmV3IFdlYkluc3BlY3Rvci5EYXNoYm9hcmRDb250YWluZXJWaWV3OwogICAgIHRo
aXMuZGFzaGJvYXJkQ29udGFpbmVyLnNob3dEYXNoYm9hcmRWaWV3Rm9yUmVwcmVzZW50ZWRPYmpl
Y3QodGhpcy5kYXNoYm9hcmRNYW5hZ2VyLmRhc2hib2FyZHMuZGVmYXVsdCk7CiAKICAgICB0aGlz
LnRvb2xiYXIuYWRkVG9vbGJhckl0ZW0odGhpcy5kYXNoYm9hcmRDb250YWluZXIudG9vbGJhckl0
ZW0sIFdlYkluc3BlY3Rvci5Ub29sYmFyLlNlY3Rpb24uQ2VudGVyKTsKIAotICAgIC8vIFRoZSB0
b29sYmFyIGJ1dHRvbiBmb3Igbm9kZSBpbnNwZWN0aW9uLgotICAgIGlmICh0aGlzLmRlYnVnZ2Fi
bGVUeXBlID09PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJsZVR5cGUuV2ViKSB7Ci0gICAgICAgIHZh
ciB0b29sVGlwID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmFibGUgcG9pbnQgdG8gaW5zcGVj
dCBtb2RlICglcykiKS5mb3JtYXQoV2ViSW5zcGVjdG9yLl9pbnNwZWN0TW9kZUtleWJvYXJkU2hv
cnRjdXQuZGlzcGxheU5hbWUpOwotICAgICAgICB2YXIgYWN0aXZhdGVkVG9vbFRpcCA9IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGlzYWJsZSBwb2ludCB0byBpbnNwZWN0IG1vZGUgKCVzKSIpLmZv
cm1hdChXZWJJbnNwZWN0b3IuX2luc3BlY3RNb2RlS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFt
ZSk7Ci0gICAgICAgIHRoaXMuX2luc3BlY3RNb2RlVG9vbGJhckJ1dHRvbiA9IG5ldyBXZWJJbnNw
ZWN0b3IuQWN0aXZhdGVCdXR0b25Ub29sYmFySXRlbSgiaW5zcGVjdCIsIHRvb2xUaXAsIGFjdGl2
YXRlZFRvb2xUaXAsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5zcGVjdCIpLCAiSW1hZ2VzL0Ny
b3NzaGFpci5zdmciKTsKLSAgICAgICAgdGhpcy5faW5zcGVjdE1vZGVUb29sYmFyQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNs
aWNrZWQsIHRoaXMuX3RvZ2dsZUluc3BlY3RNb2RlLCB0aGlzKTsKLSAgICAgICAgdGhpcy50b29s
YmFyLmFkZFRvb2xiYXJJdGVtKHRoaXMuX2luc3BlY3RNb2RlVG9vbGJhckJ1dHRvbiwgV2ViSW5z
cGVjdG9yLlRvb2xiYXIuU2VjdGlvbi5DZW50ZXIpOwotICAgIH0KLQogICAgIHRoaXMucmVzb3Vy
Y2VEZXRhaWxzU2lkZWJhclBhbmVsID0gbmV3IFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNT
aWRlYmFyUGFuZWw7CiAgICAgdGhpcy5kb21Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IG5ldyBX
ZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWw7CiAgICAgdGhpcy5jc3NTdHls
ZURldGFpbHNTaWRlYmFyUGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbDsKQEAgLTMxOSwzNiArMjcyLDE3IEBAIFdlYkluc3BlY3Rvci5jb250ZW50TG9h
ZGVkID0gZnVuY3Rpb24oKQogICAgIHRoaXMucHJvYmVEZXRhaWxzU2lkZWJhclBhbmVsID0gbmV3
IFdlYkluc3BlY3Rvci5Qcm9iZURldGFpbHNTaWRlYmFyUGFuZWw7CiAgICAgdGhpcy5yZW5kZXJp
bmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0Zy
YW1lRGV0YWlsc1NpZGViYXJQYW5lbDsKIAotICAgIHRoaXMuZGV0YWlsc1NpZGViYXJQYW5lbHMg
PSBbdGhpcy5yZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwsIHRoaXMuYXBwbGljYXRpb25DYWNo
ZURldGFpbHNTaWRlYmFyUGFuZWwsIHRoaXMuc2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWws
Ci0gICAgICAgIHRoaXMuZG9tTm9kZURldGFpbHNTaWRlYmFyUGFuZWwsIHRoaXMuY3NzU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsLCB0aGlzLnByb2JlRGV0YWlsc1NpZGViYXJQYW5lbCwgdGhpcy5y
ZW5kZXJpbmdGcmFtZURldGFpbHNTaWRlYmFyUGFuZWxdOwotCi0gICAgaWYgKHdpbmRvdy5MYXll
clRyZWVBZ2VudCkgeworICAgIGlmICh3aW5kb3cuTGF5ZXJUcmVlQWdlbnQpCiAgICAgICAgIHRo
aXMubGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbCA9IG5ldyBXZWJJbnNwZWN0b3IuTGF5ZXJU
cmVlRGV0YWlsc1NpZGViYXJQYW5lbDsKLSAgICAgICAgdGhpcy5kZXRhaWxzU2lkZWJhclBhbmVs
cy5zcGxpY2UodGhpcy5kZXRhaWxzU2lkZWJhclBhbmVscy5sZW5ndGggLSAxLCAwLCB0aGlzLmxh
eWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwpOwotICAgIH0KIAogICAgIHRoaXMubW9kaWZpZXJL
ZXlzID0ge2FsdEtleTogZmFsc2UsIG1ldGFLZXk6IGZhbHNlLCBzaGlmdEtleTogZmFsc2V9Owog
Ci0gICAgLy8gQWRkIHRoZSBpdGVtcyBpbiByZXZlcnNlIG9yZGVyIHNpbmNlIHRoZSBsYXN0IGl0
ZW1zIGFwcGVhciBhbmQgZGlzYXBwZWFyIHRoZSBsZWFzdC4gU28gdGhleQotICAgIC8vIHdpbGwg
bm90IGNhdXNlIHRoZSBvdGhlciBidXR0b25zIHRvIHZpc3VhbGx5IHNoaWZ0IGFyb3VuZCwga2Vl
cGluZyB0aGluZ3MgbW9yZSBzdGFibGUuCi0gICAgZm9yICh2YXIgaSA9IHRoaXMuZGV0YWlsc1Np
ZGViYXJQYW5lbHMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHsKLSAgICAgICAgdmFyIHRvb2xi
YXJJdGVtID0gdGhpcy5kZXRhaWxzU2lkZWJhclBhbmVsc1tpXS50b29sYmFySXRlbTsKLSAgICAg
ICAgdG9vbGJhckl0ZW0uaGlkZGVuID0gdHJ1ZTsKLSAgICAgICAgdGhpcy50b29sYmFyLmFkZFRv
b2xiYXJJdGVtKHRvb2xiYXJJdGVtLCBXZWJJbnNwZWN0b3IuVG9vbGJhci5TZWN0aW9uLlJpZ2h0
KTsKLSAgICB9Ci0KICAgICB0aGlzLnRvb2xiYXIuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJt
b3VzZWRvd24iLCB0aGlzLl90b29sYmFyTW91c2VEb3duLmJpbmQodGhpcykpOwogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkb2NrZWQtcmVzaXplciIpLmFkZEV2ZW50TGlzdGVuZXIoIm1v
dXNlZG93biIsIHRoaXMuX2RvY2tlZFJlc2l6ZXJNb3VzZURvd24uYmluZCh0aGlzKSk7CiAKICAg
ICB0aGlzLl91cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zKCk7CiAgICAgdGhpcy5fdXBkYXRlVG9v
bGJhckhlaWdodCgpOwogCi0gICAgaWYgKHRoaXMuX25hdmlnYXRpb25TaWRlYmFyV2lkdGhTZXR0
aW5nLnZhbHVlKQotICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFyLndpZHRoID0gdGhpcy5f
bmF2aWdhdGlvblNpZGViYXJXaWR0aFNldHRpbmcudmFsdWU7Ci0KLSAgICBpZiAodGhpcy5fZGV0
YWlsc1NpZGViYXJXaWR0aFNldHRpbmcudmFsdWUpCi0gICAgICAgIHRoaXMuZGV0YWlsc1NpZGVi
YXIud2lkdGggPSB0aGlzLl9kZXRhaWxzU2lkZWJhcldpZHRoU2V0dGluZy52YWx1ZTsKLQogICAg
IC8vIFNpZ25hbCB0aGF0IHRoZSBmcm9udGVuZCBpcyBub3cgcmVhZHkgdG8gcmVjZWl2ZSBtZXNz
YWdlcy4KICAgICBJbnNwZWN0b3JGcm9udGVuZEFQSS5sb2FkQ29tcGxldGVkKCk7CiAKQEAgLTM1
NiwxMCArMjkwLDYgQEAgV2ViSW5zcGVjdG9yLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCiAg
ICAgLy8gYW5kIHBlbmRpbmcgSW5zcGVjdG9yRnJvbnRlbmRBUEkgY29tbWFuZHMgdG8gYmUgc2Vu
dC4KICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QubG9hZGVkKCk7CiAKLSAgICAvLyBTZXQgY29s
bGFwc2VkIGFmdGVyIGxvYWRpbmcgdGhlIHBlbmRpbmcgZnJvbnRlbmQgY29tbWFuZHMgYXJlIGRp
c3BhdGNoZWQgc28gb25seSB0aGUgZmluYWwKLSAgICAvLyBzZWxlY3RlZCBzaWRlYmFyIHBhbmVs
IGdldHMgc2hvd24gYW5kIGhhcyBhIHNheSBpbiB3aGF0IGNvbnRlbnQgdmlldyBnZXRzIHNob3du
LgotICAgIHRoaXMubmF2aWdhdGlvblNpZGViYXIuY29sbGFwc2VkID0gdGhpcy5uYXZpZ2F0aW9u
U2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA/IHRoaXMuX25hdmlnYXRpb25TaWRlYmFyQ29s
bGFwc2VkU2V0dGluZy52YWx1ZSA6IHRydWU7Ci0KICAgICAvLyBJZiBJbnNwZWN0b3JGcm9udGVu
ZEFQSSBkaWRuJ3Qgc2hvdyBhIGNvbnRlbnQgdmlldywgdGhlbiB0cnkgdG8gcmVzdG9yZSB0aGUg
bGFzdCBzYXZlZCB2aWV3IHN0YXRlLgogICAgIGlmICghdGhpcy5jb250ZW50QnJvd3Nlci5jdXJy
ZW50Q29udGVudFZpZXcgJiYgIXRoaXMuaWdub3JlTGFzdENvbnRlbnRDb29raWUpCiAgICAgICAg
IHRoaXMuX3Jlc3RvcmVJbnNwZWN0b3JWaWV3U3RhdGVGcm9tQ29va2llKHRoaXMuX2xhc3RJbnNw
ZWN0b3JWaWV3U3RhdGVDb29raWVTZXR0aW5nLnZhbHVlKTsKQEAgLTM4NywzNyArMzE3LDYgQEAg
V2ViSW5zcGVjdG9yLmFjdGl2YXRlRXh0cmFEb21haW5zID0gZnVuY3Rpb24oZG9tYWlucykKICAg
ICBXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMucmVxdWVzdENTU05hbWVDb21wbGV0aW9ucygp
OwogfTsKIAotV2ViSW5zcGVjdG9yLnNpZGViYXJQYW5lbEZvckN1cnJlbnRDb250ZW50VmlldyA9
IGZ1bmN0aW9uKCkKLXsKLSAgICB2YXIgY3VycmVudENvbnRlbnRWaWV3ID0gdGhpcy5jb250ZW50
QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXc7Ci0gICAgaWYgKCFjdXJyZW50Q29udGVudFZpZXcp
Ci0gICAgICAgIHJldHVybiBudWxsOwotICAgIHJldHVybiB0aGlzLnNpZGViYXJQYW5lbEZvclJl
cHJlc2VudGVkT2JqZWN0KGN1cnJlbnRDb250ZW50Vmlldy5yZXByZXNlbnRlZE9iamVjdCk7Ci19
OwotCi1XZWJJbnNwZWN0b3Iuc2lkZWJhclBhbmVsRm9yUmVwcmVzZW50ZWRPYmplY3QgPSBmdW5j
dGlvbihyZXByZXNlbnRlZE9iamVjdCkKLXsKLSAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuRnJhbWUgfHwgcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2Vv
ZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UgfHwKLSAgICAgICAgcmVwcmVzZW50ZWRPYmplY3QgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuU2NyaXB0IHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93KQotICAgICAgICByZXR1cm4gdGhpcy5yZXNvdXJj
ZVNpZGViYXJQYW5lbDsKLQotICAgIGlmIChyZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlT2JqZWN0IHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLkNvb2tpZVN0b3JhZ2VPYmplY3QgfHwKLSAgICAgICAgcmVwcmVzZW50
ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRGF0YWJhc2VUYWJsZU9iamVjdCB8fCBy
ZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5EYXRhYmFzZU9iamVjdCB8
fAotICAgICAgICByZXByZXNlbnRlZE9iamVjdCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5BcHBs
aWNhdGlvbkNhY2hlRnJhbWUgfHwgcmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNw
ZWN0b3IuSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmUgfHwKLSAgICAgICAgcmVwcmVzZW50ZWRP
YmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVJ
bmRleCkKLSAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2VTaWRlYmFyUGFuZWw7Ci0KLSAgICBp
ZiAocmVwcmVzZW50ZWRPYmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNv
cmRpbmcpCi0gICAgICAgIHJldHVybiB0aGlzLnRpbWVsaW5lU2lkZWJhclBhbmVsOwotCi0gICAg
Ly8gVGhlIGNvbnNvbGUgZG9lcyBub3QgaGF2ZSBhIHNpZGViYXIuCi0gICAgaWYgKHJlcHJlc2Vu
dGVkT2JqZWN0IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkxvZ09iamVjdCkKLSAgICAgICAgcmV0
dXJuIG51bGw7Ci0KLSAgICBjb25zb2xlLmVycm9yKCJVbmtub3duIHJlcHJlc2VudGVkT2JqZWN0
OiAiLCByZXByZXNlbnRlZE9iamVjdCk7Ci0gICAgcmV0dXJuIG51bGw7Ci19OwotCiBXZWJJbnNw
ZWN0b3IuY29udGVudEJyb3dzZXJUcmVlRWxlbWVudEZvclJlcHJlc2VudGVkT2JqZWN0ID0gZnVu
Y3Rpb24oY29udGVudEJyb3dzZXIsIHJlcHJlc2VudGVkT2JqZWN0KQogewogICAgIC8vIFRoZSBj
b25zb2xlIGRvZXMgbm90IGhhdmUgYSBzaWRlYmFyLCBzbyByZXR1cm4gYSB0cmVlIGVsZW1lbnQg
aGVyZSBzbyBzb21ldGhpbmcgaXMgc2hvd24uCkBAIC0xMDk4LDEwOCArOTk3LDYgQEAgV2ViSW5z
cGVjdG9yLl91cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zID0gZnVuY3Rpb24oKQogICAgIHRoaXMu
dW5kb2NrQnV0dG9uTmF2aWdhdGlvbkl0ZW0udG9nZ2xlZCA9IHRoaXMuX2RvY2tCdXR0b25Ub2dn
bGVkU2V0dGluZy52YWx1ZTsKIH07CiAKLVdlYkluc3BlY3Rvci5fc2lkZWJhckNvbGxhcHNlZFN0
YXRlRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCi17Ci0gICAgaWYgKGV2ZW50LnRhcmdldCA9
PT0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhcikgewotICAgICAgICBpZiAoIXRoaXMuX2lnbm9yZU5h
dmlnYXRpb25TaWRlYmFyUGFuZWxDb2xsYXBzZWRFdmVudCkgewotICAgICAgICAgICAgdGhpcy5f
bmF2aWdhdGlvblNpZGViYXJDb2xsYXBzZWRTZXR0aW5nLnZhbHVlID0gdGhpcy5uYXZpZ2F0aW9u
U2lkZWJhci5jb2xsYXBzZWQ7Ci0gICAgICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50Vmlld0Zv
ckN1cnJlbnROYXZpZ2F0aW9uU2lkZWJhcigpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIGlmIChl
dmVudC50YXJnZXQgPT09IHRoaXMuZGV0YWlsc1NpZGViYXIpIHsKLSAgICAgICAgaWYgKCF0aGlz
Ll9pZ25vcmVEZXRhaWxzU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQpCi0gICAgICAgICAgICB0
aGlzLl9kZXRhaWxzU2lkZWJhckNvbGxhcHNlZFNldHRpbmcudmFsdWUgPSB0aGlzLmRldGFpbHNT
aWRlYmFyLmNvbGxhcHNlZDsKLSAgICB9Ci19OwotCi1XZWJJbnNwZWN0b3IuX2RldGFpbHNTaWRl
YmFyUGFuZWxTZWxlY3RlZCA9IGZ1bmN0aW9uKGV2ZW50KQotewotICAgIGlmICghdGhpcy5kZXRh
aWxzU2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCB8fCB0aGlzLl9pZ25vcmVEZXRhaWxzU2lk
ZWJhclBhbmVsU2VsZWN0ZWRFdmVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdGhpcy5fbGFz
dFNlbGVjdGVkRGV0YWlsc1NpZGViYXJQYW5lbFNldHRpbmcudmFsdWUgPSB0aGlzLmRldGFpbHNT
aWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsLmlkZW50aWZpZXI7Ci19OwotCi1XZWJJbnNwZWN0
b3IuX3JldmVhbEFuZFNlbGVjdFJlcHJlc2VudGVkT2JqZWN0SW5OYXZpZ2F0aW9uU2lkZWJhciA9
IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQotewotICAgIGlmICh0aGlzLm5hdmlnYXRpb25T
aWRlYmFyLmNvbGxhcHNlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFyIHNlbGVjdGVkU2lk
ZWJhclBhbmVsID0gdGhpcy5uYXZpZ2F0aW9uU2lkZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbDsK
LSAgICBpZiAoIXNlbGVjdGVkU2lkZWJhclBhbmVsKQotICAgICAgICByZXR1cm47Ci0KLSAgICAv
LyBJZiBhIHRyZWUgb3V0bGluZSBpcyBwcm9jZXNzaW5nIGEgc2VsZWN0aW9uIGN1cnJlbnRseSB0
aGVuIHdlIGNhbiBhc3N1bWUgdGhlIHNlbGVjdGlvbiBkb2VzIG5vdAotICAgIC8vIG5lZWQgdG8g
YmUgY2hhbmdlZC4gVGhpcyBpcyBuZWVkZWQgdG8gYWxsb3cgYnJlYWtwb2ludCBhbmQgY2FsbCBm
cmFtZSB0cmVlIGVsZW1lbnRzIHRvIGJlIHNlbGVjdGVkCi0gICAgLy8gd2l0aG91dCBqdW1waW5n
IGJhY2sgdG8gc2VsZWN0aW5nIHRoZSByZXNvdXJjZSB0cmVlIGVsZW1lbnQuCi0gICAgZm9yICh2
YXIgY29udGVudFRyZWVPdXRsaW5lIG9mIHNlbGVjdGVkU2lkZWJhclBhbmVsLnZpc2libGVDb250
ZW50VHJlZU91dGxpbmVzKSB7Ci0gICAgICAgIGlmIChjb250ZW50VHJlZU91dGxpbmUucHJvY2Vz
c2luZ1NlbGVjdGlvbkNoYW5nZSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2
YXIgdHJlZUVsZW1lbnQgPSBzZWxlY3RlZFNpZGViYXJQYW5lbC50cmVlRWxlbWVudEZvclJlcHJl
c2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0KTsKLQotICAgIGlmICh0cmVlRWxlbWVudCkK
LSAgICAgICAgdHJlZUVsZW1lbnQucmV2ZWFsQW5kU2VsZWN0KHRydWUsIGZhbHNlLCBmYWxzZSwg
dHJ1ZSk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0ZWRTaWRlYmFyUGFuZWwuY29udGVudFRyZWVPdXRs
aW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQpCi0gICAgICAgIHNlbGVjdGVkU2lkZWJhclBhbmVsLmNv
bnRlbnRUcmVlT3V0bGluZS5zZWxlY3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KHRydWUpOwotfTsK
LQotV2ViSW5zcGVjdG9yLl91cGRhdGVDb250ZW50Vmlld0ZvckN1cnJlbnROYXZpZ2F0aW9uU2lk
ZWJhciA9IGZ1bmN0aW9uKCkKLXsKLSAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2lkZWJhci5jb2xs
YXBzZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIHZhciBzZWxlY3RlZFNpZGViYXJQYW5lbCA9
IHRoaXMubmF2aWdhdGlvblNpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWw7Ci0gICAgaWYgKCFz
ZWxlY3RlZFNpZGViYXJQYW5lbCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFyIGN1cnJlbnRD
b250ZW50VmlldyA9IHRoaXMuY29udGVudEJyb3dzZXIuY3VycmVudENvbnRlbnRWaWV3OwotICAg
IGlmICghY3VycmVudENvbnRlbnRWaWV3KQotICAgICAgICByZXR1cm47Ci0KLSAgICAvLyBFbnN1
cmUgdGhlIG5hdmlnYXRpb24gc2lkZWJhciBwYW5lbCBpcyBhbGxvd2VkIGJ5IHRoZSBjdXJyZW50
IGNvbnRlbnQgdmlldywgaWYgbm90IGFzayB0aGUgc2lkZWJhciBwYW5lbAotICAgIC8vIHRvIHNo
b3cgdGhlIGNvbnRlbnQgdmlldyBmb3IgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLgotICAgIHZhciBh
bGxvd2VkTmF2aWdhdGlvblNpZGViYXJQYW5lbHMgPSBjdXJyZW50Q29udGVudFZpZXcuYWxsb3dl
ZE5hdmlnYXRpb25TaWRlYmFyUGFuZWxzOwotICAgIGlmIChhbGxvd2VkTmF2aWdhdGlvblNpZGVi
YXJQYW5lbHMgJiYgKCFhbGxvd2VkTmF2aWdhdGlvblNpZGViYXJQYW5lbHMubGVuZ3RoIHx8IGFs
bG93ZWROYXZpZ2F0aW9uU2lkZWJhclBhbmVscy5pbmNsdWRlcyhzZWxlY3RlZFNpZGViYXJQYW5l
bC5pZGVudGlmaWVyKSkpIHsKLSAgICAgICAgdGhpcy5fcmV2ZWFsQW5kU2VsZWN0UmVwcmVzZW50
ZWRPYmplY3RJbk5hdmlnYXRpb25TaWRlYmFyKGN1cnJlbnRDb250ZW50Vmlldy5yZXByZXNlbnRl
ZE9iamVjdCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICB2YXIgYmFja0ZvcndhcmRM
aXN0ID0gV2ViSW5zcGVjdG9yLmNvbnRlbnRCcm93c2VyLmNvbnRlbnRWaWV3Q29udGFpbmVyLmJh
Y2tGb3J3YXJkTGlzdDsKLSAgICB2YXIgaW5kZXggPSBiYWNrRm9yd2FyZExpc3QubGVuZ3RoOwot
ICAgIHdoaWxlIChpbmRleC0tKSB7Ci0gICAgICAgIHZhciBjb250ZW50VmlldyA9IGJhY2tGb3J3
YXJkTGlzdFtpbmRleF0uY29udGVudFZpZXc7Ci0gICAgICAgIHZhciBhbGxvd2VkTmF2aWdhdGlv
blNpZGViYXJQYW5lbHMgPSBjb250ZW50Vmlldy5hbGxvd2VkTmF2aWdhdGlvblNpZGViYXJQYW5l
bHM7Ci0gICAgICAgIGlmIChhbGxvd2VkTmF2aWdhdGlvblNpZGViYXJQYW5lbHMgJiYgKCFhbGxv
d2VkTmF2aWdhdGlvblNpZGViYXJQYW5lbHMubGVuZ3RoIHx8IGFsbG93ZWROYXZpZ2F0aW9uU2lk
ZWJhclBhbmVscy5pbmNsdWRlcyhzZWxlY3RlZFNpZGViYXJQYW5lbC5pZGVudGlmaWVyKSkpIHsK
LSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jb250ZW50QnJvd3Nlci5zaG93Q29udGVudFZpZXco
Y29udGVudFZpZXcpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgc2VsZWN0ZWRTaWRlYmFyUGFuZWwuc2hvd0RlZmF1bHRDb250ZW50VmlldygpOwotfTsKLQot
V2ViSW5zcGVjdG9yLl9uYXZpZ2F0aW9uU2lkZWJhclBhbmVsU2VsZWN0ZWQgPSBmdW5jdGlvbihl
dmVudCkKLXsKLSAgICBpZiAodGhpcy5faWdub3JlTmF2aWdhdGlvblNpZGViYXJQYW5lbFNlbGVj
dGVkRXZlbnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghdGhpcy5uYXZpZ2F0aW9uU2lk
ZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCkgewotICAgICAgICB0aGlzLl9pZ25vcmVOYXZpZ2F0
aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQgPSB0cnVlOwotICAgICAgICB0aGlzLm5hdmln
YXRpb25TaWRlYmFyLmNvbGxhcHNlZCA9IHRydWU7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9pZ25v
cmVOYXZpZ2F0aW9uU2lkZWJhclBhbmVsQ29sbGFwc2VkRXZlbnQ7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICAvLyBSZXN0b3JlIHRoZSBzaWRlYmFyIGlmIHdhcyBmb3JjZWQgY29sbGFw
c2VkIGVhcmxpZXIgYmVjYXVzZSBvZiBubyBzZWxlY3RlZFNpZGViYXJQYW5lbC4KLSAgICB0aGlz
Lm5hdmlnYXRpb25TaWRlYmFyLmNvbGxhcHNlZCA9IHRoaXMuX25hdmlnYXRpb25TaWRlYmFyQ29s
bGFwc2VkU2V0dGluZy52YWx1ZTsKLQotICAgIGlmICh0aGlzLm5hdmlnYXRpb25TaWRlYmFyLmNv
bGxhcHNlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdGhpcy5fdXBkYXRlQ29udGVudFZpZXdG
b3JDdXJyZW50TmF2aWdhdGlvblNpZGViYXIoKTsKLX07Ci0KIFdlYkluc3BlY3Rvci5fY29udGVu
dEJyb3dzZXJTaXplRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgdGhpcy5jb250
ZW50QnJvd3Nlci51cGRhdGVMYXlvdXQoKTsK
</data>
<flag name="review"
          id="276285"
          type_id="1"
          status="+"
          setter="joepeck"
    />
    <flag name="commit-queue"
          id="276286"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>