<?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>165673</bug_id>
          
          <creation_ts>2016-12-09 12:34:45 -0800</creation_ts>
          <short_desc>Password fields should not show the emoji button in TouchBar</short_desc>
          <delta_ts>2016-12-09 14:01:29 -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>WebKit Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1258242</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-12-09 12:34:45 -0800</bug_when>
    <thetext>Passsword fields should not show the emoji button in TouchBar

rdar://problem/29235739</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258256</commentid>
    <comment_count>1</comment_count>
      <attachid>296679</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-12-09 12:51:19 -0800</bug_when>
    <thetext>Created attachment 296679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258257</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-09 12:53:08 -0800</bug_when>
    <thetext>Attachment 296679 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:1100:  Extra space in capture list.  [whitespace/brackets] [4]
ERROR: Source/WebKit/mac/WebView/WebView.mm:9546:  Extra space in capture list.  [whitespace/brackets] [4]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258273</commentid>
    <comment_count>3</comment_count>
      <attachid>296679</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-12-09 13:20:11 -0800</bug_when>
    <thetext>Comment on attachment 296679
Patch

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

&gt; Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:988
&gt; +        defaultItemIdentifiers = passwordTextTouchBarDefaultItemIdentifiers();

Should we allow the user to customize out the text candidates item while the password text touch bar is open?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258297</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-12-09 13:45:00 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 296679 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=296679&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:988
&gt; &gt; +        defaultItemIdentifiers = passwordTextTouchBarDefaultItemIdentifiers();
&gt; 
&gt; Should we allow the user to customize out the text candidates item while the
&gt; password text touch bar is open?

This is definitely debatable. I decided not to make it customizable since most of the other password fields on macOS are not customizable. (Then again, most other password fields are also blank and not blank candidates.) It does still honor the typing suggestions system preference. We should keep thinking about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1258315</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2016-12-09 14:01:29 -0800</bug_when>
    <thetext>Thanks Wenson! https://trac.webkit.org/changeset/209626</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296679</attachid>
            <date>2016-12-09 12:51:19 -0800</date>
            <delta_ts>2016-12-09 13:29:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>18174</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTYyMykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDE2LTEyLTA5ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBQYXNzd29yZCBmaWVsZHMgc2hvdWxk
