<?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>5685</bug_id>
          
          <creation_ts>2005-11-09 08:39:17 -0800</creation_ts>
          <short_desc>problems with tabbing to links on RSS pages</short_desc>
          <delta_ts>2024-07-24 21:50:45 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Darin Adler">darin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ian</cc>
    
    <cc>karlcow</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23864</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-09 08:39:17 -0800</bug_when>
    <thetext>One of the many ways to see this:

- go to an RSS feed in Safari
- turn on the &quot;Press Tab to highlight each item on a webpage&quot; preference

Now use tab and shift-tab to try to navigate to all the links on the page. Instead you just tab to the article 
search and article length controls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23865</commentid>
    <comment_count>1</comment_count>
      <attachid>4648</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-11-09 08:39:53 -0800</bug_when>
    <thetext>Created attachment 4648
a patch that fixes some, if not all, of the problems</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38387</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-03 08:44:41 -0700</bug_when>
    <thetext>Maciej claims that his fix for bug 6811 takes care of this too. I&apos;ll test that now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38391</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-04-03 08:59:33 -0700</bug_when>
    <thetext>Things are better; I&apos;m not sure whether to close the bug or not, though.

When tabbing through an RSS feed I see a few problems, and I might need to write separate bugs about these and close this one:

    1) when doing a shift-tab to cycle backward from the URL field, there&apos;s an extra view in the tab cycle, possibly the WebHTMLView itself
    2) tabbing to items in the feed is not scrolling to reveal them
    3) outlines are getting clipped, so they look bad, especially outlines around the feed item titles and the feed title
    4) the outline around the title in the &quot;Source&quot; list looks wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34343</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-18 09:05:20 -0800</bug_when>
    <thetext>The problem mentioned at the top of this bug report is fixed, as is problem (1).

Problems (2), (3), and (4) still exist, and probably need their own bug reports. None of them are regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2048272</commentid>
    <comment_count>5</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-07-24 21:50:45 -0700</bug_when>
    <thetext>I don&apos;t think is able anymore to open RSS feed. 
THis probably should be closed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4648</attachid>
            <date>2005-11-09 08:39:53 -0800</date>
            <delta_ts>2010-06-10 15:18:08 -0700</delta_ts>
            <desc>a patch that fixes some, if not all, of the problems</desc>
            <filename>NextKeyViewPatch.txt</filename>
            <type>text/plain</type>
            <size>25798</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9yZXBsYWNlZC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9y
