<?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>65962</bug_id>
          
          <creation_ts>2011-08-09 22:53:48 -0700</creation_ts>
          <short_desc>Web Inspector: live edit both for JS and CSS is not discoverable.</short_desc>
          <delta_ts>2011-09-09 03:15:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448986</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-08-09 22:53:48 -0700</bug_when>
    <thetext>FB&apos;s Live Edit button makes it more explicit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464024</commentid>
    <comment_count>1</comment_count>
      <attachid>106730</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-09-08 07:13:46 -0700</bug_when>
    <thetext>Created attachment 106730
[PATCH] Suggested solution

This is the first take on the feature. The button placement seems a bit odd in the Resources panel, and suggestions on a better &quot;Live Edit&quot; glyph are most welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464027</commentid>
    <comment_count>2</comment_count>
      <attachid>106731</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-09-08 07:14:59 -0700</bug_when>
    <thetext>Created attachment 106731
[PATCH] Style fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464037</commentid>
    <comment_count>3</comment_count>
      <attachid>106730</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-08 07:38:44 -0700</bug_when>
    <thetext>Comment on attachment 106730
[PATCH] Suggested solution

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

&gt; Source/WebCore/ChangeLog:6
&gt; +	Add the &quot;Edit&quot; button to SourceFrame, so that resources/scripts can be edited both in the

Wrong alignment.

&gt; Source/WebCore/inspector/front-end/ScriptsPanel.js:1148
&gt; +    _toggleEditSource: function()

This is never called, r- for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464039</commentid>
    <comment_count>4</comment_count>
      <attachid>106731</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-08 07:44:07 -0700</bug_when>
    <thetext>Comment on attachment 106731
[PATCH] Style fixed

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

&gt; Source/WebCore/inspector/front-end/SourceFrame.js:47
&gt; +    this._editButton.addEventListener(&quot;click&quot;, this._editButtonClicked.bind(this, true), this);

_editButtonClicked expects no parameters, no need to bind it to &quot;true&quot;.

&gt; Source/WebCore/inspector/front-end/SourceFrame.js:838
&gt; +            if (!this.startEditing())

You can omit the if, just call the method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464043</commentid>
    <comment_count>5</comment_count>
      <attachid>106731</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-08 07:48:52 -0700</bug_when>
    <thetext>Comment on attachment 106731
[PATCH] Style fixed

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

&gt; Source/WebCore/inspector/front-end/TextViewer.js:922
&gt; +        this._container.focus();

Move this call after the check below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464048</commentid>
    <comment_count>6</comment_count>
      <attachid>106737</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-09-08 07:56:10 -0700</bug_when>
    <thetext>Created attachment 106737
[PATCH] Comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464050</commentid>
    <comment_count>7</comment_count>
      <attachid>106738</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-09-08 07:57:45 -0700</bug_when>
    <thetext>Created attachment 106738
[PATCH] Binary diff (with the changed glyph image)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464702</commentid>
    <comment_count>8</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-09-09 03:15:36 -0700</bug_when>
    <thetext>Committed r94842: &lt;http://trac.webkit.org/changeset/94842&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106730</attachid>
            <date>2011-09-08 07:13:46 -0700</date>
            <delta_ts>2011-09-08 07:56:10 -0700</delta_ts>
            <desc>[PATCH] Suggested solution</desc>
            <filename>buttonliveedit.patch</filename>
            <type>text/plain</type>
            <size>12532</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IDliYzkyOWE0MGU4YWNkNDJhY2I5YThkMzcxNzFlNmZjYTQ4OTYxOGUKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUdWUgU2VwIDYg
MTc6NDQ6MDEgMjAxMSArMDQwMAoKICAgIEZpeAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOTdkOWI0Li42MWM4ZDdjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBsaXZlIGVkaXQgYm90
aCBmb3IgSlMgYW5kIENTUyBpcyBub3QgZGlzY292ZXJhYmxlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRz
LXBhbmVsLmh0bWw6CisKIDIwMTEtMDktMDggIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdW01hY10gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRl
eCAwNTVhOGRjLi42Mzk3MDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTExLDYgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHZhciBtb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0KCk7CiAgICAgICAg
IG1vZGVsLmJyZWFrcG9pbnRzRm9yVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24oKSB7IHJldHVybiBb
XTsgfTsKICAgICAgICAgbW9kZWwubWVzc2FnZXNGb3JVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIFtdOyB9OworICAgICAgICBtb2RlbC5jYW5FZGl0U2NyaXB0U291cmNlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiB0cnVlOyB9OwogICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIGFkZFVJU291Y2VDb2RlKG1vZGVsLCB1cmwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc2
OTUxMzYuLmZjN2ExZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOSBAQAogMjAxMS0wOS0wOCAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGxpdmUgZWRpdCBib3RoIGZvciBKUyBhbmQgQ1NTIGlzIG5vdCBkaXNjb3ZlcmFi
bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2
MgorCisJQWRkIHRoZSAiRWRpdCIgYnV0dG9uIHRvIFNvdXJjZUZyYW1lLCBzbyB0aGF0IHJlc291
cmNlcy9zY3JpcHRzIGNhbiBiZSBlZGl0ZWQgYm90aCBpbiB0aGUKKwlSZXNvdXJjZXMgYW5kIHRo
ZSBTY3JpcHRzIHBhbmVscy4gVGhlIGJ1dHRvbiBpcyBncmF5ZWQgb3V0IGlmIHRoZSByZXNvdXJj
ZS9zY3JpcHQgaXMgbm90IGVkaXRhYmxlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc3RhdHVzYmFy
QnV0dG9uR2x5cGhzLnBuZzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FZGl0YWJsZVJlc291cmNlU291cmNlRnJh
bWUucHJvdG90eXBlLmNhbkVkaXRTb3VyY2UpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0c1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLnNldCB2aXNpYmxlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fdG9nZ2xlRWRpdFNvdXJjZSk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Tb3VyY2VGcmFtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90
eXBlLmdldCBzdGF0dXNCYXJJdGVtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJh
bWUucHJvdG90eXBlLl9pbml0aWFsaXplVGV4dFZpZXdlcik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9lZGl0QnV0dG9uQ2xpY2tlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmNhbkVkaXRTb3VyY2UpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5zdGFydEVkaXRpbmcpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5jb21taXRFZGl0aW5nKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX3NldFJlYWRPbmx5
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdhdGVGb3JTb3VyY2VGcmFt
ZS5wcm90b3R5cGUuZG91YmxlQ2xpY2spOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQv
VGV4dFZpZXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVs
LnByb3RvdHlwZS5zZXQgcmVhZE9ubHkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0
b3JNYWluUGFuZWwucHJvdG90eXBlLl91cGRhdGVTZWxlY3Rpb25PblN0YXJ0RWRpdGluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoYnV0
dG9uLmVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbSAuZ2x5cGgpOgorICAgICAgICAoYnV0dG9u
LmVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uIC5nbHlwaCk6CisKKzIwMTEt
MDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBbUkVHUkVTU0lPTl0gQ2xlYXIgY29uc29sZSBzaG9ydGN1dCBDdHJs
ICsgTCBicm9rZW4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY3NzExCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSW1hZ2VzL3N0YXR1c2JhckJ1dHRvbkdseXBocy5wbmcgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zdGF0dXNiYXJCdXR0b25HbHlwaHMucG5nCmluZGV4IGM0
OTg3ZjQuLmM2OGU5MzUgMTAwNjQ0CkJpbmFyeSBmaWxlcyBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW1hZ2VzL3N0YXR1c2JhckJ1dHRvbkdseXBocy5wbmcgYW5kIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5
cGhzLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9SZXNvdXJjZVZpZXcuanMKaW5kZXggZWQxMDEyMS4uZmRhODUxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKQEAgLTExOSwx
NiArMTE5LDkgQEAgV2ViSW5zcGVjdG9yLkVkaXRhYmxlUmVzb3VyY2VTb3VyY2VGcmFtZSA9IGZ1
bmN0aW9uKHJlc291cmNlKQogfQogCiBXZWJJbnNwZWN0b3IuRWRpdGFibGVSZXNvdXJjZVNvdXJj
ZUZyYW1lLnByb3RvdHlwZSA9IHsKLSAgICBkb3VibGVDbGljazogZnVuY3Rpb24obGluZU51bWJl
cikKKyAgICBjYW5FZGl0U291cmNlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMucmVzb3VyY2UuaXNFZGl0YWJsZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAg
IGlmICh0aGlzLl9jb21taXRFZGl0aW5nSW5Qcm9ncmVzcykKLSAgICAgICAgICAgIHJldHVybjsK
LQotICAgICAgICB0aGlzLl90ZXh0Vmlld2VyLnJlYWRPbmx5ID0gZmFsc2U7Ci0gICAgICAgIFdl
Ykluc3BlY3Rvci5tYXJrQmVpbmdFZGl0ZWQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50LCB0cnVl
KTsKKyAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuaXNFZGl0YWJsZSgpICYmICF0aGlzLl9j
b21taXRFZGl0aW5nSW5Qcm9ncmVzczsKICAgICB9LAogCiAgICAgZWRpdENvbnRlbnQ6IGZ1bmN0
aW9uKG5ld1RleHQsIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCBiMzA3YWZmLi4zMGM3MGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpA
QCAtMTUxLDYgKzE1MSw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwgPSBmdW5jdGlvbihw
cmVzZW50YXRpb25Nb2RlbCkKICAgICB0aGlzLl90b2dnbGVGb3JtYXRTb3VyY2VCdXR0b24udG9n
Z2xlZCA9IGZhbHNlOwogICAgIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZS5iaW5kKHRoaXMpLCBm
YWxzZSk7CiAKKyAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVzQmFySXRlbXNDb250YWluZXIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVz
QmFySXRlbXNDb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUtYmxvY2siOworCiAgICAg
dGhpcy5fZGVidWdnZXJFbmFibGVkID0gUHJlZmVyZW5jZXMuZGVidWdnZXJBbHdheXNFbmFibGVk
OwogCiAgICAgdGhpcy5yZXNldCgpOwpAQCAtMTk2LDcgKzE5OSw3IEBAIFdlYkluc3BlY3Rvci5T
Y3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHN0YXR1c0Jhckl0ZW1zKCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBbdGhpcy5lbmFibGVUb2dnbGVCdXR0b24uZWxlbWVudCwgdGhp
cy5fcGF1c2VPbkV4Y2VwdGlvbkJ1dHRvbi5lbGVtZW50LCB0aGlzLl90b2dnbGVGb3JtYXRTb3Vy
Y2VCdXR0b24uZWxlbWVudF07CisgICAgICAgIHJldHVybiBbdGhpcy5lbmFibGVUb2dnbGVCdXR0
b24uZWxlbWVudCwgdGhpcy5fcGF1c2VPbkV4Y2VwdGlvbkJ1dHRvbi5lbGVtZW50LCB0aGlzLl90
b2dnbGVGb3JtYXRTb3VyY2VCdXR0b24uZWxlbWVudCwgdGhpcy5fc2NyaXB0Vmlld1N0YXR1c0Jh
ckl0ZW1zQ29udGFpbmVyXTsKICAgICB9LAogCiAgICAgZ2V0IGRlZmF1bHRGb2N1c2VkRWxlbWVu
dCgpCkBAIC01OTAsOCArNTkzLDEzIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90
eXBlID0gewogCiAgICAgICAgIHRoaXMuX3Zpc2libGVWaWV3ID0geDsKIAotICAgICAgICBpZiAo
eCkKKyAgICAgICAgaWYgKHgpIHsKICAgICAgICAgICAgIHguc2hvdyh0aGlzLnZpZXdzQ29udGFp
bmVyRWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVzQmFySXRlbXND
b250YWluZXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHZhciBzdGF0dXNCYXJJdGVt
cyA9IHguc3RhdHVzQmFySXRlbXMgfHwgW107CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHN0YXR1c0Jhckl0ZW1zLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIHRoaXMuX3Nj
cmlwdFZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNCYXJJdGVt
c1tpXSk7CisgICAgICAgIH0KICAgICB9LAogCiAgICAgY2FuU2hvd0FuY2hvckxvY2F0aW9uOiBm
dW5jdGlvbihhbmNob3IpCkBAIC0xMTM3LDYgKzExNDUsMjMgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNl
dEZvcm1hdFNvdXJjZSh0aGlzLl90b2dnbGVGb3JtYXRTb3VyY2VCdXR0b24udG9nZ2xlZCk7CiAg
ICAgfSwKIAorICAgIF90b2dnbGVFZGl0U291cmNlOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICB2YXIgc291cmNlRnJhbWUgPSB0aGlzLnZpc2libGVWaWV3OworICAgICAgICBpZiAoIXNvdXJj
ZUZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBzaG91bGRTdGFydEVk
aXRpbmcgPSAhdGhpcy5fdG9nZ2xlRWRpdFNvdXJjZUJ1dHRvbi50b2dnbGVkOworICAgICAgICBp
ZiAoc2hvdWxkU3RhcnRFZGl0aW5nKSB7CisgICAgICAgICAgICBpZiAoc291cmNlRnJhbWUuY2Fu
RWRpdFNvdXJjZSgpKQorICAgICAgICAgICAgICAgIHNvdXJjZUZyYW1lLnN0YXJ0RWRpdGluZygp
OworICAgICAgICB9CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLnJlc2V0
KCk7CisgICAgICAgIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi50b2dnbGVkID0gIXRo
aXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi50b2dnbGVkOworICAgICAgICB0aGlzLl9wcmVz
ZW50YXRpb25Nb2RlbC5zZXRGb3JtYXRTb3VyY2UodGhpcy5fdG9nZ2xlRm9ybWF0U291cmNlQnV0
dG9uLnRvZ2dsZWQpOworICAgIH0sCisKICAgICBfY29udGV4dE1lbnU6IGZ1bmN0aW9uKGV2ZW50
KQogICAgIHsKICAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdlYkluc3BlY3Rvci5Db250
ZXh0TWVudSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Tb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291
cmNlRnJhbWUuanMKaW5kZXggYmNkNDE3YS4uYTNhMzZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCkBAIC00Myw2ICs0Myw5IEBA
IFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZSA9IGZ1bmN0aW9uKGRlbGVnYXRlLCB1cmwpCiAgICAg
dGhpcy5hZGRDaGlsZFZpZXcodGhpcy5fdGV4dFZpZXdlcik7CiAgICAgdGhpcy5lbGVtZW50LmFw
cGVuZENoaWxkKHRoaXMuX3RleHRWaWV3ZXIuZWxlbWVudCk7CiAKKyAgICB0aGlzLl9lZGl0QnV0
dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJFZGl0IiksICJlZGl0LXNvdXJjZS1zdGF0dXMtYmFyLWl0ZW0iKTsKKyAgICB0aGlzLl9l
ZGl0QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZWRpdEJ1dHRvbkNsaWNr
ZWQuYmluZCh0aGlzLCB0cnVlKSwgdGhpcyk7CisKICAgICB0aGlzLl9jdXJyZW50U2VhcmNoUmVz
dWx0SW5kZXggPSAtMTsKICAgICB0aGlzLl9zZWFyY2hSZXN1bHRzID0gW107CiAKQEAgLTk2LDYg
Kzk5LDExIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHRoaXMuX2NsZWFyTGluZUhpZ2hsaWdodCgpOwogICAgIH0sCiAKKyAgICBnZXQgc3RhdHVzQmFy
SXRlbXMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFt0aGlzLl9lZGl0QnV0dG9uLmVsZW1lbnRd
OworICAgIH0sCisKICAgICBnZXQgbG9hZGVkKCkKICAgICB7CiAgICAgICAgIHJldHVybiAhIXRo
aXMuX2NvbnRlbnQ7CkBAIC0zMDcsNiArMzE1LDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1l
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLlNvdXJjZUZyYW1lLkV2ZW50cy5Mb2FkZWQpOwogCiAgICAgICAgIHRoaXMuX3Rl
eHRWaWV3ZXIuZW5kVXBkYXRlcygpOworCisgICAgICAgIGlmICghdGhpcy5jYW5FZGl0U291cmNl
KCkpCisgICAgICAgICAgICB0aGlzLl9lZGl0QnV0dG9uLmRpc2FibGVkID0gdHJ1ZTsKICAgICB9
LAogCiAgICAgX3NldFRleHRWaWV3ZXJEZWNvcmF0aW9uczogZnVuY3Rpb24oKQpAQCAtODE2LDE1
ICs4MjcsMzUgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgdGhpcy5fdGV4dFZpZXdlci5pbmhlcml0U2Nyb2xsUG9zaXRpb25zKHNvdXJjZUZyYW1lLl90
ZXh0Vmlld2VyKTsKICAgICB9LAogCi0gICAgZG91YmxlQ2xpY2s6IGZ1bmN0aW9uKGxpbmVOdW1i
ZXIpCisgICAgX2VkaXRCdXR0b25DbGlja2VkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBp
ZiAoIXRoaXMuX2RlbGVnYXRlLmNhbkVkaXRTY3JpcHRTb3VyY2UoKSkKKyAgICAgICAgdmFyIHNo
b3VsZFN0YXJ0RWRpdGluZyA9ICF0aGlzLl9lZGl0QnV0dG9uLnRvZ2dsZWQ7CisKKyAgICAgICAg
aWYgKCF0aGlzLmNhbkVkaXRTb3VyY2UoKSkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAg
ICBpZiAoc2hvdWxkU3RhcnRFZGl0aW5nKSB7CisgICAgICAgICAgICBpZiAoIXRoaXMuc3RhcnRF
ZGl0aW5nKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgIHRoaXMuY29tbWl0RWRpdGluZygpOworICAgIH0sCisKKyAgICBjYW5FZGl0U291cmNl
OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2FuRWRp
dFNjcmlwdFNvdXJjZSgpOworICAgIH0sCisKKyAgICBzdGFydEVkaXRpbmc6IGZ1bmN0aW9uKGxp
bmVOdW1iZXIpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdFNvdXJjZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmICh0aGlzLl9jb21taXRFZGl0aW5n
SW5Qcm9ncmVzcykKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgICAgICB0aGlzLl9zZXRSZWFkT25seShmYWxzZSk7CisgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0sCiAKICAgICBjb21taXRFZGl0aW5nOiBmdW5jdGlvbigpCkBAIC04NjcsNiAr
ODk4LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAg
fQogICAgICAgICB0aGlzLl9jb21taXRFZGl0aW5nSW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAg
IHRoaXMuX3RleHRWaWV3ZXIucmVhZE9ubHkgPSB0cnVlOworICAgICAgICB0aGlzLl9lZGl0QnV0
dG9uLnRvZ2dsZWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5lZGl0Q29udGVudCh0aGlzLl90ZXh0
TW9kZWwudGV4dCwgZGlkRWRpdENvbnRlbnQuYmluZCh0aGlzKSk7CiAgICAgfSwKIApAQCAtODg3
LDYgKzkxOSw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICB0aGlzLl9wb3BvdmVySGVscGVyLmhpZGVQb3BvdmVyKCk7CiAKICAgICAgICAgdGhp
cy5fdGV4dFZpZXdlci5yZWFkT25seSA9IHJlYWRPbmx5OworICAgICAgICB0aGlzLl9lZGl0QnV0
dG9uLnRvZ2dsZWQgPSAhcmVhZE9ubHk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5tYXJrQmVpbmdF
ZGl0ZWQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50LCAhcmVhZE9ubHkpOwogICAgICAgICBpZiAo
cmVhZE9ubHkpCiAgICAgICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5zZXRTY3JpcHRTb3VyY2VJc0Jl
aW5nRWRpdGVkKGZhbHNlKTsKQEAgLTkwNCw3ICs5MzcsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dFZp
ZXdlckRlbGVnYXRlRm9yU291cmNlRnJhbWUgPSBmdW5jdGlvbihzb3VyY2VGcmFtZSkKIFdlYklu
c3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdhdGVGb3JTb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAg
ICAgZG91YmxlQ2xpY2s6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCiAgICAgewotICAgICAgICB0aGlz
Ll9zb3VyY2VGcmFtZS5kb3VibGVDbGljayhsaW5lTnVtYmVyKTsKKyAgICAgICAgdGhpcy5fc291
cmNlRnJhbWUuc3RhcnRFZGl0aW5nKGxpbmVOdW1iZXIpOwogICAgIH0sCiAKICAgICBiZWZvcmVU
ZXh0Q2hhbmdlZDogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UZXh0Vmlld2VyLmpzCmluZGV4IDBhNjFkMDkuLjcyZDYxZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKQEAgLTkwNSw4
ICs5MDUsMTAgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9yZWFkT25seSA9IHJlYWRPbmx5OwogICAgICAgICBpZiAodGhpcy5f
cmVhZE9ubHkpCiAgICAgICAgICAgICB0aGlzLl9jb250YWluZXIucmVtb3ZlU3R5bGVDbGFzcygi
dGV4dC1lZGl0b3ItZWRpdGFibGUiKTsKLSAgICAgICAgZWxzZQorICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgIHRoaXMuX2NvbnRhaW5lci5hZGRTdHlsZUNsYXNzKCJ0ZXh0LWVkaXRvci1lZGl0
YWJsZSIpOworICAgICAgICAgICAgdGhpcy5fdXBkYXRlU2VsZWN0aW9uT25TdGFydEVkaXRpbmco
KTsKKyAgICAgICAgfQogICAgICAgICB0aGlzLmVuZERvbVVwZGF0ZXMoKTsKICAgICB9LAogCkBA
IC05MTUsNiArOTE3LDIwIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFpblBhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRPbmx5OwogICAgIH0sCiAKKyAgICBf
dXBkYXRlU2VsZWN0aW9uT25TdGFydEVkaXRpbmc6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2NvbnRhaW5lci5mb2N1cygpOworICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93
LmdldFNlbGVjdGlvbigpOworICAgICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgdGhp
cy5fY29udGFpbmVyLmlzQW5jZXN0b3Ioc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuY29tbW9uQW5j
ZXN0b3JDb250YWluZXIpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNlbGVjdGlv
bi5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKTsKKyAgICAgICAgcmFuZ2Uuc2V0U3RhcnQodGhpcy5fY29udGFpbmVyLCAwKTsKKyAg
ICAgICAgcmFuZ2Uuc2V0RW5kKHRoaXMuX2NvbnRhaW5lciwgMCk7CisgICAgICAgIHNlbGVjdGlv
bi5hZGRSYW5nZShyYW5nZSk7CisgICAgfSwKKwogICAgIHNldEVkaXRhYmxlUmFuZ2U6IGZ1bmN0
aW9uKHN0YXJ0TGluZSwgZW5kTGluZSkKICAgICB7CiAgICAgICAgIHRoaXMuYmVnaW5Eb21VcGRh
dGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3MKaW5kZXggNjIxMTI3Ny4uNjQ0YTY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjM3Nyw2ICsyMzc3LDE0IEBAIGJ1
dHRvbi5lbmFibGUtdG9nZ2xlLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uIC5nbHlwaCB7CiAg
ICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAtOTZweCAtMjRweDsKIH0KIAorYnV0dG9uLmVkaXQt
c291cmNlLXN0YXR1cy1iYXItaXRlbSAuZ2x5cGggeworICAgIC13ZWJraXQtbWFzay1wb3NpdGlv
bjogLTY0cHggLTQ4cHg7Cit9CisKK2J1dHRvbi5lZGl0LXNvdXJjZS1zdGF0dXMtYmFyLWl0ZW0u
dG9nZ2xlZC1vbiAuZ2x5cGggeworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2NiwgMTI5LCAy
MzUpOworfQorCiAuc2NyaXB0cy1wYXVzZS1vbi1leGNlcHRpb25zLXN0YXR1cy1iYXItaXRlbSAu
Z2x5cGggewogICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogLTI1NnB4IDA7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106731</attachid>
            <date>2011-09-08 07:14:59 -0700</date>
            <delta_ts>2011-09-08 07:56:10 -0700</delta_ts>
            <desc>[PATCH] Style fixed</desc>
            <filename>buttonliveedit.patch</filename>
            <type>text/plain</type>
            <size>12546</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IGQ0OTU3YTEzODY0M2NmNjg5M2IwOTA1YzQ5YmNkYTQ4ODY1ZWJlMDcKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUdWUgU2VwIDYg
