<?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>138624</bug_id>
          
          <creation_ts>2014-11-11 12:52:10 -0800</creation_ts>
          <short_desc>Web Inspector: Main.js missing many trailing semicolons</short_desc>
          <delta_ts>2014-11-11 14:20:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Wells">jonowells</reporter>
          <assigned_to name="Jonathan Wells">jonowells</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047943</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2014-11-11 12:52:10 -0800</bug_when>
    <thetext>Semicolons are missing after several function assignments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047944</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-11-11 12:52:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/18944563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047962</commentid>
    <comment_count>2</comment_count>
      <attachid>241379</attachid>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2014-11-11 13:31:59 -0800</bug_when>
    <thetext>Created attachment 241379
[PATCH] Semicolons added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047971</commentid>
    <comment_count>3</comment_count>
      <attachid>241379</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-11 14:02:35 -0800</bug_when>
    <thetext>Comment on attachment 241379
[PATCH] Semicolons added.

View in context: https://bugs.webkit.org/attachment.cgi?id=241379&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:33
&gt; -    Timelines: &quot;timelines&quot;,
&gt; +    Timelines: &quot;timelines&quot;

I prefer trailing commas for enums like this. Otherwise diffs end up uglier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047977</commentid>
    <comment_count>4</comment_count>
      <attachid>241379</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-11 14:20:33 -0800</bug_when>
    <thetext>Comment on attachment 241379
[PATCH] Semicolons added.

Clearing flags on attachment: 241379

Committed r175977: &lt;http://trac.webkit.org/changeset/175977&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047978</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-11 14:20:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241379</attachid>
            <date>2014-11-11 13:31:59 -0800</date>
            <delta_ts>2014-11-11 14:20:33 -0800</delta_ts>
            <desc>[PATCH] Semicolons added.</desc>
            <filename>semicolons.diff</filename>
            <type>text/plain</type>
            <size>22432</size>
            <attacher name="Jonathan Wells">jonowells</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc1NzdjNDguLjBiNDUzZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTExLTExICBKb25hdGhhbiBXZWxs