ZXBsYWNlZC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOTIKZGlmZiAtcCAtdSAtcjEuOTIg
V2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX3JlcGxhY2VkLmNwcAotLS0gV2ViQ29yZS9r
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX3JlcGxhY2VkLmNwcAkyNSBPY3QgMjAwNSAwMDowNzo0NiAt
MDAwMAkxLjkyCisrKyBXZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfcmVwbGFjZWQuY3Bw
CTUgTm92IDIwMDUgMTc6NDk6MTkgLTAwMDAKQEAgLTQyNiwzMSArNDI2LDIyIEBAIGJvb2wgUmVu
ZGVyV2lkZ2V0OjpldmVudEZpbHRlcihRT2JqZWN0KiAKIAogICAgIGJvb2wgZmlsdGVyZWQgPSBm
YWxzZTsKIAotICAgIC8va2REZWJ1ZygpIDw8ICJSZW5kZXJXaWRnZXQ6OmV2ZW50RmlsdGVyIHR5
cGU9IiA8PCBlLT50eXBlKCkgPDwgZW5kbDsKLSAgICBzd2l0Y2goZS0+dHlwZSgpKSB7Ci0gICAg
Y2FzZSBRRXZlbnQ6OkZvY3VzT3V0OgotICAgICAgIC8vc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IHJbXSA9IHsiTW91c2UiLCAiVGFiIiwgIkJhY2t0YWIiLCAiQWN0aXZlV2luZG93IiwgIlBvcHVw
IiwgIlNob3J0Y3V0IiwgIk90aGVyIiB9OwotICAgICAgICAvL2tkRGVidWcoKSA8PCAiUmVuZGVy
Rm9ybUVsZW1lbnQ6OmV2ZW50RmlsdGVyIEZvY3VzT3V0IHdpZGdldD0iIDw8IG1fd2lkZ2V0IDw8
ICIgcmVhc29uOiIgPDwgcltRRm9jdXNFdmVudDo6cmVhc29uKCldIDw8IGVuZGw7CisgICAgc3dp
dGNoIChlLT50eXBlKCkpIHsKKyAgICBjYXNlIFFFdmVudDo6Rm9jdXNPdXQ6IHsKICAgICAgICAg
Ly8gRG9uJ3QgY291bnQgcG9wdXAgYXMgYSB2YWxpZCByZWFzb24gZm9yIGxvc2luZyB0aGUgZm9j
dXMKICAgICAgICAgLy8gKGV4YW1wbGU6IG9wZW5pbmcgdGhlIG9wdGlvbnMgb2YgYSBzZWxlY3Qg
Y29tYm9ib3ggc2hvdWxkbid0IGVtaXQgb25ibHVyKQotICAgICAgICBpZiAoIFFGb2N1c0V2ZW50
OjpyZWFzb24oKSAhPSBRRm9jdXNFdmVudDo6UG9wdXAgKQotICAgICAgIHsKLSAgICAgICAgICAg
Ly9rZERlYnVnKDYwMDApIDw8ICJSZW5kZXJXaWRnZXQ6OmV2ZW50RmlsdGVyIGNhcHR1cmVzIEZv
Y3VzT3V0IiA8PCBlbmRsOwotICAgICAgICAgICAgaWYgKGVsZW0tPmdldERvY3VtZW50KCktPmZv
Y3VzTm9kZSgpID09IGVsZW0pCisgICAgICAgIFFGb2N1c0V2ZW50ICpmZSA9IHN0YXRpY19jYXN0
PFFGb2N1c0V2ZW50ICo+KGUpOworICAgICAgICBpZiAoZmUtPnJlYXNvbigpICE9IFFGb2N1c0V2
ZW50OjpQb3B1cCkgeworICAgICAgICAgICAgaWYgKGVsZW0tPmdldERvY3VtZW50KCktPmZvY3Vz
Tm9kZSgpID09IGVsZW0gJiYgIWZlLT5tb3ZpbmdGb2N1c1dpdGhpbkhUTUxWaWV3KCkpCiAgICAg
ICAgICAgICAgICAgZWxlbS0+Z2V0RG9jdW1lbnQoKS0+c2V0Rm9jdXNOb2RlKDApOwotLy8gICAg
ICAgICAgICAgaWYgKCAgZWxlbS0+aXNFZGl0YWJsZSgpICkgewotLy8gICAgICAgICAgICAgICAg
IEtIVE1MUGFydEJyb3dzZXJFeHRlbnNpb24gKmV4dCA9IHN0YXRpY19jYXN0PEtIVE1MUGFydEJy
b3dzZXJFeHRlbnNpb24gKj4oIGVsZW0tPnZpZXctPnBhcnQoKS0+YnJvd3NlckV4dGVuc2lvbigp
ICk7Ci0vLyAgICAgICAgICAgICAgICAgaWYgKCBleHQgKSAgZXh0LT5lZGl0YWJsZVdpZGdldEJs
dXJyZWQoIG1fd2lkZ2V0ICk7Ci0vLyAgICAgICAgICAgICB9CiAgICAgICAgICAgICBoYW5kbGVG
b2N1c091dCgpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIFFF
dmVudDo6Rm9jdXNJbjoKLSAgICAgICAgLy9rZERlYnVnKDYwMDApIDw8ICJSZW5kZXJXaWRnZXQ6
OmV2ZW50RmlsdGVyIGNhcHR1cmVzIEZvY3VzSW4iIDw8IGVuZGw7CiAgICAgICAgIGVsZW0tPmdl
dERvY3VtZW50KCktPnNldEZvY3VzTm9kZShlbGVtKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUHJlc3M6Ci0vLyAgICAgICBoYW5kbGVNb3VzZVByZXNzZWQo
c3RhdGljX2Nhc3Q8UU1vdXNlRXZlbnQqPihlKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
UUV2ZW50OjpNb3VzZUJ1dHRvblJlbGVhc2U6CiAgICAgICAgIGJyZWFrOwpAQCAtNDYwLDEzICs0
NTEsMTEgQEAgYm9vbCBSZW5kZXJXaWRnZXQ6OmV2ZW50RmlsdGVyKFFPYmplY3QqIAogICAgICAg
ICBicmVhazsKICAgICBjYXNlIFFFdmVudDo6S2V5UHJlc3M6CiAgICAgY2FzZSBRRXZlbnQ6Oktl
eVJlbGVhc2U6Ci0gICAgewogICAgICAgICBpZiAoIWVsZW0tPmRpc3BhdGNoS2V5RXZlbnQoc3Rh
dGljX2Nhc3Q8UUtleUV2ZW50Kj4oZSkpKQogICAgICAgICAgICAgZmlsdGVyZWQgPSB0cnVlOwog
ICAgICAgICBicmVhazsKLSAgICB9CiAgICAgZGVmYXVsdDogYnJlYWs7Ci0gICAgfTsKKyAgICB9
CiAKICAgICBlbGVtLT5kZXJlZigpOwogCkluZGV4OiBXZWJDb3JlL2t3cS9LV1FDb21ib0JveC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvS1dRQ29tYm9Cb3gu
bW0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzIKZGlmZiAtcCAtdSAtcjEuNzIgV2ViQ29yZS9r
d3EvS1dRQ29tYm9Cb3gubW0KLS0tIFdlYkNvcmUva3dxL0tXUUNvbWJvQm94Lm1tCTI4IE9jdCAy
MDA1IDE3OjM1OjQzIC0wMDAwCTEuNzIKKysrIFdlYkNvcmUva3dxL0tXUUNvbWJvQm94Lm1tCTUg
Tm92IDIwMDUgMTc6NDk6MjAgLTAwMDAKQEAgLTUwOSwxNiArNTA5LDggQEAgdm9pZCBRQ29tYm9C
b3g6OnBvcHVsYXRlKCkKIC0gKEJPT0wpcmVzaWduRmlyc3RSZXNwb25kZXIKIHsKICAgICBCT09M
IHJlc2lnbiA9IFtzdXBlciByZXNpZ25GaXJzdFJlc3BvbmRlcl07Ci0gICAgaWYgKHJlc2lnbikg
ewotICAgICAgICBRV2lkZ2V0ICp3aWRnZXQgPSBbc2VsZiB3aWRnZXRdOwotICAgICAgICBpZiAo
d2lkZ2V0KSB7Ci0gICAgICAgICAgICBRRm9jdXNFdmVudCBldmVudChRRXZlbnQ6OkZvY3VzT3V0
KTsKLSAgICAgICAgICAgIGlmICh3aWRnZXQtPmV2ZW50RmlsdGVyT2JqZWN0KCkpIHsKLSAgICAg
ICAgICAgICAgICBjb25zdF9jYXN0PFFPYmplY3QgKj4od2lkZ2V0LT5ldmVudEZpbHRlck9iamVj
dCgpKS0+ZXZlbnRGaWx0ZXIod2lkZ2V0LCAmZXZlbnQpOwotICAgICAgICAgICAgICAgIFtLV1FL
SFRNTFBhcnQ6OmJyaWRnZUZvcldpZGdldCh3aWRnZXQpIGZvcm1Db250cm9sSXNSZXNpZ25pbmdG
aXJzdFJlc3BvbmRlcjpzZWxmXTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KKyAg
ICBpZiAocmVzaWduKQorICAgICAgICBRV2lkZ2V0OjpyZXNpZ25lZEZpcnN0UmVzcG9uZGVyKHNl
bGYpOwogICAgIHJldHVybiByZXNpZ247CiB9CiAKSW5kZXg6IFdlYkNvcmUva3dxL0tXUUV2ZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva3dxL0tXUUV2ZW50Lmgs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzcKZGlmZiAtcCAtdSAtcjEuMzcgV2ViQ29yZS9rd3Ev
S1dRRXZlbnQuaAotLS0gV2ViQ29yZS9rd3EvS1dRRXZlbnQuaAkzIFNlcCAyMDA1IDIzOjEwOjAy
IC0wMDAwCTEuMzcKKysrIFdlYkNvcmUva3dxL0tXUUV2ZW50LmgJNSBOb3YgMjAwNSAxNzo0OToy
MCAtMDAwMApAQCAtMTM0LDExICsxMzQsMTUgQEAgcHJpdmF0ZToKIAogY2xhc3MgUUZvY3VzRXZl
bnQgOiBwdWJsaWMgUUV2ZW50IHsKIHB1YmxpYzoKLSAgICBlbnVtIFJlYXNvbiB7IFBvcHVwLCBP
dGhlciB9OwotCi0gICAgUUZvY3VzRXZlbnQoVHlwZSB0eXBlKSA6IFFFdmVudCh0eXBlKSB7IH0K
KyAgICBRRm9jdXNFdmVudChUeXBlIHR5cGUsIGJvb2wgbW92aW5nRm9jdXNXaXRoaW5IVE1MVmll
dyA9IGZhbHNlKQorICAgICAgICA6IFFFdmVudCh0eXBlKSwgbV9tb3ZpbmdGb2N1c1dpdGhpbkhU
TUxWaWV3KG1vdmluZ0ZvY3VzV2l0aGluSFRNTFZpZXcpIHsgfQorICAgIGJvb2wgbW92aW5nRm9j
dXNXaXRoaW5IVE1MVmlldygpIGNvbnN0IHsgcmV0dXJuIG1fbW92aW5nRm9jdXNXaXRoaW5IVE1M
VmlldzsgfQogCisgICAgZW51bSBSZWFzb24geyBQb3B1cCwgT3RoZXIgfTsKICAgICBzdGF0aWMg
UmVhc29uIHJlYXNvbigpIHsgcmV0dXJuIE90aGVyOyB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBt
X21vdmluZ0ZvY3VzV2l0aGluSFRNTFZpZXc7CiB9OwogCiBjbGFzcyBRV2hlZWxFdmVudCA6IHB1
YmxpYyBRRXZlbnQgewpJbmRleDogV2ViQ29yZS9rd3EvS1dRRmlsZUJ1dHRvbi5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9rd3EvS1dRRmlsZUJ1dHRvbi5tbSx2CnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4zMApkaWZmIC1wIC11IC1yMS4zMCBXZWJDb3JlL2t3cS9LV1FG
aWxlQnV0dG9uLm1tCi0tLSBXZWJDb3JlL2t3cS9LV1FGaWxlQnV0dG9uLm1tCTI1IE9jdCAyMDA1
IDIxOjE0OjQzIC0wMDAwCTEuMzAKKysrIFdlYkNvcmUva3dxL0tXUUZpbGVCdXR0b24ubW0JNSBO
b3YgMjAwNSAxNzo0OToyMCAtMDAwMApAQCAtMTU1LDkgKzE1NSwxMSBAQCB2b2lkIEtXUUZpbGVC
dXR0b246OmZpbGVuYW1lQ2hhbmdlZChjb25zCiAKIHZvaWQgS1dRRmlsZUJ1dHRvbjo6Zm9jdXND
aGFuZ2VkKGJvb2wgbm93SGFzRm9jdXMpCiB7CisgICAgaWYgKCFldmVudEZpbHRlck9iamVjdCgp
KQorICAgICAgICByZXR1cm47CiAgICAgaWYgKG5vd0hhc0ZvY3VzKSB7CiAgICAgICAgIGlmICgh
S1dRS0hUTUxQYXJ0OjpjdXJyZW50RXZlbnRJc01vdXNlRG93bkluV2lkZ2V0KHRoaXMpKSB7Ci0g
ICAgICAgICAgICBSZW5kZXJXaWRnZXQgKndpZGdldCA9IGNvbnN0X2Nhc3Q8UmVuZGVyV2lkZ2V0
ICo+IChzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJXaWRnZXQgKj4oZXZlbnRGaWx0ZXJPYmplY3Qo
KSkpOworICAgICAgICAgICAgUmVuZGVyV2lkZ2V0ICp3aWRnZXQgPSBjb25zdF9jYXN0PFJlbmRl
cldpZGdldCAqPihzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJXaWRnZXQgKj4oZXZlbnRGaWx0ZXJP
YmplY3QoKSkpOwogICAgICAgICAgICAgUmVuZGVyTGF5ZXIgKmxheWVyID0gd2lkZ2V0LT5lbmNs
b3NpbmdMYXllcigpOwogICAgICAgICAgICAgbGF5ZXIgPSBsYXllci0+cmVuZGVyZXIoKS0+ZW5j
bG9zaW5nTGF5ZXIoKTsKICAgICAgICAgICAgIGlmIChsYXllcikKQEAgLTE2NSw4ICsxNjcsNyBA
QCB2b2lkIEtXUUZpbGVCdXR0b246OmZvY3VzQ2hhbmdlZChib29sIG5vCiAgICAgICAgIH0gICAg
ICAgIAogICAgICAgICBRRm9jdXNFdmVudCBldmVudChRRXZlbnQ6OkZvY3VzSW4pOwogICAgICAg
ICBjb25zdF9jYXN0PFFPYmplY3QgKj4oZXZlbnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVy
KHRoaXMsICZldmVudCk7Ci0gICAgfQotICAgIGVsc2UgeworICAgIH0gZWxzZSB7CiAgICAgICAg
IFFGb2N1c0V2ZW50IGV2ZW50KFFFdmVudDo6Rm9jdXNPdXQpOwogICAgICAgICBjb25zdF9jYXN0
PFFPYmplY3QgKj4oZXZlbnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVyKHRoaXMsICZldmVu
dCk7CiAgICAgfQpJbmRleDogV2ViQ29yZS9rd3EvS1dRS0hUTUxQYXJ0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva3dxL0tXUUtIVE1MUGFydC5oLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjIzMApkaWZmIC1wIC11IC1yMS4yMzAgV2ViQ29yZS9rd3EvS1dRS0hUTUxQ
YXJ0LmgKLS0tIFdlYkNvcmUva3dxL0tXUUtIVE1MUGFydC5oCTIgTm92IDIwMDUgMTg6NTQ6MDEg
LTAwMDAJMS4yMzAKKysrIFdlYkNvcmUva3dxL0tXUUtIVE1MUGFydC5oCTUgTm92IDIwMDUgMTc6
NDk6MjAgLTAwMDAKQEAgLTE4MCw2ICsxODAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHVwZGF0
ZVBvbGljeUJhc2VVUkwoKTsKIAorICAgIHZvaWQgc2VsZWN0TmV4dChLV1FTZWxlY3Rpb25EaXJl
Y3Rpb24pOwogICAgIE5TVmlldyAqbmV4dEtleVZpZXcoRE9NOjpOb2RlSW1wbCAqc3RhcnRpbmdQ
b2ludCwgS1dRU2VsZWN0aW9uRGlyZWN0aW9uKTsKICAgICBOU1ZpZXcgKm5leHRLZXlWaWV3SW5G
cmFtZUhpZXJhcmNoeShET006Ok5vZGVJbXBsICpzdGFydGluZ1BvaW50LCBLV1FTZWxlY3Rpb25E
aXJlY3Rpb24pOwogICAgIHN0YXRpYyBOU1ZpZXcgKm5leHRLZXlWaWV3Rm9yV2lkZ2V0KFFXaWRn
ZXQgKnN0YXJ0aW5nUG9pbnQsIEtXUVNlbGVjdGlvbkRpcmVjdGlvbik7CkluZGV4OiBXZWJDb3Jl
L2t3cS9LV1FLSFRNTFBhcnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNv
cmUva3dxL0tXUUtIVE1MUGFydC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42ODQKZGlmZiAt
cCAtdSAtcjEuNjg0IFdlYkNvcmUva3dxL0tXUUtIVE1MUGFydC5tbQotLS0gV2ViQ29yZS9rd3Ev
S1dRS0hUTUxQYXJ0Lm1tCTMgTm92IDIwMDUgMTk6MTI6MDYgLTAwMDAJMS42ODQKKysrIFdlYkNv
cmUva3dxL0tXUUtIVE1MUGFydC5tbQk1IE5vdiAyMDA1IDE3OjQ5OjI0IC0wMDAwCkBAIC0xMjY5
LDIxICsxMjY5LDQ1IEBAIE5TVmlldyAqS1dRS0hUTUxQYXJ0OjpuZXh0S2V5Vmlld0luRnJhbWUK
ICAgICAgICAgICAgIGlmICh2aWV3KSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHZpZXc7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBkb2Mt
PnNldEZvY3VzTm9kZShub2RlKTsKLSAgICAgICAgICAgIGlmIChub2RlLT5pc0VkaXRhYmxlQmxv
Y2soKSkgewotICAgICAgICAgICAgICAgIFNlbGVjdGlvbkNvbnRyb2xsZXIgc2VsKFBvc2l0aW9u
KG5vZGUsIDApLCBET1dOU1RSRUFNLCBQb3NpdGlvbihub2RlLCBub2RlLT5tYXhEZWVwT2Zmc2V0
KCkpLCBET1dOU1RSRUFNKTsKLSAgICAgICAgICAgICAgICBpZiAoS0hUTUxQYXJ0OjpzaG91bGRD
aGFuZ2VTZWxlY3Rpb24oc2VsKSkKLSAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0aW9uKHNl
bCk7Ci0gICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICBbX2JyaWRnZSBtYWtlRmlyc3RSZXNw
b25kZXI6W19icmlkZ2UgZG9jdW1lbnRWaWV3XV07CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICByZXR1cm4gW19icmlkZ2UgZG9jdW1lbnRWaWV3XTsKICAgICAgICAgfQogICAgIH0KIH0K
IAordm9pZCBLV1FLSFRNTFBhcnQ6OnNlbGVjdE5leHQoS1dRU2VsZWN0aW9uRGlyZWN0aW9uIGRp
cmVjdGlvbikKK3sKKyAgICBEb2N1bWVudEltcGwgKmRvYyA9IHhtbERvY0ltcGwoKTsKKyAgICBp
ZiAoIWRvYykKKyAgICAgICAgcmV0dXJuOworICAgIE5vZGVJbXBsICpub2RlID0gZG9jLT5mb2N1
c05vZGUoKTsKKworICAgIE5TVmlldyAqbmV4dFZpZXcgPSBuZXh0S2V5Vmlldyhub2RlLCBkaXJl
Y3Rpb24pOworICAgIGlmIChuZXh0VmlldyAhPSBbX2JyaWRnZSBkb2N1bWVudFZpZXddKSB7Cisg
ICAgICAgIFtfYnJpZGdlIG1ha2VGaXJzdFJlc3BvbmRlcjpuZXh0Vmlld107CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBSZW5kZXJPYmplY3QgKnJlbmRlcmVyOworICAgIGZvciAoOzsp
IHsKKyAgICAgICAgbm9kZSA9IGRpcmVjdGlvbiA9PSBLV1FTZWxlY3RpbmdOZXh0ID8gZG9jLT5u
ZXh0Rm9jdXNOb2RlKG5vZGUpIDogZG9jLT5wcmV2aW91c0ZvY3VzTm9kZShub2RlKTsKKyAgICAg
ICAgaWYgKCFub2RlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZW5kZXJlciA9IG5v
ZGUtPnJlbmRlcmVyKCk7CisgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5kZXJlci0+aXNXaWRn
ZXQoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOyAvLyBza2lwIHdpZGdldCAtLSBoYW5kbGVkIGJ5
IG5leHRLZXlWaWV3IGZ1bmN0aW9uCisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGRvYy0+
c2V0Rm9jdXNOb2RlKG5vZGUpOworCisgICAgaWYgKG5vZGUtPmlzRWRpdGFibGVCbG9jaygpKSB7
CisgICAgICAgIFNlbGVjdGlvbkNvbnRyb2xsZXIgc2VsKFBvc2l0aW9uKG5vZGUsIDApLCBET1dO
U1RSRUFNLCBQb3NpdGlvbihub2RlLCBub2RlLT5tYXhEZWVwT2Zmc2V0KCkpLCBET1dOU1RSRUFN
KTsKKyAgICAgICAgaWYgKEtIVE1MUGFydDo6c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKHNlbCkpCisg
ICAgICAgICAgICBzZXRTZWxlY3Rpb24oc2VsKTsKKyAgICB9Cit9CisKIE5TVmlldyAqS1dRS0hU
TUxQYXJ0OjpuZXh0S2V5Vmlld0luRnJhbWVIaWVyYXJjaHkoTm9kZUltcGwgKm5vZGUsIEtXUVNl
bGVjdGlvbkRpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CiAgICAgTlNWaWV3ICpuZXh0ID0gbmV4dEtl
eVZpZXdJbkZyYW1lKG5vZGUsIGRpcmVjdGlvbik7CkBAIC0xMjkzLDE1ICsxMzE3LDYgQEAgTlNW
aWV3ICpLV1FLSFRNTFBhcnQ6Om5leHRLZXlWaWV3SW5GcmFtZQogICAgICAgICAgICAgbmV4dCA9
IHBhcmVudC0+bmV4dEtleVZpZXdJbkZyYW1lSGllcmFyY2h5KHBhcmVudC0+Y2hpbGRGcmFtZSh0
aGlzKS0+bV9mcmFtZS0+ZWxlbWVudCgpLCBkaXJlY3Rpb24pOwogICAgICAgICB9CiAgICAgfQot
ICAgIAotICAgIC8vIHJlbW92ZSBmb2N1cyBmcm9tIGN1cnJlbnRseSBmb2N1c2VkIG5vZGUgaWYg
d2UncmUgZ2l2aW5nIGZvY3VzIHRvIGFub3RoZXIgdmlldwotICAgIGlmIChuZXh0ICYmIChuZXh0
ICE9IFtfYnJpZGdlIGRvY3VtZW50Vmlld10pKSB7Ci0gICAgICAgIERvY3VtZW50SW1wbCAqZG9j
ID0geG1sRG9jSW1wbCgpOwotICAgICAgICBpZiAoZG9jKSB7Ci0gICAgICAgICAgICBkb2MtPnNl
dEZvY3VzTm9kZSgwKTsKLSAgICAgICAgfSAgICAgICAgICAgIAotICAgIH0gICAgCi0gICAgCiAg
ICAgcmV0dXJuIG5leHQ7CiB9CiAKSW5kZXg6IFdlYkNvcmUva3dxL0tXUUxpc3RCb3gubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva3dxL0tXUUxpc3RCb3gubW0sdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuNjQKZGlmZiAtcCAtdSAtcjEuNjQgV2ViQ29yZS9rd3EvS1dR
TGlzdEJveC5tbQotLS0gV2ViQ29yZS9rd3EvS1dRTGlzdEJveC5tbQkyOCBPY3QgMjAwNSAxNzoz
NTo0MyAtMDAwMAkxLjY0CisrKyBXZWJDb3JlL2t3cS9LV1FMaXN0Qm94Lm1tCTUgTm92IDIwMDUg
MTc6NDk6MjQgLTAwMDAKQEAgLTYwNCwxNCArNjA0LDggQEAgc3RhdGljIEJvb2xlYW4gS1dRVGFi
bGVWaWV3VHlwZVNlbGVjdENhbAogLSAoQk9PTClyZXNpZ25GaXJzdFJlc3BvbmRlcgogewogICAg
IEJPT0wgcmVzaWduID0gW3N1cGVyIHJlc2lnbkZpcnN0UmVzcG9uZGVyXTsKLSAgICBpZiAocmVz
aWduICYmIF9ib3gpIHsKLSAgICAgICAgUUZvY3VzRXZlbnQgZXZlbnQoUUV2ZW50OjpGb2N1c091
dCk7Ci0KLSAgICAgICAgaWYgKF9ib3gtPmV2ZW50RmlsdGVyT2JqZWN0KCkpIHsKLSAgICAgICAg
ICAgIGNvbnN0X2Nhc3Q8UU9iamVjdCAqPihfYm94LT5ldmVudEZpbHRlck9iamVjdCgpKS0+ZXZl
bnRGaWx0ZXIoX2JveCwgJmV2ZW50KTsKLSAgICAgICAgICAgIFtLV1FLSFRNTFBhcnQ6OmJyaWRn
ZUZvcldpZGdldChfYm94KSBmb3JtQ29udHJvbElzUmVzaWduaW5nRmlyc3RSZXNwb25kZXI6c2Vs
Zl07Ci0gICAgICAgIH0KLSAgICB9CisgICAgaWYgKHJlc2lnbikKKyAgICAgICAgUVdpZGdldDo6
cmVzaWduZWRGaXJzdFJlc3BvbmRlcihzZWxmKTsKICAgICByZXR1cm4gcmVzaWduOwogfQogCklu
ZGV4OiBXZWJDb3JlL2t3cS9LV1FTbGlkZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva3dxL0tXUVNsaWRlci5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMwpk
aWZmIC1wIC11IC1yMS4xMyBXZWJDb3JlL2t3cS9LV1FTbGlkZXIubW0KLS0tIFdlYkNvcmUva3dx
L0tXUVNsaWRlci5tbQkyNSBPY3QgMjAwNSAyMToxNDo0OSAtMDAwMAkxLjEzCisrKyBXZWJDb3Jl
L2t3cS9LV1FTbGlkZXIubW0JNSBOb3YgMjAwNSAxNzo0OToyNCAtMDAwMApAQCAtMTAxLDE4ICsx
MDEsMTUgQEAgdXNpbmcga2h0bWw6OlJlbmRlckxheWVyOwogLSAoQk9PTCliZWNvbWVGaXJzdFJl
c3BvbmRlcgogewogICAgIEJPT0wgYmVjb21lID0gW3N1cGVyIGJlY29tZUZpcnN0UmVzcG9uZGVy
XTsKLSAgICBpZiAoYmVjb21lICYmIHNsaWRlcikgeworICAgIGlmIChiZWNvbWUgJiYgc2xpZGVy
ICYmIHNsaWRlci0+ZXZlbnRGaWx0ZXJPYmplY3QoKSkgewogICAgICAgICBpZiAoIUtXUUtIVE1M
UGFydDo6Y3VycmVudEV2ZW50SXNNb3VzZURvd25JbldpZGdldChzbGlkZXIpKSB7Ci0gICAgICAg
ICAgICBSZW5kZXJXaWRnZXQgKndpZGdldCA9IGNvbnN0X2Nhc3Q8UmVuZGVyV2lkZ2V0ICo+IChz
dGF0aWNfY2FzdDxjb25zdCBSZW5kZXJXaWRnZXQgKj4oc2xpZGVyLT5ldmVudEZpbHRlck9iamVj
dCgpKSk7CisgICAgICAgICAgICBSZW5kZXJXaWRnZXQgKndpZGdldCA9IGNvbnN0X2Nhc3Q8UmVu
ZGVyV2lkZ2V0ICo+KHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlcldpZGdldCAqPihzbGlkZXItPmV2
ZW50RmlsdGVyT2JqZWN0KCkpKTsKICAgICAgICAgICAgIFJlbmRlckxheWVyICpsYXllciA9IHdp
ZGdldC0+ZW5jbG9zaW5nTGF5ZXIoKTsKICAgICAgICAgICAgIGlmIChsYXllcikKICAgICAgICAg
ICAgICAgICBsYXllci0+c2Nyb2xsUmVjdFRvVmlzaWJsZSh3aWRnZXQtPmFic29sdXRlQm91bmRp
bmdCb3hSZWN0KCkpOwogICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHNsaWRlcikgewotICAgICAg
ICAgICAgUUZvY3VzRXZlbnQgZXZlbnQoUUV2ZW50OjpGb2N1c0luKTsKLSAgICAgICAgICAgIGNv
bnN0X2Nhc3Q8UU9iamVjdCAqPihzbGlkZXItPmV2ZW50RmlsdGVyT2JqZWN0KCkpLT5ldmVudEZp
bHRlcihzbGlkZXIsICZldmVudCk7Ci0gICAgICAgIH0KKyAgICAgICAgUUZvY3VzRXZlbnQgZXZl
bnQoUUV2ZW50OjpGb2N1c0luKTsKKyAgICAgICAgY29uc3RfY2FzdDxRT2JqZWN0ICo+KHNsaWRl
ci0+ZXZlbnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVyKHNsaWRlciwgJmV2ZW50KTsKICAg
ICB9CiAgICAgcmV0dXJuIGJlY29tZTsKIH0KQEAgLTEyMCw1MiArMTE3LDI3IEBAIHVzaW5nIGto
dG1sOjpSZW5kZXJMYXllcjsKIC0gKEJPT0wpcmVzaWduRmlyc3RSZXNwb25kZXIKIHsKICAgICBC
T09MIHJlc2lnbiA9IFtzdXBlciByZXNpZ25GaXJzdFJlc3BvbmRlcl07Ci0gICAgaWYgKHJlc2ln
biAmJiBzbGlkZXIpIHsKLSAgICAgICAgUUZvY3VzRXZlbnQgZXZlbnQoUUV2ZW50OjpGb2N1c091
dCk7Ci0gICAgICAgIGNvbnN0X2Nhc3Q8UU9iamVjdCAqPihzbGlkZXItPmV2ZW50RmlsdGVyT2Jq
ZWN0KCkpLT5ldmVudEZpbHRlcihzbGlkZXIsICZldmVudCk7Ci0gICAgICAgIFtLV1FLSFRNTFBh
cnQ6OmJyaWRnZUZvcldpZGdldChzbGlkZXIpIGZvcm1Db250cm9sSXNSZXNpZ25pbmdGaXJzdFJl
c3BvbmRlcjpzZWxmXTsKLSAgICB9CisgICAgaWYgKHJlc2lnbikKKyAgICAgICAgUVdpZGdldDo6
cmVzaWduZWRGaXJzdFJlc3BvbmRlcihzZWxmKTsKICAgICByZXR1cm4gcmVzaWduOwogfQogCiAt
KE5TVmlldyAqKW5leHRLZXlWaWV3CiB7Ci0gICAgTlNWaWV3ICp2aWV3ID0gbmlsOwotICAgIGlm
IChzbGlkZXIgJiYgaW5OZXh0VmFsaWRLZXlWaWV3KSB7Ci0gICAgICAgIC8vIHJlc2lnbiBzbyB3
ZSBzZW5kIGEgYmx1ciBiZWZvcmUgc2V0dGluZyBmb2N1cyBvbgotICAgICAgICAvLyB0aGUgbmV4
dCB3aWRnZXQsIG90aGVyd2lzZSB0aGUgYmx1ciBmb3IgdGhpcwotICAgICAgICAvLyB3aWRnZXQg
d2lsbCByZW1vdmUgZm9jdXMgZnJvbSB0aGUgd2lkZ2V0IGFmdGVyCi0gICAgICAgIC8vIHdlIHRh
YiB0byBpdAotICAgICAgICBbc2VsZiByZXNpZ25GaXJzdFJlc3BvbmRlcl07Ci0gICAgICAgIGlm
IChzbGlkZXIpIHsKLSAgICAgICAgICAgIHZpZXcgPSBLV1FLSFRNTFBhcnQ6Om5leHRLZXlWaWV3
Rm9yV2lkZ2V0KHNsaWRlciwgS1dRU2VsZWN0aW5nTmV4dCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0g
ICAgICAgICAgICB2aWV3ID0gW3N1cGVyIG5leHRLZXlWaWV3XTsKLSAgICAgICAgfQotICAgIH0g
ZWxzZSB7IAotICAgICAgICB2aWV3ID0gW3N1cGVyIG5leHRLZXlWaWV3XTsKLSAgICB9Ci0gICAg
cmV0dXJuIHZpZXc7CisgICAgaWYgKCFpbk5leHRWYWxpZEtleVZpZXcpCisJcmV0dXJuIFtzdXBl
ciBuZXh0S2V5Vmlld107CisgICAgaWYgKCFzbGlkZXIpCisJcmV0dXJuIFtzdXBlciBuZXh0S2V5
Vmlld107CisgICAgcmV0dXJuIEtXUUtIVE1MUGFydDo6bmV4dEtleVZpZXdGb3JXaWRnZXQoc2xp
ZGVyLCBLV1FTZWxlY3RpbmdOZXh0KTsKIH0KIAogLShOU1ZpZXcgKilwcmV2aW91c0tleVZpZXcK
IHsKLSAgICBOU1ZpZXcgKnZpZXcgPSBuaWw7Ci0gICAgaWYgKHNsaWRlciAmJiBpbk5leHRWYWxp
ZEtleVZpZXcpIHsKLSAgICAgICAgLy8gcmVzaWduIHNvIHdlIHNlbmQgYSBibHVyIGJlZm9yZSBz
ZXR0aW5nIGZvY3VzIG9uCi0gICAgICAgIC8vIHRoZSBuZXh0IHdpZGdldCwgb3RoZXJ3aXNlIHRo
ZSBibHVyIGZvciB0aGlzCi0gICAgICAgIC8vIHdpZGdldCB3aWxsIHJlbW92ZSBmb2N1cyBmcm9t
IHRoZSB3aWRnZXQgYWZ0ZXIKLSAgICAgICAgLy8gd2UgdGFiIHRvIGl0Ci0gICAgICAgIFtzZWxm
IHJlc2lnbkZpcnN0UmVzcG9uZGVyXTsKLSAgICAgICAgaWYgKHNsaWRlcikgewotICAgICAgICAg
ICAgdmlldyA9IEtXUUtIVE1MUGFydDo6bmV4dEtleVZpZXdGb3JXaWRnZXQoc2xpZGVyLCBLV1FT
ZWxlY3RpbmdQcmV2aW91cyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB2aWV3ID0g
W3N1cGVyIHByZXZpb3VzS2V5Vmlld107Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgeyAKLSAgICAg
ICAgdmlldyA9IFtzdXBlciBwcmV2aW91c0tleVZpZXddOwotICAgIH0KLSAgICByZXR1cm4gdmll
dzsKKyAgICBpZiAoIWluTmV4dFZhbGlkS2V5VmlldykKKwlyZXR1cm4gW3N1cGVyIHByZXZpb3Vz
S2V5Vmlld107CisgICAgaWYgKCFzbGlkZXIpCisJcmV0dXJuIFtzdXBlciBwcmV2aW91c0tleVZp
ZXddOworICAgIHJldHVybiBLV1FLSFRNTFBhcnQ6Om5leHRLZXlWaWV3Rm9yV2lkZ2V0KHNsaWRl
ciwgS1dRU2VsZWN0aW5nUHJldmlvdXMpOwogfQogCiAtIChCT09MKWNhbkJlY29tZUtleVZpZXcK
SW5kZXg6IFdlYkNvcmUva3dxL0tXUVRleHRBcmVhLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FUZXh0QXJlYS5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS45NwpkaWZmIC1wIC11IC1yMS45NyBXZWJDb3JlL2t3cS9LV1FUZXh0QXJlYS5tbQotLS0gV2Vi
Q29yZS9rd3EvS1dRVGV4dEFyZWEubW0JMjggT2N0IDIwMDUgMTc6MzU6NDMgLTAwMDAJMS45Nwor
KysgV2ViQ29yZS9rd3EvS1dRVGV4dEFyZWEubW0JNSBOb3YgMjAwNSAxNzo0OToyNSAtMDAwMApA
QCAtOTYyLDE5ICs5NjIsMTcgQEAgc3RhdGljIE5TU3RyaW5nICpXZWJDb250aW51b3VzU3BlbGxD
aGVjawogCiAgICAgLS1pblJlc3BvbmRlckNoYW5nZTsKIAotICAgIGlmIChiZWNvbWUpIHsKKyAg
ICBpZiAoYmVjb21lICYmIHdpZGdldCAmJiB3aWRnZXQtPmV2ZW50RmlsdGVyT2JqZWN0KCkpIHsK
ICAgICAgICAgaWYgKCFLV1FLSFRNTFBhcnQ6OmN1cnJlbnRFdmVudElzTW91c2VEb3duSW5XaWRn
ZXQod2lkZ2V0KSkgewotICAgICAgICAgICAgUmVuZGVyV2lkZ2V0ICp3ID0gY29uc3RfY2FzdDxS
ZW5kZXJXaWRnZXQgKj4gKHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlcldpZGdldCAqPih3aWRnZXQt
PmV2ZW50RmlsdGVyT2JqZWN0KCkpKTsKKyAgICAgICAgICAgIFJlbmRlcldpZGdldCAqdyA9IGNv
bnN0X2Nhc3Q8UmVuZGVyV2lkZ2V0ICo+KHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlcldpZGdldCAq
Pih3aWRnZXQtPmV2ZW50RmlsdGVyT2JqZWN0KCkpKTsKICAgICAgICAgICAgIFJlbmRlckxheWVy
ICpsYXllciA9IHctPmVuY2xvc2luZ0xheWVyKCk7CiAgICAgICAgICAgICBpZiAobGF5ZXIpCiAg
ICAgICAgICAgICAgICAgbGF5ZXItPnNjcm9sbFJlY3RUb1Zpc2libGUody0+YWJzb2x1dGVCb3Vu
ZGluZ0JveFJlY3QoKSk7CiAgICAgICAgIH0KIAlbc2VsZiBfS1dRX3NldEtleWJvYXJkRm9jdXNS
aW5nTmVlZHNEaXNwbGF5XTsKLSAgICAgICAgaWYgKHdpZGdldCkgewotICAgICAgICAgICAgUUZv
Y3VzRXZlbnQgZXZlbnQoUUV2ZW50OjpGb2N1c0luKTsKLSAgICAgICAgICAgIGlmICh3aWRnZXQt
PmV2ZW50RmlsdGVyT2JqZWN0KCkpCi0gICAgICAgICAgICAgICAgY29uc3RfY2FzdDxRT2JqZWN0
ICo+KHdpZGdldC0+ZXZlbnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVyKHdpZGdldCwgJmV2
ZW50KTsKLSAgICAgICAgfQorCisgICAgICAgIFFGb2N1c0V2ZW50IGV2ZW50KFFFdmVudDo6Rm9j
dXNJbik7CisgICAgICAgIGNvbnN0X2Nhc3Q8UU9iamVjdCAqPih3aWRnZXQtPmV2ZW50RmlsdGVy
T2JqZWN0KCkpLT5ldmVudEZpbHRlcih3aWRnZXQsICZldmVudCk7CiAgICAgfQogCiAgICAgcmV0
dXJuIGJlY29tZTsKQEAgLTk5MCwxNCArOTg4LDcgQEAgc3RhdGljIE5TU3RyaW5nICpXZWJDb250
aW51b3VzU3BlbGxDaGVjawogCiAgICAgaWYgKHJlc2lnbikgewogCVtzZWxmIF9LV1Ffc2V0S2V5
Ym9hcmRGb2N1c1JpbmdOZWVkc0Rpc3BsYXldOwotCi0gICAgICAgIGlmICh3aWRnZXQpIHsKLSAg
ICAgICAgICAgIFFGb2N1c0V2ZW50IGV2ZW50KFFFdmVudDo6Rm9jdXNPdXQpOwotICAgICAgICAg
ICAgaWYgKHdpZGdldC0+ZXZlbnRGaWx0ZXJPYmplY3QoKSkgewotICAgICAgICAgICAgICAgIGNv
bnN0X2Nhc3Q8UU9iamVjdCAqPih3aWRnZXQtPmV2ZW50RmlsdGVyT2JqZWN0KCkpLT5ldmVudEZp
bHRlcih3aWRnZXQsICZldmVudCk7Ci0gICAgICAgICAgICAgICAgW0tXUUtIVE1MUGFydDo6YnJp
ZGdlRm9yV2lkZ2V0KHdpZGdldCkgZm9ybUNvbnRyb2xJc1Jlc2lnbmluZ0ZpcnN0UmVzcG9uZGVy
OnNlbGZdOwotICAgICAgICAgICAgfQotICAgICAgICB9ICAgICAgICAKKyAgICAgICAgUVdpZGdl
dDo6cmVzaWduZWRGaXJzdFJlc3BvbmRlcihzZWxmKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVz
aWduOwpJbmRleDogV2ViQ29yZS9rd3EvS1dRVGV4dEZpZWxkLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FUZXh0RmllbGQubW0sdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuOTQKZGlmZiAtcCAtdSAtcjEuOTQgV2ViQ29yZS9rd3EvS1dRVGV4dEZpZWxkLm1t
Ci0tLSBXZWJDb3JlL2t3cS9LV1FUZXh0RmllbGQubW0JMjggT2N0IDIwMDUgMTc6MzU6NDMgLTAw
MDAJMS45NAorKysgV2ViQ29yZS9rd3EvS1dRVGV4dEZpZWxkLm1tCTUgTm92IDIwMDUgMTc6NDk6
MjYgLTAwMDAKQEAgLTQwNCwxMCArNDA0LDkgQEAgdXNpbmcga2h0bWw6OlJlbmRlckxheWVyOwog
ICAgICAgICAgICAgICAgIGxheWVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKHctPmFic29sdXRlQm91
bmRpbmdCb3hSZWN0KCkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBpZiAod2lkZ2V0
KSB7CisgICAgICAgIGlmICh3aWRnZXQgJiYgd2lkZ2V0LT5ldmVudEZpbHRlck9iamVjdCgpKSB7
CiAgICAgICAgICAgICBRRm9jdXNFdmVudCBldmVudChRRXZlbnQ6OkZvY3VzSW4pOwotICAgICAg
ICAgICAgaWYgKHdpZGdldC0+ZXZlbnRGaWx0ZXJPYmplY3QoKSkKLSAgICAgICAgICAgICAgICBj
b25zdF9jYXN0PFFPYmplY3QgKj4od2lkZ2V0LT5ldmVudEZpbHRlck9iamVjdCgpKS0+ZXZlbnRG
aWx0ZXIod2lkZ2V0LCAmZXZlbnQpOworICAgICAgICAgICAgY29uc3RfY2FzdDxRT2JqZWN0ICo+
KHdpZGdldC0+ZXZlbnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVyKHdpZGdldCwgJmV2ZW50
KTsKICAgICAgICAgfQogICAgICAgICAKIAkvLyBTZW5kaW5nIHRoZSBvbkZvY3VzIGV2ZW50IGFi
b3ZlLCBtYXkgaGF2ZSByZXN1bHRlZCBpbiBhIGJsdXIoKSAtIGlmIHRoaXMKQEAgLTQyMywxNCAr
NDIyLDcgQEAgdXNpbmcga2h0bWw6OlJlbmRlckxheWVyOwogCX0KICAgICB9IGVsc2UgewogICAg
ICAgICBsYXN0U2VsZWN0ZWRSYW5nZSA9IFtzZWxmIHNlbGVjdGVkUmFuZ2VdOwotICAgICAgICAK
LSAgICAgICAgaWYgKHdpZGdldCkgewotICAgICAgICAgICAgUUZvY3VzRXZlbnQgZXZlbnQoUUV2
ZW50OjpGb2N1c091dCk7Ci0gICAgICAgICAgICBpZiAod2lkZ2V0LT5ldmVudEZpbHRlck9iamVj
dCgpKSB7Ci0gICAgICAgICAgICAgICAgY29uc3RfY2FzdDxRT2JqZWN0ICo+KHdpZGdldC0+ZXZl
bnRGaWx0ZXJPYmplY3QoKSktPmV2ZW50RmlsdGVyKHdpZGdldCwgJmV2ZW50KTsKLSAgICAgICAg
ICAgICAgICBbS1dRS0hUTUxQYXJ0OjpicmlkZ2VGb3JXaWRnZXQod2lkZ2V0KSBmb3JtQ29udHJv
bElzUmVzaWduaW5nRmlyc3RSZXNwb25kZXI6ZmllbGRdOwotICAgICAgICAgICAgfQotICAgICAg
ICB9CisgICAgICAgIFFXaWRnZXQ6OnJlc2lnbmVkRmlyc3RSZXNwb25kZXIoZmllbGQsIGZhbHNl
KTsKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUva3dxL0tXUVdpZGdldC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2t3cS9LV1FXaWRnZXQuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS42OApkaWZmIC1wIC11IC1yMS42OCBXZWJDb3JlL2t3cS9LV1FXaWRnZXQuaAot
LS0gV2ViQ29yZS9rd3EvS1dRV2lkZ2V0LmgJMTEgT2N0IDIwMDUgMTk6MTY6NDUgLTAwMDAJMS42
OAorKysgV2ViQ29yZS9rd3EvS1dRV2lkZ2V0LmgJNSBOb3YgMjAwNSAxNzo0OToyNiAtMDAwMApA
QCAtMTYyLDYgKzE2Miw4IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lkIHNldERlZmVyRmly
c3RSZXNwb25kZXJDaGFuZ2VzKGJvb2wpOwogCisgICAgc3RhdGljIHZvaWQgcmVzaWduZWRGaXJz
dFJlc3BvbmRlcihOU1ZpZXcgKiwgYm9vbCBpblJlc2lnbkZpcnN0UmVzcG9uZGVyID0gdHJ1ZSk7
CisKIHByaXZhdGU6CiAgICAgS1dRV2lkZ2V0UHJpdmF0ZSAqZGF0YTsKIH07CkluZGV4OiBXZWJD
b3JlL2t3cS9LV1FXaWRnZXQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNv
cmUva3dxL0tXUVdpZGdldC5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMTMKZGlmZiAtcCAt
dSAtcjEuMTEzIFdlYkNvcmUva3dxL0tXUVdpZGdldC5tbQotLS0gV2ViQ29yZS9rd3EvS1dRV2lk
Z2V0Lm1tCTExIE9jdCAyMDA1IDE5OjE2OjQ1IC0wMDAwCTEuMTEzCisrKyBXZWJDb3JlL2t3cS9L
V1FXaWRnZXQubW0JNSBOb3YgMjAwNSAxNzo0OToyNyAtMDAwMApAQCAtNDEsNiArNDEsMTAgQEAK
ICNpbXBvcnQgInJlbmRlcl9yZXBsYWNlZC5oIgogI2ltcG9ydCAicmVuZGVyX3N0eWxlLmgiCiAK
K0BpbnRlcmZhY2UgTlNXaW5kb3cgKEtXUUFwcEtpdFNlY3JldHMpCistIChOU1Jlc3BvbmRlciAq
KV9uZXdGaXJzdFJlc3BvbmRlckFmdGVyUmVzaWduaW5nOworQGVuZAorCiB1c2luZyBraHRtbDo6
UmVuZGVyV2lkZ2V0OwogCiBzdGF0aWMgYm9vbCBkZWZlckZpcnN0UmVzcG9uZGVyQ2hhbmdlczsK
QEAgLTYxNCwzICs2MTgsNTIgQEAgdm9pZCBRV2lkZ2V0OjpzZXREZWZlckZpcnN0UmVzcG9uZGVy
Q2hhbgogICAgICAgICB9CiAgICAgfQogfQorCit2b2lkIFFXaWRnZXQ6OnJlc2lnbmVkRmlyc3RS
ZXNwb25kZXIoTlNWaWV3ICp2aWV3LCBib29sIGluUmVzaWduRmlyc3RSZXNwb25kZXIpCit7Cisg
ICAgQVNTRVJUKFt2aWV3IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woS1dRV2lkZ2V0SG9s
ZGVyKV0pOworCisgICAgUVdpZGdldCAqd2lkZ2V0ID0gWyhOU1ZpZXcgPEtXUVdpZGdldEhvbGRl
cj4gKil2aWV3IHdpZGdldF07CisgICAgaWYgKCF3aWRnZXQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFFPYmplY3QgKmZpbHRlciA9IGNvbnN0X2Nhc3Q8UU9iamVjdCAqPih3aWRnZXQtPmV2ZW50
RmlsdGVyT2JqZWN0KCkpOworICAgIGlmICghZmlsdGVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICBLV1FLSFRNTFBhcnQgKnBhcnQgPSBLV1FLSFRNTFBhcnQ6OnBhcnRGb3JXaWRnZXQod2lkZ2V0
KTsKKyAgICBpZiAoIXBhcnQpCisgICAgICAgIHJldHVybjsKKworICAgIGJvb2wgd2l0aGluSFRN
TFZpZXcgPSBmYWxzZTsKKworICAgIEtIVE1MUGFydCAqdG9wUGFydCA9IHBhcnQ7CisgICAgd2hp
bGUgKEtIVE1MUGFydCAqcGFyZW50ID0gdG9wUGFydC0+cGFyZW50UGFydCgpKQorICAgICAgICB0
b3BQYXJ0ID0gcGFyZW50OworICAgIEtIVE1MVmlldyAqdG9wV2lkZ2V0ID0gdG9wUGFydC0+dmll
dygpOworICAgIGlmICh0b3BXaWRnZXQpIHsKKyAgICAgICAgTlNWaWV3ICp0b3BWaWV3ID0gdG9w
V2lkZ2V0LT5nZXRPdXRlclZpZXcoKTsKKyAgICAgICAgTlNXaW5kb3cgKndpbmRvdyA9IFt0b3BW
aWV3IHdpbmRvd107CisgICAgICAgIE5TUmVzcG9uZGVyICpuZXh0S2V5VmlldyA9IG5pbDsKKyAg
ICAgICAgaWYgKGluUmVzaWduRmlyc3RSZXNwb25kZXIpCisgICAgICAgICAgICBuZXh0S2V5Vmll
dyA9IFt3aW5kb3cgX25ld0ZpcnN0UmVzcG9uZGVyQWZ0ZXJSZXNpZ25pbmddOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBzd2l0Y2ggKFt3aW5kb3cga2V5Vmlld1NlbGVjdGlvbkRpcmVjdGlv
bl0pIHsKKyAgICAgICAgICAgICAgICBjYXNlIE5TRGlyZWN0U2VsZWN0aW9uOgorICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIE5TU2VsZWN0aW5nTmV4dDoK
KyAgICAgICAgICAgICAgICAgICAgbmV4dEtleVZpZXcgPSBbdmlldyBuZXh0VmFsaWRLZXlWaWV3
XTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBOU1Nl
bGVjdGluZ1ByZXZpb3VzOgorICAgICAgICAgICAgICAgICAgICBuZXh0S2V5VmlldyA9IFt2aWV3
IHByZXZpb3VzVmFsaWRLZXlWaWV3XTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIGlmIChbbmV4dEtleVZpZXcgaXNLaW5kT2ZDbGFzczpbTlNWaWV3
IGNsYXNzXV0pCisgICAgICAgICAgICB3aXRoaW5IVE1MVmlldyA9IFsoTlNWaWV3ICopbmV4dEtl
eVZpZXcgaXNEZXNjZW5kYW50T2Y6dG9wVmlld107CisgICAgfQorCisgICAgUUZvY3VzRXZlbnQg
ZXZlbnQoUUV2ZW50OjpGb2N1c091dCwgd2l0aGluSFRNTFZpZXcpOworICAgIGZpbHRlci0+ZXZl
bnRGaWx0ZXIod2lkZ2V0LCAmZXZlbnQpOworCisgICAgW3BhcnQtPmJyaWRnZSgpIGZvcm1Db250
cm9sSXNSZXNpZ25pbmdGaXJzdFJlc3BvbmRlcjp2aWV3XTsKK30KSW5kZXg6IFdlYkNvcmUva3dx
L1dlYkNvcmVCcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
d3EvV2ViQ29yZUJyaWRnZS5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM0OApkaWZmIC1wIC11
IC1yMS4zNDggV2ViQ29yZS9rd3EvV2ViQ29yZUJyaWRnZS5oCi0tLSBXZWJDb3JlL2t3cS9XZWJD
b3JlQnJpZGdlLmgJMjQgU2VwIDIwMDUgMDE6MTk6MDUgLTAwMDAJMS4zNDgKKysrIFdlYkNvcmUv
a3dxL1dlYkNvcmVCcmlkZ2UuaAk1IE5vdiAyMDA1IDE3OjQ5OjI3IC0wMDAwCkBAIC0yNzgsNiAr
Mjc4LDkgQEAgdHlwZWRlZiBlbnVtCiAtIChOU1ZpZXcgKiluZXh0S2V5Vmlld0luc2lkZVdlYkZy
YW1lVmlld3M7CiAtIChOU1ZpZXcgKilwcmV2aW91c0tleVZpZXdJbnNpZGVXZWJGcmFtZVZpZXdz
OwogCistICh2b2lkKXNlbGVjdE5leHRLZXlWaWV3OyAvLyBvbmx5IGNhbGxlZCB3aGVuIHRoZSBu
ZXh0IHZpZXcgaXMgaW5zaWRlIGFuZCBub3QgYSBzZXBhcmF0ZSBOU1ZpZXcKKy0gKHZvaWQpc2Vs
ZWN0UHJldmlvdXNLZXlWaWV3OyAvLyBkaXR0bworCiAtIChOU09iamVjdCAqKWNvcHlET01UcmVl
OihpZCA8V2ViQ29yZURPTVRyZWVDb3BpZXI+KWNvcGllcjsKIC0gKE5TT2JqZWN0ICopY29weVJl
bmRlclRyZWU6KGlkIDxXZWJDb3JlUmVuZGVyVHJlZUNvcGllcj4pY29waWVyOwogLSAoTlNTdHJp
bmcgKilyZW5kZXJUcmVlQXNFeHRlcm5hbFJlcHJlc2VudGF0aW9uOwpJbmRleDogV2ViQ29yZS9r
d3EvV2ViQ29yZUJyaWRnZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29y
ZS9rd3EvV2ViQ29yZUJyaWRnZS5tbSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40MjQKZGlmZiAt
cCAtdSAtcjEuNDI0IFdlYkNvcmUva3dxL1dlYkNvcmVCcmlkZ2UubW0KLS0tIFdlYkNvcmUva3dx
L1dlYkNvcmVCcmlkZ2UubW0JMyBOb3YgMjAwNSAxOToxMjowNyAtMDAwMAkxLjQyNAorKysgV2Vi
Q29yZS9rd3EvV2ViQ29yZUJyaWRnZS5tbQk1IE5vdiAyMDA1IDE3OjQ5OjI5IC0wMDAwCkBAIC0x
MjIxLDYgKzEyMjEsMTYgQEAgc3RhdGljIEhUTUxGb3JtRWxlbWVudEltcGwgKmZvcm1FbGVtZW50
RgogICAgIHJldHVybiBfcGFydC0+bmV4dEtleVZpZXdJbkZyYW1lSGllcmFyY2h5KGRvYy0+Zm9j
dXNOb2RlKCksIEtXUVNlbGVjdGluZ1ByZXZpb3VzKTsKIH0KIAorLSAodm9pZClzZWxlY3ROZXh0
S2V5VmlldworeworICAgIF9wYXJ0LT5zZWxlY3ROZXh0KEtXUVNlbGVjdGluZ05leHQpOworfQor
CistICh2b2lkKXNlbGVjdFByZXZpb3VzS2V5VmlldworeworICAgIF9wYXJ0LT5zZWxlY3ROZXh0
KEtXUVNlbGVjdGluZ1ByZXZpb3VzKTsKK30KKwogLSAoTlNTdHJpbmcgKilzdHJpbmdCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0RnJvbVN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcKIHsKICAgICByZXR1
cm4gW3NlbGYgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdEZyb21TdHJpbmc6c3RyaW5nIGZv
cmNlVXNlckdlc3R1cmU6dHJ1ZV07CkluZGV4OiBXZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYkhU
TUxWaWV3Lm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJWaWV3LnN1
YnByb2ovV2ViSFRNTFZpZXcubSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NzcKZGlmZiAtcCAt
dSAtcjEuNDc3IFdlYktpdC9XZWJWaWV3LnN1YnByb2ovV2ViSFRNTFZpZXcubQotLS0gV2ViS2l0
L1dlYlZpZXcuc3VicHJvai9XZWJIVE1MVmlldy5tCTI0IE9jdCAyMDA1IDAyOjEzOjE4IC0wMDAw
CTEuNDc3CisrKyBXZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYkhUTUxWaWV3Lm0JNSBOb3YgMjAw
NSAxNzo0OTo1MCAtMDAwMApAQCAtMjQ2LDYgKzI0Niw3IEBAIHZvaWQgKl9OU1NvZnRMaW5raW5n
R2V0RnJhbWV3b3JrRnVuY1B0cigKICAgICBbdG9vbFRpcCByZWxlYXNlXTsKICAgICBbY29tcENv
bnRyb2xsZXIgcmVsZWFzZV07CiAgICAgW2ZpcnN0UmVzcG9uZGVyQXRNb3VzZURvd25UaW1lIHJl
bGVhc2VdOworICAgIFtuZXh0Vmlld1Byb3h5IHJlbGVhc2VdOwogCiAgICAgW3N1cGVyIGRlYWxs
b2NdOwogfQpAQCAtMTk1MSw2ICsxOTUyLDEzIEBAIHN0YXRpYyBXZWJIVE1MVmlldyAqbGFzdEhp
dFZpZXcgPSBuaWw7CiAgICAgcmV0dXJuIFlFUzsKIH0KIAorLSAoQk9PTCluZWVkc1BhbmVsVG9C
ZWNvbWVLZXkKK3sKKyAgICAvLyBTaW5jZSB3ZSBpbmhlcml0IGZyb20gTlNDb250cm9sLCB3ZSBn
ZXQgYW4gdW53YW50ZWQgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBtZXRob2QuCisgICAgLy8gU28g
d2Ugb3ZlcnJpZGUgdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBOU1ZpZXcgYmVoYXZpb3IuIFRoaXMg
Zml4ZXMgYmFja3dhcmRzIHRhYmJpbmcgKGRvbid0IGFzaykuCisgICAgcmV0dXJuIFtzZWxmIGFj
Y2VwdHNGaXJzdFJlc3BvbmRlcl07Cit9CisKIC0gKEJPT0wpbWFpbnRhaW5zSW5hY3RpdmVTZWxl
Y3Rpb24KIHsKICAgICAvLyBUaGlzIG1ldGhvZCBoZWxwcyB0byBkZXRlcm1pbmcgd2hldGhlciB0
aGUgdmlldyBzaG91bGQgbWFpbnRhaW4KQEAgLTI4NTksNiArMjg2NywxMyBAQCBkb25lOgogICAg
IHJldHVybiBZRVM7CiB9CiAKKy0gKE5TVmlldyAqKW5leHRWaWV3UHJveHkKK3sKKyAgICBpZiAo
IV9wcml2YXRlLT5uZXh0Vmlld1Byb3h5KQorICAgICAgICBfcHJpdmF0ZS0+bmV4dFZpZXdQcm94
eSA9IFtbTlNWaWV3IGFsbG9jXSBpbml0XTsKKyAgICByZXR1cm4gX3ByaXZhdGUtPm5leHRWaWV3
UHJveHk7Cit9CisKIC0gKE5TVmlldyAqKW5leHRWYWxpZEtleVZpZXcKIHsKICAgICBOU1ZpZXcg
KnZpZXcgPSBuaWw7CkBAIC0yODkxLDQwICsyOTA2LDQzIEBAIGRvbmU6CiAgICAgICAgICAgICB2
aWV3ID0gW1tzZWxmIF9icmlkZ2VdIG5leHRWYWxpZEtleVZpZXdPdXRzaWRlV2ViRnJhbWVWaWV3
c107CiAgICAgICAgIH0KICAgICB9Ci0gICAgICAgIAorCisgICAgaWYgKHZpZXcgPT0gc2VsZikK
KyAgICAgICAgdmlldyA9IFtzZWxmIG5leHRWaWV3UHJveHldOwogICAgIHJldHVybiB2aWV3Owog
fQogCiAtIChOU1ZpZXcgKilwcmV2aW91c1ZhbGlkS2V5VmlldwogewogICAgIE5TVmlldyAqdmll
dyA9IG5pbDsKLSAgICBpZiAoIVtzZWxmIGlzSGlkZGVuT3JIYXNIaWRkZW5BbmNlc3Rvcl0pIHsK
KyAgICBpZiAoIVtzZWxmIGlzSGlkZGVuT3JIYXNIaWRkZW5BbmNlc3Rvcl0pCiAgICAgICAgIHZp
ZXcgPSBbW3NlbGYgX2JyaWRnZV0gcHJldmlvdXNLZXlWaWV3SW5zaWRlV2ViRnJhbWVWaWV3c107
Ci0gICAgfQotICAgIGlmICh2aWV3ID09IG5pbCkgeworICAgIGlmICh2aWV3ID09IG5pbCkKICAg
ICAgICAgdmlldyA9IFtzdXBlciBwcmV2aW91c1ZhbGlkS2V5Vmlld107Ci0gICAgfQorICAgIGlm
ICh2aWV3ID09IHNlbGYpCisgICAgICAgIHZpZXcgPSBbc2VsZiBuZXh0Vmlld1Byb3h5XTsKICAg
ICByZXR1cm4gdmlldzsKIH0KIAotLSAoQk9PTCliZWNvbWVGaXJzdFJlc3BvbmRlcgorLSAodm9p
ZClhZHZhbmNlS2V5VmlldwogewotICAgIE5TVmlldyAqdmlldyA9IG5pbDsKLSAgICBpZiAoIVtb
c2VsZiBfd2ViVmlld10gX2lzUGVyZm9ybWluZ1Byb2dyYW1tYXRpY0ZvY3VzXSkgewotICAgICAg
ICBzd2l0Y2ggKFtbc2VsZiB3aW5kb3ddIGtleVZpZXdTZWxlY3Rpb25EaXJlY3Rpb25dKSB7Cisg
ICAgaWYgKFtbc2VsZiBfd2ViVmlld10gX2lzUGVyZm9ybWluZ1Byb2dyYW1tYXRpY0ZvY3VzXSkK
KyAgICAgICAgcmV0dXJuOworICAgIHN3aXRjaCAoW1tzZWxmIHdpbmRvd10ga2V5Vmlld1NlbGVj
dGlvbkRpcmVjdGlvbl0pIHsKICAgICAgICAgY2FzZSBOU0RpcmVjdFNlbGVjdGlvbjoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5TU2VsZWN0aW5nTmV4dDoKLSAgICAgICAgICAg
IHZpZXcgPSBbW3NlbGYgX2JyaWRnZV0gbmV4dEtleVZpZXdJbnNpZGVXZWJGcmFtZVZpZXdzXTsK
KyAgICAgICAgICAgIFtbc2VsZiBfYnJpZGdlXSBzZWxlY3ROZXh0S2V5Vmlld107CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBOU1NlbGVjdGluZ1ByZXZpb3VzOgotICAgICAgICAg
ICAgdmlldyA9IFtbc2VsZiBfYnJpZGdlXSBwcmV2aW91c0tleVZpZXdJbnNpZGVXZWJGcmFtZVZp
ZXdzXTsKKyAgICAgICAgICAgIFtbc2VsZiBfYnJpZGdlXSBzZWxlY3RQcmV2aW91c0tleVZpZXdd
OwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKHZpZXcpIHsK
LSAgICAgICAgW1tzZWxmIHdpbmRvd10gbWFrZUZpcnN0UmVzcG9uZGVyOnZpZXddOwogICAgIH0K
K30KKworLSAoQk9PTCliZWNvbWVGaXJzdFJlc3BvbmRlcgoreworICAgIFtzZWxmIGFkdmFuY2VL
ZXlWaWV3XTsKICAgICBbW3NlbGYgX3dlYlZpZXddIF9zZWxlY3RlZEZyYW1lRGlkQ2hhbmdlXTsK
ICAgICBbc2VsZiB1cGRhdGVGb2N1c1N0YXRlXTsKICAgICBbc2VsZiBfdXBkYXRlRm9udFBhbmVs
XTsKQEAgLTI5MzQsNiArMjk1MiwxMCBAQCBkb25lOgogCiAtIChCT09MKXJlc2lnbkZpcnN0UmVz
cG9uZGVyCiB7CisgICAgaWYgKFtbc2VsZiB3aW5kb3ddIF9uZXdGaXJzdFJlc3BvbmRlckFmdGVy
UmVzaWduaW5nXSA9PSBbc2VsZiBuZXh0Vmlld1Byb3h5XSkgeworICAgICAgICBbc2VsZiBhZHZh
bmNlS2V5Vmlld107CisgICAgICAgIHJldHVybiBOTzsKKyAgICB9CiAgICAgQk9PTCByZXNpZ24g
PSBbc3VwZXIgcmVzaWduRmlyc3RSZXNwb25kZXJdOwogICAgIGlmIChyZXNpZ24pIHsKICAgICAg
ICAgW19wcml2YXRlLT5jb21wQ29udHJvbGxlciBlbmRSZXZlcnRpbmdDaGFuZ2U6Tk8gbW92ZUxl
ZnQ6Tk9dOwpAQCAtMjk0MSw4ICsyOTYzLDcgQEAgZG9uZToKICAgICAgICAgaWYgKCFbc2VsZiBt
YWludGFpbnNJbmFjdGl2ZVNlbGVjdGlvbl0pIHsgCiAgICAgICAgICAgICBpZiAoW1tzZWxmIF93
ZWJWaWV3XSBfaXNQZXJmb3JtaW5nUHJvZ3JhbW1hdGljRm9jdXNdKSB7CiAgICAgICAgICAgICAg
ICAgW3NlbGYgZGVzZWxlY3RUZXh0XTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2Ug
eworICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBbc2VsZiBkZXNlbGVjdEFs
bF07CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IFdlYktpdC9XZWJWaWV3LnN1YnBy
b2ovV2ViSFRNTFZpZXdJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dlYkhUTUxWaWV3SW50ZXJuYWwuaCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4yMQpkaWZmIC1wIC11IC1yMS4yMSBXZWJLaXQvV2ViVmlldy5zdWJwcm9qL1dl
YkhUTUxWaWV3SW50ZXJuYWwuaAotLS0gV2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJIVE1MVmll
d0ludGVybmFsLmgJMTQgSnVsIDIwMDUgMjM6NTI6NTUgLTAwMDAJMS4yMQorKysgV2ViS2l0L1dl
YlZpZXcuc3VicHJvai9XZWJIVE1MVmlld0ludGVybmFsLmgJNSBOb3YgMjAwNSAxNzo0OTo1MSAt
MDAwMApAQCAtODUsNiArODUsOCBAQAogICAgIEJPT0wgdHJhbnNwYXJlbnRCYWNrZ3JvdW5kOwog
CiAgICAgTlNSZXNwb25kZXIgKmZpcnN0UmVzcG9uZGVyQXRNb3VzZURvd25UaW1lOworCisgICAg
TlNWaWV3ICpuZXh0Vmlld1Byb3h5OwogfQogQGVuZAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>