MTc6NDQ6MDEgMjAxMSArMDQwMAoKICAgIEZpeAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOTdkOWI0Li42MWM4ZDdjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBsaXZlIGVkaXQgYm90
aCBmb3IgSlMgYW5kIENTUyBpcyBub3QgZGlzY292ZXJhYmxlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRz
LXBhbmVsLmh0bWw6CisKIDIwMTEtMDktMDggIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdW01hY10gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRl
eCAwNTVhOGRjLi42Mzk3MDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTExLDYgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHZhciBtb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0KCk7CiAgICAgICAg
IG1vZGVsLmJyZWFrcG9pbnRzRm9yVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24oKSB7IHJldHVybiBb
XTsgfTsKICAgICAgICAgbW9kZWwubWVzc2FnZXNGb3JVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIFtdOyB9OworICAgICAgICBtb2RlbC5jYW5FZGl0U2NyaXB0U291cmNlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiB0cnVlOyB9OwogICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIGFkZFVJU291Y2VDb2RlKG1vZGVsLCB1cmwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc2
OTUxMzYuLmM3ZjM3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOSBAQAogMjAxMS0wOS0wOCAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGxpdmUgZWRpdCBib3RoIGZvciBKUyBhbmQgQ1NTIGlzIG5vdCBkaXNjb3ZlcmFi
bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2
MgorCisgICAgICAgIEFkZCB0aGUgIkVkaXQiIGJ1dHRvbiB0byBTb3VyY2VGcmFtZSwgc28gdGhh
dCByZXNvdXJjZXMvc2NyaXB0cyBjYW4gYmUgZWRpdGVkIGJvdGggaW4gdGhlCisgICAgICAgIFJl
c291cmNlcyBhbmQgdGhlIFNjcmlwdHMgcGFuZWxzLiBUaGUgYnV0dG9uIGlzIGdyYXllZCBvdXQg
aWYgdGhlIHJlc291cmNlL3NjcmlwdCBpcyBub3QgZWRpdGFibGUuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zdGF0dXNiYXJCdXR0b25HbHlwaHMucG5nOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVkaXRhYmxlUmVz
b3VyY2VTb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNvdXJjZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0c1BhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2V0IHZpc2libGVWaWV3KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLl90b2dnbGVFZGl0U291cmNl
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2luaXRpYWxpemVUZXh0Vmlld2VyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2VkaXRCdXR0b25DbGlja2Vk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNv
dXJjZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnN0YXJ0
RWRpdGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmNv
bW1pdEVkaXRpbmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlw
ZS5fc2V0UmVhZE9ubHkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0
ZUZvclNvdXJjZUZyYW1lLnByb3RvdHlwZS5kb3VibGVDbGljayk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlLnNldCByZWFkT25seSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGV4dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX3VwZGF0ZVNlbGVjdGlvbk9uU3Rh
cnRFZGl0aW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6
CisgICAgICAgIChidXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtIC5nbHlwaCk6Cisg
ICAgICAgIChidXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24gLmds
eXBoKToKKworMjAxMS0wOS0wOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSRUdSRVNTSU9OXSBDbGVhciBjb25zb2xl
IHNob3J0Y3V0IEN0cmwgKyBMIGJyb2tlbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MTEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5cGhzLnBuZyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3N0YXR1c2JhckJ1dHRvbkdseXBo
cy5wbmcKaW5kZXggYzQ5ODdmNC4uYzY4ZTkzNSAxMDA2NDQKQmluYXJ5IGZpbGVzIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5cGhz
LnBuZyBhbmQgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zdGF0
dXNiYXJCdXR0b25HbHlwaHMucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcwppbmRleCBlZDEwMTIxLi5mZGE4NTExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmll
dy5qcwpAQCAtMTE5LDE2ICsxMTksOSBAQCBXZWJJbnNwZWN0b3IuRWRpdGFibGVSZXNvdXJjZVNv
dXJjZUZyYW1lID0gZnVuY3Rpb24ocmVzb3VyY2UpCiB9CiAKIFdlYkluc3BlY3Rvci5FZGl0YWJs
ZVJlc291cmNlU291cmNlRnJhbWUucHJvdG90eXBlID0gewotICAgIGRvdWJsZUNsaWNrOiBmdW5j
dGlvbihsaW5lTnVtYmVyKQorICAgIGNhbkVkaXRTb3VyY2U6IGZ1bmN0aW9uKCkKICAgICB7Ci0g
ICAgICAgIGlmICghdGhpcy5yZXNvdXJjZS5pc0VkaXRhYmxlKCkpCi0gICAgICAgICAgICByZXR1
cm47Ci0KLSAgICAgICAgaWYgKHRoaXMuX2NvbW1pdEVkaXRpbmdJblByb2dyZXNzKQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3RleHRWaWV3ZXIucmVhZE9ubHkgPSBmYWxz
ZTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLm1hcmtCZWluZ0VkaXRlZCh0aGlzLl90ZXh0Vmlld2Vy
LmVsZW1lbnQsIHRydWUpOworICAgICAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5pc0VkaXRhYmxl
KCkgJiYgIXRoaXMuX2NvbW1pdEVkaXRpbmdJblByb2dyZXNzOwogICAgIH0sCiAKICAgICBlZGl0
Q29udGVudDogZnVuY3Rpb24obmV3VGV4dCwgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGIzMDdhZmYuLjMw
YzcwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0c1BhbmVsLmpzCkBAIC0xNTEsNiArMTUxLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bCA9IGZ1bmN0aW9uKHByZXNlbnRhdGlvbk1vZGVsKQogICAgIHRoaXMuX3RvZ2dsZUZvcm1hdFNv
dXJjZUJ1dHRvbi50b2dnbGVkID0gZmFsc2U7CiAgICAgdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNl
QnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNl
LmJpbmQodGhpcyksIGZhbHNlKTsKIAorICAgIHRoaXMuX3NjcmlwdFZpZXdTdGF0dXNCYXJJdGVt
c0NvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHRoaXMuX3Nj
cmlwdFZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gImlubGluZS1i
bG9jayI7CisKICAgICB0aGlzLl9kZWJ1Z2dlckVuYWJsZWQgPSBQcmVmZXJlbmNlcy5kZWJ1Z2dl
ckFsd2F5c0VuYWJsZWQ7CiAKICAgICB0aGlzLnJlc2V0KCk7CkBAIC0xOTYsNyArMTk5LDcgQEAg
V2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVz
QmFySXRlbXMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFt0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRv
bi5lbGVtZW50LCB0aGlzLl9wYXVzZU9uRXhjZXB0aW9uQnV0dG9uLmVsZW1lbnQsIHRoaXMuX3Rv
Z2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi5lbGVtZW50XTsKKyAgICAgICAgcmV0dXJuIFt0aGlzLmVu
YWJsZVRvZ2dsZUJ1dHRvbi5lbGVtZW50LCB0aGlzLl9wYXVzZU9uRXhjZXB0aW9uQnV0dG9uLmVs
ZW1lbnQsIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi5lbGVtZW50LCB0aGlzLl9zY3Jp
cHRWaWV3U3RhdHVzQmFySXRlbXNDb250YWluZXJdOwogICAgIH0sCiAKICAgICBnZXQgZGVmYXVs
dEZvY3VzZWRFbGVtZW50KCkKQEAgLTU5MCw4ICs1OTMsMTMgQEAgV2ViSW5zcGVjdG9yLlNjcmlw
dHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdmlzaWJsZVZpZXcgPSB4Owog
Ci0gICAgICAgIGlmICh4KQorICAgICAgICBpZiAoeCkgewogICAgICAgICAgICAgeC5zaG93KHRo
aXMudmlld3NDb250YWluZXJFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX3NjcmlwdFZpZXdT
dGF0dXNCYXJJdGVtc0NvbnRhaW5lci5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgdmFy
IHN0YXR1c0Jhckl0ZW1zID0geC5zdGF0dXNCYXJJdGVtcyB8fCBbXTsKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCisgICAgICAgICAg
ICAgICAgdGhpcy5fc2NyaXB0Vmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLmFwcGVuZENoaWxk
KHN0YXR1c0Jhckl0ZW1zW2ldKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICBjYW5TaG93QW5j
aG9yTG9jYXRpb246IGZ1bmN0aW9uKGFuY2hvcikKQEAgLTExMzcsNiArMTE0NSwyMyBAQCBXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcHJlc2Vu
dGF0aW9uTW9kZWwuc2V0Rm9ybWF0U291cmNlKHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRv
bi50b2dnbGVkKTsKICAgICB9LAogCisgICAgX3RvZ2dsZUVkaXRTb3VyY2U6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHZhciBzb3VyY2VGcmFtZSA9IHRoaXMudmlzaWJsZVZpZXc7CisgICAg
ICAgIGlmICghc291cmNlRnJhbWUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFy
IHNob3VsZFN0YXJ0RWRpdGluZyA9ICF0aGlzLl90b2dnbGVFZGl0U291cmNlQnV0dG9uLnRvZ2ds
ZWQ7CisgICAgICAgIGlmIChzaG91bGRTdGFydEVkaXRpbmcpIHsKKyAgICAgICAgICAgIGlmIChz
b3VyY2VGcmFtZS5jYW5FZGl0U291cmNlKCkpCisgICAgICAgICAgICAgICAgc291cmNlRnJhbWUu
c3RhcnRFZGl0aW5nKCk7CisgICAgICAgIH0KKworICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnNjcmlwdHMucmVzZXQoKTsKKyAgICAgICAgdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNlQnV0dG9u
LnRvZ2dsZWQgPSAhdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNlQnV0dG9uLnRvZ2dsZWQ7CisgICAg
ICAgIHRoaXMuX3ByZXNlbnRhdGlvbk1vZGVsLnNldEZvcm1hdFNvdXJjZSh0aGlzLl90b2dnbGVG
b3JtYXRTb3VyY2VCdXR0b24udG9nZ2xlZCk7CisgICAgfSwKKwogICAgIF9jb250ZXh0TWVudTog
ZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgY29udGV4dE1lbnUgPSBuZXcgV2Vi
SW5zcGVjdG9yLkNvbnRleHRNZW51KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwppbmRleCBiY2Q0MTdhLi5hM2EzNmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAg
LTQzLDYgKzQzLDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lID0gZnVuY3Rpb24oZGVsZWdh
dGUsIHVybCkKICAgICB0aGlzLmFkZENoaWxkVmlldyh0aGlzLl90ZXh0Vmlld2VyKTsKICAgICB0
aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50KTsKIAorICAg
IHRoaXMuX2VkaXRCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkVkaXQiKSwgImVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbSIp
OworICAgIHRoaXMuX2VkaXRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9l
ZGl0QnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMsIHRydWUpLCB0aGlzKTsKKwogICAgIHRoaXMuX2N1
cnJlbnRTZWFyY2hSZXN1bHRJbmRleCA9IC0xOwogICAgIHRoaXMuX3NlYXJjaFJlc3VsdHMgPSBb
XTsKIApAQCAtOTYsNiArOTksMTEgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgdGhpcy5fY2xlYXJMaW5lSGlnaGxpZ2h0KCk7CiAgICAgfSwKIAorICAg
IGdldCBzdGF0dXNCYXJJdGVtcygpCisgICAgeworICAgICAgICByZXR1cm4gW3RoaXMuX2VkaXRC
dXR0b24uZWxlbWVudF07CisgICAgfSwKKwogICAgIGdldCBsb2FkZWQoKQogICAgIHsKICAgICAg
ICAgcmV0dXJuICEhdGhpcy5fY29udGVudDsKQEAgLTMwNyw2ICszMTUsOSBAQCBXZWJJbnNwZWN0
b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUuRXZlbnRzLkxvYWRlZCk7CiAKICAg
ICAgICAgdGhpcy5fdGV4dFZpZXdlci5lbmRVcGRhdGVzKCk7CisKKyAgICAgICAgaWYgKCF0aGlz
LmNhbkVkaXRTb3VyY2UoKSkKKyAgICAgICAgICAgIHRoaXMuX2VkaXRCdXR0b24uZGlzYWJsZWQg
PSB0cnVlOwogICAgIH0sCiAKICAgICBfc2V0VGV4dFZpZXdlckRlY29yYXRpb25zOiBmdW5jdGlv
bigpCkBAIC04MTYsMTUgKzgyNywzNSBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl90ZXh0Vmlld2VyLmluaGVyaXRTY3JvbGxQb3NpdGlvbnMo
c291cmNlRnJhbWUuX3RleHRWaWV3ZXIpOwogICAgIH0sCiAKLSAgICBkb3VibGVDbGljazogZnVu
Y3Rpb24obGluZU51bWJlcikKKyAgICBfZWRpdEJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKCkKICAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy5fZGVsZWdhdGUuY2FuRWRpdFNjcmlwdFNvdXJjZSgpKQor
ICAgICAgICB2YXIgc2hvdWxkU3RhcnRFZGl0aW5nID0gIXRoaXMuX2VkaXRCdXR0b24udG9nZ2xl
ZDsKKworICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdFNvdXJjZSgpKQogICAgICAgICAgICAgcmV0
dXJuOwogCisgICAgICAgIGlmIChzaG91bGRTdGFydEVkaXRpbmcpIHsKKyAgICAgICAgICAgIGlm
ICghdGhpcy5zdGFydEVkaXRpbmcoKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgdGhpcy5jb21taXRFZGl0aW5nKCk7CisgICAgfSwKKworICAg
IGNhbkVkaXRTb3VyY2U6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9k
ZWxlZ2F0ZS5jYW5FZGl0U2NyaXB0U291cmNlKCk7CisgICAgfSwKKworICAgIHN0YXJ0RWRpdGlu
ZzogZnVuY3Rpb24obGluZU51bWJlcikKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5jYW5FZGl0
U291cmNlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaWYgKHRoaXMu
X2NvbW1pdEVkaXRpbmdJblByb2dyZXNzKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIHRoaXMuX3NldFJlYWRPbmx5KGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSwKIAogICAgIGNvbW1pdEVkaXRpbmc6IGZ1bmN0aW9u
KCkKQEAgLTg2Nyw2ICs4OTgsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBl
ID0gewogICAgICAgICB9CiAgICAgICAgIHRoaXMuX2NvbW1pdEVkaXRpbmdJblByb2dyZXNzID0g
dHJ1ZTsKICAgICAgICAgdGhpcy5fdGV4dFZpZXdlci5yZWFkT25seSA9IHRydWU7CisgICAgICAg
IHRoaXMuX2VkaXRCdXR0b24udG9nZ2xlZCA9IGZhbHNlOwogICAgICAgICB0aGlzLmVkaXRDb250
ZW50KHRoaXMuX3RleHRNb2RlbC50ZXh0LCBkaWRFZGl0Q29udGVudC5iaW5kKHRoaXMpKTsKICAg
ICB9LAogCkBAIC04ODcsNiArOTE5LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJIZWxwZXIuaGlkZVBvcG92ZXIoKTsK
IAogICAgICAgICB0aGlzLl90ZXh0Vmlld2VyLnJlYWRPbmx5ID0gcmVhZE9ubHk7CisgICAgICAg
IHRoaXMuX2VkaXRCdXR0b24udG9nZ2xlZCA9ICFyZWFkT25seTsKICAgICAgICAgV2ViSW5zcGVj
dG9yLm1hcmtCZWluZ0VkaXRlZCh0aGlzLl90ZXh0Vmlld2VyLmVsZW1lbnQsICFyZWFkT25seSk7
CiAgICAgICAgIGlmIChyZWFkT25seSkKICAgICAgICAgICAgIHRoaXMuX2RlbGVnYXRlLnNldFNj
cmlwdFNvdXJjZUlzQmVpbmdFZGl0ZWQoZmFsc2UpOwpAQCAtOTA0LDcgKzkzNyw3IEBAIFdlYklu
c3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdhdGVGb3JTb3VyY2VGcmFtZSA9IGZ1bmN0aW9uKHNvdXJj
ZUZyYW1lKQogV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0ZUZvclNvdXJjZUZyYW1lLnBy
b3RvdHlwZSA9IHsKICAgICBkb3VibGVDbGljazogZnVuY3Rpb24obGluZU51bWJlcikKICAgICB7
Ci0gICAgICAgIHRoaXMuX3NvdXJjZUZyYW1lLmRvdWJsZUNsaWNrKGxpbmVOdW1iZXIpOworICAg
ICAgICB0aGlzLl9zb3VyY2VGcmFtZS5zdGFydEVkaXRpbmcobGluZU51bWJlcik7CiAgICAgfSwK
IAogICAgIGJlZm9yZVRleHRDaGFuZ2VkOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKaW5kZXggMGE2MWQwOS4uNzJkNjFm
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmll
d2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdl
ci5qcwpAQCAtOTA1LDggKzkwNSwxMCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1haW5QYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHk7CiAgICAg
ICAgIGlmICh0aGlzLl9yZWFkT25seSkKICAgICAgICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1v
dmVTdHlsZUNsYXNzKCJ0ZXh0LWVkaXRvci1lZGl0YWJsZSIpOwotICAgICAgICBlbHNlCisgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyLmFkZFN0eWxlQ2xhc3MoInRl
eHQtZWRpdG9yLWVkaXRhYmxlIik7CisgICAgICAgICAgICB0aGlzLl91cGRhdGVTZWxlY3Rpb25P
blN0YXJ0RWRpdGluZygpOworICAgICAgICB9CiAgICAgICAgIHRoaXMuZW5kRG9tVXBkYXRlcygp
OwogICAgIH0sCiAKQEAgLTkxNSw2ICs5MTcsMjAgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JN
YWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fcmVhZE9ubHk7CiAg
ICAgfSwKIAorICAgIF91cGRhdGVTZWxlY3Rpb25PblN0YXJ0RWRpdGluZzogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyLmZvY3VzKCk7CisgICAgICAgIHZhciBzZWxl
Y3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgICAgIGlmIChzZWxlY3Rpb24ucmFu
Z2VDb3VudCAmJiB0aGlzLl9jb250YWluZXIuaXNBbmNlc3RvcihzZWxlY3Rpb24uZ2V0UmFuZ2VB
dCgwKS5jb21tb25BbmNlc3RvckNvbnRhaW5lcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpOworICAgICAgICB2YXIgcmFuZ2UgPSBk
b2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgICAgICByYW5nZS5zZXRTdGFydCh0aGlzLl9jb250
YWluZXIsIDApOworICAgICAgICByYW5nZS5zZXRFbmQodGhpcy5fY29udGFpbmVyLCAwKTsKKyAg
ICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKKyAgICB9LAorCiAgICAgc2V0RWRpdGFi
bGVSYW5nZTogZnVuY3Rpb24oc3RhcnRMaW5lLCBlbmRMaW5lKQogICAgIHsKICAgICAgICAgdGhp
cy5iZWdpbkRvbVVwZGF0ZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCA2MjExMjc3Li42NDRhNjg2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0yMzc3LDYg
KzIzNzcsMTQgQEAgYnV0dG9uLmVuYWJsZS10b2dnbGUtc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQt
b24gLmdseXBoIHsKICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IC05NnB4IC0yNHB4OwogfQog
CitidXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtIC5nbHlwaCB7CisgICAgLXdlYmtp
dC1tYXNrLXBvc2l0aW9uOiAtNjRweCAtNDhweDsKK30KKworYnV0dG9uLmVkaXQtc291cmNlLXN0
YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uIC5nbHlwaCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
cmdiKDY2LCAxMjksIDIzNSk7Cit9CisKIC5zY3JpcHRzLXBhdXNlLW9uLWV4Y2VwdGlvbnMtc3Rh
dHVzLWJhci1pdGVtIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAtMjU2cHgg
MDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106737</attachid>
            <date>2011-09-08 07:56:10 -0700</date>
            <delta_ts>2011-09-08 07:57:45 -0700</delta_ts>
            <desc>[PATCH] Comments addressed</desc>
            <filename>buttonliveedit.patch</filename>
            <type>text/plain</type>
            <size>11590</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IDU5NGI2Mzg5NTY0ZGNkYjdlMjE0NjkwNmZlNzhmNzE3YTFiOGIyMjgKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUdWUgU2VwIDYg