IG5vdCBzaG93IHRoZSBlbW9qaSBidXR0b24gaW4gVG91Y2hCYXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTY3MworICAgICAgICAtYW5kIGNvcnJl
c3BvbmRpbmctCisgICAgICAgIHJkYXI6Ly9wcm9ibGVtLzI5MjM1NzM5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhZGRzIGEgbmV3
IG1lbWJlciB2YXJpYWJsZSBmb3IgdGhlIHBhc3N3b3JkIHRvdWNoIGJhciBhbmQgcGFzc3dvcmQg
CisgICAgICAgIGNhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0uIFNpbmNlIHRoaXMgVG91Y2hCYXIg
d2lsbCBhY3R1YWxseSBoYXZlIGEgZGlmZmVyZW50IHNldCAKKyAgICAgICAgb2YgaWRlbnRpZmll
cnMgdGhhbiB0aGUgcGxhaW4gdGV4dCBUb3VjaEJhciwgaXQgc2hvdWxkIGp1c3QgaGF2ZSBpdHMg
b3duIHZhcmlhYmxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKworICAgICAgICBSZXR1
cm4gbV9wYXNzd29yZFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtIHdoZW4gYXBwcm9wcmlh
dGUuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjYW5kaWRhdGVMaXN0VG91Y2hCYXJJ
dGVtKToKKworICAgICAgICBUaGUgY2FuZGlkYXRlIGxpc3Qgc2hvdWxkIGJlIHRoZSBvbmx5IGl0
ZW0gZm9yIHBhc3N3b3Jkcy4KKyAgICAgICAgKFdlYktpdDo6cGFzc3dvcmRUZXh0VG91Y2hCYXJE
ZWZhdWx0SXRlbUlkZW50aWZpZXJzKToKKworICAgICAgICBBY2NvdW50IGZvciBtX3Bhc3N3b3Jk
VGV4dFRvdWNoQmFyLgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlVG91Y2hC
YXJBbmRSZWZyZXNoVGV4dEJhcklkZW50aWZpZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6OnNldFVwVGV4dFRvdWNoQmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
OnRleHRUb3VjaEJhcik6CisKKyAgICAgICAgVGhlIGVtcHR5IGNhbmRpZGF0ZXMgYXJyYXkgaXMg
bm90IG5lZWRlZC4gV2UgY2FuIGp1c3Qgc2V0IEBbIF0gYXMgdGhlIGNhbmRpZGF0ZXMgCisgICAg
ICAgIGZvciB0aGUgbV9wYXNzd29yZFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLiBTYWZl
IGd1YXJkcyBhbHJlYWR5IGV4aXN0IGluIHRoZSAKKyAgICAgICAgb3RoZXIgcGFydHMgb2YgdGhl
IGNvZGUgdG8gcHJldmVudCB1cyBmcm9tIHJlcXVlc3Rpbmcgb3Igc2V0dGluZyBvdGhlciBjYW5k
aWRhdGVzIAorICAgICAgICB3aGVuIGluIGEgcGFzc3dvcmQgZmllbGQuIAorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6dXBkYXRlVGV4dFRvdWNoQmFyKToKKwogMjAxNi0xMi0wOSAgR3Vz
dGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAog
ICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeC4gVGhhbmtzIHRvIEtvbnN0YW50aW4gVG9rYXJl
diBhbmQgQ3NhYmEgT3N6dHJvZ29uw6FjCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaAkocmV2aXNpb24gMjA5NDYwKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0MSwx
MCArNTQxLDExIEBAIHByaXZhdGU6CiAgICAgUmV0YWluUHRyPE5TVG91Y2hCYXI+IG1fY3VycmVu
dFRvdWNoQmFyOwogICAgIFJldGFpblB0cjxOU1RvdWNoQmFyPiBtX3JpY2hUZXh0VG91Y2hCYXI7
CiAgICAgUmV0YWluUHRyPE5TVG91Y2hCYXI+IG1fcGxhaW5UZXh0VG91Y2hCYXI7CisgICAgUmV0
YWluUHRyPE5TVG91Y2hCYXI+IG1fcGFzc3dvcmRUZXh0VG91Y2hCYXI7CiAgICAgUmV0YWluUHRy
PFdLVGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXI+IG1fdGV4dFRvdWNoQmFySXRlbUNvbnRyb2xs
ZXI7CiAgICAgUmV0YWluUHRyPE5TQ2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbT4gbV9yaWNoVGV4
dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW07CiAgICAgUmV0YWluUHRyPE5TQ2FuZGlkYXRlTGlz
dFRvdWNoQmFySXRlbT4gbV9wbGFpblRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtOwotICAg
IFJldGFpblB0cjxOU0FycmF5PiBtX2VtcHR5Q2FuZGlkYXRlc0FycmF5OworICAgIFJldGFpblB0
cjxOU0NhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0+IG1fcGFzc3dvcmRUZXh0Q2FuZGlkYXRlTGlz
dFRvdWNoQmFySXRlbTsKICAgICBSZXRhaW5QdHI8V2ViUGxheWJhY2tDb250cm9sc01hbmFnZXI+
IG1fcGxheWJhY2tDb250cm9sc01hbmFnZXI7CiAgICAgUmV0YWluUHRyPE5TQ3VzdG9tVG91Y2hC
YXJJdGVtPiBtX2V4aXRGdWxsU2NyZWVuQnV0dG9uOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCShyZXZpc2lvbiAyMDk0NjApCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTg5Niw2ICs4OTYsOCBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUb3VjaEJhcigp
CiAKIE5TQ2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSAqV2ViVmlld0ltcGw6OmNhbmRpZGF0ZUxp
c3RUb3VjaEJhckl0ZW0oKSBjb25zdAogeworICAgIGlmIChtX3BhZ2UtPmVkaXRvclN0YXRlKCku
aXNJblBhc3N3b3JkRmllbGQpCisgICAgICAgIHJldHVybiBtX3Bhc3N3b3JkVGV4dENhbmRpZGF0
ZUxpc3RUb3VjaEJhckl0ZW0uZ2V0KCk7CiAgICAgcmV0dXJuIGlzUmljaGx5RWRpdGFibGUoKSA/
IG1fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpIDogbV9wbGFpblRleHRD
YW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpOwogfQogCkBAIC05NTYsNiArOTU4LDExIEBA
IHN0YXRpYyBOU0FycmF5PE5TU3RyaW5nICo+ICpyaWNoVGV4dFRvdWMKICAgICByZXR1cm4gQFsg
TlNUb3VjaEJhckl0ZW1JZGVudGlmaWVyQ2hhcmFjdGVyUGlja2VyLCBOU1RvdWNoQmFySXRlbUlk
ZW50aWZpZXJUZXh0Rm9ybWF0LCBOU1RvdWNoQmFySXRlbUlkZW50aWZpZXJDYW5kaWRhdGVMaXN0
IF07CiB9CiAKK3N0YXRpYyBOU0FycmF5PE5TU3RyaW5nICo+ICpwYXNzd29yZFRleHRUb3VjaEJh
ckRlZmF1bHRJdGVtSWRlbnRpZmllcnMoKQoreworICAgIHJldHVybiBAWyBOU1RvdWNoQmFySXRl
bUlkZW50aWZpZXJDYW5kaWRhdGVMaXN0IF07Cit9CisKIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0
ZVRvdWNoQmFyQW5kUmVmcmVzaFRleHRCYXJJZGVudGlmaWVycygpCiB7CiAgICAgaWYgKG1fcmlj
aFRleHRUb3VjaEJhcikKQEAgLTk2NCwxNiArOTcxLDM1IEBAIHZvaWQgV2ViVmlld0ltcGw6OnVw
ZGF0ZVRvdWNoQmFyQW5kUmVmcmUKICAgICBpZiAobV9wbGFpblRleHRUb3VjaEJhcikKICAgICAg
ICAgc2V0VXBUZXh0VG91Y2hCYXIobV9wbGFpblRleHRUb3VjaEJhci5nZXQoKSk7CiAKKyAgICBp
ZiAobV9wYXNzd29yZFRleHRUb3VjaEJhcikKKyAgICAgICAgc2V0VXBUZXh0VG91Y2hCYXIobV9w
YXNzd29yZFRleHRUb3VjaEJhci5nZXQoKSk7CisKICAgICB1cGRhdGVUb3VjaEJhcigpOwogfQog
CiB2b2lkIFdlYlZpZXdJbXBsOjpzZXRVcFRleHRUb3VjaEJhcihOU1RvdWNoQmFyICp0b3VjaEJh
cikKIHsKLSAgICBib29sIGlzUmljaFRleHRUb3VjaEJhciA9IHRvdWNoQmFyID09IG1fcmljaFRl
eHRUb3VjaEJhci5nZXQoKTsKKyAgICBOU1NldDxOU1RvdWNoQmFySXRlbSAqPiAqdGVtcGxhdGVJ
dGVtcyA9IG5pbDsKKyAgICBOU0FycmF5PE5TVG91Y2hCYXJJdGVtSWRlbnRpZmllcj4gKmRlZmF1
bHRJdGVtSWRlbnRpZmllcnMgPSBuaWw7CisgICAgTlNBcnJheTxOU1RvdWNoQmFySXRlbUlkZW50
aWZpZXI+ICpjdXN0b21pemF0aW9uQWxsb3dlZEl0ZW1JZGVudGlmaWVycyA9IG5pbDsKKworICAg
IGlmICh0b3VjaEJhciA9PSBtX3Bhc3N3b3JkVGV4dFRvdWNoQmFyLmdldCgpKSB7CisgICAgICAg
IHRlbXBsYXRlSXRlbXMgPSBbTlNNdXRhYmxlU2V0IHNldFdpdGhPYmplY3Q6bV9wYXNzd29yZFRl
eHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpXTsKKyAgICAgICAgZGVmYXVsdEl0ZW1J
ZGVudGlmaWVycyA9IHBhc3N3b3JkVGV4dFRvdWNoQmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVycygp
OworICAgIH0gZWxzZSBpZiAodG91Y2hCYXIgPT0gbV9yaWNoVGV4dFRvdWNoQmFyLmdldCgpKSB7
CisgICAgICAgIHRlbXBsYXRlSXRlbXMgPSBbTlNNdXRhYmxlU2V0IHNldFdpdGhPYmplY3Q6bV9y
aWNoVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0uZ2V0KCldOworICAgICAgICBkZWZhdWx0
SXRlbUlkZW50aWZpZXJzID0gcmljaFRleHRUb3VjaEJhckRlZmF1bHRJdGVtSWRlbnRpZmllcnMo
KTsKKyAgICAgICAgY3VzdG9taXphdGlvbkFsbG93ZWRJdGVtSWRlbnRpZmllcnMgPSB0ZXh0VG91
Y2hCYXJDdXN0b21pemF0aW9uQWxsb3dlZElkZW50aWZpZXJzKCk7CisgICAgfSBlbHNlIGlmICh0
b3VjaEJhciA9PSBtX3BsYWluVGV4dFRvdWNoQmFyLmdldCgpKSB7CisgICAgICAgIHRlbXBsYXRl
SXRlbXMgPSBbTlNNdXRhYmxlU2V0IHNldFdpdGhPYmplY3Q6bV9wbGFpblRleHRDYW5kaWRhdGVM
aXN0VG91Y2hCYXJJdGVtLmdldCgpXTsKKyAgICAgICAgZGVmYXVsdEl0ZW1JZGVudGlmaWVycyA9
IHBsYWluVGV4dFRvdWNoQmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVycygpOworICAgICAgICBjdXN0
b21pemF0aW9uQWxsb3dlZEl0ZW1JZGVudGlmaWVycyA9IHRleHRUb3VjaEJhckN1c3RvbWl6YXRp
b25BbGxvd2VkSWRlbnRpZmllcnMoKTsKKyAgICB9CisKICAgICBbdG91Y2hCYXIgc2V0RGVsZWdh
dGU6bV90ZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlci5nZXQoKV07Ci0gICAgW3RvdWNoQmFyIHNl
dFRlbXBsYXRlSXRlbXM6W05TTXV0YWJsZVNldCBzZXRXaXRoT2JqZWN0OmlzUmljaFRleHRUb3Vj
aEJhciA/IG1fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpIDogbV9wbGFp
blRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpXV07Ci0gICAgW3RvdWNoQmFyIHNl
dEN1c3RvbWl6YXRpb25BbGxvd2VkSXRlbUlkZW50aWZpZXJzOnRleHRUb3VjaEJhckN1c3RvbWl6
YXRpb25BbGxvd2VkSWRlbnRpZmllcnMoKV07Ci0gICAgW3RvdWNoQmFyIHNldERlZmF1bHRJdGVt
SWRlbnRpZmllcnM6aXNSaWNoVGV4dFRvdWNoQmFyID8gcmljaFRleHRUb3VjaEJhckRlZmF1bHRJ
dGVtSWRlbnRpZmllcnMoKSA6IHBsYWluVGV4dFRvdWNoQmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVy
cygpXTsKKyAgICBbdG91Y2hCYXIgc2V0VGVtcGxhdGVJdGVtczp0ZW1wbGF0ZUl0ZW1zXTsKKyAg
ICBbdG91Y2hCYXIgc2V0RGVmYXVsdEl0ZW1JZGVudGlmaWVyczpkZWZhdWx0SXRlbUlkZW50aWZp
ZXJzXTsKKyAgICBbdG91Y2hCYXIgc2V0Q3VzdG9taXphdGlvbkFsbG93ZWRJdGVtSWRlbnRpZmll
cnM6Y3VzdG9taXphdGlvbkFsbG93ZWRJdGVtSWRlbnRpZmllcnNdOwogCiAgICAgaWYgKE5TR3Jv
dXBUb3VjaEJhckl0ZW0gKnRleHRGb3JtYXRJdGVtID0gKE5TR3JvdXBUb3VjaEJhckl0ZW0gKilb
dG91Y2hCYXIgaXRlbUZvcklkZW50aWZpZXI6TlNUb3VjaEJhckl0ZW1JZGVudGlmaWVyVGV4dEZv
cm1hdF0pCiAgICAgICAgIHRleHRGb3JtYXRJdGVtLmdyb3VwVG91Y2hCYXIuY3VzdG9taXphdGlv
bklkZW50aWZpZXIgPSBAIldLVGV4dEZvcm1hdFRvdWNoQmFyIjsKQEAgLTk4Niw2ICsxMDEyLDgg
QEAgYm9vbCBXZWJWaWV3SW1wbDo6aXNSaWNobHlFZGl0YWJsZSgpIGNvbgogCiBOU1RvdWNoQmFy
ICpXZWJWaWV3SW1wbDo6dGV4dFRvdWNoQmFyKCkgY29uc3QKIHsKKyAgICBpZiAobV9wYWdlLT5l
ZGl0b3JTdGF0ZSgpLmlzSW5QYXNzd29yZEZpZWxkKQorICAgICAgICByZXR1cm4gbV9wYXNzd29y
ZFRleHRUb3VjaEJhci5nZXQoKTsKICAgICByZXR1cm4gaXNSaWNobHlFZGl0YWJsZSgpID8gbV9y
aWNoVGV4dFRvdWNoQmFyLmdldCgpIDogbV9wbGFpblRleHRUb3VjaEJhci5nZXQoKTsKIH0KIApA
QCAtMTAzNiwxMSArMTA2NCwxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjp1cGRhdGVUZXh0VG91Y2hC
YXIoKQogICAgICAgICBtX3N0YXJ0ZWRMaXN0ZW5pbmdUb0N1c3RvbWl6YXRpb25FdmVudHMgPSB0
cnVlOwogICAgIH0KIAotICAgIGlmICghbV9yaWNoVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0
ZW0gfHwgIW1fcGxhaW5UZXh0Q2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSkgeworICAgIGlmICgh
bV9yaWNoVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0gfHwgIW1fcGxhaW5UZXh0Q2FuZGlk
YXRlTGlzdFRvdWNoQmFySXRlbSB8fCAhbV9wYXNzd29yZFRleHRDYW5kaWRhdGVMaXN0VG91Y2hC
YXJJdGVtKSB7CiAgICAgICAgIG1fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtID0g
YWRvcHROUyhbW05TQ2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSBhbGxvY10gaW5pdFdpdGhJZGVu
dGlmaWVyOk5TVG91Y2hCYXJJdGVtSWRlbnRpZmllckNhbmRpZGF0ZUxpc3RdKTsKICAgICAgICAg
W21fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtIHNldERlbGVnYXRlOm1fdGV4dFRv
dWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCldOwogICAgICAgICBtX3BsYWluVGV4dENhbmRpZGF0
ZUxpc3RUb3VjaEJhckl0ZW0gPSBhZG9wdE5TKFtbTlNDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVt
IGFsbG9jXSBpbml0V2l0aElkZW50aWZpZXI6TlNUb3VjaEJhckl0ZW1JZGVudGlmaWVyQ2FuZGlk
YXRlTGlzdF0pOwogICAgICAgICBbbV9wbGFpblRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVt
IHNldERlbGVnYXRlOm1fdGV4dFRvdWNoQmFySXRlbUNvbnRyb2xsZXIuZ2V0KCldOworICAgICAg
ICBtX3Bhc3N3b3JkVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0gPSBhZG9wdE5TKFtbTlND
YW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtIGFsbG9jXSBpbml0V2l0aElkZW50aWZpZXI6TlNUb3Vj
aEJhckl0ZW1JZGVudGlmaWVyQ2FuZGlkYXRlTGlzdF0pOworICAgICAgICBbbV9wYXNzd29yZFRl
eHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtIHNldERlbGVnYXRlOm1fdGV4dFRvdWNoQmFySXRl
bUNvbnRyb2xsZXIuZ2V0KCldOwogICAgICAgICByZXF1ZXN0Q2FuZGlkYXRlc0ZvclNlbGVjdGlv
bklmTmVlZGVkKCk7CiAgICAgfQogCkBAIC0xMDYzLDExICsxMDkzLDExIEBAIHZvaWQgV2ViVmll
d0ltcGw6OnVwZGF0ZVRleHRUb3VjaEJhcigpCiAgICAgfQogCiAgICAgaWYgKG1fcGFnZS0+ZWRp
dG9yU3RhdGUoKS5pc0luUGFzc3dvcmRGaWVsZCkgewotICAgICAgICAvLyBXZSBkb24ndCByZXF1
ZXN0IGNhbmRpZGF0ZXMgZm9yIHBhc3N3b3JkIGZpZWxkcy4gSWYgdGhlIHVzZXIgd2FzIHByZXZp
b3VzbHkgaW4gYSBub24tcGFzc3dvcmQgZmllbGQsIHRoZW4gdGhlCi0gICAgICAgIC8vIG9sZCBj
YW5kaWRhdGVzIHdpbGwgc3RpbGwgc2hvdyBieSBkZWZhdWx0LCBzbyB3ZSBjbGVhciB0aGVtIGhl
cmUgYnkgc2V0dGluZyBhbiBlbXB0eSBhcnJheSBvZiBjYW5kaWRhdGVzLgotICAgICAgICBpZiAo
IW1fZW1wdHlDYW5kaWRhdGVzQXJyYXkpCi0gICAgICAgICAgICBtX2VtcHR5Q2FuZGlkYXRlc0Fy
cmF5ID0gYWRvcHROUyhbW05TQXJyYXkgYWxsb2NdIGluaXRdKTsKLSAgICAgICAgW2NhbmRpZGF0
ZUxpc3RUb3VjaEJhckl0ZW0oKSBzZXRDYW5kaWRhdGVzOm1fZW1wdHlDYW5kaWRhdGVzQXJyYXku
Z2V0KCkgZm9yU2VsZWN0ZWRSYW5nZTpOU01ha2VSYW5nZSgwLCAwKSBpblN0cmluZzpuaWxdOwor
ICAgICAgICBpZiAoIW1fcGFzc3dvcmRUZXh0VG91Y2hCYXIpIHsKKyAgICAgICAgICAgIG1fcGFz
c3dvcmRUZXh0VG91Y2hCYXIgPSBhZG9wdE5TKFtbTlNUb3VjaEJhciBhbGxvY10gaW5pdF0pOwor
ICAgICAgICAgICAgc2V0VXBUZXh0VG91Y2hCYXIobV9wYXNzd29yZFRleHRUb3VjaEJhci5nZXQo
KSk7CisgICAgICAgIH0KKyAgICAgICAgW21fcGFzc3dvcmRUZXh0Q2FuZGlkYXRlTGlzdFRvdWNo
QmFySXRlbSBzZXRDYW5kaWRhdGVzOkBbIF0gZm9yU2VsZWN0ZWRSYW5nZTpOU01ha2VSYW5nZSgw
LCAwKSBpblN0cmluZzpuaWxdOwogICAgIH0KIAogICAgIE5TVG91Y2hCYXIgKnRleHRUb3VjaEJh
ciA9IHRoaXMtPnRleHRUb3VjaEJhcigpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24g
MjA5NjIzKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTYtMTItMDkgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29t
PgorCisgICAgICAgIFBhc3N3b3JkIGZpZWxkcyBzaG91bGQgbm90IHNob3cgdGhlIGVtb2ppIGJ1
dHRvbiBpbiBUb3VjaEJhcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTY1NjczCisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgcmRh
cjovL3Byb2JsZW0vMjkyMzU3MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgYSBuZXcgaXZhciBmb3IgdGhlIHBhc3N3b3Jk
IHRvdWNoIGJhciBhbmQgcGFzc3dvcmQgCisgICAgICAgIGNhbmRpZGF0ZUxpc3RUb3VjaEJhckl0
ZW0uIFNpbmNlIHRoaXMgVG91Y2hCYXIgd2lsbCBhY3R1YWxseSBoYXZlIGEgZGlmZmVyZW50IHNl
dCAKKyAgICAgICAgb2YgaWRlbnRpZmllcnMgdGhhbiB0aGUgcGxhaW4gdGV4dCBUb3VjaEJhciwg
aXQgc2hvdWxkIGp1c3QgaGF2ZSBpdHMgb3duIHZhcmlhYmxlLgorCisgICAgICAgIFRoZSBjYW5k
aWRhdGUgbGlzdCBzaG91bGQgYmUgdGhlIG9ubHkgaXRlbSBmb3IgcGFzc3dvcmRzLgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcGFzc3dvcmRUZXh0
VG91Y2hCYXJEZWZhdWx0SXRlbUlkZW50aWZpZXJzXSk6CisKKyAgICAgICAgQWNjb3VudCBmb3Ig
X3Bhc3N3b3JkVGV4dFRvdWNoQmFyLgorICAgICAgICAoLVtXZWJWaWV3IGRpZENoYW5nZUF1dG9t
YXRpY1RleHRDb21wbGV0aW9uOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHNldFVwVGV4dFRvdWNo
QmFyOl0pOgorICAgICAgICAoLVtXZWJWaWV3IHRleHRUb3VjaEJhcl0pOgorCisgICAgICAgIFRo
ZSBlbXB0eSBjYW5kaWRhdGVzIGFycmF5IGlzIG5vdCBuZWVkZWQuIFdlIGNhbiBqdXN0IHNldCBA
WyBdIGFzIHRoZSBjYW5kaWRhdGVzIAorICAgICAgICBmb3IgdGhlIF9wYXNzd29yZFRleHRDYW5k
aWRhdGVMaXN0VG91Y2hCYXJJdGVtLiBTYWZlIGd1YXJkcyBhbHJlYWR5IGV4aXN0IGluIHRoZSAK
KyAgICAgICAgb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUgdG8gcHJldmVudCB1cyBmcm9tIHJlcXVl
c3Rpbmcgb3Igc2V0dGluZyBvdGhlciBjYW5kaWRhdGVzIAorICAgICAgICB3aGVuIGluIGEgcGFz
c3dvcmQgZmllbGQuIAorICAgICAgICAoLVtXZWJWaWV3IHVwZGF0ZVRleHRUb3VjaEJhcl0pOgor
CisgICAgICAgIEFjY291bnQgZm9yIF9wYXNzd29yZFRleHRUb3VjaEJhci4KKyAgICAgICAgKC1b
V2ViVmlldyBjYW5kaWRhdGVMaXN0XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5o
OgorCiAyMDE2LTEyLTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgRW5hYmxlIFNoYXJlZEFycmF5QnVmZmVyLCByZW1vdmUgdGhlIGZsYWcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDIwOTQ2MCkKKysrIFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtOTM2Niw2ICs5
MzY2LDExIEBAIC0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKilfcmljaFRleHRUb3VjaEIKICAgICBy
ZXR1cm4gQFsgTlNUb3VjaEJhckl0ZW1JZGVudGlmaWVyQ2hhcmFjdGVyUGlja2VyLCBOU1RvdWNo
QmFySXRlbUlkZW50aWZpZXJUZXh0Rm9ybWF0LCBOU1RvdWNoQmFySXRlbUlkZW50aWZpZXJDYW5k
aWRhdGVMaXN0IF07CiB9CiAKKy0gKE5TQXJyYXk8TlNTdHJpbmcgKj4gKilfcGFzc3dvcmRUZXh0
VG91Y2hCYXJEZWZhdWx0SXRlbUlkZW50aWZpZXJzCit7CisgICAgcmV0dXJuIEBbIE5TVG91Y2hC
YXJJdGVtSWRlbnRpZmllckNhbmRpZGF0ZUxpc3QgXTsKK30KKwogLSAodm9pZCl0b3VjaEJhckRp
ZEV4aXRDdXN0b21pemF0aW9uOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewogICAg
IF9wcml2YXRlLT5faXNDdXN0b21pemluZ1RvdWNoQmFyID0gTk87CkBAIC05Mzg1LDE4ICs5Mzkw
LDM1IEBAIC0gKHZvaWQpZGlkQ2hhbmdlQXV0b21hdGljVGV4dENvbXBsZXRpb24KICAgICBpZiAo
X3ByaXZhdGUtPl9wbGFpblRleHRUb3VjaEJhcikKICAgICAgICAgW3NlbGYgc2V0VXBUZXh0VG91
Y2hCYXI6X3ByaXZhdGUtPl9wbGFpblRleHRUb3VjaEJhci5nZXQoKV07CiAKKyAgICBpZiAoX3By
aXZhdGUtPl9wYXNzd29yZFRleHRUb3VjaEJhcikKKyAgICAgICAgW3NlbGYgc2V0VXBUZXh0VG91
Y2hCYXI6X3ByaXZhdGUtPl9wYXNzd29yZFRleHRUb3VjaEJhci5nZXQoKV07CisKICAgICBbc2Vs
ZiB1cGRhdGVUb3VjaEJhcl07CiB9CiAKIC0gKHZvaWQpc2V0VXBUZXh0VG91Y2hCYXI6KE5TVG91
Y2hCYXIgKil0ZXh0VG91Y2hCYXIKIHsKLSAgICBCT09MIGlzUmljaFRleHRUb3VjaEJhciA9IHRl
eHRUb3VjaEJhciA9PSBfcHJpdmF0ZS0+X3JpY2hUZXh0VG91Y2hCYXI7Ci0gICAgW3RleHRUb3Vj
aEJhciBzZXREZWxlZ2F0ZTpzZWxmXTsKLSAgICBbdGV4dFRvdWNoQmFyIHNldFRlbXBsYXRlSXRl
bXM6W05TTXV0YWJsZVNldCBzZXRXaXRoT2JqZWN0OmlzUmljaFRleHRUb3VjaEJhciA/IF9wcml2
YXRlLT5fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpIDogX3ByaXZhdGUt
Pl9wbGFpblRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpXV07Ci0gICAgW3RleHRU
b3VjaEJhciBzZXRDdXN0b21pemF0aW9uQWxsb3dlZEl0ZW1JZGVudGlmaWVyczpbc2VsZiBfdGV4
dFRvdWNoQmFyQ3VzdG9taXphdGlvbkFsbG93ZWRJZGVudGlmaWVyc11dOworICAgIE5TU2V0PE5T
VG91Y2hCYXJJdGVtICo+ICp0ZW1wbGF0ZUl0ZW1zID0gbmlsOworICAgIE5TQXJyYXk8TlNUb3Vj
aEJhckl0ZW1JZGVudGlmaWVyPiAqZGVmYXVsdEl0ZW1JZGVudGlmaWVycyA9IG5pbDsKKyAgICBO
U0FycmF5PE5TVG91Y2hCYXJJdGVtSWRlbnRpZmllcj4gKmN1c3RvbWl6YXRpb25BbGxvd2VkSXRl
bUlkZW50aWZpZXJzID0gbmlsOworCisgICAgaWYgKHRleHRUb3VjaEJhciA9PSBfcHJpdmF0ZS0+
X3Bhc3N3b3JkVGV4dFRvdWNoQmFyKSB7CisgICAgICAgIHRlbXBsYXRlSXRlbXMgPSBbTlNNdXRh
YmxlU2V0IHNldFdpdGhPYmplY3Q6X3ByaXZhdGUtPl9wYXNzd29yZFRleHRDYW5kaWRhdGVMaXN0
VG91Y2hCYXJJdGVtLmdldCgpXTsKKyAgICAgICAgZGVmYXVsdEl0ZW1JZGVudGlmaWVycyA9IFtz
ZWxmIF9wYXNzd29yZFRleHRUb3VjaEJhckRlZmF1bHRJdGVtSWRlbnRpZmllcnNdOworICAgIH0g
ZWxzZSBpZiAodGV4dFRvdWNoQmFyID09IF9wcml2YXRlLT5fcmljaFRleHRUb3VjaEJhcikgewor
ICAgICAgICB0ZW1wbGF0ZUl0ZW1zID0gW05TTXV0YWJsZVNldCBzZXRXaXRoT2JqZWN0Ol9wcml2
YXRlLT5fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtLmdldCgpXTsKKyAgICAgICAg
ZGVmYXVsdEl0ZW1JZGVudGlmaWVycyA9IFtzZWxmIF9yaWNoVGV4dFRvdWNoQmFyRGVmYXVsdEl0
ZW1JZGVudGlmaWVyc107CisgICAgICAgIGN1c3RvbWl6YXRpb25BbGxvd2VkSXRlbUlkZW50aWZp
ZXJzID0gW3NlbGYgX3RleHRUb3VjaEJhckN1c3RvbWl6YXRpb25BbGxvd2VkSWRlbnRpZmllcnNd
OworICAgIH0gZWxzZSBpZiAodGV4dFRvdWNoQmFyID09IF9wcml2YXRlLT5fcGxhaW5UZXh0VG91
Y2hCYXIpIHsKKyAgICAgICAgdGVtcGxhdGVJdGVtcyA9IFtOU011dGFibGVTZXQgc2V0V2l0aE9i
amVjdDpfcHJpdmF0ZS0+X3BsYWluVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0uZ2V0KCld
OworICAgICAgICBkZWZhdWx0SXRlbUlkZW50aWZpZXJzID0gW3NlbGYgX3BsYWluVGV4dFRvdWNo
QmFyRGVmYXVsdEl0ZW1JZGVudGlmaWVyc107CisgICAgICAgIGN1c3RvbWl6YXRpb25BbGxvd2Vk
SXRlbUlkZW50aWZpZXJzID0gW3NlbGYgX3RleHRUb3VjaEJhckN1c3RvbWl6YXRpb25BbGxvd2Vk
SWRlbnRpZmllcnNdOworICAgIH0KIAotICAgIE5TQXJyYXk8TlNTdHJpbmcgKj4gKmRlZmF1bHRJ
ZGVudGlmaWVycyA9IGlzUmljaFRleHRUb3VjaEJhciA/IFtzZWxmIF9yaWNoVGV4dFRvdWNoQmFy
RGVmYXVsdEl0ZW1JZGVudGlmaWVyc10gOiBbc2VsZiBfcGxhaW5UZXh0VG91Y2hCYXJEZWZhdWx0
SXRlbUlkZW50aWZpZXJzXTsKLSAgICBbdGV4dFRvdWNoQmFyIHNldERlZmF1bHRJdGVtSWRlbnRp
ZmllcnM6ZGVmYXVsdElkZW50aWZpZXJzXTsKKyAgICBbdGV4dFRvdWNoQmFyIHNldERlbGVnYXRl
OnNlbGZdOworICAgIFt0ZXh0VG91Y2hCYXIgc2V0VGVtcGxhdGVJdGVtczp0ZW1wbGF0ZUl0ZW1z
XTsKKyAgICBbdGV4dFRvdWNoQmFyIHNldERlZmF1bHRJdGVtSWRlbnRpZmllcnM6ZGVmYXVsdEl0
ZW1JZGVudGlmaWVyc107CisgICAgW3RleHRUb3VjaEJhciBzZXRDdXN0b21pemF0aW9uQWxsb3dl
ZEl0ZW1JZGVudGlmaWVyczpjdXN0b21pemF0aW9uQWxsb3dlZEl0ZW1JZGVudGlmaWVyc107CiAK
ICAgICBpZiAoTlNHcm91cFRvdWNoQmFySXRlbSAqdGV4dEZvcm1hdEl0ZW0gPSAoTlNHcm91cFRv
dWNoQmFySXRlbSAqKVt0ZXh0VG91Y2hCYXIgaXRlbUZvcklkZW50aWZpZXI6TlNUb3VjaEJhckl0
ZW1JZGVudGlmaWVyVGV4dEZvcm1hdF0pCiAgICAgICAgIHRleHRGb3JtYXRJdGVtLmdyb3VwVG91
Y2hCYXIuY3VzdG9taXphdGlvbklkZW50aWZpZXIgPSBAIldlYlRleHRGb3JtYXRUb3VjaEJhciI7
CkBAIC05NDE0LDEwICs5NDM2LDE0IEBAIC0gKEJPT0wpX2lzUmljaGx5RWRpdGFibGUKIAogLSAo
TlNUb3VjaEJhciAqKXRleHRUb3VjaEJhcgogewotICAgIGlmIChzZWxmLl9pc1JpY2hseUVkaXRh
YmxlKQotICAgICAgICByZXR1cm4gX3ByaXZhdGUtPl9yaWNoVGV4dFRvdWNoQmFyLmdldCgpOwor
ICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBjb3JlKFtzZWxmIF9zZWxlY3RlZE9yTWFpbkZyYW1lXSk7
CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBpZiAoY29y
ZUZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0luUGFzc3dvcmRGaWVsZCgpKQorICAg
ICAgICByZXR1cm4gX3ByaXZhdGUtPl9wYXNzd29yZFRleHRUb3VjaEJhci5nZXQoKTsKIAotICAg
IHJldHVybiBfcHJpdmF0ZS0+X3BsYWluVGV4dFRvdWNoQmFyLmdldCgpOworICAgIHJldHVybiBz
ZWxmLl9pc1JpY2hseUVkaXRhYmxlID8gX3ByaXZhdGUtPl9yaWNoVGV4dFRvdWNoQmFyLmdldCgp
IDogX3ByaXZhdGUtPl9wbGFpblRleHRUb3VjaEJhci5nZXQoKTsKIH0KIAogc3RhdGljIE5TVGV4
dEFsaWdubWVudCBuc1RleHRBbGlnbm1lbnRGcm9tUmVuZGVyU3R5bGUoY29uc3QgUmVuZGVyU3R5
bGUqIHN0eWxlKQpAQCAtOTQ4NiwxMSArOTUxMiwxNCBAQCAtICh2b2lkKXVwZGF0ZVRleHRUb3Vj
aEJhcgogICAgICAgICBfcHJpdmF0ZS0+X3N0YXJ0ZWRMaXN0ZW5pbmdUb0N1c3RvbWl6YXRpb25F
dmVudHMgPSBZRVM7CiAgICAgfQogCi0gICAgaWYgKCFfcHJpdmF0ZS0+X3BsYWluVGV4dENhbmRp
ZGF0ZUxpc3RUb3VjaEJhckl0ZW0gfHwgIV9wcml2YXRlLT5fcmljaFRleHRDYW5kaWRhdGVMaXN0
VG91Y2hCYXJJdGVtKSB7CisgICAgaWYgKCFfcHJpdmF0ZS0+X3BsYWluVGV4dENhbmRpZGF0ZUxp
c3RUb3VjaEJhckl0ZW0gfHwgIV9wcml2YXRlLT5fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hC
YXJJdGVtIHx8ICFfcHJpdmF0ZS0+X3Bhc3N3b3JkVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0
ZW0pIHsKICAgICAgICAgX3ByaXZhdGUtPl9wbGFpblRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJ
dGVtID0gYWRvcHROUyhbW05TQ2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSBhbGxvY10gaW5pdFdp
dGhJZGVudGlmaWVyOk5TVG91Y2hCYXJJdGVtSWRlbnRpZmllckNhbmRpZGF0ZUxpc3RdKTsKICAg
ICAgICAgW19wcml2YXRlLT5fcGxhaW5UZXh0Q2FuZGlkYXRlTGlzdFRvdWNoQmFySXRlbSBzZXRE
ZWxlZ2F0ZTpzZWxmXTsKICAgICAgICAgX3ByaXZhdGUtPl9yaWNoVGV4dENhbmRpZGF0ZUxpc3RU
b3VjaEJhckl0ZW0gPSBhZG9wdE5TKFtbTlNDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtIGFsbG9j
XSBpbml0V2l0aElkZW50aWZpZXI6TlNUb3VjaEJhckl0ZW1JZGVudGlmaWVyQ2FuZGlkYXRlTGlz
dF0pOwogICAgICAgICBbX3ByaXZhdGUtPl9yaWNoVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0
ZW0gc2V0RGVsZWdhdGU6c2VsZl07CisgICAgICAgIF9wcml2YXRlLT5fcGFzc3dvcmRUZXh0Q2Fu
ZGlkYXRlTGlzdFRvdWNoQmFySXRlbSA9IGFkb3B0TlMoW1tOU0NhbmRpZGF0ZUxpc3RUb3VjaEJh
ckl0ZW0gYWxsb2NdIGluaXRXaXRoSWRlbnRpZmllcjpOU1RvdWNoQmFySXRlbUlkZW50aWZpZXJD
YW5kaWRhdGVMaXN0XSk7CisgICAgICAgIFtfcHJpdmF0ZS0+X3Bhc3N3b3JkVGV4dENhbmRpZGF0
ZUxpc3RUb3VjaEJhckl0ZW0gc2V0RGVsZWdhdGU6c2VsZl07CisKICAgICAgICAgY29yZUZyYW1l
LT5lZGl0b3IoKS5jbGllbnQoKS0+cmVxdWVzdENhbmRpZGF0ZXNGb3JTZWxlY3Rpb24oY29yZUZy
YW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKSk7CiAgICAgfQogCkBAIC05NTE0LDkgKzk1NDMs
MTEgQEAgLSAodm9pZCl1cGRhdGVUZXh0VG91Y2hCYXIKICAgICBpZiAoY29yZUZyYW1lLT5zZWxl
Y3Rpb24oKS5zZWxlY3Rpb24oKS5pc0luUGFzc3dvcmRGaWVsZCgpKSB7CiAgICAgICAgIC8vIFdl
IGRvbid0IHJlcXVlc3QgY2FuZGlkYXRlcyBmb3IgcGFzc3dvcmQgZmllbGRzLiBJZiB0aGUgdXNl
ciB3YXMgcHJldmlvdXNseSBpbiBhIG5vbi1wYXNzd29yZCBmaWVsZCwgdGhlbiB0aGUKICAgICAg
ICAgLy8gb2xkIGNhbmRpZGF0ZXMgd2lsbCBzdGlsbCBzaG93IGJ5IGRlZmF1bHQsIHNvIHdlIGNs
ZWFyIHRoZW0gaGVyZSBieSBzZXR0aW5nIGFuIGVtcHR5IGFycmF5IG9mIGNhbmRpZGF0ZXMuCi0g
ICAgICAgIGlmICghX3ByaXZhdGUtPl9lbXB0eUNhbmRpZGF0ZXNBcnJheSkKLSAgICAgICAgICAg
IF9wcml2YXRlLT5fZW1wdHlDYW5kaWRhdGVzQXJyYXkgPSBhZG9wdE5TKFtbTlNBcnJheSBhbGxv
Y10gaW5pdF0pOwotICAgICAgICBbc2VsZi5jYW5kaWRhdGVMaXN0IHNldENhbmRpZGF0ZXM6X3By
aXZhdGUtPl9lbXB0eUNhbmRpZGF0ZXNBcnJheS5nZXQoKSBmb3JTZWxlY3RlZFJhbmdlOk5TTWFr
ZVJhbmdlKDAsIDApIGluU3RyaW5nOm5pbF07CisgICAgICAgIGlmICghX3ByaXZhdGUtPl9wYXNz
d29yZFRleHRUb3VjaEJhcikgeworICAgICAgICAgICAgX3ByaXZhdGUtPl9wYXNzd29yZFRleHRU
b3VjaEJhciA9IGFkb3B0TlMoW1tOU1RvdWNoQmFyIGFsbG9jXSBpbml0XSk7CisgICAgICAgICAg
ICBbc2VsZiBzZXRVcFRleHRUb3VjaEJhcjpfcHJpdmF0ZS0+X3Bhc3N3b3JkVGV4dFRvdWNoQmFy
LmdldCgpXTsKKyAgICAgICAgfQorICAgICAgICBbX3ByaXZhdGUtPl9wYXNzd29yZFRleHRDYW5k
aWRhdGVMaXN0VG91Y2hCYXJJdGVtIHNldENhbmRpZGF0ZXM6QFsgXSBmb3JTZWxlY3RlZFJhbmdl
Ok5TTWFrZVJhbmdlKDAsIDApIGluU3RyaW5nOm5pbF07CiAgICAgfQogCiAgICAgTlNUb3VjaEJh
ciAqdGV4dFRvdWNoQmFyID0gc2VsZi50ZXh0VG91Y2hCYXI7CkBAIC05NjM4LDYgKzk2NjksMTMg
QEAgLSAodm9pZClwcmVwYXJlRm9yTW91c2VVcAogCiAtIChOU0NhbmRpZGF0ZUxpc3RUb3VjaEJh
ckl0ZW0gKiljYW5kaWRhdGVMaXN0CiB7CisgICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNvcmUoW3Nl
bGYgX3NlbGVjdGVkT3JNYWluRnJhbWVdKTsKKyAgICBpZiAoIWNvcmVGcmFtZSkKKyAgICAgICAg
cmV0dXJuIG5pbDsKKworICAgIGlmIChjb3JlRnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbigp
LmlzSW5QYXNzd29yZEZpZWxkKCkpCisgICAgICAgIHJldHVybiBfcHJpdmF0ZS0+X3Bhc3N3b3Jk
VGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0uZ2V0KCk7CisKICAgICByZXR1cm4gc2VsZi5f
aXNSaWNobHlFZGl0YWJsZSA/IF9wcml2YXRlLT5fcmljaFRleHRDYW5kaWRhdGVMaXN0VG91Y2hC
YXJJdGVtLmdldCgpIDogX3ByaXZhdGUtPl9wbGFpblRleHRDYW5kaWRhdGVMaXN0VG91Y2hCYXJJ
dGVtLmdldCgpOwogfQogI2Vsc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXdEYXRhLmgJKHJldmlzaW9uIDIwOTQ2MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlld0RhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTg1LDEwICsxODUsMTEgQEAgQGludGVy
ZmFjZSBXZWJWaWV3UHJpdmF0ZSA6IE5TT2JqZWN0IHsKICAgICBSZXRhaW5QdHI8TlNUb3VjaEJh
cj4gX2N1cnJlbnRUb3VjaEJhcjsKICAgICBSZXRhaW5QdHI8TlNUb3VjaEJhcj4gX3BsYWluVGV4
dFRvdWNoQmFyOwogICAgIFJldGFpblB0cjxOU1RvdWNoQmFyPiBfcmljaFRleHRUb3VjaEJhcjsK
KyAgICBSZXRhaW5QdHI8TlNUb3VjaEJhcj4gX3Bhc3N3b3JkVGV4dFRvdWNoQmFyOwogICAgIFJl
dGFpblB0cjxXZWJUZXh0VG91Y2hCYXJJdGVtQ29udHJvbGxlcj4gX3RleHRUb3VjaEJhckl0ZW1D
b250cm9sbGVyOwogICAgIFJldGFpblB0cjxOU0NhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW0+IF9y
aWNoVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW07CiAgICAgUmV0YWluUHRyPE5TQ2FuZGlk
YXRlTGlzdFRvdWNoQmFySXRlbT4gX3BsYWluVGV4dENhbmRpZGF0ZUxpc3RUb3VjaEJhckl0ZW07
Ci0gICAgUmV0YWluUHRyPE5TQXJyYXk+IF9lbXB0eUNhbmRpZGF0ZXNBcnJheTsKKyAgICBSZXRh
aW5QdHI8TlNDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtPiBfcGFzc3dvcmRUZXh0Q2FuZGlkYXRl
TGlzdFRvdWNoQmFySXRlbTsKICAgICBSZXRhaW5QdHI8QVZGdW5jdGlvbkJhclBsYXliYWNrQ29u
dHJvbHNQcm92aWRlcj4gbWVkaWFUb3VjaEJhclByb3ZpZGVyOwogICAgIFJldGFpblB0cjxBVkZ1
bmN0aW9uQmFyU2NydWJiZXI+IG1lZGlhUGxheWJhY2tDb250cm9sc1ZpZXc7CiAK
</data>
<flag name="review"
          id="319098"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>