cyAgPGpvbm93ZWxsc0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTWFpbi5q
cyBtaXNzaW5nIG1hbnkgdHJhaWxpbmcgc2VtaWNvbG9ucworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NjI0CisKKyAgICAgICAgQWRkIHNlbWljb2xv
bnMgdG8gZnVuY3Rpb24gdmFyaWFibGUgYXNzaWdubWVudHMuCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5q
czogQWRkZWQgc2VtaWNvbG9ucy4KKwogMjAxNC0xMS0xMCAgSm9uYXRoYW4gV2VsbHMgIDxqb25v
d2VsbHNAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFVwZGF0ZSBFc3ByaW1h
LCByZW1vdmUgV2ViSW5zcGVjdG9yLkVzcHJpbWEgZ2xvYmFsLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDQ0MzAyN2MuLjU3Y2Fk
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanMKQEAgLTMwLDcgKzMwLDcgQEAgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3Q29va2llVHlw
ZSA9IHsKICAgICBEYXRhYmFzZVRhYmxlOiAiZGF0YWJhc2UtdGFibGUiLAogICAgIERPTVN0b3Jh
Z2U6ICJkb20tc3RvcmFnZSIsCiAgICAgUmVzb3VyY2U6ICJyZXNvdXJjZSIsIC8vIGluY2x1ZGVz
IEZyYW1lIHRvby4KLSAgICBUaW1lbGluZXM6ICJ0aW1lbGluZXMiLAorICAgIFRpbWVsaW5lczog
InRpbWVsaW5lcyIKIH07CiAKIFdlYkluc3BlY3Rvci5EZWJ1Z2dhYmxlVHlwZSA9IHsKQEAgLTM1
Myw3ICszNTMsNyBAQCBXZWJJbnNwZWN0b3IuY29udGVudExvYWRlZCA9IGZ1bmN0aW9uKCkKICAg
ICAgICAgdGhpcy5zaG93U3BsaXRDb25zb2xlKCk7CiAKICAgICB0aGlzLl9jb250ZW50TG9hZGVk
ID0gdHJ1ZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5hY3RpdmF0ZUV4dHJhRG9tYWlucyA9IGZ1
bmN0aW9uKGRvbWFpbnMpCiB7CkBAIC0zNjksNyArMzY5LDcgQEAgV2ViSW5zcGVjdG9yLmFjdGl2
YXRlRXh0cmFEb21haW5zID0gZnVuY3Rpb24oZG9tYWlucykKICAgICB0aGlzLm5vdGlmaWNhdGlv
bnMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5Ob3RpZmljYXRpb24uRXh0
cmFEb21haW5zQWN0aXZhdGVkKTsKIAogICAgIFdlYkluc3BlY3Rvci5DU1NDb21wbGV0aW9ucy5y
ZXF1ZXN0Q1NTTmFtZUNvbXBsZXRpb25zKCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3Iuc2lkZWJh
clBhbmVsRm9yQ3VycmVudENvbnRlbnRWaWV3ID0gZnVuY3Rpb24oKQogewpAQCAtMzc3LDcgKzM3
Nyw3IEBAIFdlYkluc3BlY3Rvci5zaWRlYmFyUGFuZWxGb3JDdXJyZW50Q29udGVudFZpZXcgPSBm
dW5jdGlvbigpCiAgICAgaWYgKCFjdXJyZW50Q29udGVudFZpZXcpCiAgICAgICAgIHJldHVybiBu
dWxsOwogICAgIHJldHVybiB0aGlzLnNpZGViYXJQYW5lbEZvclJlcHJlc2VudGVkT2JqZWN0KGN1
cnJlbnRDb250ZW50Vmlldy5yZXByZXNlbnRlZE9iamVjdCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0
b3Iuc2lkZWJhclBhbmVsRm9yUmVwcmVzZW50ZWRPYmplY3QgPSBmdW5jdGlvbihyZXByZXNlbnRl
ZE9iamVjdCkKIHsKQEAgLTQwMCw3ICs0MDAsNyBAQCBXZWJJbnNwZWN0b3Iuc2lkZWJhclBhbmVs
Rm9yUmVwcmVzZW50ZWRPYmplY3QgPSBmdW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCkKIAogICAg
IGNvbnNvbGUuZXJyb3IoIlVua25vd24gcmVwcmVzZW50ZWRPYmplY3Q6ICIsIHJlcHJlc2VudGVk
T2JqZWN0KTsKICAgICByZXR1cm4gbnVsbDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5jb250ZW50
QnJvd3NlclRyZWVFbGVtZW50Rm9yUmVwcmVzZW50ZWRPYmplY3QgPSBmdW5jdGlvbihjb250ZW50
QnJvd3NlciwgcmVwcmVzZW50ZWRPYmplY3QpCiB7CkBAIC00MTIsNyArNDEyLDcgQEAgV2ViSW5z
cGVjdG9yLmNvbnRlbnRCcm93c2VyVHJlZUVsZW1lbnRGb3JSZXByZXNlbnRlZE9iamVjdCA9IGZ1
bmN0aW9uKGNvbnRlbnRCcm8KICAgICBpZiAoc2lkZWJhclBhbmVsKQogICAgICAgICByZXR1cm4g
c2lkZWJhclBhbmVsLnRyZWVFbGVtZW50Rm9yUmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50ZWRP
YmplY3QpOwogICAgIHJldHVybiBudWxsOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLnVwZGF0ZVdp
bmRvd1RpdGxlID0gZnVuY3Rpb24oKQogewpAQCAtNDQxLDcgKzQ0MSw3IEBAIFdlYkluc3BlY3Rv
ci51cGRhdGVXaW5kb3dUaXRsZSA9IGZ1bmN0aW9uKCkKICAgICAvLyBUaGUgbmFtZSAiaW5zcGVj
dGVkVVJMQ2hhbmdlZCIgc291bmRzIGxpa2UgdGhlIHdob2xlIFVSTCBpcyByZXF1aXJlZCwgaG93
ZXZlciB0aGlzIGlzIG9ubHkKICAgICAvLyB1c2VkIGZvciB1cGRhdGluZyB0aGUgd2luZG93IHRp
dGxlIGFuZCBpdCBjYW4gYmUgYW55IHN0cmluZy4KICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aW5zcGVjdGVkVVJMQ2hhbmdlZCh0aXRsZSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IudXBkYXRl
RG9ja2VkU3RhdGUgPSBmdW5jdGlvbihzaWRlKQogewpAQCAtNDg1LDcgKzQ4NSw3IEBAIFdlYklu
c3BlY3Rvci51cGRhdGVEb2NrZWRTdGF0ZSA9IGZ1bmN0aW9uKHNpZGUpCiAKICAgICB0aGlzLl91
cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zKCk7CiAgICAgdGhpcy5fdXBkYXRlVG9vbGJhckhlaWdo
dCgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmhhbmRsZVBvc3NpYmxlTGlua0NsaWNrID0gZnVu
Y3Rpb24oZXZlbnQsIGZyYW1lLCBhbHdheXNPcGVuRXh0ZXJuYWxseSkKIHsKQEAgLTUwNSw3ICs1
MDUsNyBAQCBXZWJJbnNwZWN0b3IuaGFuZGxlUG9zc2libGVMaW5rQ2xpY2sgPSBmdW5jdGlvbihl
dmVudCwgZnJhbWUsIGFsd2F5c09wZW5FeHRlcm5hbAogICAgIHRoaXMub3BlblVSTChhbmNob3JF
bGVtZW50LmhyZWYsIGZyYW1lLCBmYWxzZSwgYW5jaG9yRWxlbWVudC5saW5lTnVtYmVyKTsKIAog
ICAgIHJldHVybiB0cnVlOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLm9wZW5VUkwgPSBmdW5jdGlv
bih1cmwsIGZyYW1lLCBhbHdheXNPcGVuRXh0ZXJuYWxseSwgbGluZU51bWJlcikKIHsKQEAgLTUz
OSw3ICs1MzksNyBAQCBXZWJJbnNwZWN0b3Iub3BlblVSTCA9IGZ1bmN0aW9uKHVybCwgZnJhbWUs
IGFsd2F5c09wZW5FeHRlcm5hbGx5LCBsaW5lTnVtYmVyKQogICAgIH0KIAogICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5vcGVuSW5OZXdUYWIodXJsKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5j
bG9zZSA9IGZ1bmN0aW9uKCkKIHsKQEAgLTU0OSwyMyArNTQ5LDIzIEBAIFdlYkluc3BlY3Rvci5j
bG9zZSA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9pc0Nsb3NpbmcgPSB0cnVlOwogCiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmNsb3NlV2luZG93KCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3Iu
aXNDb25zb2xlRm9jdXNlZCA9IGZ1bmN0aW9uKCkKIHsKICAgICByZXR1cm4gdGhpcy5xdWlja0Nv
bnNvbGUucHJvbXB0LmZvY3VzZWQ7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuaXNTaG93aW5nU3Bs
aXRDb25zb2xlID0gZnVuY3Rpb24oKQogewogICAgIHJldHVybiAhdGhpcy5zcGxpdENvbnRlbnRC
cm93c2VyLmVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJoaWRkZW4iKTsKLX0KK307CiAKIFdl
Ykluc3BlY3Rvci5jdXJyZW50Vmlld1N1cHBvcnRzU3BsaXRDb250ZW50QnJvd3NlciA9IGZ1bmN0
aW9uKCkKIHsKICAgICB2YXIgY3VycmVudENvbnRlbnRWaWV3ID0gdGhpcy5jb250ZW50QnJvd3Nl
ci5jdXJyZW50Q29udGVudFZpZXc7CiAgICAgcmV0dXJuICFjdXJyZW50Q29udGVudFZpZXcgfHwg
Y3VycmVudENvbnRlbnRWaWV3LnN1cHBvcnRzU3BsaXRDb250ZW50QnJvd3NlcjsKLX0KK307CiAK
IFdlYkluc3BlY3Rvci50b2dnbGVTcGxpdENvbnNvbGUgPSBmdW5jdGlvbigpCiB7CkBAIC01Nzgs
NyArNTc4LDcgQEAgV2ViSW5zcGVjdG9yLnRvZ2dsZVNwbGl0Q29uc29sZSA9IGZ1bmN0aW9uKCkK
ICAgICAgICAgdGhpcy5oaWRlU3BsaXRDb25zb2xlKCk7CiAgICAgZWxzZQogICAgICAgICB0aGlz
LnNob3dTcGxpdENvbnNvbGUoKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5zaG93U3BsaXRDb25z
b2xlID0gZnVuY3Rpb24oKQogewpAQCAtNjA1LDcgKzYwNSw3IEBAIFdlYkluc3BlY3Rvci5zaG93
U3BsaXRDb25zb2xlID0gZnVuY3Rpb24oKQogICAgICAgICB0aGlzLm5hdmlnYXRpb25TaWRlYmFy
LmNvbGxhcHNlZCA9IGZhbHNlOwogCiAgICAgdGhpcy5xdWlja0NvbnNvbGUuY29uc29sZUxvZ1Zp
c2liaWxpdHlDaGFuZ2VkKHRydWUpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmhpZGVTcGxpdENv
bnNvbGUgPSBmdW5jdGlvbigpCiB7CkBAIC02MTcsNyArNjE3LDcgQEAgV2ViSW5zcGVjdG9yLmhp
ZGVTcGxpdENvbnNvbGUgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5zcGxpdENvbnRlbnRCcm93c2Vy
LmNvbnRlbnRWaWV3Q29udGFpbmVyLmhpZGRlbigpOwogCiAgICAgdGhpcy5xdWlja0NvbnNvbGUu
Y29uc29sZUxvZ1Zpc2liaWxpdHlDaGFuZ2VkKGZhbHNlKTsKLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5zaG93RnVsbEhlaWdodENvbnNvbGUgPSBmdW5jdGlvbihzY29wZSkKIHsKQEAgLTY1NiwxNyAr
NjU2LDE3IEBAIFdlYkluc3BlY3Rvci5zaG93RnVsbEhlaWdodENvbnNvbGUgPSBmdW5jdGlvbihz
Y29wZSkKICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl9jb25zb2xlVG9vbGJhckJ1dHRvbi5hY3Rp
dmF0ZWQpOwogCiAgICAgdGhpcy5xdWlja0NvbnNvbGUuY29uc29sZUxvZ1Zpc2liaWxpdHlDaGFu
Z2VkKHRydWUpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmlzU2hvd2luZ0NvbnNvbGVWaWV3ID0g
ZnVuY3Rpb24oKQogewogICAgIHJldHVybiB0aGlzLmNvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250
ZW50VmlldyBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Mb2dDb250ZW50VmlldzsKLX0KK307CiAK
IFdlYkluc3BlY3Rvci5zaG93Q29uc29sZVZpZXcgPSBmdW5jdGlvbihzY29wZSkKIHsKICAgICB0
aGlzLnNob3dGdWxsSGVpZ2h0Q29uc29sZShzY29wZSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3Iu
dG9nZ2xlQ29uc29sZVZpZXcgPSBmdW5jdGlvbigpCiB7CkBAIC02ODMsNyArNjgzLDcgQEAgV2Vi
SW5zcGVjdG9yLnRvZ2dsZUNvbnNvbGVWaWV3ID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgdGhp
cy5uYXZpZ2F0aW9uU2lkZWJhci5jb2xsYXBzZWQgPSBmYWxzZTsKICAgICB9IGVsc2UKICAgICAg
ICAgdGhpcy5zaG93RnVsbEhlaWdodENvbnNvbGUoKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5V
SVN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZywgdmFyYXJnKQogewpAQCAtNzAyLDEzICs3MDIsMTMg
QEAgV2ViSW5zcGVjdG9yLlVJU3RyaW5nID0gZnVuY3Rpb24oc3RyaW5nLCB2YXJhcmcpCiAgICAg
fQogCiAgICAgcmV0dXJuICJMT0NBTElaRUQgU1RSSU5HIE5PVCBGT1VORCI7Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQgPSBmdW5jdGlvbihlbGVtZW50KQog
ewogICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaXNTZWxmT3JBbmNlc3Rvcih0aGlzLmN1cnJl
bnRGb2N1c0VsZW1lbnQpKQogICAgICAgICB0aGlzLnByZXZpb3VzRm9jdXNFbGVtZW50LmZvY3Vz
KCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2ZvY3VzQ2hhbmdlZCA9IGZ1bmN0aW9uKGV2ZW50
KQogewpAQCAtNzM5LDEyICs3MzksMTIgQEAgV2ViSW5zcGVjdG9yLl9mb2N1c0NoYW5nZWQgPSBm
dW5jdGlvbihldmVudCkKIAogICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsKICAgICBz
ZWxlY3Rpb24uYWRkUmFuZ2Uoc2VsZWN0aW9uUmFuZ2UpOwotfQorfTsKIAogV2ViSW5zcGVjdG9y
Ll9tb3VzZVdhc0NsaWNrZWQgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICB0aGlzLmhhbmRsZVBv
c3NpYmxlTGlua0NsaWNrKGV2ZW50KTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fZHJhZ092ZXIg
PSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTc1OSwxMiArNzU5LDEyIEBAIFdlYkluc3BlY3Rvci5f
ZHJhZ092ZXIgPSBmdW5jdGlvbihldmVudCkKICAgICAvLyBQcmV2ZW50IHRoZSBkcm9wIGZyb20g
YmVpbmcgYWNjZXB0ZWQuCiAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9u
ZSI7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5f
Y2FwdHVyZURpZFN0YXJ0ID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgdGhpcy5kYXNoYm9hcmRD
b250YWluZXIuc2hvd0Rhc2hib2FyZFZpZXdGb3JSZXByZXNlbnRlZE9iamVjdCh0aGlzLmRhc2hi
b2FyZE1hbmFnZXIuZGFzaGJvYXJkcy5yZXBsYXkpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9k
ZWJ1Z2dlckRpZFBhdXNlID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC03NzYsMTcgKzc3NiwxNyBA
QCBXZWJJbnNwZWN0b3IuX2RlYnVnZ2VyRGlkUGF1c2UgPSBmdW5jdGlvbihldmVudCkKICAgICB0
aGlzLl9zZWxlY3RBbmRTaG93U2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWxXaGVuQXZhaWxh
YmxlID0gdHJ1ZTsKIAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5fZGVidWdnZXJEaWRSZXN1bWUgPSBmdW5jdGlvbihldmVu
dCkKIHsKICAgICB0aGlzLmRhc2hib2FyZENvbnRhaW5lci5jbG9zZURhc2hib2FyZFZpZXdGb3JS
ZXByZXNlbnRlZE9iamVjdCh0aGlzLmRhc2hib2FyZE1hbmFnZXIuZGFzaGJvYXJkcy5kZWJ1Z2dl
cik7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX21haW5GcmFtZURpZENoYW5nZSA9IGZ1bmN0aW9u
KGV2ZW50KQogewogICAgIHRoaXMudXBkYXRlV2luZG93VGl0bGUoKTsKLX0KK307CiAKIFdlYklu
c3BlY3Rvci5fbWFpblJlc291cmNlRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC03
OTgsNyArNzk4LDcgQEAgV2ViSW5zcGVjdG9yLl9tYWluUmVzb3VyY2VEaWRDaGFuZ2UgPSBmdW5j
dGlvbihldmVudCkKICAgICB0aGlzLl9yZXN0b3JlSW5zcGVjdG9yVmlld1N0YXRlRnJvbUNvb2tp
ZSh0aGlzLl9sYXN0SW5zcGVjdG9yVmlld1N0YXRlQ29va2llU2V0dGluZy52YWx1ZSwgdHJ1ZSk7
CiAKICAgICB0aGlzLnVwZGF0ZVdpbmRvd1RpdGxlKCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3Iu
X3Byb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTgwOCw3ICs4
MDgsNyBAQCBXZWJJbnNwZWN0b3IuX3Byb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQgPSBmdW5jdGlvbihl
dmVudCkKICAgICB0aGlzLl91cGRhdGVDb29raWVGb3JJbnNwZWN0b3JWaWV3U3RhdGUoKTsKIAog
ICAgIHRoaXMuX2luUHJvdmlzaW9uYWxMb2FkID0gdHJ1ZTsKLX0KK307CiAKIFdlYkluc3BlY3Rv
ci5fd2luZG93Rm9jdXNlZCA9IGZ1bmN0aW9uKGV2ZW50KQogewpAQCAtODE3LDcgKzgxNyw3IEBA
IFdlYkluc3BlY3Rvci5fd2luZG93Rm9jdXNlZCA9IGZ1bmN0aW9uKGV2ZW50KQogCiAgICAgLy8g
RklYTUU6IFdlIHNob3VsZCB1c2UgdGhlIDp3aW5kb3ctaW5hY3RpdmUgcHNldWRvIGNsYXNzIG9u
Y2UgaHR0cHM6Ly93ZWJraXQub3JnL2IvMzg5MjcgaXMgZml4ZWQuCiAgICAgZG9jdW1lbnQuYm9k
eS5jbGFzc0xpc3QucmVtb3ZlKCJ3aW5kb3ctaW5hY3RpdmUiKTsKLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci5fd2luZG93Qmx1cnJlZCA9IGZ1bmN0aW9uKGV2ZW50KQogewpAQCAtODI2LDE0ICs4MjYs
MTQgQEAgV2ViSW5zcGVjdG9yLl93aW5kb3dCbHVycmVkID0gZnVuY3Rpb24oZXZlbnQpCiAKICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIHVzZSB0aGUgOndpbmRvdy1pbmFjdGl2ZSBwc2V1ZG8gY2xh
c3Mgb25jZSBodHRwczovL3dlYmtpdC5vcmcvYi8zODkyNyBpcyBmaXhlZC4KICAgICBkb2N1bWVu
dC5ib2R5LmNsYXNzTGlzdC5hZGQoIndpbmRvdy1pbmFjdGl2ZSIpOwotfQorfTsKIAogV2ViSW5z
cGVjdG9yLl93aW5kb3dSZXNpemVkID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgdGhpcy50b29s
YmFyLnVwZGF0ZUxheW91dCgpOwogCiAgICAgdGhpcy5fY29udGVudEJyb3dzZXJTaXplRGlkQ2hh
bmdlKGV2ZW50KTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlTW9kaWZpZXJLZXlzID0g
ZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC04NDMsNyArODQzLDcgQEAgV2ViSW5zcGVjdG9yLl91cGRh
dGVNb2RpZmllcktleXMgPSBmdW5jdGlvbihldmVudCkKIAogICAgIGlmIChkaWRDaGFuZ2UpCiAg
ICAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLk5vdGlmaWNhdGlvbi5HbG9iYWxNb2RpZmllcktleXNEaWRDaGFuZ2UsIGV2ZW50KTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5fd2luZG93S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQog
ewpAQCAtODUxLDcgKzg1MSw3IEBAIFdlYkluc3BlY3Rvci5fd2luZG93S2V5RG93biA9IGZ1bmN0
aW9uKGV2ZW50KQogCiAgICAgdmFyIG9wcG9zaXRlID0gIXRoaXMuX2RvY2tCdXR0b25Ub2dnbGVk
U2V0dGluZy52YWx1ZTsKICAgICB0aGlzLnVuZG9ja0J1dHRvbk5hdmlnYXRpb25JdGVtLnRvZ2ds
ZWQgPSAoZXZlbnQuYWx0S2V5ICYmICFldmVudC5tZXRhS2V5ICYmICFldmVudC5zaGlmdEtleSkg
PyBvcHBvc2l0ZSA6ICFvcHBvc2l0ZTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fd2luZG93S2V5
VXAgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTg1OSw3ICs4NTksNyBAQCBXZWJJbnNwZWN0b3Iu
X3dpbmRvd0tleVVwID0gZnVuY3Rpb24oZXZlbnQpCiAKICAgICB2YXIgb3Bwb3NpdGUgPSAhdGhp
cy5fZG9ja0J1dHRvblRvZ2dsZWRTZXR0aW5nLnZhbHVlOwogICAgIHRoaXMudW5kb2NrQnV0dG9u
TmF2aWdhdGlvbkl0ZW0udG9nZ2xlZCA9IChldmVudC5hbHRLZXkgJiYgIWV2ZW50Lm1ldGFLZXkg
JiYgIWV2ZW50LnNoaWZ0S2V5KSA/IG9wcG9zaXRlIDogIW9wcG9zaXRlOwotfQorfTsKIAogV2Vi
SW5zcGVjdG9yLl9tb3VzZU1vdmVkID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC04NjgsMTIgKzg2
OCwxMiBAQCBXZWJJbnNwZWN0b3IuX21vdXNlTW92ZWQgPSBmdW5jdGlvbihldmVudCkKICAgICAg
ICAgeDogZXZlbnQucGFnZVgsCiAgICAgICAgIHk6IGV2ZW50LnBhZ2VZCiAgICAgfTsKLX0KK307
CiAKIFdlYkluc3BlY3Rvci5fcGFnZUhpZGRlbiA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIHRo
aXMuX3VwZGF0ZUNvb2tpZUZvckluc3BlY3RvclZpZXdTdGF0ZSgpOwotfQorfTsKIAogV2ViSW5z
cGVjdG9yLl91bmRvY2sgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTg4Myw3ICs4ODMsNyBAQCBX
ZWJJbnNwZWN0b3IuX3VuZG9jayA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKHRoaXMuX2RvY2tTaWRlID09PSAiYm90dG9t
IiA/ICJyaWdodCIgOiAiYm90dG9tIik7CiAgICAgZWxzZQogICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QucmVxdWVzdFNldERvY2tTaWRlKCJ1bmRvY2tlZCIpOwotfQorfTsKIAogV2ViSW5z
cGVjdG9yLl91cGRhdGVEb2NrTmF2aWdhdGlvbkl0ZW1zID0gZnVuY3Rpb24oKQogewpAQCAtODk4
LDcgKzg5OCw3IEBAIFdlYkluc3BlY3Rvci5fdXBkYXRlRG9ja05hdmlnYXRpb25JdGVtcyA9IGZ1
bmN0aW9uKCkKICAgICB9CiAKICAgICB0aGlzLnVuZG9ja0J1dHRvbk5hdmlnYXRpb25JdGVtLnRv
Z2dsZWQgPSB0aGlzLl9kb2NrQnV0dG9uVG9nZ2xlZFNldHRpbmcudmFsdWU7Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuX3NpZGViYXJDb2xsYXBzZWRTdGF0ZURpZENoYW5nZSA9IGZ1bmN0aW9uKGV2
ZW50KQogewpAQCAtOTA5LDcgKzkwOSw3IEBAIFdlYkluc3BlY3Rvci5fc2lkZWJhckNvbGxhcHNl
ZFN0YXRlRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIGlmICghdGhpcy5faWdu
b3JlRGV0YWlsc1NpZGViYXJQYW5lbENvbGxhcHNlZEV2ZW50KQogICAgICAgICAgICAgdGhpcy5f
ZGV0YWlsc1NpZGViYXJDb2xsYXBzZWRTZXR0aW5nLnZhbHVlID0gdGhpcy5kZXRhaWxzU2lkZWJh
ci5jb2xsYXBzZWQ7CiAgICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9kZXRhaWxzU2lkZWJh
clBhbmVsU2VsZWN0ZWQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTkxNyw3ICs5MTcsNyBAQCBX
ZWJJbnNwZWN0b3IuX2RldGFpbHNTaWRlYmFyUGFuZWxTZWxlY3RlZCA9IGZ1bmN0aW9uKGV2ZW50
KQogICAgICAgICByZXR1cm47CiAKICAgICB0aGlzLl9sYXN0U2VsZWN0ZWREZXRhaWxzU2lkZWJh
clBhbmVsU2V0dGluZy52YWx1ZSA9IHRoaXMuZGV0YWlsc1NpZGViYXIuc2VsZWN0ZWRTaWRlYmFy
UGFuZWwuaWRlbnRpZmllcjsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fcmV2ZWFsQW5kU2VsZWN0
UmVwcmVzZW50ZWRPYmplY3RJbk5hdmlnYXRpb25TaWRlYmFyID0gZnVuY3Rpb24ocmVwcmVzZW50
ZWRPYmplY3QpCiB7CkBAIC05NDUsNyArOTQ1LDcgQEAgV2ViSW5zcGVjdG9yLl9yZXZlYWxBbmRT
ZWxlY3RSZXByZXNlbnRlZE9iamVjdEluTmF2aWdhdGlvblNpZGViYXIgPSBmdW5jdGlvbihyZXAK
IAogICAgIGlmICghc2VsZWN0ZWRTaWRlYmFyUGFuZWwuaGFzU2VsZWN0ZWRFbGVtZW50KQogICAg
ICAgICBzZWxlY3RlZFNpZGViYXJQYW5lbC5zaG93RGVmYXVsdENvbnRlbnRWaWV3KCk7Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuX3VwZGF0ZU5hdmlnYXRpb25TaWRlYmFyRm9yQ3VycmVudENvbnRl
bnRWaWV3ID0gZnVuY3Rpb24oKQogewpAQCAtOTc0LDcgKzk3NCw3IEBAIFdlYkluc3BlY3Rvci5f
dXBkYXRlTmF2aWdhdGlvblNpZGViYXJGb3JDdXJyZW50Q29udGVudFZpZXcgPSBmdW5jdGlvbigp
CiAgICAgICAgIGN1cnJlbnRDb250ZW50Vmlldy5fX2xhc3ROYXZpZ2F0aW9uU2lkZWJhclBhbmVs
SWRlbnRpZmVyID0gc2VsZWN0ZWRTaWRlYmFyUGFuZWwuaWRlbnRpZmllcjsKIAogICAgIHRoaXMu
X3JldmVhbEFuZFNlbGVjdFJlcHJlc2VudGVkT2JqZWN0SW5OYXZpZ2F0aW9uU2lkZWJhcihjdXJy
ZW50Q29udGVudFZpZXcucmVwcmVzZW50ZWRPYmplY3QpOwotfQorfTsKIAogV2ViSW5zcGVjdG9y
Ll9uYXZpZ2F0aW9uU2lkZWJhclBhbmVsU2VsZWN0ZWQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAg
LTk4Myw3ICs5ODMsNyBAQCBXZWJJbnNwZWN0b3IuX25hdmlnYXRpb25TaWRlYmFyUGFuZWxTZWxl
Y3RlZCA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICByZXR1cm47CiAKICAgICB0aGlzLl91cGRh
dGVOYXZpZ2F0aW9uU2lkZWJhckZvckN1cnJlbnRDb250ZW50VmlldygpOwotfQorfTsKIAogV2Vi
SW5zcGVjdG9yLl9kb21Ob2RlV2FzSW5zcGVjdGVkID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC05
OTQsMTkgKzk5NCwxOSBAQCBXZWJJbnNwZWN0b3IuX2RvbU5vZGVXYXNJbnNwZWN0ZWQgPSBmdW5j
dGlvbihldmVudCkKICAgICAgICAgdGhpcy5kZXRhaWxzU2lkZWJhci5zZWxlY3RlZFNpZGViYXJQ
YW5lbCA9IHRoaXMuY3NzU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsOwogCiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9jb250
ZW50QnJvd3NlclNpemVEaWRDaGFuZ2UgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICB0aGlzLmNv
bnRlbnRCcm93c2VyLnVwZGF0ZUxheW91dCgpOwogICAgIHRoaXMuc3BsaXRDb250ZW50QnJvd3Nl
ci51cGRhdGVMYXlvdXQoKTsKICAgICB0aGlzLnF1aWNrQ29uc29sZS51cGRhdGVMYXlvdXQoKTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5fcXVpY2tDb25zb2xlRGlkUmVzaXplID0gZnVuY3Rpb24o
ZXZlbnQpCiB7CiAgICAgdGhpcy5jb250ZW50QnJvd3Nlci51cGRhdGVMYXlvdXQoKTsKLX0KK307
CiAKIFdlYkluc3BlY3Rvci5fc2lkZWJhcldpZHRoRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQp
CiB7CkBAIC0xMDE4LDEzICsxMDE4LDEzIEBAIFdlYkluc3BlY3Rvci5fc2lkZWJhcldpZHRoRGlk
Q2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgfQogCiAgICAgdGhpcy5fY29udGVudEJyb3dz
ZXJTaXplRGlkQ2hhbmdlKGV2ZW50KTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlVG9v
bGJhckhlaWdodCA9IGZ1bmN0aW9uKCkKIHsKICAgICBpZiAoV2ViSW5zcGVjdG9yLlBsYXRmb3Jt
LmlzTGVnYWN5TWFjT1MpCiAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5zZXRUb29sYmFy
SGVpZ2h0KHRoaXMudG9vbGJhci5lbGVtZW50Lm9mZnNldEhlaWdodCk7Ci19Cit9OwogCiBXZWJJ
bnNwZWN0b3IuX3Rvb2xiYXJEaXNwbGF5TW9kZURpZENoYW5nZSA9IGZ1bmN0aW9uKGV2ZW50KQog
ewpAQCAtMTAzOSw3ICsxMDM5LDcgQEAgV2ViSW5zcGVjdG9yLl90b29sYmFyRGlzcGxheU1vZGVE
aWRDaGFuZ2UgPSBmdW5jdGlvbihldmVudCkKICAgICAgICAgdGhpcy5fdG9vbGJhclVuZG9ja2Vk
RGlzcGxheU1vZGVTZXR0aW5nLnZhbHVlID0gdGhpcy50b29sYmFyLmRpc3BsYXlNb2RlOwogCiAg
ICAgdGhpcy5fdXBkYXRlVG9vbGJhckhlaWdodCgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl90
b29sYmFyU2l6ZU1vZGVEaWRDaGFuZ2UgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTEwNTQsNyAr
MTA1NCw3IEBAIFdlYkluc3BlY3Rvci5fdG9vbGJhclNpemVNb2RlRGlkQ2hhbmdlID0gZnVuY3Rp
b24oZXZlbnQpCiAgICAgICAgIHRoaXMuX3Rvb2xiYXJVbmRvY2tlZFNpemVNb2RlU2V0dGluZy52
YWx1ZSA9IHRoaXMudG9vbGJhci5zaXplTW9kZTsKIAogICAgIHRoaXMuX3VwZGF0ZVRvb2xiYXJI
ZWlnaHQoKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlQ29va2llRm9ySW5zcGVjdG9y
Vmlld1N0YXRlID0gZnVuY3Rpb24oKQogewpAQCAtMTA4NCw3ICsxMDg0LDcgQEAgV2ViSW5zcGVj
dG9yLl91cGRhdGVDb29raWVGb3JJbnNwZWN0b3JWaWV3U3RhdGUgPSBmdW5jdGlvbigpCiAgICAg
Y29va2llW1dlYkluc3BlY3Rvci5TZWxlY3RlZFNpZGViYXJQYW5lbENvb2tpZUtleV0gPSBzZWxl
Y3RlZFNpZGViYXJQYW5lbC5pZGVudGlmaWVyOwogICAgIHNlbGVjdGVkU2lkZWJhclBhbmVsLnNh
dmVTdGF0ZVRvQ29va2llKGNvb2tpZSk7CiAgICAgdGhpcy5fbGFzdEluc3BlY3RvclZpZXdTdGF0
ZUNvb2tpZVNldHRpbmcudmFsdWUgPSBjb29raWU7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2Nv
bnRlbnRCcm93c2VyQ3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQp
CiB7CkBAIC0xMTE5LDcgKzExMTksNyBAQCBXZWJJbnNwZWN0b3IuX2NvbnRlbnRCcm93c2VyQ3Vy
cmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIGN1cnJl
bnRDb250ZW50Vmlldy5fX2xhc3ROYXZpZ2F0aW9uU2lkZWJhclBhbmVsSWRlbnRpZmVyID0gc2Vs
ZWN0ZWRTaWRlYmFyUGFuZWxJZGVudGlmaWVyOwogCiAgICAgdGhpcy5fcmV2ZWFsQW5kU2VsZWN0
UmVwcmVzZW50ZWRPYmplY3RJbk5hdmlnYXRpb25TaWRlYmFyKGN1cnJlbnRDb250ZW50Vmlldy5y
ZXByZXNlbnRlZE9iamVjdCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2NvbnRlbnRCcm93c2Vy
UmVwcmVzZW50ZWRPYmplY3RzRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiB7CkBAIC0xMTc3
LDcgKzExNzcsNyBAQCBXZWJJbnNwZWN0b3IuX2NvbnRlbnRCcm93c2VyUmVwcmVzZW50ZWRPYmpl
Y3RzRGlkQ2hhbmdlID0gZnVuY3Rpb24oZXZlbnQpCiAKICAgICAvLyBTdG9wIGlnbm9yaW5nIHRo
ZSBzaWRlYmFyIHBhbmVsIHNlbGVjdGVkIGV2ZW50LgogICAgIGRlbGV0ZSB0aGlzLl9pZ25vcmVE
ZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWRFdmVudDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5f
cmVzdG9yZUluc3BlY3RvclZpZXdTdGF0ZUZyb21Db29raWUgPSBmdW5jdGlvbihjb29raWUsIGNh
dXNlZEJ5UmVsb2FkKQogewpAQCAtMTIwNiw3ICsxMjA2LDcgQEAgV2ViSW5zcGVjdG9yLl9yZXN0
b3JlSW5zcGVjdG9yVmlld1N0YXRlRnJvbUNvb2tpZSA9IGZ1bmN0aW9uKGNvb2tpZSwgY2F1c2Vk
QnlSZWwKIAogICAgIHZhciByZWxheE1hdGNoRGVsYXkgPSBjYXVzZWRCeVJlbG9hZCA/IG1hdGNo
VHlwZU9ubHlEZWxheUZvclJlbG9hZCA6IG1hdGNoVHlwZU9ubHlEZWxheUZvclJlb3BlbjsKICAg
ICBzaWRlYmFyUGFuZWwucmVzdG9yZVN0YXRlRnJvbUNvb2tpZShjb29raWUsIHJlbGF4TWF0Y2hE
ZWxheSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2luaXRpYWxpemVXZWJTb2NrZXRJZk5lZWRl
ZCA9IGZ1bmN0aW9uKCkKIHsKQEAgLTEyMjcsNyArMTIyNyw3IEBAIFdlYkluc3BlY3Rvci5faW5p
dGlhbGl6ZVdlYlNvY2tldElmTmVlZGVkID0gZnVuY3Rpb24oKQogICAgICAgICByZXR1cm47CiAK
ICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuaW5pdGlhbGl6ZVdlYlNvY2tldCh1cmwpOwotfQor
fTsKIAogV2ViSW5zcGVjdG9yLl91cGRhdGVTcGxpdENvbnNvbGVIZWlnaHQgPSBmdW5jdGlvbiho
ZWlnaHQpCiB7CkBAIC0xMjM3LDcgKzEyMzcsNyBAQCBXZWJJbnNwZWN0b3IuX3VwZGF0ZVNwbGl0
Q29uc29sZUhlaWdodCA9IGZ1bmN0aW9uKGhlaWdodCkKICAgICBoZWlnaHQgPSBNYXRoLm1heCht
aW5pbXVtSGVpZ2h0LCBNYXRoLm1pbihoZWlnaHQsIG1heGltdW1IZWlnaHQpKTsKIAogICAgIHRo
aXMuc3BsaXRDb250ZW50QnJvd3Nlci5lbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICJw
eCI7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2NvbnNvbGVSZXNpemVyTW91c2VEb3duID0gZnVu
Y3Rpb24oZXZlbnQpCiB7CkBAIC0xMjcyLDcgKzEyNzIsNyBAQCBXZWJJbnNwZWN0b3IuX2NvbnNv
bGVSZXNpemVyTW91c2VEb3duID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgfQogCiAgICAgdGhpcy5l
bGVtZW50RHJhZ1N0YXJ0KHJlc2l6ZXJFbGVtZW50LCBkb2NrZWRSZXNpemVyRHJhZy5iaW5kKHRo
aXMpLCBkb2NrZWRSZXNpemVyRHJhZ0VuZC5iaW5kKHRoaXMpLCBldmVudCwgInJvdy1yZXNpemUi
KTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fdG9vbGJhck1vdXNlRG93biA9IGZ1bmN0aW9uKGV2
ZW50KQogewpAQCAtMTI4Niw3ICsxMjg2LDcgQEAgV2ViSW5zcGVjdG9yLl90b29sYmFyTW91c2VE
b3duID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIHRoaXMuX2RvY2tlZFJlc2l6ZXJNb3VzZURv
d24oZXZlbnQpOwogICAgIGVsc2UKICAgICAgICAgdGhpcy5fbW92ZVdpbmRvd01vdXNlRG93bihl
dmVudCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2RvY2tlZFJlc2l6ZXJNb3VzZURvd24gPSBm
dW5jdGlvbihldmVudCkKIHsKQEAgLTEzNDcsNyArMTM0Nyw3IEBAIFdlYkluc3BlY3Rvci5fZG9j
a2VkUmVzaXplck1vdXNlRG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgIH0KIAogICAgIFdlYklu
c3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHJlc2l6ZXJFbGVtZW50LCBkb2NrZWRSZXNpemVyRHJh
Zy5iaW5kKHRoaXMpLCBkb2NrZWRSZXNpemVyRHJhZ0VuZC5iaW5kKHRoaXMpLCBldmVudCwgdGhp
cy5fZG9ja1NpZGUgPT09ICJib3R0b20iID8gInJvdy1yZXNpemUiIDogImNvbC1yZXNpemUiKTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5fbW92ZVdpbmRvd01vdXNlRG93biA9IGZ1bmN0aW9uKGV2
ZW50KQogewpAQCAtMTM5NCwzMiArMTM5NCwzMiBAQCBXZWJJbnNwZWN0b3IuX21vdmVXaW5kb3dN
b3VzZURvd24gPSBmdW5jdGlvbihldmVudCkKICAgICB9CiAKICAgICBXZWJJbnNwZWN0b3IuZWxl
bWVudERyYWdTdGFydChldmVudC50YXJnZXQsIHRvb2xiYXJEcmFnLCB0b29sYmFyRHJhZ0VuZCwg
ZXZlbnQsICJkZWZhdWx0Iik7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2luc3BlY3RNb2RlU3Rh
dGVDaGFuZ2VkID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgdGhpcy5faW5zcGVjdE1vZGVUb29s
YmFyQnV0dG9uLmFjdGl2YXRlZCA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5pbnNwZWN0
TW9kZUVuYWJsZWQ7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX3RvZ2dsZUluc3BlY3RNb2RlID0g
ZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLmluc3Bl
Y3RNb2RlRW5hYmxlZCA9ICFXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIuaW5zcGVjdE1vZGVF
bmFibGVkOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9yZWxvYWRQYWdlID0gZnVuY3Rpb24oZXZl
bnQpCiB7CiAgICAgUGFnZUFnZW50LnJlbG9hZCgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9y
ZWxvYWRQYWdlSWdub3JpbmdDYWNoZSA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIFBhZ2VBZ2Vu
dC5yZWxvYWQodHJ1ZSk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX3RvZ2dsZUluc3BlY3RNb2Rl
ID0gZnVuY3Rpb24oZXZlbnQpCiB7CiAgICAgdGhpcy5kb21UcmVlTWFuYWdlci5pbnNwZWN0TW9k
ZUVuYWJsZWQgPSAhdGhpcy5kb21UcmVlTWFuYWdlci5pbnNwZWN0TW9kZUVuYWJsZWQ7Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IuX2ZvY3VzZWRDb250ZW50VmlldyA9IGZ1bmN0aW9uKCkKIHsKQEAg
LTE0MjgsNyArMTQyOCw3IEBAIFdlYkluc3BlY3Rvci5fZm9jdXNlZENvbnRlbnRWaWV3ID0gZnVu
Y3Rpb24oKQogICAgIGlmICh0aGlzLnNwbGl0Q29udGVudEJyb3dzZXIuZWxlbWVudC5pc1NlbGZP
ckFuY2VzdG9yKHRoaXMuY3VycmVudEZvY3VzRWxlbWVudCkpCiAgICAgICAgIHJldHVybiAgdGhp
cy5zcGxpdENvbnRlbnRCcm93c2VyLmN1cnJlbnRDb250ZW50VmlldzsKICAgICByZXR1cm4gbnVs
bDsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fYmVmb3JlY29weSA9IGZ1bmN0aW9uKGV2ZW50KQog
ewpAQCAtMTQ1Nyw3ICsxNDU3LDcgQEAgV2ViSW5zcGVjdG9yLl9iZWZvcmVjb3B5ID0gZnVuY3Rp
b24oZXZlbnQpCiAKICAgICAvLyBTYXkgd2UgY2FuIGhhbmRsZSBpdCAoYnkgcHJldmVudGluZyBk
ZWZhdWx0KSB0byByZW1vdmUgd29yZCBicmVhayBjaGFyYWN0ZXJzLgogICAgIGV2ZW50LnByZXZl
bnREZWZhdWx0KCk7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuX2NvcHkgPSBmdW5jdGlvbihldmVu
dCkKIHsKQEAgLTE0ODgsNyArMTQ4OCw3IEBAIFdlYkluc3BlY3Rvci5fY29weSA9IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHZhciBzZWxlY3Rpb25TdHJpbmcgPSBzZWxlY3Rpb24udG9TdHJpbmcoKS5y
ZW1vdmVXb3JkQnJlYWtDaGFyYWN0ZXJzKCk7CiAgICAgZXZlbnQuY2xpcGJvYXJkRGF0YS5zZXRE
YXRhKCJ0ZXh0L3BsYWluIiwgc2VsZWN0aW9uU3RyaW5nKTsKICAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9nZW5lcmF0ZURpc2Nsb3N1cmVUcmlhbmds
ZUltYWdlcyA9IGZ1bmN0aW9uKCkKIHsKQEAgLTE1MDMsNyArMTUwMyw3IEBAIFdlYkluc3BlY3Rv
ci5fZ2VuZXJhdGVEaXNjbG9zdXJlVHJpYW5nbGVJbWFnZXMgPSBmdW5jdGlvbigpCiAKICAgICBn
ZW5lcmF0ZUNvbG9yZWRJbWFnZXNGb3JDU1MoIkltYWdlcy9EaXNjbG9zdXJlVHJpYW5nbGVUaW55
T3Blbi5zdmciLCBzcGVjaWZpY2F0aW9ucywgOCwgOCwgImRpc2Nsb3N1cmUtdHJpYW5nbGUtdGlu
eS1vcGVuLSIpOwogICAgIGdlbmVyYXRlQ29sb3JlZEltYWdlc0ZvckNTUygiSW1hZ2VzL0Rpc2Ns
b3N1cmVUcmlhbmdsZVRpbnlDbG9zZWQuc3ZnIiwgc3BlY2lmaWNhdGlvbnMsIDgsIDgsICJkaXNj
bG9zdXJlLXRyaWFuZ2xlLXRpbnktY2xvc2VkLSIpOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmVs
ZW1lbnREcmFnU3RhcnQgPSBmdW5jdGlvbihlbGVtZW50LCBkaXZpZGVyRHJhZywgZWxlbWVudERy
YWdFbmQsIGV2ZW50LCBjdXJzb3IsIGV2ZW50VGFyZ2V0KQogewpAQCAtMTUzNCw3ICsxNTM0LDcg
QEAgV2ViSW5zcGVjdG9yLmVsZW1lbnREcmFnU3RhcnQgPSBmdW5jdGlvbihlbGVtZW50LCBkaXZp
ZGVyRHJhZywgZWxlbWVudERyYWdFbmQsIGUKICAgICB0YXJnZXREb2N1bWVudC5ib2R5LnN0eWxl
LmN1cnNvciA9IGN1cnNvcjsKIAogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci19Cit9Owog
CiBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdFbmQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTE1
NTIsNyArMTU1Miw3IEBAIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ0VuZCA9IGZ1bmN0aW9uKGV2
ZW50KQogICAgIGRlbGV0ZSBXZWJJbnNwZWN0b3IuX2VsZW1lbnRFbmREcmFnZ2luZ0V2ZW50TGlz
dGVuZXI7CiAKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotfQorfTsKIAogV2ViSW5zcGVj
dG9yLmNyZWF0ZU1lc3NhZ2VUZXh0VmlldyA9IGZ1bmN0aW9uKG1lc3NhZ2UsIGlzRXJyb3IpCiB7
CkBAIC0xNTY0LDcgKzE1NjQsNyBAQCBXZWJJbnNwZWN0b3IuY3JlYXRlTWVzc2FnZVRleHRWaWV3
ID0gZnVuY3Rpb24obWVzc2FnZSwgaXNFcnJvcikKICAgICBtZXNzYWdlRWxlbWVudC50ZXh0Q29u
dGVudCA9IG1lc3NhZ2U7CiAKICAgICByZXR1cm4gbWVzc2FnZUVsZW1lbnQ7Ci19Cit9OwogCiBX
ZWJJbnNwZWN0b3IuY3JlYXRlR29Ub0Fycm93QnV0dG9uID0gZnVuY3Rpb24oKQogewpAQCAtMTU5
MCw3ICsxNTkwLDcgQEAgV2ViSW5zcGVjdG9yLmNyZWF0ZUdvVG9BcnJvd0J1dHRvbiA9IGZ1bmN0
aW9uKCkKICAgICBidXR0b24uY2xhc3NOYW1lID0gImdvLXRvLWFycm93IjsKICAgICBidXR0b24u
dGFiSW5kZXggPSAtMTsKICAgICByZXR1cm4gYnV0dG9uOwotfQorfTsKIAogV2ViSW5zcGVjdG9y
LmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbkxpbmsgPSBmdW5jdGlvbihzb3VyY2VDb2RlTG9jYXRp
b24sIGRvbnRGbG9hdCwgdXNlR29Ub0Fycm93QnV0dG9uKQogewpAQCAtMTYyMyw3ICsxNjIzLDcg
QEAgV2ViSW5zcGVjdG9yLmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbkxpbmsgPSBmdW5jdGlvbihz
b3VyY2VDb2RlTG9jYXRpb24sIGRvbnRGbG8KICAgICAgICAgbGlua0VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiZG9udC1mbG9hdCIpOwogCiAgICAgcmV0dXJuIGxpbmtFbGVtZW50OwotfQorfTsKIAog
V2ViSW5zcGVjdG9yLmxpbmtpZnlMb2NhdGlvbiA9IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlciwg
Y29sdW1uTnVtYmVyLCBjbGFzc05hbWUpCiB7CkBAIC0xNjQ5LDcgKzE2NDksNyBAQCBXZWJJbnNw
ZWN0b3IubGlua2lmeUxvY2F0aW9uID0gZnVuY3Rpb24odXJsLCBsaW5lTnVtYmVyLCBjb2x1bW5O
dW1iZXIsIGNsYXNzTmFtZQogICAgIGlmIChjbGFzc05hbWUpCiAgICAgICAgIGxpbmtFbGVtZW50
LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTsKICAgICByZXR1cm4gbGlua0VsZW1lbnQ7Ci19Cit9
OwogCiBXZWJJbnNwZWN0b3IubGlua2lmeVVSTEFzTm9kZSA9IGZ1bmN0aW9uKHVybCwgbGlua1Rl
eHQsIGNsYXNzZXMsIHRvb2x0aXBUZXh0KQogewpAQCAtMTY3MSw3ICsxNjcxLDcgQEAgV2ViSW5z
cGVjdG9yLmxpbmtpZnlVUkxBc05vZGUgPSBmdW5jdGlvbih1cmwsIGxpbmtUZXh0LCBjbGFzc2Vz
LCB0b29sdGlwVGV4dCkKICAgICBhLnN0eWxlLm1heFdpZHRoID0gIjEwMCUiOwogCiAgICAgcmV0
dXJuIGE7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21lbnRXaXRo
Q3VzdG9tTGlua2lmaWVyID0gZnVuY3Rpb24oc3RyaW5nLCBsaW5raWZpZXIpCiB7CkBAIC0xNzA0
LDcgKzE3MDQsNyBAQCBXZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21lbnRXaXRoQ3Vz
dG9tTGlua2lmaWVyID0gZnVuY3Rpb24oc3RyaW5nLCBsaW5raQogICAgICAgICBjb250YWluZXIu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyaW5nKSk7CiAKICAgICByZXR1
cm4gY29udGFpbmVyOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdt
ZW50ID0gZnVuY3Rpb24oc3RyaW5nKQogewpAQCAtMTcxOCw3ICsxNzE4LDcgQEAgV2ViSW5zcGVj
dG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdtZW50ID0gZnVuY3Rpb24oc3RyaW5nKQogICAgIH0KIAog
ICAgIHJldHVybiBXZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21lbnRXaXRoQ3VzdG9t
TGlua2lmaWVyKHN0cmluZywgbGlua2lmaWVyKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fdW5k
b0tleWJvYXJkU2hvcnRjdXQgPSBmdW5jdGlvbihldmVudCkKIHsKQEAgLTE3MjYsNyArMTcyNiw3
IEBAIFdlYkluc3BlY3Rvci5fdW5kb0tleWJvYXJkU2hvcnRjdXQgPSBmdW5jdGlvbihldmVudCkK
ICAgICAgICAgdGhpcy51bmRvKCk7CiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAg
ICAgfQotfQorfTsKIAogV2ViSW5zcGVjdG9yLl9yZWRvS2V5Ym9hcmRTaG9ydGN1dCA9IGZ1bmN0
aW9uKGV2ZW50KQogewpAQCAtMTczNCwxNyArMTczNCwxNyBAQCBXZWJJbnNwZWN0b3IuX3JlZG9L
ZXlib2FyZFNob3J0Y3V0ID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIHRoaXMucmVkbygpOwog
ICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAgIH0KLX0KK307CiAKIFdlYkluc3Bl
Y3Rvci51bmRvID0gZnVuY3Rpb24oKQogewogICAgIERPTUFnZW50LnVuZG8oKTsKLX0KK307CiAK
IFdlYkluc3BlY3Rvci5yZWRvID0gZnVuY3Rpb24oKQogewogICAgIERPTUFnZW50LnJlZG8oKTsK
LX0KK307CiAKIFdlYkluc3BlY3Rvci5oaWdobGlnaHRSYW5nZXNXaXRoU3R5bGVDbGFzcyA9IGZ1
bmN0aW9uKGVsZW1lbnQsIHJlc3VsdFJhbmdlcywgc3R5bGVDbGFzcywgY2hhbmdlcykKIHsKQEAg
LTE4MjMsNyArMTgyMyw3IEBAIFdlYkluc3BlY3Rvci5oaWdobGlnaHRSYW5nZXNXaXRoU3R5bGVD
bGFzcyA9IGZ1bmN0aW9uKGVsZW1lbnQsIHJlc3VsdFJhbmdlcywgc3R5CiAKICAgICB9CiAgICAg
cmV0dXJuIGhpZ2hsaWdodE5vZGVzOwotfQorfTsKIAogV2ViSW5zcGVjdG9yLnJldmVydERvbUNo
YW5nZXMgPSBmdW5jdGlvbihkb21DaGFuZ2VzKQogewpAQCAtMTgzOSw3ICsxODM5LDcgQEAgV2Vi
SW5zcGVjdG9yLnJldmVydERvbUNoYW5nZXMgPSBmdW5jdGlvbihkb21DaGFuZ2VzKQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuYXJj
aGl2ZU1haW5GcmFtZSA9IGZ1bmN0aW9uKCkKIHsKQEAgLTE4NTcsNyArMTg1Nyw3IEBAIFdlYklu
c3BlY3Rvci5hcmNoaXZlTWFpbkZyYW1lID0gZnVuY3Rpb24oKQogICAgICAgICAgICAgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LnNhdmUodXJsLCBkYXRhLCB0cnVlLCB0cnVlKTsKICAgICAgICAgfS5i
aW5kKHRoaXMpKTsKICAgICB9LmJpbmQodGhpcyksIDMwMDApOwotfQorfTsKIAogV2ViSW5zcGVj
dG9yLmNhbkFyY2hpdmVNYWluRnJhbWUgPSBmdW5jdGlvbigpCiB7CkBAIC0xODY1LDcgKzE4NjUs
NyBAQCBXZWJJbnNwZWN0b3IuY2FuQXJjaGl2ZU1haW5GcmFtZSA9IGZ1bmN0aW9uKCkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5SZXNvdXJjZS50eXBl
RnJvbU1JTUVUeXBlKFdlYkluc3BlY3Rvci5mcmFtZVJlc291cmNlTWFuYWdlci5tYWluRnJhbWUu
bWFpblJlc291cmNlLm1pbWVUeXBlKSA9PT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuRG9j
dW1lbnQ7Ci19Cit9OwogCiBXZWJJbnNwZWN0b3IuYWRkV2luZG93S2V5ZG93bkxpc3RlbmVyID0g
ZnVuY3Rpb24obGlzdGVuZXIpCiB7CkBAIC0xODkwLDcgKzE4OTAsNyBAQCBXZWJJbnNwZWN0b3Iu
X3VwZGF0ZVdpbmRvd0tleWRvd25MaXN0ZW5lciA9IGZ1bmN0aW9uKCkKICAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCBXZWJJbnNwZWN0b3IuX3NoYXJlZFdpbmRvd0tl
eWRvd25MaXN0ZW5lciwgdHJ1ZSk7CiAgICAgZWxzZQogICAgICAgICB3aW5kb3cucmVtb3ZlRXZl
bnRMaXN0ZW5lcigia2V5ZG93biIsIFdlYkluc3BlY3Rvci5fc2hhcmVkV2luZG93S2V5ZG93bkxp
c3RlbmVyLCB0cnVlKTsKLX0KK307CiAKIFdlYkluc3BlY3Rvci5fc2hhcmVkV2luZG93S2V5ZG93
bkxpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnQpCiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>