MTc6NDQ6MDEgMjAxMSArMDQwMAoKICAgIEZpeAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOTdkOWI0Li42MWM4ZDdjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBsaXZlIGVkaXQgYm90
aCBmb3IgSlMgYW5kIENTUyBpcyBub3QgZGlzY292ZXJhYmxlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRz
LXBhbmVsLmh0bWw6CisKIDIwMTEtMDktMDggIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdW01hY10gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRl
eCAwNTVhOGRjLi42Mzk3MDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTExLDYgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHZhciBtb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0KCk7CiAgICAgICAg
IG1vZGVsLmJyZWFrcG9pbnRzRm9yVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24oKSB7IHJldHVybiBb
XTsgfTsKICAgICAgICAgbW9kZWwubWVzc2FnZXNGb3JVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIFtdOyB9OworICAgICAgICBtb2RlbC5jYW5FZGl0U2NyaXB0U291cmNlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiB0cnVlOyB9OwogICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIGFkZFVJU291Y2VDb2RlKG1vZGVsLCB1cmwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc2
OTUxMzYuLmI2OGU5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOCBAQAogMjAxMS0wOS0wOCAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGxpdmUgZWRpdCBib3RoIGZvciBKUyBhbmQgQ1NTIGlzIG5vdCBkaXNjb3ZlcmFi
bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2
MgorCisgICAgICAgIEFkZCB0aGUgIkVkaXQiIGJ1dHRvbiB0byBTb3VyY2VGcmFtZSwgc28gdGhh
dCByZXNvdXJjZXMvc2NyaXB0cyBjYW4gYmUgZWRpdGVkIGJvdGggaW4gdGhlCisgICAgICAgIFJl
c291cmNlcyBhbmQgdGhlIFNjcmlwdHMgcGFuZWxzLiBUaGUgYnV0dG9uIGlzIGdyYXllZCBvdXQg
aWYgdGhlIHJlc291cmNlL3NjcmlwdCBpcyBub3QgZWRpdGFibGUuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zdGF0dXNiYXJCdXR0b25HbHlwaHMucG5nOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVkaXRhYmxlUmVz
b3VyY2VTb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNvdXJjZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0c1BhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2V0IHZpc2libGVWaWV3KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuX2luaXRpYWxpemVUZXh0Vmlld2VyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2VkaXRCdXR0b25DbGlja2VkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNvdXJjZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnN0YXJ0RWRpdGluZyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmNvbW1pdEVkaXRp
bmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5fc2V0UmVh
ZE9ubHkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0ZUZvclNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5kb3VibGVDbGljayk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWlu
UGFuZWwucHJvdG90eXBlLnNldCByZWFkT25seSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX3VwZGF0ZVNlbGVjdGlvbk9uU3RhcnRFZGl0aW5n
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAgICAg
IChidXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtIC5nbHlwaCk6CisgICAgICAgIChi
dXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24gLmdseXBoKToKKwor
MjAxMS0wOS0wOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSRUdSRVNTSU9OXSBDbGVhciBjb25zb2xlIHNob3J0Y3V0
IEN0cmwgKyBMIGJyb2tlbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc3MTEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5cGhzLnBuZyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3N0YXR1c2JhckJ1dHRvbkdseXBocy5wbmcKaW5k
ZXggYzQ5ODdmNC4uYzY4ZTkzNSAxMDA2NDQKQmluYXJ5IGZpbGVzIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5cGhzLnBuZyBhbmQg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ltYWdlcy9zdGF0dXNiYXJCdXR0
b25HbHlwaHMucG5nIGRpZmZlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlVmlldy5qcwppbmRleCBlZDEwMTIxLi5mZGE4NTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcwpAQCAt
MTE5LDE2ICsxMTksOSBAQCBXZWJJbnNwZWN0b3IuRWRpdGFibGVSZXNvdXJjZVNvdXJjZUZyYW1l
ID0gZnVuY3Rpb24ocmVzb3VyY2UpCiB9CiAKIFdlYkluc3BlY3Rvci5FZGl0YWJsZVJlc291cmNl
U291cmNlRnJhbWUucHJvdG90eXBlID0gewotICAgIGRvdWJsZUNsaWNrOiBmdW5jdGlvbihsaW5l
TnVtYmVyKQorICAgIGNhbkVkaXRTb3VyY2U6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlm
ICghdGhpcy5yZXNvdXJjZS5pc0VkaXRhYmxlKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgaWYgKHRoaXMuX2NvbW1pdEVkaXRpbmdJblByb2dyZXNzKQotICAgICAgICAgICAgcmV0
dXJuOwotCi0gICAgICAgIHRoaXMuX3RleHRWaWV3ZXIucmVhZE9ubHkgPSBmYWxzZTsKLSAgICAg
ICAgV2ViSW5zcGVjdG9yLm1hcmtCZWluZ0VkaXRlZCh0aGlzLl90ZXh0Vmlld2VyLmVsZW1lbnQs
IHRydWUpOworICAgICAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5pc0VkaXRhYmxlKCkgJiYgIXRo
aXMuX2NvbW1pdEVkaXRpbmdJblByb2dyZXNzOwogICAgIH0sCiAKICAgICBlZGl0Q29udGVudDog
ZnVuY3Rpb24obmV3VGV4dCwgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IGIzMDdhZmYuLjk4YThjYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVs
LmpzCkBAIC0xNTEsNiArMTUxLDkgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbCA9IGZ1bmN0
aW9uKHByZXNlbnRhdGlvbk1vZGVsKQogICAgIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRv
bi50b2dnbGVkID0gZmFsc2U7CiAgICAgdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNlQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlRm9ybWF0U291cmNlLmJpbmQodGhp
cyksIGZhbHNlKTsKIAorICAgIHRoaXMuX3NjcmlwdFZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5l
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHRoaXMuX3NjcmlwdFZpZXdT
dGF0dXNCYXJJdGVtc0NvbnRhaW5lci5zdHlsZS5kaXNwbGF5ID0gImlubGluZS1ibG9jayI7CisK
ICAgICB0aGlzLl9kZWJ1Z2dlckVuYWJsZWQgPSBQcmVmZXJlbmNlcy5kZWJ1Z2dlckFsd2F5c0Vu
YWJsZWQ7CiAKICAgICB0aGlzLnJlc2V0KCk7CkBAIC0xOTYsNyArMTk5LDcgQEAgV2ViSW5zcGVj
dG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMo
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIFt0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRvbi5lbGVtZW50
LCB0aGlzLl9wYXVzZU9uRXhjZXB0aW9uQnV0dG9uLmVsZW1lbnQsIHRoaXMuX3RvZ2dsZUZvcm1h
dFNvdXJjZUJ1dHRvbi5lbGVtZW50XTsKKyAgICAgICAgcmV0dXJuIFt0aGlzLmVuYWJsZVRvZ2ds
ZUJ1dHRvbi5lbGVtZW50LCB0aGlzLl9wYXVzZU9uRXhjZXB0aW9uQnV0dG9uLmVsZW1lbnQsIHRo
aXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi5lbGVtZW50LCB0aGlzLl9zY3JpcHRWaWV3U3Rh
dHVzQmFySXRlbXNDb250YWluZXJdOwogICAgIH0sCiAKICAgICBnZXQgZGVmYXVsdEZvY3VzZWRF
bGVtZW50KCkKQEAgLTU5MCw4ICs1OTMsMTMgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy5fdmlzaWJsZVZpZXcgPSB4OwogCi0gICAgICAg
IGlmICh4KQorICAgICAgICBpZiAoeCkgewogICAgICAgICAgICAgeC5zaG93KHRoaXMudmlld3ND
b250YWluZXJFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX3NjcmlwdFZpZXdTdGF0dXNCYXJJ
dGVtc0NvbnRhaW5lci5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgdmFyIHN0YXR1c0Jh
ckl0ZW1zID0geC5zdGF0dXNCYXJJdGVtcyB8fCBbXTsKKyAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgdGhp
cy5fc2NyaXB0Vmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLmFwcGVuZENoaWxkKHN0YXR1c0Jh
ckl0ZW1zW2ldKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICBjYW5TaG93QW5jaG9yTG9jYXRp
b246IGZ1bmN0aW9uKGFuY2hvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IGJjZDQxN2EuLjA3YjE5MTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwpAQCAtNDMs
NiArNDMsOSBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUgPSBmdW5jdGlvbihkZWxlZ2F0ZSwg
dXJsKQogICAgIHRoaXMuYWRkQ2hpbGRWaWV3KHRoaXMuX3RleHRWaWV3ZXIpOwogICAgIHRoaXMu
ZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl90ZXh0Vmlld2VyLmVsZW1lbnQpOwogCisgICAgdGhp
cy5fZWRpdEJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiRWRpdCIpLCAiZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtIik7Cisg
ICAgdGhpcy5fZWRpdEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2VkaXRC
dXR0b25DbGlja2VkLmJpbmQodGhpcyksIHRoaXMpOworCiAgICAgdGhpcy5fY3VycmVudFNlYXJj
aFJlc3VsdEluZGV4ID0gLTE7CiAgICAgdGhpcy5fc2VhcmNoUmVzdWx0cyA9IFtdOwogCkBAIC05
Niw2ICs5OSwxMSBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLl9jbGVhckxpbmVIaWdobGlnaHQoKTsKICAgICB9LAogCisgICAgZ2V0IHN0YXR1
c0Jhckl0ZW1zKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5fZWRpdEJ1dHRvbi5lbGVt
ZW50XTsKKyAgICB9LAorCiAgICAgZ2V0IGxvYWRlZCgpCiAgICAgewogICAgICAgICByZXR1cm4g
ISF0aGlzLl9jb250ZW50OwpAQCAtMzA3LDYgKzMxNSw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VG
cmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5FdmVudHMuTG9hZGVkKTsKIAogICAgICAgICB0aGlz
Ll90ZXh0Vmlld2VyLmVuZFVwZGF0ZXMoKTsKKworICAgICAgICBpZiAoIXRoaXMuY2FuRWRpdFNv
dXJjZSgpKQorICAgICAgICAgICAgdGhpcy5fZWRpdEJ1dHRvbi5kaXNhYmxlZCA9IHRydWU7CiAg
ICAgfSwKIAogICAgIF9zZXRUZXh0Vmlld2VyRGVjb3JhdGlvbnM6IGZ1bmN0aW9uKCkKQEAgLTgx
NiwxNSArODI3LDMzIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX3RleHRWaWV3ZXIuaW5oZXJpdFNjcm9sbFBvc2l0aW9ucyhzb3VyY2VGcmFt
ZS5fdGV4dFZpZXdlcik7CiAgICAgfSwKIAotICAgIGRvdWJsZUNsaWNrOiBmdW5jdGlvbihsaW5l
TnVtYmVyKQorICAgIF9lZGl0QnV0dG9uQ2xpY2tlZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAg
ICAgaWYgKCF0aGlzLl9kZWxlZ2F0ZS5jYW5FZGl0U2NyaXB0U291cmNlKCkpCisgICAgICAgIGlm
ICghdGhpcy5jYW5FZGl0U291cmNlKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAg
Y29uc3Qgc2hvdWxkU3RhcnRFZGl0aW5nID0gIXRoaXMuX2VkaXRCdXR0b24udG9nZ2xlZDsKKyAg
ICAgICAgaWYgKHNob3VsZFN0YXJ0RWRpdGluZykKKyAgICAgICAgICAgIHRoaXMuc3RhcnRFZGl0
aW5nKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuY29tbWl0RWRpdGluZygpOwor
ICAgIH0sCisKKyAgICBjYW5FZGl0U291cmNlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2FuRWRpdFNjcmlwdFNvdXJjZSgpOworICAgIH0sCisKKyAg
ICBzdGFydEVkaXRpbmc6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCisgICAgeworICAgICAgICBpZiAo
IXRoaXMuY2FuRWRpdFNvdXJjZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAg
ICAgIGlmICh0aGlzLl9jb21taXRFZGl0aW5nSW5Qcm9ncmVzcykKLSAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl9zZXRSZWFkT25s
eShmYWxzZSk7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0sCiAKICAgICBjb21taXRFZGl0
aW5nOiBmdW5jdGlvbigpCkBAIC04NjcsNiArODk2LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZy
YW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAgICB0aGlzLl9jb21taXRFZGl0aW5n
SW5Qcm9ncmVzcyA9IHRydWU7CiAgICAgICAgIHRoaXMuX3RleHRWaWV3ZXIucmVhZE9ubHkgPSB0
cnVlOworICAgICAgICB0aGlzLl9lZGl0QnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKICAgICAgICAg
dGhpcy5lZGl0Q29udGVudCh0aGlzLl90ZXh0TW9kZWwudGV4dCwgZGlkRWRpdENvbnRlbnQuYmlu
ZCh0aGlzKSk7CiAgICAgfSwKIApAQCAtODg3LDYgKzkxNyw3IEBAIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9wb3BvdmVySGVscGVyLmhp
ZGVQb3BvdmVyKCk7CiAKICAgICAgICAgdGhpcy5fdGV4dFZpZXdlci5yZWFkT25seSA9IHJlYWRP
bmx5OworICAgICAgICB0aGlzLl9lZGl0QnV0dG9uLnRvZ2dsZWQgPSAhcmVhZE9ubHk7CiAgICAg
ICAgIFdlYkluc3BlY3Rvci5tYXJrQmVpbmdFZGl0ZWQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50
LCAhcmVhZE9ubHkpOwogICAgICAgICBpZiAocmVhZE9ubHkpCiAgICAgICAgICAgICB0aGlzLl9k
ZWxlZ2F0ZS5zZXRTY3JpcHRTb3VyY2VJc0JlaW5nRWRpdGVkKGZhbHNlKTsKQEAgLTkwNCw3ICs5
MzUsNyBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlRm9yU291cmNlRnJhbWUgPSBm
dW5jdGlvbihzb3VyY2VGcmFtZSkKIFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyRGVsZWdhdGVGb3JT
b3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAgICAgZG91YmxlQ2xpY2s6IGZ1bmN0aW9uKGxpbmVO
dW1iZXIpCiAgICAgewotICAgICAgICB0aGlzLl9zb3VyY2VGcmFtZS5kb3VibGVDbGljayhsaW5l
TnVtYmVyKTsKKyAgICAgICAgdGhpcy5fc291cmNlRnJhbWUuc3RhcnRFZGl0aW5nKGxpbmVOdW1i
ZXIpOwogICAgIH0sCiAKICAgICBiZWZvcmVUZXh0Q2hhbmdlZDogZnVuY3Rpb24oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzCmluZGV4IDBh
NjFkMDkuLjYwMzBhNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dFZpZXdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RleHRWaWV3ZXIuanMKQEAgLTkwNSw4ICs5MDUsMTAgQEAgV2ViSW5zcGVjdG9yLlRleHRF
ZGl0b3JNYWluUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9yZWFkT25seSA9IHJl
YWRPbmx5OwogICAgICAgICBpZiAodGhpcy5fcmVhZE9ubHkpCiAgICAgICAgICAgICB0aGlzLl9j
b250YWluZXIucmVtb3ZlU3R5bGVDbGFzcygidGV4dC1lZGl0b3ItZWRpdGFibGUiKTsKLSAgICAg
ICAgZWxzZQorICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHRoaXMuX2NvbnRhaW5lci5hZGRT
dHlsZUNsYXNzKCJ0ZXh0LWVkaXRvci1lZGl0YWJsZSIpOworICAgICAgICAgICAgdGhpcy5fdXBk
YXRlU2VsZWN0aW9uT25TdGFydEVkaXRpbmcoKTsKKyAgICAgICAgfQogICAgICAgICB0aGlzLmVu
ZERvbVVwZGF0ZXMoKTsKICAgICB9LAogCkBAIC05MTUsNiArOTE3LDIwIEBAIFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTWFpblBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIHRoaXMu
X3JlYWRPbmx5OwogICAgIH0sCiAKKyAgICBfdXBkYXRlU2VsZWN0aW9uT25TdGFydEVkaXRpbmc6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCk7CisgICAgICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCAmJiB0aGlzLl9jb250
YWluZXIuaXNBbmNlc3RvcihzZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5jb21tb25BbmNlc3RvckNv
bnRhaW5lcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fY29udGFpbmVy
LmZvY3VzKCk7CisgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsKKyAgICAgICAg
dmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICAgICAgcmFuZ2Uuc2V0U3Rh
cnQodGhpcy5fY29udGFpbmVyLCAwKTsKKyAgICAgICAgcmFuZ2Uuc2V0RW5kKHRoaXMuX2NvbnRh
aW5lciwgMCk7CisgICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CisgICAgfSwKKwog
ICAgIHNldEVkaXRhYmxlUmFuZ2U6IGZ1bmN0aW9uKHN0YXJ0TGluZSwgZW5kTGluZSkKICAgICB7
CiAgICAgICAgIHRoaXMuYmVnaW5Eb21VcGRhdGVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggNjIxMTI3Ny4uNjQ0YTY4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
Y3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNz
cwpAQCAtMjM3Nyw2ICsyMzc3LDE0IEBAIGJ1dHRvbi5lbmFibGUtdG9nZ2xlLXN0YXR1cy1iYXIt
aXRlbS50b2dnbGVkLW9uIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAtOTZw
eCAtMjRweDsKIH0KIAorYnV0dG9uLmVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbSAuZ2x5cGgg
eworICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogLTY0cHggLTQ4cHg7Cit9CisKK2J1dHRvbi5l
ZGl0LXNvdXJjZS1zdGF0dXMtYmFyLWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggeworICAgIGJhY2tn
cm91bmQtY29sb3I6IHJnYig2NiwgMTI5LCAyMzUpOworfQorCiAuc2NyaXB0cy1wYXVzZS1vbi1l
eGNlcHRpb25zLXN0YXR1cy1iYXItaXRlbSAuZ2x5cGggewogICAgIC13ZWJraXQtbWFzay1wb3Np
dGlvbjogLTI1NnB4IDA7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106738</attachid>
            <date>2011-09-08 07:57:45 -0700</date>
            <delta_ts>2011-09-08 08:12:42 -0700</delta_ts>
            <desc>[PATCH] Binary diff (with the changed glyph image)</desc>
            <filename>buttonliveedit.patch</filename>
            <type>text/plain</type>
            <size>20987</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">Y29tbWl0IDU5NGI2Mzg5NTY0ZGNkYjdlMjE0NjkwNmZlNzhmNzE3YTFiOGIyMjgKQXV0aG9yOiBB
bGV4YW5kZXIgUGF2bG92IDxhcGF2bG92QGNocm9taXVtLm9yZz4KRGF0ZTogICBUdWUgU2VwIDYg
MTc6NDQ6MDEgMjAxMSArMDQwMAoKICAgIEZpeAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOTdkOWI0Li42MWM4ZDdjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMDggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBsaXZlIGVkaXQgYm90
aCBmb3IgSlMgYW5kIENTUyBpcyBub3QgZGlzY292ZXJhYmxlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NjIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kZWJ1Z2dlci9zY3JpcHRz
LXBhbmVsLmh0bWw6CisKIDIwMTEtMDktMDggIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBbUXRdW01hY10gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc2NyaXB0cy1wYW5lbC5odG1s
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RlYnVnZ2VyL3NjcmlwdHMtcGFuZWwuaHRtbAppbmRl
eCAwNTVhOGRjLi42Mzk3MDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVi
dWdnZXIvc2NyaXB0cy1wYW5lbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kZWJ1
Z2dlci9zY3JpcHRzLXBhbmVsLmh0bWwKQEAgLTExLDYgKzExLDcgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHZhciBtb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuT2JqZWN0KCk7CiAgICAgICAg
IG1vZGVsLmJyZWFrcG9pbnRzRm9yVUlTb3VyY2VDb2RlID0gZnVuY3Rpb24oKSB7IHJldHVybiBb
XTsgfTsKICAgICAgICAgbW9kZWwubWVzc2FnZXNGb3JVSVNvdXJjZUNvZGUgPSBmdW5jdGlvbigp
IHsgcmV0dXJuIFtdOyB9OworICAgICAgICBtb2RlbC5jYW5FZGl0U2NyaXB0U291cmNlID0gZnVu
Y3Rpb24oKSB7IHJldHVybiB0cnVlOyB9OwogICAgICAgICByZXR1cm4gbW9kZWw7CiAgICAgfQog
ICAgIGZ1bmN0aW9uIGFkZFVJU291Y2VDb2RlKG1vZGVsLCB1cmwpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc2
OTUxMzYuLmI2OGU5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzOCBAQAogMjAxMS0wOS0wOCAg
QWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGxpdmUgZWRpdCBib3RoIGZvciBKUyBhbmQgQ1NTIGlzIG5vdCBkaXNjb3ZlcmFi
bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2
MgorCisgICAgICAgIEFkZCB0aGUgIkVkaXQiIGJ1dHRvbiB0byBTb3VyY2VGcmFtZSwgc28gdGhh
dCByZXNvdXJjZXMvc2NyaXB0cyBjYW4gYmUgZWRpdGVkIGJvdGggaW4gdGhlCisgICAgICAgIFJl
c291cmNlcyBhbmQgdGhlIFNjcmlwdHMgcGFuZWxzLiBUaGUgYnV0dG9uIGlzIGdyYXllZCBvdXQg
aWYgdGhlIHJlc291cmNlL3NjcmlwdCBpcyBub3QgZWRpdGFibGUuCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0lt
YWdlcy9zdGF0dXNiYXJCdXR0b25HbHlwaHMucG5nOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvUmVzb3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVkaXRhYmxlUmVz
b3VyY2VTb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNvdXJjZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2NyaXB0c1BhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuc2V0IHZpc2libGVWaWV3KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNvdXJjZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5w
cm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3Vy
Y2VGcmFtZS5wcm90b3R5cGUuX2luaXRpYWxpemVUZXh0Vmlld2VyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX2VkaXRCdXR0b25DbGlja2VkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuY2FuRWRpdFNvdXJjZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLnN0YXJ0RWRpdGluZyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLmNvbW1pdEVkaXRp
bmcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZS5fc2V0UmVh
ZE9ubHkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0ZUZvclNvdXJj
ZUZyYW1lLnByb3RvdHlwZS5kb3VibGVDbGljayk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNYWlu
UGFuZWwucHJvdG90eXBlLnNldCByZWFkT25seSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1haW5QYW5lbC5wcm90b3R5cGUuX3VwZGF0ZVNlbGVjdGlvbk9uU3RhcnRFZGl0aW5n
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAgICAg
IChidXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtIC5nbHlwaCk6CisgICAgICAgIChi
dXR0b24uZWRpdC1zb3VyY2Utc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24gLmdseXBoKToKKwor
MjAxMS0wOS0wOCAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IFtSRUdSRVNTSU9OXSBDbGVhciBjb25zb2xlIHNob3J0Y3V0
IEN0cmwgKyBMIGJyb2tlbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njc3MTEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbWFnZXMvc3RhdHVzYmFyQnV0dG9uR2x5cGhzLnBuZyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzL3N0YXR1c2JhckJ1dHRvbkdseXBocy5wbmcKaW5k
ZXggYzQ5ODdmNDEyMDkzMGQ2OGQxNzFmMmYyZmYyMmU4N2Q2YmEyZjJmNS4uYzY4ZTkzNTc2NTQ5
M2QxYjU0MDRlNzE5NWVmNTJkZDBkMTEzZTQ2MSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0
YSAzNTU1CnpjbWFLdWN7SjF3N3NxR0RGcEc2JC0qP0ozJUFTeDZGX3kkclZ7QnMtbTE8O2IlSlEz
MCp8KjQmPmBOWGM1MUItawp6QSMzKWM+PHFHSFVxVktfejMyViFgUXlGIWQoSilRe2BMOWVwM2t7
VXJ+QS19dks2fHtOTnpTRio0enx5e05LKjQKekZIVXxjRWVMPk17dWI2NCpjYnhOJkw+ajkoPDI0
fmFaKVd6JnBWSnVTRjt8SmkoJG11alZlZCM8ZnE5QSV4Qkd5CnpvbiRTOEZGaUI0WT5jcCE7VnN2
VmgwZ1YtXkMwOylsLX5IQCY4UiVhVmUpS0F4aEdBbms8bjZlKD4jZTxOJHwlUAp6Yyl1JH1EfVFH
K3VgfU99WSRoRFZqUnx7QS1KTSp7cDBFbmQwYlo0NWpYYTtvVVJwWlp7VV9tPG1Rcjs3emo3X24K
ekk2MnByI3YpNlJlb0tkdGc+YkplbDlBPytETSZvYUY2MH15NUErXlY+OW00WlBjOWVqUG9+bCY7
bFlTdXlXSTwpCnpwSSlWIVVrNzR7QGhMKSUjaG0tbjwoM2pPQGhqam9tSXElSSpCe3FFaiZXTWx6
WWhiI0ErP35oKldgfG1BJUR2aQp6MXxmdVVsSSNNJlh1LXVLXndrRCR5bDFlZXVITmpFeUhYcDFI
QilLPzBpVEEpaiphSE5EezZmKnheTi1aYVNqOHgKeiFPMHcqdUR3U0ZaU15QMEt8KXQlX3RBT3sk
cVFiYU48UUpaem5zOFI3MDRNO1JUKH5ZN0YkUUF2TitQUEYodSRzCnpuNmY8fFUxPGsmZiZ5ZH5g
JWw9bWx3Q1JXbi1nMSlnJFA5UjM9NSk5Mz55fGUkVGF+dUcxVTBzJX0zTlotJFAkcAp6JFlCVmhV
U0loNW9FfEFSIVcmMHUpbGZOcW5ENmJCeEslbVFgezZqak4kUV4hPCFfUVF7VEhZJU9tfWc0MW1t
eE8KenQpezxEI15rN21vajRjODcteVR3UyFQYlY0cSg1RlFnWTc1RUAhZGIpZGYhMHNmVT1CLUdF
KFRrJVpWeyNTIz1GCno4UncxUFhPNjkqa0xzeiE2XldRZWkkP0kpYk5ec2NkKjdzaG8pZ3FOQnVB
aTFZbG0ha1p9UVopYDxhVD1nPTxVYAp6MWBGZHh5WSYlR1BoS0gzTSRWTEpsdVU/V0FTNSNDPDVC
QHEmJFFpQEFScX1CV0xGNVY4S3d+M1owcE9MXjVFSUcKejlqbkVHJU5ANig3Kj19b3Vkb0MrIyF1
KXk8KDZKJHhrIWZoUiMxKSUqKHx3cm93eXUyMVU0X15AcnJOPXlnPS04CnpobXxCa0RsRURFMmdR
QCpDX3tzdmopISNYcnIxND5MeVQ4R0IoQVVjRFFHdHhZfk4qN2RqP21kSDNZI0ljWlRXMQp6SXNL
Zm1fazZfREkqemx2XyRoYzlhJnxCZl5Aei0je3UkYG01NlFhNUFFdzZtZm4mV00wYSU9OU9NezE3
XlU7JCUKenRmeC1jTkJZJl9iUiReV0BnZWFNOXRUdC0+N0tyP1o/amt4Y0YlKHBic05JVnRkO2ck
OGhCK3NNQThtXm5aVnFpCnohQHcpblAhfVpRcX1KTEpXcTVuPilsKT5saDhCMDxkXmIrYU9FWnQ0
Unlrdkl3biVyNlo8Jjwpaj9QKGIxZUN2Zgp6e0Q9YSs3U1dCJj9UWVZRNFM3d0gjSzheK25+cUJw
WkVNeE5JNStxaTIhO35GNVk8JVJMMHt0RGkoKGEwPzQlNDcKenheMDxfN0A/PWZ5fWtwXlA4NTVP
c2ZsNElkdztfZVpUYDMoQXJgaWpWPEAySFZNWj9ZbXspOTJtI0o8bGtPdWo8CnpoQCt9fD87WkFk
PGB3JWYyY2ctfGR+TzN0Vm9yO2pPKipmKyhJVXtMKVheLUZSMGMwZkY3MSlqbkBKZWlHbm9sYAp6
ZnNyYCNwKkNlX1olJlNNYF85fSVweldPMDlrN0BuYktPSTNhUCVMTG0hOGRmc3lLQVN3RitCdGJX
KUprc2YyYlkKelpjPUh0ZEpxLUVBUyNDcjRHe2VLc3ZGUlM3Sk80WTRBcUsqR3krQFdNR01mdEhO
a0dAMGw9KSY3NHhPM0okTnVSCnpoc2BnYiZISz0oQlAzTUx4QD9veig8eXsrK3M5fVRxfGFUPiZ4
KEdpMjRsJncocDZMekFqcE1yWWV8Snhzd2ZYQAp6c3BfRlZWNUA5cCN5QjltcHdPclgzcCZ+Ui1n
Q25laCN2YylwXjczcDspXjlAY3VhM3FTZWQwM29Va0prPlVhNiEKelptO1ZUZG9PdDBLKUNRS0Fn
V3xOWTRhKjtMKjNtcTIrdmE1elFhO0JCLWY9OWhyQTBMQGt2RENfVWRHUClJNTdWCnpaaXVfRmo8
WCorWjghV3xRMis5a1FtMUZqQ0Y/Tk5YdiV5a18pSil3VGVDPUJnMkB1UStFdytsJntAPVZ1S0I7
Nwp6YjdzXiVGUVJOeGhvZ1lhJFNzKlJXO2J0YTBiRFkrbkpnfmlJN14wa1c8ezRZI3dyd0h4d2RV
ZVhDaXhoZG92ZHUKek1COUUyNkEtTGVkWiFTe1ZTP0FOamw4TlI3fUlKZzA7JVRRUTAkSmBYRUJJ
JDE2JXtBa3x5c0BLN1c7I0YoK3taCnpOREBAJCNUVjVwSH1VViszMVpTSkRWN0BuP0s2OTRNX2kl
ZnNJI0YkZktQcH0qK1B2IyheOShwQzlvUm4lYShZZgp6dXpOOG4mMit6VColRSFwOG9+WGJ3bTZ6
THMoektTZCR+a1lmdXAkPiZCNHRJNDxrNzhLd0N9bmU3TlQpbWJwdSgKel82bnVCRG1DSVlhJHc7
ZTF7eikjQVh5YGxodEJpfFB4O0xDY1c8RjxaVHB+MW1kcktqY25fK2lkKi09a01FKGctCnpObEZr
dmFodl83dkJyeWZae347JHteb3ZZKVRxTSM+bEgzVHltNnRabThFVEkxKSF7aC07K2FveUlPeCNJ
aUE7Xwp6dXl0M1RKR0pCUD87alh3Q2c1Z1g8N2BOQ1I8a1gySU10ankoPkxjRXY7RklrN0htbDht
YHlMTiNpO31gdDNZKCsKem5MVE13JlhAb1JOI3ArWmhgQkoqQVd6ZDNmQGElUV93Tjk1KiYkWTBW
SlExekhjWU1IJER3dSFxRlE4RHhKNiNKCnpiPDVpbm56c0FKWUU1fXwmTXkrKWdYTGB9VnNsWmBk
IUs1RmI5Q2M/cDY3MXZob31aamZHUk8oPURyTT9aWj17Nwp6dTZGQVVrUGw8UWZXfkF1Kn42c0w8
Un5lWSpVMkBgKzM5QD8+ZERkN1dtaHZFTGlWfVpQKDxFQGkjX0I9ej40fHIKeiZ+Pk1HXlEqIWQm
RiRhKmFOVGdkLV99QVo7bG9NWk99OXhvYnsqPWY9VDRwOU00STE9UHdZRU9neT4kX1ZyWUNaCnpS
aFhgZTVPLTx6QmhGelVxOzF2O2MqNVRKJk4tS3Nid307cGJ+ND87M1dtayNfRldqPzZgXmtqPjUp
UUxiaGNkKAp6Z2MxaTRqfkYraGFCMiN5U3Fjc2hsTERAbUlFMUhKN0hLPiZuWU9WNDJ5fCQ5PlY3
PlVTYWRlQigpdzF6dVhOVjEKentMczlxNHpGKCp2P3wtaEJIdEkrLThvWVhiMXhwd2dOd2Z8Pz04
WUd2QmxHMUVoeVNJdyZ0VUlXKDtxYDN2aX4jCno5Z2lyK1BsKmlUPyF6SHdPWisqN287TUsmTSNu
Y0UzPkFLNVF2P0cpbF8pKmVxJU9nbSVLYGdyRlh6TD1eKjw9MQp6WXRRY0hlc0tORmUwJDB7ZiQh
fXlkYWR7djtTMyMqNT1LLVZHWm5eNXlUJllLYmdgIVd1RSl9Tmp0UTxhOyUmOCsKemdGOGIre2FN
LWJuWDJ1ZXFlYUtWe0Zqc0ZePkQwSWg8aWcjTDJyWTFlcld5QU1rQUghLXlkI0V4O3M4PHBaMjxT
CnpOaSphNV92YHV4V3BPSlNBZlVzWE1XUH5GSFMqMzJ7QlkpclZycjJFUS0maD0+NSt0TFB3NDt9
WWE0SClkIU5VTAp6KWU8PDw9em8pbD5GR2ExbTklJEI0OShWamBxMDEpJWwtOTlxeGFMY2hmPWFY
UiUkKD9haFZDeHQ+LXVAYFIydkMKektXP2pJaX11b0soTzJCclNYe08hIThTSSErQk1ZcW57TG1n
UWIrez8wUippY01TJThqZGVpfSZESUxOeSlPbjtzCnpaN3hEOU95Nj5HdCZSRzZXMjRFYzslRyo7
JmcwRmY2MCQ2I0xscGY4RH5OO0trNGMmRGl7M0JOVEhtNndaQURfdQp6RVlyb2p4OGo8Mnk1Yy0k
dWozVis9PVZOeFNPSyQyN1RZJk94Jj5SfGt1JmlKM3V9UjUkRSllb3doUVFqJmtJO2AKel5Re05g
PU0yX2cwQjlEO3soWmJzMmtFWnd2KldKd0pTeH5vKzFOWHh0bEE1eXE5OyRoSUV9MXhYaiFxU3V6
WSNaCnpaPXVCMVk4VE9YUFBuNHdSK0psbFR3eThYcFJlQl4qcTxLTnt7Kl5PZGNHcHAlKmRmLUpB
TzZAeDdNe2J3dyRYIQp6clFVbTBnVD5GPTtBSy0pNSp4aTtyU3BVO1I1UnM9KUYtXntXfXkzbGJU
T2JQMV8rPEl7TSN9ZFpAZiZzJW1jKyMKenkhIThESHVxTyl8Q3ZXI2hhRU5ZQjB7V1hVZj40aG9Z
I2VeT3gxRzU0SUx9Vit6QndMNX4tVzghYSo3MnJCQTl7CnpOKC1VYnQ/dVModyZySzdpbExlYG0j
aTdDJjMmNEduLXc9b0V2Umx+dmZYIUZCQXBvPy1GK3VCVWlDI0pVMnooTQp6M1FHWmU0Y19RY1p6
Mml6XkRiMkByZ2Y9dUhKOUB1VHpSMVUyeCo+aGNpZzh4TSE5YXt1Zno0U1grXnt2RlA3bFEKentP
UWxRYXxEPkdiWkteTlZOVjZHSFdwKWUyMFowR1B2NTtQP0clfUZ3ZG9+WlZDciVPUXZHZkc2bERv
ISg1Kml1Cno3KHxAPm42N2UjJjRHeV93UT9aQyMmcTExQEdTM0o4LU93NEdsRClrNzB8dSppODEz
aThgNGV4NThWcHZRc3ZxPwp6ZVlXMSRXTjVmNFA2Vk1+MDIqSUJpaDQqcWZ0Kll8SV8zUE88OyVX
dSM3ITtnU204IWltZHxZKDRIPi1DNmtsK2wKejx9PTxZZGglbT5UV3c9ciUyNWhWQFV2SXg/PjlG
STUqYVdWUjJ7bytteHJGIXZVUV5OIVJ7JCVvcWxeMjBVK3FXCnoxOGlvTTM9NzMxbXZYdCNiJF8/
Z3ozbHxOJDw3fXV4RHRsKzNnWE0oR181WF4tVkl9c0lRaElLYXFEXnx0PDdJNgp6VCtYYkFhJnh7
eTxaY3AqS2k2REF1UCtibTF1cykwbDVUbyg3fjVJM2lIZm5hU19AJDhgMkskWWpHZVohVlg7TjcK
eih1amhiT005V2EoU158Xi0mOVcmWDJid35mYT8hd2Y2Nnk/STxgM0NqeiVhKSFEezRVP0czJC0w
PHFTcU1KPmJkCnpPKWljJD9Dd0JESillQjdLPD99OUExR0JfJjRGI3dMOSljX0gld0o7MGxRfV8o
WE9NQT5YTlkzc3tKPiN3VnhNeQp6UERTVEs3ViNpYXt3aTlseTJCPTUmJlNgVzJgJGZWRUsmX3M/
XzZMUGcyaEpYe3wkUGAtLXRJIXRKK3UxKTA2RnEKeiZaazkhd0VhWFpKS0Nfdl4rYCFRUHRzQUl7
Nj81aEFVKjNhWWhFS1hkIT5RMiQ9fXs3Tn1VM3A7SHU3X2cqVS1tCno/V0s8Y1k1MzZTd3t1OXM+
JChzV2Y/PFZkVWA0bTYpS25gOF53bF9Be1p1PXNBQlpXNUYzaEpIe181RXUtQWhncwpwSTE5RSVk
LXdsZ3tQJER3emx+fXUwOFdZUGZeK0hMZWgyemY3OG8xVEc4MDFCZSppVkJtezktIwoKZGVsdGEg
Mzg0MQp6Y21hKTlTNSVWPXY7OUlTMFZHTjw1ZVg0QWx1JCpHcmokc1BCMUklMTchWDBjZ2QjeyFM
T0RWeCh1KVd2aD5DUG4KelN8fWR+U2lsNUNpZ0YtR0p4RC0kRkYpdCl1SyZLPWREeWVvdGErSChg
KGUrfW1GODdhJlplaHUzRCVyLTt2eXA1CnpqSVVuPGZLWGB3QVZtWWYmZTN0NjJZXjUmMFFsXysw
R2NAZkFXVFNlPkFESTRAQyp8fUo9QEApJT4wbSkoe3x6Pwp6RkI0UkxOSU93fndOOUl8SGxoVFMm
OClkaF5oezZqKnw1dlFaJHh3VD1SfjdXITVRYCU3Ozl2VllMPHZgKVhQKFcKekhkZF5Yb1I4dVYj
cW4zSHE8K2EkaCsweXQ3bnZUYWl4UGpmTXpTc0Y9SmNoN0E3ZWlsdWlraCF5JFlLUlk/flR3CnpW
YHlDeXpAak5kQ2sqfD8qZUZHPjBvbmZ6LSFGdERNWGlkc099ZU43I3BLKW0mRzJBPmskK3JYQFI7
WThlQj1ieAp6JHU/dnQ9X0B6QEVgbEJNUSN6ODA4QjsxaEhYKWszWlV1MlZZZWQoSDFhTF9xNTZU
YGE4dGp6M1hMPE96MikkdCsKemdUM1ckeUkqKjRkK2p3ZTU+fW9hdnN1M1omSyNQUjN7NV5pU3o9
XzFyQGstXms+dUg5YDlOK1ZqcVEzRCNMWFBKCnowSUBOXzFkZisrQkpBYGQ8I1NMQmM8elZlRz9r
KTtIaz5wOV5Tfkd9Vlh6JTZvQyM1ZmFGWV87YVhgNCMrIUUwYgp6bTFCSnkhSUI4fGZ0K0Q0TlRj
SlhfYXQ+OWBaRjV9YngwKig5QlMqTEtKOERjVSNLP3hzaHNeRjlETFh1d2UyV3oKejNlPW9uZHA0
KlFTeD1vJEwwJHhJV1FGaUxpRWloYiNUU2xobDFlTUBWV05YQzgrS01ZWS05WWQmOVoyfjluUkBi
CnpGdS10RSZtXnZpbmVsKjFSeCE4U0x6cnM/QG9BZWo2bXQ0UnhKMitQXktQUDFDRV9VPVB9dH1Z
Tmt2OTNqYzN7NAp6ajB4SChJR1dOJGt+azdKOT5MYXFUP3J0bzA5ZntBST1ZTlNIJFpHPDRlS2tH
KHR7a3dVNXthO3kkNWREcHE0OEAKekkjaFFaQ3YhJV9FNm5uRDk4QWlQMml5WjZmbylRVz1sS25u
Umo9ZVpqaD9FbTdLZkZgPUA2JjVDZD88NGNGWi0yCnp1Qzk9RUVLUnQ1djkrb2V3bG1iMVpwWEQz
Uk1SQDgmODk4NEgkWGx+TilKdGdWX0I2dkh8JXFsK3hZbX5XQDtPIQp6M09+OyNPbjh4fUJLK0JB
aTJuOTA4bm1eb3lNUkg8bF9TPkU7dUAzMVhZUytqVmVBYyRJU1hQKChVVWpLUz83OGgKekltdWsz
P08rK19xYGQ/O3YwaGg/KWdfaGpOUGdlMU1vWm05cGJTbVE0eUlFQEo+VGUkQigyc1dndj1nfE9+
PC0tCnolSWF2M19sWn5tUldqKkVSaC0rczE4enFWSVg0YndtZ2NIUSlDTzJTaE1CUzVYX0o8TklH
dXgtWislPG1iK3hAcAp6RDB1d3toZnE9bUJZSEVBc0N7eGttKktNaFBOV0NQY2NDT3VfMFp7Vlhz
aiFkLX1uNnVIUXUmTyN1YURSVSF0aUsKejZ2Qzl5NEhNd31jQlBfa3M5Ozl7TntGQHMlN0VWZmlY
WTglbVMxKTFNN1Y1bkIxeVVHekZDfF5NfEQ9O2RsU0o3CnpUZklnYCN3Sm0ya3pATjN7ZnBtSSoo
QFUkY2JHNGh7ZkcrRGZObXB2UU9qNE5xKCExc05wNV90TX1eQFEoNGZzKgp6IyZsdD85SFBlQTxw
Pj9qODR+QCRQVXttVmFjfE1eWU9kUkwjIXEhSWZrbyR5I2xuI2xFZWo+cV9mSn0kJmVTI2kKemwt
eV5+Qkp7MWIhKC13VjxuVjVPY3RNNmZ0MG0+JjwjfXhATCkqVSohTzdwdiMtJTwhNjZQKUFWRU1R
SmF9OG9yCnpeR3g1dEA1VVpBYkMoSXNFYFhgbUZHcTBvJHpZbHYjKS02WUZyfG9nTzZ7UiMoaGNC
bmMxPXt9JDx2WDl4QU4pVQp6KU9pLVZAcGhUMHp0MnNjQXhQOEpsIzhXJUQ9VEJhPmA9eSUyKSo0
PEByalRZQ3l0IWxnJlhJWCZGX3wka1EpKH4Kekp8bmIzaXV6QXxWcTN9cip1IVR7WUwwWW8qNU48
MFAzKTd1IUJsS0ZOMVlGQlVBKSs2dU14ZUReUShOcT9VfWM+CnpwSHFxTG9ecm5hJX5FeFZfTEJH
T1JaaiNQbHBvc0Z5bT87RVJ7YlE5NmxVVHdhTiRsQmF6KTc8ODVHXnZecH0/WQp6OUdURyo1R2tj
RkVidjFwSDFsMFQkdWFUSkAoOVItZDRFPTQmIXx4Y0lpWTkjP01Ceio3JVg/JFBHJShjPCsmZ0EK
ei1nNV9VMzRvR2RCJmI7OTdDRHZMVz0maDFgYGJwR1EtejNSdCtzOHNYYG5XP0NmbThDMyVXXm41
PmxzbVJycyM3Cnp3YWIwNyhrTzsqX01EQXdVd0hBSlB+Rmc2Ky0kbCVTTSNDWkI3bDJ3I3k2cStm
NDxKZnpUK0c8PH1wdlglYH43UQp6N348Tyg+KiZSTUd+PFA+Z0txfTYmND9sUGY+KkhDP0RDb3Qm
eCs4cEIrN3BTQHhPfnx2WlVARClCMGJCSFA+LWMKekZZMS1NUGg5KUxFJjVseXZkMjUrYkV8ZHpI
Xi14fFEpOFRqd35kKko9ITl5Nko5WVFnaHZZWCNFfWImRWViO2JECnpGPSNXX1pYX082PiZoMjJe
anNOQlFeeWFOPUo1MSNXQSs2XzFsUyV2RD1yVlV1KDdlUmM8PV9Vd0swLVJ0UWAjNwp6OWdOUlVk
VUxKcmFuME1IaGpuI3pMVEBCVlQyTnZxeWktRUphWChSY2pBbWpqdTtGZDxPeUE3SXZkTj9MV31Z
NUkKejh8Sy1hT2dga1I5amFJczNQUXlVdUpWUGVSY3t+SVopUVV1Y0Zgb2J8MyglckhIREIxNTh6
Q2AqVDd8PEc5ak9NCnpMSk1QYGVCI2B4cT91XmBmMVpSLU1eNX05VnBrKDhNNyNufnA7USowI2w9
UGJWemloYnclP2poLTgpZlA/KVNwTgp6cEFYM2BodX5nPihkU0B7cG95U0JZd1NxOGF2fTY4e3de
TSMxKy12RC02SENBVClfU3h2O0YmZTBAJHkxMC0hYjYKekdJOXdKaFJucSUwTnB0QEIjR1BTISNw
M2l7S05oayo5ZExFUD5Td0F4RFJEez4pKH5MQ2xrNElqdWc1U3hPWndECnpvK09SVE5aTm1xPTcx
X2Y3Kkw8RGBsUk9ZWVdzNFohb1pRd0gmeXc7NyEjeTxlNjZjfkVhVXQ0WTVDU304alYpMAp6c2lw
TndrU2pMVDxreV5rVzlDa0hxPWp5d09MVHREaTtETn0tKCRTRm0jTF5vMzRBdHZedDl6VzV+cD4x
UEhmfnMKekxgNThJbGRhb3JQV0ZNI1pETXxHS0U9eXohblhqYlEwJT1yRGtaIWUhUiRwIWlrezdL
NSN4MW8/enB6M1VeNSslCnoxTip3aF9aTDVDdztGPSRwNUwhPypnMHhmX3xDUjAjfCkxbF50fjdJ
NkI+R0RfR2ZAQmpyfXN+SDQ9RVVoXnl6Rwp6NDB7NF9RRGE1NWRwZUReKzZ0WT5XSE8mLShkUUo/
ZzslbUolLSllMUAzNHI7QSRHY2ZDMTg/Ml5ZXzdjYGppPTIKeiVsbjBGUVJCWUBaaVUqS0A3dFNe
JDh6KT4/dFVmYDZqcXA4bCgxJDZ0RE5HUXdhT2ZUbWFaTEsrd2Upc1kwTDlqCnpTZz9KJF9XNVBx
TGc1NW9gNSU/fWUjdm5SKSUjaSFRXy10PFA1b09qMzk3S1kzazBHYHs2YmJ8PFhmbz5wc3YyJgp6
YT1wdF5UWkA+QGFuQGA1JWZCNHt0Tnl+VjtOMyRVbzVueXdKWXhaQHVqY21+YGtZN0wzP2RfTUQ2
Vl8mbG4zJmIKejNxPzx0czBfY1l7Pnd9fWd9PCF9ezR3KWVDbHVzam5zLUsxVjkpWUkwLVFtbT9E
T0kzQ21YPWdrTm9ZM3JnYE96CnpObChKanZ5c08wb254VT1RfHBFM0xSRWcrU0t1KTFJVDUpMnJH
P2hlNmBeRCRmJGN8fCY+T1pUOEk1fk57KTtJNQp6K2FqQ0pKRWErTDhUVm5nU0F+Yj9lVSpMSD4h
ZTRIe15ZZzlsbkxAV0F5Tk5TOVpkKXNZfU1+VEs4KUZudU1nd3AKenJ0KjtyODM2JENsZihZZ3ZN
cD1RK3NmQzR2KHo0RFVWPGw7NFVlK3lmOFphbFlJLTl9N3Q8RGBUM0MyRzV4cVNPCnpJeGNORkpG
Q1NnbVlTQm1AKXBTc1MoJFQ9SGV6O3A7UDtrcENHJD1CU1A4S04qR1IxZ2BATi1nRTloTCh7cT9o
YQp6WGh6KWwxWWJYNXE0RF9+PG5se3p6MV4tIVJHQHBmcUlpYk9MWGVsPnIyQioxc1huTGtMVVU3
aXpzSTBMWSRKQGkKenl3QVAqRWxqXztYaygtc093cERxZTlLNHNOO0xnZDVYOX0pWXVoeDB5ViRr
czVYenZZcFpyNER5TzdCPnA8Tm8/CnpWNHZJdUtkbCg2OUI7TC14fnBMUzZUPn41dXUrZWtXbDt8
IW9VTT1iUHAhdXp2ZEBMRkpTLUVRcXNNTEFsYCY9dgp6V0xBeGh5RlhvJm5fYSF1RzFQTW5LWUdY
VVpiJSNGWFlLbkRReVRGQiEjdU94Yy1EcSQ9WXpqbiRpeHFBe0cpeHIKelFndiMoczJ7aTF3NXRS
fjltM1YhNVczNGZjSmM3SiFWNmlTMm5OJGY3SCsqeVZ3OCRUVEItR0ZCZHoyK0olLVgxCnpVPlVa
emZVaiY/KTk8MDlTcXteTnltem1ZUHdyZ2dBaWxENT4hNkAjdDt3RENINFAmNmBRXiU0cEk9fCl7
U0YoIQp6VXBsaCVuYytwWFotV2QpVDZQVWowMT1eKjgwezx0azlfMnVAZSN2JUErUGRrVDlSbGls
QG9VfCNIZUZPeEVlRjQKeklGIVFpaj9HaU95Wmxze3JiQFRRISUraDNQVW0qMl9venVmbWxLVTg5
SCU/bmdJaUp1ND8mbGpLdkU9SUdkKjtvCnoxNUheZlBvP0VfYnlqN3RpUGdnVXUjK0RxRFVJcipZ
XmJRZzdhM3FuKUcmYE0odSt6Mms7NTNlMjdHQntsNXk5Rgp6Jj9hZkhrfXA0YUNnQmJ2JkoyIy1X
ISgmYislSyFEWUUjVmFzWW9uKEo7NiNCdX1RKHljSGd1OEd+K0s8Vig8VX4Kelg9LVBSMlZsREsh
O3Z+MSFSZD4qJlU/QXp3Zmt2WUU+UGJAODIpe1RAVGpQSVgkc344Zj1lam5NP3FKO1Z8aG5ICnol
YkdmVjByR2dHbDFRZjwpRCRhdSNBaWFCSDtVQHI1TndpNjt+WGkxc31HWl5ReGdIJTt4JF95TlZB
WH1zU0hhUAp6eyFPVmJ0ZlFLRHZCMio0JmFETX1ka2BiRXBwXi17Sm9lRzdOPW8wcmZLYW9lRENm
N2w7QyFub0k8SkkoTHE3TUAKemNIPmprbjR8elFMQ1EoeFImeH5FXihTQEE8VXRaIUdBX2k7UF42
d0hkZmNNM0orJUVTWFFZWjxjUn5EKjBNOzVlCnooTz88UC15VCtrKjFZVnlZdDsze3R+NWFCZDEr
fkJAKUEkMUgmb0xSaHRtcWhMb3tjTnFnP3RDX0NgZUU4cW1qPQp6RmMyPzN0MWsxTGJpcElJYTFB
e00pPFFIWXgjJmNhSygmNjwhZVl+e2NVJDtmQ2J0dll7KTtDd04qYDJ5Jk15aisKemkxN0w4PH5W
X0wkKFVOO0ImJE5ae2t+NUh2Y3RDUzkhJjlhMUxVX1o/aldrbHQ3PCgjeUYlMj9JKWhCMSE3OSlj
Cnp1NDZDJWV9SE0qKitHWDFSQ0sjZHxBMkNvUEEqSythUXBhK0BgVyhabWJjVF5zfW1lNWVUYTtE
NUF8PkZQZnkxYAp6WHtIcHBPT3N+ZyVkRGFrJDU0aTQteE13PWFPVzFIK3cyNmVeUXBqOThMVDM9
PyM8LXVGRlNsSkJxTGljMS0yQlMKemYzck4mXkM8Sm0zakxJWmBYfEF+KGM5V3VLb0hjbTZ1P1Nq
dC0zNiZHb0E+NypITiEwVSFoR084bW1kWjg1Wm9hCnpuKDxNUlVZYVhHUXtiNlghdjE3fmNSZE0z
PSooeTAmanFwOCFWUD4tXld0bUFvMSNmeFZ+alUoRlROa2hQPkxRewp6OHB4SkklU1RMbUAlPChF
dD5WRHJMeHhyT19eYD12Ryg7U2B0fkpFPXwzSW45O2JwKUlmPVRMbGJrenp0NGlsX30KS1ZXcXhu
KVBEZG9fKFROJgoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUmVzb3VyY2VWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVZpZXcuanMKaW5kZXggZWQxMDEyMS4uZmRhODUxMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMKQEAgLTExOSwxNiAr
MTE5LDkgQEAgV2ViSW5zcGVjdG9yLkVkaXRhYmxlUmVzb3VyY2VTb3VyY2VGcmFtZSA9IGZ1bmN0
aW9uKHJlc291cmNlKQogfQogCiBXZWJJbnNwZWN0b3IuRWRpdGFibGVSZXNvdXJjZVNvdXJjZUZy
YW1lLnByb3RvdHlwZSA9IHsKLSAgICBkb3VibGVDbGljazogZnVuY3Rpb24obGluZU51bWJlcikK
KyAgICBjYW5FZGl0U291cmNlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMu
cmVzb3VyY2UuaXNFZGl0YWJsZSgpKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlm
ICh0aGlzLl9jb21taXRFZGl0aW5nSW5Qcm9ncmVzcykKLSAgICAgICAgICAgIHJldHVybjsKLQot
ICAgICAgICB0aGlzLl90ZXh0Vmlld2VyLnJlYWRPbmx5ID0gZmFsc2U7Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5tYXJrQmVpbmdFZGl0ZWQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50LCB0cnVlKTsK
KyAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuaXNFZGl0YWJsZSgpICYmICF0aGlzLl9jb21t
aXRFZGl0aW5nSW5Qcm9ncmVzczsKICAgICB9LAogCiAgICAgZWRpdENvbnRlbnQ6IGZ1bmN0aW9u
KG5ld1RleHQsIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NjcmlwdHNQYW5lbC5qcwppbmRleCBiMzA3YWZmLi45OGE4Y2JkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5lbC5qcwpAQCAt
MTUxLDYgKzE1MSw5IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwgPSBmdW5jdGlvbihwcmVz
ZW50YXRpb25Nb2RlbCkKICAgICB0aGlzLl90b2dnbGVGb3JtYXRTb3VyY2VCdXR0b24udG9nZ2xl
ZCA9IGZhbHNlOwogICAgIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZUJ1dHRvbi5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZUZvcm1hdFNvdXJjZS5iaW5kKHRoaXMpLCBmYWxz
ZSk7CiAKKyAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVzQmFySXRlbXNDb250YWluZXIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVzQmFy
SXRlbXNDb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJpbmxpbmUtYmxvY2siOworCiAgICAgdGhp
cy5fZGVidWdnZXJFbmFibGVkID0gUHJlZmVyZW5jZXMuZGVidWdnZXJBbHdheXNFbmFibGVkOwog
CiAgICAgdGhpcy5yZXNldCgpOwpAQCAtMTk2LDcgKzE5OSw3IEBAIFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHN0YXR1c0Jhckl0ZW1zKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBbdGhpcy5lbmFibGVUb2dnbGVCdXR0b24uZWxlbWVudCwgdGhpcy5f
cGF1c2VPbkV4Y2VwdGlvbkJ1dHRvbi5lbGVtZW50LCB0aGlzLl90b2dnbGVGb3JtYXRTb3VyY2VC
dXR0b24uZWxlbWVudF07CisgICAgICAgIHJldHVybiBbdGhpcy5lbmFibGVUb2dnbGVCdXR0b24u
ZWxlbWVudCwgdGhpcy5fcGF1c2VPbkV4Y2VwdGlvbkJ1dHRvbi5lbGVtZW50LCB0aGlzLl90b2dn
bGVGb3JtYXRTb3VyY2VCdXR0b24uZWxlbWVudCwgdGhpcy5fc2NyaXB0Vmlld1N0YXR1c0Jhckl0
ZW1zQ29udGFpbmVyXTsKICAgICB9LAogCiAgICAgZ2V0IGRlZmF1bHRGb2N1c2VkRWxlbWVudCgp
CkBAIC01OTAsOCArNTkzLDEzIEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBl
ID0gewogCiAgICAgICAgIHRoaXMuX3Zpc2libGVWaWV3ID0geDsKIAotICAgICAgICBpZiAoeCkK
KyAgICAgICAgaWYgKHgpIHsKICAgICAgICAgICAgIHguc2hvdyh0aGlzLnZpZXdzQ29udGFpbmVy
RWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLl9zY3JpcHRWaWV3U3RhdHVzQmFySXRlbXNDb250
YWluZXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHZhciBzdGF0dXNCYXJJdGVtcyA9
IHguc3RhdHVzQmFySXRlbXMgfHwgW107CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHN0YXR1c0Jhckl0ZW1zLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIHRoaXMuX3Njcmlw
dFZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNCYXJJdGVtc1tp
XSk7CisgICAgICAgIH0KICAgICB9LAogCiAgICAgY2FuU2hvd0FuY2hvckxvY2F0aW9uOiBmdW5j
dGlvbihhbmNob3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUZyYW1lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VGcmFtZS5qcwppbmRleCBiY2Q0MTdhLi4wN2IxOTExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTQzLDYgKzQzLDkg
QEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lID0gZnVuY3Rpb24oZGVsZWdhdGUsIHVybCkKICAg
ICB0aGlzLmFkZENoaWxkVmlldyh0aGlzLl90ZXh0Vmlld2VyKTsKICAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5fdGV4dFZpZXdlci5lbGVtZW50KTsKIAorICAgIHRoaXMuX2VkaXRC
dXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkVkaXQiKSwgImVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbSIpOworICAgIHRoaXMu
X2VkaXRCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9lZGl0QnV0dG9uQ2xp
Y2tlZC5iaW5kKHRoaXMpLCB0aGlzKTsKKwogICAgIHRoaXMuX2N1cnJlbnRTZWFyY2hSZXN1bHRJ
bmRleCA9IC0xOwogICAgIHRoaXMuX3NlYXJjaFJlc3VsdHMgPSBbXTsKIApAQCAtOTYsNiArOTks
MTEgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5fY2xlYXJMaW5lSGlnaGxpZ2h0KCk7CiAgICAgfSwKIAorICAgIGdldCBzdGF0dXNCYXJJdGVt
cygpCisgICAgeworICAgICAgICByZXR1cm4gW3RoaXMuX2VkaXRCdXR0b24uZWxlbWVudF07Cisg
ICAgfSwKKwogICAgIGdldCBsb2FkZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuICEhdGhpcy5f
Y29udGVudDsKQEAgLTMwNyw2ICszMTUsOSBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJv
dG90eXBlID0gewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuU291cmNlRnJhbWUuRXZlbnRzLkxvYWRlZCk7CiAKICAgICAgICAgdGhpcy5fdGV4dFZp
ZXdlci5lbmRVcGRhdGVzKCk7CisKKyAgICAgICAgaWYgKCF0aGlzLmNhbkVkaXRTb3VyY2UoKSkK
KyAgICAgICAgICAgIHRoaXMuX2VkaXRCdXR0b24uZGlzYWJsZWQgPSB0cnVlOwogICAgIH0sCiAK
ICAgICBfc2V0VGV4dFZpZXdlckRlY29yYXRpb25zOiBmdW5jdGlvbigpCkBAIC04MTYsMTUgKzgy
NywzMyBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0gewogICAgICAgICB0
aGlzLl90ZXh0Vmlld2VyLmluaGVyaXRTY3JvbGxQb3NpdGlvbnMoc291cmNlRnJhbWUuX3RleHRW
aWV3ZXIpOwogICAgIH0sCiAKLSAgICBkb3VibGVDbGljazogZnVuY3Rpb24obGluZU51bWJlcikK
KyAgICBfZWRpdEJ1dHRvbkNsaWNrZWQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy5fZGVsZWdhdGUuY2FuRWRpdFNjcmlwdFNvdXJjZSgpKQorICAgICAgICBpZiAoIXRoaXMu
Y2FuRWRpdFNvdXJjZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgIGNvbnN0IHNo
b3VsZFN0YXJ0RWRpdGluZyA9ICF0aGlzLl9lZGl0QnV0dG9uLnRvZ2dsZWQ7CisgICAgICAgIGlm
IChzaG91bGRTdGFydEVkaXRpbmcpCisgICAgICAgICAgICB0aGlzLnN0YXJ0RWRpdGluZygpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLmNvbW1pdEVkaXRpbmcoKTsKKyAgICB9LAor
CisgICAgY2FuRWRpdFNvdXJjZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX2RlbGVnYXRlLmNhbkVkaXRTY3JpcHRTb3VyY2UoKTsKKyAgICB9LAorCisgICAgc3RhcnRF
ZGl0aW5nOiBmdW5jdGlvbihsaW5lTnVtYmVyKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLmNh
bkVkaXRTb3VyY2UoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAo
dGhpcy5fY29tbWl0RWRpdGluZ0luUHJvZ3Jlc3MpCi0gICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgdGhpcy5fc2V0UmVhZE9ubHkoZmFsc2Up
OworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCiAgICAgY29tbWl0RWRpdGluZzogZnVu
Y3Rpb24oKQpAQCAtODY3LDYgKzg5Niw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fY29tbWl0RWRpdGluZ0luUHJvZ3Jl
c3MgPSB0cnVlOwogICAgICAgICB0aGlzLl90ZXh0Vmlld2VyLnJlYWRPbmx5ID0gdHJ1ZTsKKyAg
ICAgICAgdGhpcy5fZWRpdEJ1dHRvbi50b2dnbGVkID0gZmFsc2U7CiAgICAgICAgIHRoaXMuZWRp
dENvbnRlbnQodGhpcy5fdGV4dE1vZGVsLnRleHQsIGRpZEVkaXRDb250ZW50LmJpbmQodGhpcykp
OwogICAgIH0sCiAKQEAgLTg4Nyw2ICs5MTcsNyBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fcG9wb3ZlckhlbHBlci5oaWRlUG9wb3Zl
cigpOwogCiAgICAgICAgIHRoaXMuX3RleHRWaWV3ZXIucmVhZE9ubHkgPSByZWFkT25seTsKKyAg
ICAgICAgdGhpcy5fZWRpdEJ1dHRvbi50b2dnbGVkID0gIXJlYWRPbmx5OwogICAgICAgICBXZWJJ
bnNwZWN0b3IubWFya0JlaW5nRWRpdGVkKHRoaXMuX3RleHRWaWV3ZXIuZWxlbWVudCwgIXJlYWRP
bmx5KTsKICAgICAgICAgaWYgKHJlYWRPbmx5KQogICAgICAgICAgICAgdGhpcy5fZGVsZWdhdGUu
c2V0U2NyaXB0U291cmNlSXNCZWluZ0VkaXRlZChmYWxzZSk7CkBAIC05MDQsNyArOTM1LDcgQEAg
V2ViSW5zcGVjdG9yLlRleHRWaWV3ZXJEZWxlZ2F0ZUZvclNvdXJjZUZyYW1lID0gZnVuY3Rpb24o
c291cmNlRnJhbWUpCiBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlckRlbGVnYXRlRm9yU291cmNlRnJh
bWUucHJvdG90eXBlID0gewogICAgIGRvdWJsZUNsaWNrOiBmdW5jdGlvbihsaW5lTnVtYmVyKQog
ICAgIHsKLSAgICAgICAgdGhpcy5fc291cmNlRnJhbWUuZG91YmxlQ2xpY2sobGluZU51bWJlcik7
CisgICAgICAgIHRoaXMuX3NvdXJjZUZyYW1lLnN0YXJ0RWRpdGluZyhsaW5lTnVtYmVyKTsKICAg
ICB9LAogCiAgICAgYmVmb3JlVGV4dENoYW5nZWQ6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dFZpZXdlci5qcwppbmRleCAwYTYxZDA5Li42
MDMwYTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rl
eHRWaWV3ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0
Vmlld2VyLmpzCkBAIC05MDUsOCArOTA1LDEwIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTWFp
blBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcmVhZE9ubHkgPSByZWFkT25seTsK
ICAgICAgICAgaWYgKHRoaXMuX3JlYWRPbmx5KQogICAgICAgICAgICAgdGhpcy5fY29udGFpbmVy
LnJlbW92ZVN0eWxlQ2xhc3MoInRleHQtZWRpdG9yLWVkaXRhYmxlIik7Ci0gICAgICAgIGVsc2UK
KyAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICB0aGlzLl9jb250YWluZXIuYWRkU3R5bGVDbGFz
cygidGV4dC1lZGl0b3ItZWRpdGFibGUiKTsKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVNlbGVj
dGlvbk9uU3RhcnRFZGl0aW5nKCk7CisgICAgICAgIH0KICAgICAgICAgdGhpcy5lbmREb21VcGRh
dGVzKCk7CiAgICAgfSwKIApAQCAtOTE1LDYgKzkxNywyMCBAQCBXZWJJbnNwZWN0b3IuVGV4dEVk
aXRvck1haW5QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiB0aGlzLl9yZWFkT25s
eTsKICAgICB9LAogCisgICAgX3VwZGF0ZVNlbGVjdGlvbk9uU3RhcnRFZGl0aW5nOiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigp
OworICAgICAgICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQgJiYgdGhpcy5fY29udGFpbmVyLmlz
QW5jZXN0b3Ioc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkuY29tbW9uQW5jZXN0b3JDb250YWluZXIp
KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2NvbnRhaW5lci5mb2N1cygp
OworICAgICAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7CisgICAgICAgIHZhciByYW5n
ZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgICAgIHJhbmdlLnNldFN0YXJ0KHRoaXMu
X2NvbnRhaW5lciwgMCk7CisgICAgICAgIHJhbmdlLnNldEVuZCh0aGlzLl9jb250YWluZXIsIDAp
OworICAgICAgICBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOworICAgIH0sCisKICAgICBzZXRF
ZGl0YWJsZVJhbmdlOiBmdW5jdGlvbihzdGFydExpbmUsIGVuZExpbmUpCiAgICAgewogICAgICAg
ICB0aGlzLmJlZ2luRG9tVXBkYXRlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDYyMTEyNzcuLjY0NGE2ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTIz
NzcsNiArMjM3NywxNCBAQCBidXR0b24uZW5hYmxlLXRvZ2dsZS1zdGF0dXMtYmFyLWl0ZW0udG9n
Z2xlZC1vbiAuZ2x5cGggewogICAgIC13ZWJraXQtbWFzay1wb3NpdGlvbjogLTk2cHggLTI0cHg7
CiB9CiAKK2J1dHRvbi5lZGl0LXNvdXJjZS1zdGF0dXMtYmFyLWl0ZW0gLmdseXBoIHsKKyAgICAt
d2Via2l0LW1hc2stcG9zaXRpb246IC02NHB4IC00OHB4OworfQorCitidXR0b24uZWRpdC1zb3Vy
Y2Utc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24gLmdseXBoIHsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiByZ2IoNjYsIDEyOSwgMjM1KTsKK30KKwogLnNjcmlwdHMtcGF1c2Utb24tZXhjZXB0aW9u
cy1zdGF0dXMtYmFyLWl0ZW0gLmdseXBoIHsKICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IC0y
NTZweCAwOwogfQo=
</data>
<flag name="review"
          id="103238"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>