<?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>65624</bug_id>
          
          <creation_ts>2011-08-03 09:36:28 -0700</creation_ts>
          <short_desc>[Qt] Make navigation actions properly usable in QML.</short_desc>
          <delta_ts>2011-08-04 07:57:23 -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>New Bugs</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>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>benjamin</cc>
    
    <cc>kling</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>445908</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-03 09:36:28 -0700</bug_when>
    <thetext>[Qt] Make navigation actions properly usable in QML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445912</commentid>
    <comment_count>1</comment_count>
      <attachid>102791</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-03 09:44:23 -0700</bug_when>
    <thetext>Created attachment 102791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446459</commentid>
    <comment_count>2</comment_count>
      <attachid>102791</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-04 06:27:55 -0700</bug_when>
    <thetext>Comment on attachment 102791
Patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h:46
&gt; +    QWebNavigationController* navigationController;

Look like this is leaked (in both views).
OwnPtr to the rescue? Or add QObject* parent to the constructor of QWebNavigationController.

&gt; Source/WebKit2/UIProcess/API/qt/qwebnavigationcontroller.cpp:33
&gt; +

ASSERT(pageProxy) maybe so it fails early in case of mistake?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446471</commentid>
    <comment_count>3</comment_count>
      <attachid>102906</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-04 06:54:50 -0700</bug_when>
    <thetext>Created attachment 102906
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446475</commentid>
    <comment_count>4</comment_count>
      <attachid>102906</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-08-04 06:56:46 -0700</bug_when>
    <thetext>Comment on attachment 102906
Patch

Looks good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446496</commentid>
    <comment_count>5</comment_count>
      <attachid>102906</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 07:57:19 -0700</bug_when>
    <thetext>Comment on attachment 102906
Patch

Clearing flags on attachment: 102906

Committed r92373: &lt;http://trac.webkit.org/changeset/92373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446497</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-04 07:57:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102791</attachid>
            <date>2011-08-03 09:44:23 -0700</date>
            <delta_ts>2011-08-04 06:54:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65624-20110803134317.patch</filename>
            <type>text/plain</type>
            <size>23505</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMjg2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTkgQEAKKzIwMTEtMDgtMDMgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBNYWtl
IG5hdmlnYXRpb24gYWN0aW9ucyBwcm9wZXJseSB1c2FibGUgaW4gUU1MLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MjQKKworICAgICAgICBBZGQg
YSBuZXcgY2xhc3MgdGhhdCBpcyBleHBvc2VkIGluIFFNTCB0byBjb250cm9sIHRoZSBuYXZpZ2F0
aW9uCisgICAgICAgIGxpa2UgcmVsb2FkL3N0b3AvYmFjay9mb3J3YXJkLiBFbnVtcyBhcmUgbm90
IHZlcnkgUU1MIGZyaWVuZGx5LAorICAgICAgICBpdCBub3QgcG9zc2libGUgdG8gdXNlIGVudW1z
IHRoYXQgYXJlIG5vdCBkZWNsYXJlZCBpbiB0aGUgc2FtZSBjbGFzcworICAgICAgICB0aGFuIHRo
ZSBvYmplY3QgZXhwb3NlZCBpbiBRTUwsIHRoZXJlZm9yZSBpdCBtYWtlcyBoYXJkIHRoZSBzaGFy
aW5nCisgICAgICAgIGJldHdlZW4gdGhlIGRlc2t0b3AgYW5kIHRoZSB0b3VjaCB2aWV3cy4gSW4g
YWRkaXRpb24gbmFtZXNwYWNlZCBlbnVtcyBhcmUKKyAgICAgICAgZXZlbiBoYXJkZXIgdG8gc3Vw
cG9ydCBpbiBRTUwuIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlciBpcworICAgICAgICBub3QgcmVh
bGx5IG1lYW50IHRvIGJlIHVzZWQgaW4gQysrIGJ1dCBpdCBpcyBleHBvcnRlZCBmb3IgY29udmVu
aWVuY2UKKyAgICAgICAgcmVhc29uICh0ZXN0cyBhbmQgTWluaUJyb3dzZXIpIHNvIGl0cyBBUEkg
aXMgbm90IG1lYW50IHRvIGJlIHB1YmxpYyBidXQKKyAgICAgICAgZXhwb3NlZCBpbiBRTUwgdGhy
b3VnaCBwcm9wZXJ0aWVzIGFuZCBjb252ZW5pZW5jZSBzbG90cy4gVGhlIFFNTCBjb2RlIHRvIHVz
ZQorICAgICAgICB0aGUgbmF2aWdhdGlvbiBhY3Rpb24gaW4gUU1MIHdpbGwgbG9vayBsaWtlICJk
ZXNrdG9wVmlldy5uYXZpZ2F0aW9uLnJlbG9hZCgpOyIKKyAgICAgICAgb3IgImlmIChkZXNrdG9w
Vmlldy5uYXZpZ2F0aW9uLnJlbG9hZEFjdGlvbi5lbmFibGVkKSAuLi4iLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9X
S1ZpZXcuaDogVG8gZ2V0IHRoZSBmb3J3YXJkIGhlYWRlciBnZW5lcmF0ZWQKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdl
YlZpZXdQcml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFEZXNrdG9w
V2ViVmlldzo6bmF2aWdhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcWRlc2t0b3B3ZWJ2aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3Rv
cHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcW1scGx1Z2luL3BsdWdp
bi5jcHA6CisgICAgICAgIChXZWJLaXQyUW1sUGx1Z2luOjpyZWdpc3RlclR5cGVzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuY3BwOgorICAgICAgICAoUVRvdWNo
V2ViUGFnZTo6bmF2aWdhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoUVRvdWNoV2ViUGFnZVBy
aXZhdGU6OlFUb3VjaFdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnBhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBh
Z2VfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9s
bGVyLmNwcDogQWRkZWQuCisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXJQcml2YXRl
OjpRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlcjo6UVdlYk5hdmlnYXRpb25Db250cm9sbGVyKToKKyAgICAgICAgKFFXZWJO
YXZpZ2F0aW9uQ29udHJvbGxlcjo6flFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcik6CisgICAgICAg
IChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OmJhY2tBY3Rpb24pOgorICAgICAgICAoUVdlYk5h
dmlnYXRpb25Db250cm9sbGVyOjpmb3J3YXJkQWN0aW9uKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlcjo6c3RvcEFjdGlvbik6CisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXI6OnJlbG9hZEFjdGlvbik6CisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6
Om5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpi
YWNrKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6Zm9yd2FyZCk6CisgICAg
ICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OnN0b3ApOgorICAgICAgICAoUVdlYk5hdmln
YXRpb25Db250cm9sbGVyOjpyZWxvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdl
Ym5hdmlnYXRpb25jb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvY29tbW9udmlld3Rlc3RzL3dlYnZpZXdhYnN0cmFjdGlvbi5jcHA6CisgICAgICAg
IChXZWJWaWV3QWJzdHJhY3Rpb246OnRyaWdnZXJOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FkZXNrdG9wd2Vidmlldy90c3RfcWRlc2t0b3B3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKHRzdF9RRGVza3RvcFdlYlZpZXc6Om5hdmlnYXRpb25BY3Rpb25z
U3RhdHVzQXRTdGFydHVwKToKKyAgICAgICAgKExvYWRTdGFydGVkQ2F0Y2hlcjo6b25Mb2FkU3Rh
cnRlZCk6CisgICAgICAgICh0c3RfUURlc2t0b3BXZWJWaWV3OjpzdG9wQWN0aW9uRW5hYmxlZEFm
dGVyTG9hZFN0YXJ0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXRvdWNo
d2Vidmlldy90c3RfcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVRvdWNoV2ViVmll
dzo6bmF2aWdhdGlvbkFjdGlvbnNTdGF0dXNBdFN0YXJ0dXApOgorICAgICAgICAqIFdlYktpdDJB
UEkucHJpOgorCiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbVGltZWxpbmVdIEhvdmVyIG9uIHBhaW50IGV2
ZW50cyBhbmQgc2VlIHJlY3Qgb3V0bGluZSBhcm91bmQgdGhhdCBhcmVhLgpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViS2l0MkFQSS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
S2l0MkFQSS5wcmkJKHJldmlzaW9uIDkyMjg1KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0MkFQ
SS5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgV0VCS0lUMl9BUElfU09VUkNF
UyA9IFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdl
YnBhZ2UuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnZpZXcuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F3ZWJlcnJvci5jcHAgXAorICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmNwcCBcCiAgICAgJCRTT1VSQ0VfRElSL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAogICAg
ICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5j
cHAgXApAQCAtMTMxLDYgKzEzMiw3IEBAIFdFQktJVDJfQVBJX0hFQURFUlMgKz0gXAogICAgICQk
U09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmVycm9yLmggXAogICAgICQk
U09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmVycm9yX3AuaCBcCiAgICAg
JCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Via2l0dHlwZXMuaCBcCisg
ICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbmNv
bnRyb2xsZXIuaCBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIFwKICAgICAkJFNPVVJDRV9E
SVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFja0Zv
cndhcmRMaXN0SXRlbS5oIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvV0tWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaAkocmV2aXNpb24gOTIyODUpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L1dLVmlldy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw1ICsyNCw2IEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9xZGVza3RvcHdlYnZpZXcuaD4KICNp
bmNsdWRlIDxXZWJLaXQyL3F0b3VjaHdlYnZpZXcuaD4KICNpbmNsdWRlIDxXZWJLaXQyL3F0b3Vj
aHdlYnBhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL3F3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5o
PgogCiAjZW5kaWYgLyogV0tWaWV3X2ggKi8KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHJldmlzaW9uIDkyMjg1KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OlFE
ZXNrdG9wV2ViVmlld1AKICAgICA6IHEocSkKICAgICAsIHBhZ2UodGhpcywgY29udGV4dFJlZiA/
IG5ldyBRV0tDb250ZXh0KGNvbnRleHRSZWYpIDogZGVmYXVsdFdLQ29udGV4dCgpLCBwYWdlR3Jv
dXBSZWYpCiAgICAgLCBpc0NyYXNoZWQoZmFsc2UpCisgICAgLCBuYXZpZ2F0aW9uQ29udHJvbGxl
cigwKQogewogfQogCkBAIC0yMDgsOSArMjA5LDExIEBAIFFTdHJpbmcgUURlc2t0b3BXZWJWaWV3
Ojp0aXRsZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnBhZ2UudGl0bGUoKTsKIH0KIAotUUFjdGlv
biogUURlc2t0b3BXZWJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9u
QWN0aW9uIHdoaWNoKSBjb25zdAorUVdlYk5hdmlnYXRpb25Db250cm9sbGVyKiBRRGVza3RvcFdl
YlZpZXc6Om5hdmlnYXRpb25Db250cm9sbGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+cGFn
ZS5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKKyAgICBpZiAoIWQtPm5hdmlnYXRpb25Db250cm9s
bGVyKQorICAgICAgICBkLT5uYXZpZ2F0aW9uQ29udHJvbGxlciA9IG5ldyBRV2ViTmF2aWdhdGlv
bkNvbnRyb2xsZXIoJmQtPnBhZ2UpOworICAgIHJldHVybiBkLT5uYXZpZ2F0aW9uQ29udHJvbGxl
cjsKIH0KIAogc3RhdGljIHZvaWQgcGFpbnRDcmFzaGVkUGFnZShRUGFpbnRlciogcGFpbnRlciwg
Y29uc3QgUVJlY3RGJiByZWN0KQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xZGVza3RvcHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKIAogY2xhc3MgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKIGNsYXNz
IFFXZWJFcnJvcjsKK2NsYXNzIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjsKIAogUVRfQkVHSU5f
TkFNRVNQQUNFCiBjbGFzcyBRRm9jdXNFdmVudDsKQEAgLTUyLDExICs1Myw5IEBAIGNsYXNzIFFX
RUJLSVRfRVhQT1JUIFFEZXNrdG9wV2ViVmlldyA6IHAKICAgICBRX1BST1BFUlRZKFFTdHJpbmcg
dGl0bGUgUkVBRCB0aXRsZSBOT1RJRlkgdGl0bGVDaGFuZ2VkKQogICAgIFFfUFJPUEVSVFkoUVVy
bCB1cmwgUkVBRCB1cmwgTk9USUZZIHVybENoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShpbnQgbG9h
ZFByb2dyZXNzIFJFQUQgbG9hZFByb2dyZXNzIE5PVElGWSBsb2FkUHJvZ3Jlc3NDaGFuZ2VkKQot
Ci0gICAgUV9FTlVNUyhOYXZpZ2F0aW9uQWN0aW9uKQorICAgIFFfUFJPUEVSVFkoUVdlYk5hdmln
YXRpb25Db250cm9sbGVyKiBuYXZpZ2F0aW9uIFJFQUQgbmF2aWdhdGlvbkNvbnRyb2xsZXIgQ09O
U1RBTlQpCiAKIHB1YmxpYzoKLQogICAgIFFEZXNrdG9wV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQg
PSAwKTsKICAgICB2aXJ0dWFsIH5RRGVza3RvcFdlYlZpZXcoKTsKIApAQCAtNjQsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jl
c3MoKSBjb25zdDsKIAotICAgIFFfSU5WT0tBQkxFIFFBY3Rpb24qIG5hdmlnYXRpb25BY3Rpb24o
UXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0OworICAgIFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXIoKSBjb25zdDsKIAogcHVibGljIFFf
U0xPVFM6CiAgICAgIHZvaWQgbG9hZChjb25zdCBRVXJsJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCShyZXZpc2lv
biA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2
aWV3X3AuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBxZGVza3Rv
cHdlYnZpZXdfcF9oCiAKICNpbmNsdWRlICJxZGVza3RvcHdlYnBhZ2Vwcm94eS5oIgorI2luY2x1
ZGUgInF3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oIgogI2luY2x1ZGUgIlZpZXdJbnRlcmZhY2Uu
aCIKIAogY2xhc3MgUURlc2t0b3BXZWJWaWV3OwpAQCAtMzcsNiArMzgsNyBAQCBwdWJsaWM6CiAg
ICAgUURlc2t0b3BXZWJQYWdlUHJveHkgcGFnZTsKIAogICAgIGJvb2wgaXNDcmFzaGVkOworICAg
IFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXI7CiAKIHByaXZh
dGU6CiAgICAgLyogSW1wbGVtZW50YXRpb24gb2YgVmlld0ludGVyZmFjZSAqLwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuY3BwCShy
ZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNo
d2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwxNCArMTIyLDE3IEBAIHZvaWQgUVRv
dWNoV2ViUGFnZTo6Z2VvbWV0cnlDaGFuZ2VkKGNvbnMKICAgICAgICAgZC0+cGFnZS0+c2V0RHJh
d2luZ0FyZWFTaXplKG5ld0dlb21ldHJ5LnNpemUoKS50b1NpemUoKSk7CiB9CiAKLVFBY3Rpb24q
IFFUb3VjaFdlYlBhZ2U6Om5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rp
b24gd2hpY2gpCitRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXIqIFFUb3VjaFdlYlBhZ2U6Om5hdmln
YXRpb25Db250cm9sbGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+cGFnZS0+bmF2aWdhdGlv
bkFjdGlvbih3aGljaCk7CisgICAgaWYgKCFkLT5uYXZpZ2F0aW9uQ29udHJvbGxlcikKKyAgICAg
ICAgZC0+bmF2aWdhdGlvbkNvbnRyb2xsZXIgPSBuZXcgUVdlYk5hdmlnYXRpb25Db250cm9sbGVy
KGQtPnBhZ2UpOworICAgIHJldHVybiBkLT5uYXZpZ2F0aW9uQ29udHJvbGxlcjsKIH0KIAogUVRv
dWNoV2ViUGFnZVByaXZhdGU6OlFUb3VjaFdlYlBhZ2VQcml2YXRlKFFUb3VjaFdlYlBhZ2UqIHZp
ZXcpCiAgICAgOiBxKHZpZXcpCiAgICAgLCBwYWdlKDApCisgICAgLCBuYXZpZ2F0aW9uQ29udHJv
bGxlcigwKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24gOTIyODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiAr
MzAsNyBAQAogY2xhc3MgUVRvdWNoV2ViUGFnZVByaXZhdGU7CiBjbGFzcyBRVG91Y2hXZWJQYWdl
UHJveHk7CiBjbGFzcyBRV2ViRXJyb3I7CitjbGFzcyBRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIGNsYXNzIFRvdWNoVmlld0ludGVyZmFjZTsKQEAg
LTQwLDYgKzQxLDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVRvdWNoV2ViUGFnZSA6IHB1Ygog
ICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElGWSB0aXRsZUNoYW5n
ZWQpCiAgICAgUV9QUk9QRVJUWShRVXJsIHVybCBSRUFEIHVybCBOT1RJRlkgdXJsQ2hhbmdlZCkK
ICAgICBRX1BST1BFUlRZKGludCBsb2FkUHJvZ3Jlc3MgUkVBRCBsb2FkUHJvZ3Jlc3MgTk9USUZZ
IGxvYWRQcm9ncmVzc0NoYW5nZWQpCisgICAgUV9QUk9QRVJUWShRV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXIqIG5hdmlnYXRpb24gUkVBRCBuYXZpZ2F0aW9uQ29udHJvbGxlciBDT05TVEFOVCkKIAog
cHVibGljOgogICAgIFFUb3VjaFdlYlBhZ2UoUVNHSXRlbSogcGFyZW50ID0gMCk7CkBAIC01Miw3
ICs1NCw3IEBAIHB1YmxpYzoKICAgICBRX0lOVk9LQUJMRSBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7
CiAgICAgaW50IGxvYWRQcm9ncmVzcygpIGNvbnN0OwogCi0gICAgUUFjdGlvbiogbmF2aWdhdGlv
bkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCk7CisgICAgUVdlYk5hdmln
YXRpb25Db250cm9sbGVyKiBuYXZpZ2F0aW9uQ29udHJvbGxlcigpIGNvbnN0OwogCiAgICAgdmly
dHVhbCB2b2lkIHBhaW50KFFQYWludGVyKik7CiAgICAgdmlydHVhbCBib29sIGV2ZW50KFFFdmVu
dCopOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdl
X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3Vj
aHdlYnBhZ2VfcC5oCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2VicGFnZV9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcg
QEAKIAogI2luY2x1ZGUgPFFNZW51PgogI2luY2x1ZGUgInF0b3VjaHdlYnBhZ2UuaCIKKyNpbmNs
dWRlICJxd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaCIKIAogY2xhc3MgUVJlY3RGOwogY2xhc3Mg
UVN0cmluZzsKQEAgLTQyLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2ViUGFnZSog
Y29uc3QgcTsKICAgICBRVG91Y2hXZWJQYWdlUHJveHkqIHBhZ2U7CisgICAgUVdlYk5hdmlnYXRp
b25Db250cm9sbGVyKiBuYXZpZ2F0aW9uQ29udHJvbGxlcjsKIH07CiAKICNlbmRpZiAvKiBxdG91
Y2h3ZWJwYWdlX3BfaCAqLwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
d2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmNwcAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9n
cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgInF3ZWJuYXZpZ2F0aW9uY29udHJv
bGxlci5oIgorCisjaW5jbHVkZSAiUXRXZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJxd2Via2l0
dHlwZXMuaCIKKworY2xhc3MgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CitwdWJs
aWM6CisgICAgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZShRdFdlYlBhZ2VQcm94eSog
cGFnZVByb3h5KQorICAgICAgICA6IHBhZ2VQcm94eShwYWdlUHJveHkpCisgICAgeworCisgICAg
fQorCisgICAgUXRXZWJQYWdlUHJveHkqIHBhZ2VQcm94eTsKK307CisKK1FXZWJOYXZpZ2F0aW9u
Q29udHJvbGxlcjo6UVdlYk5hdmlnYXRpb25Db250cm9sbGVyKFF0V2ViUGFnZVByb3h5KiBwYWdl
UHJveHkpCisgICAgOiBkKG5ldyBRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXJQcml2YXRlKHBhZ2VQ
cm94eSkpCit7Cit9CisKK1FXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6flFXZWJOYXZpZ2F0aW9u
Q29udHJvbGxlcigpCit7CisgICAgZGVsZXRlIGQ7Cit9CisKK1FBY3Rpb24qIFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlcjo6YmFja0FjdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGQtPnBhZ2VQ
cm94eS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6QmFjayk7Cit9CisKK1FBY3Rpb24qIFFX
ZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6Zm9yd2FyZEFjdGlvbigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGQtPnBhZ2VQcm94eS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6Rm9yd2FyZCk7Cit9
CisKK1FBY3Rpb24qIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6c3RvcEFjdGlvbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGQtPnBhZ2VQcm94eS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6
U3RvcCk7Cit9CisKK1FBY3Rpb24qIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6cmVsb2FkQWN0
aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+cGFnZVByb3h5LT5uYXZpZ2F0aW9uQWN0aW9u
KFF0V2ViS2l0OjpSZWxvYWQpOworfQorCitRQWN0aW9uKiBRV2ViTmF2aWdhdGlvbkNvbnRyb2xs
ZXI6Om5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGQtPnBhZ2VQcm94eS0+bmF2aWdhdGlvbkFjdGlvbih3aGljaCk7
Cit9CisKK3ZvaWQgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpiYWNrKCkKK3sKKyAgICBkLT5w
YWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkJhY2spLT50cmlnZ2VyKCk7Cit9
CisKK3ZvaWQgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpmb3J3YXJkKCkKK3sKKyAgICBkLT5w
YWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkZvcndhcmQpLT50cmlnZ2VyKCk7
Cit9CisKK3ZvaWQgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpzdG9wKCkKK3sKKyAgICBkLT5w
YWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OlN0b3ApLT50cmlnZ2VyKCk7Cit9
CisKK3ZvaWQgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpyZWxvYWQoKQoreworICAgIGQtPnBh
Z2VQcm94eS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6UmVsb2FkKS0+dHJpZ2dlcigpOwor
fQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbmNv
bnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3F3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgcXdlYm5hdmln
YXRpb25jb250cm9sbGVyX2gKKyNkZWZpbmUgcXdlYm5hdmlnYXRpb25jb250cm9sbGVyX2gKKwor
CisjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgorI2luY2x1ZGUgInF3ZWJraXR0eXBlcy5oIgor
I2luY2x1ZGUgPFF0Q29yZS9RT2JqZWN0PgorCitRVF9CRUdJTl9OQU1FU1BBQ0UKK2NsYXNzIFFB
Y3Rpb247CitRVF9FTkRfTkFNRVNQQUNFCisKK2NsYXNzIFF0V2ViUGFnZVByb3h5OworY2xhc3Mg
UVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZTsKKworY2xhc3MgUVdFQktJVF9FWFBPUlQg
UVdlYk5hdmlnYXRpb25Db250cm9sbGVyIDogcHVibGljIFFPYmplY3QgeworICAgIFFfT0JKRUNU
CisgICAgUV9QUk9QRVJUWShRQWN0aW9uKiBiYWNrQWN0aW9uIFJFQUQgYmFja0FjdGlvbiBDT05T
VEFOVCkKKyAgICBRX1BST1BFUlRZKFFBY3Rpb24qIGZvcndhcmRBY3Rpb24gUkVBRCBmb3J3YXJk
QWN0aW9uIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoUUFjdGlvbiogc3RvcEFjdGlvbiBSRUFE
IHN0b3BBY3Rpb24gQ09OU1RBTlQpCisgICAgUV9QUk9QRVJUWShRQWN0aW9uKiByZWxvYWRBY3Rp
b24gUkVBRCByZWxvYWRBY3Rpb24gQ09OU1RBTlQpCitwdWJsaWM6CisgICAgUVdlYk5hdmlnYXRp
b25Db250cm9sbGVyKFF0V2ViUGFnZVByb3h5Kik7CisgICAgflFXZWJOYXZpZ2F0aW9uQ29udHJv
bGxlcigpOworCisgICAgUUFjdGlvbiogYmFja0FjdGlvbigpIGNvbnN0OworICAgIFFBY3Rpb24q
IGZvcndhcmRBY3Rpb24oKSBjb25zdDsKKyAgICBRQWN0aW9uKiBzdG9wQWN0aW9uKCkgY29uc3Q7
CisgICAgUUFjdGlvbiogcmVsb2FkQWN0aW9uKCkgY29uc3Q7CisKKyAgICBRQWN0aW9uKiBuYXZp
Z2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdDsKKwor
cHVibGljIHNsb3RzOgorICAgIHZvaWQgYmFjaygpOworICAgIHZvaWQgZm9yd2FyZCgpOworICAg
IHZvaWQgc3RvcCgpOworICAgIHZvaWQgcmVsb2FkKCk7CisKK3ByaXZhdGU6CisgICAgUVdlYk5h
dmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZSogZDsKK307CisKKyNlbmRpZiAvLyBxd2VibmF2aWdh
dGlvbmNvbnRyb2xsZXJfaApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
bWxwbHVnaW4vcGx1Z2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FtbHBsdWdpbi9wbHVnaW4uY3BwCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcW1scGx1Z2luL3BsdWdpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJxZGVza3RvcHdlYnZpZXcuaCIKICNp
bmNsdWRlICJxdG91Y2h3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXRvdWNod2Vidmlldy5oIgorI2lu
Y2x1ZGUgInF3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oIgogCiAjaW5jbHVkZSA8UXREZWNsYXJh
dGl2ZS9xZGVjbGFyYXRpdmUuaD4KICNpbmNsdWRlIDxRdERlY2xhcmF0aXZlL3FkZWNsYXJhdGl2
ZWV4dGVuc2lvbnBsdWdpbi5oPgpAQCAtMzQsNiArMzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFFf
QVNTRVJUKFFMYXRpbjFTdHJpbmcodXJpKSA9PSBRTGF0aW4xU3RyaW5nKCJRdFdlYktpdC5leHBl
cmltZW50YWwiKSk7CiAgICAgICAgIHFtbFJlZ2lzdGVyVHlwZTxRRGVza3RvcFdlYlZpZXc+KHVy
aSwgNSwgMCwgIkRlc2t0b3BXZWJWaWV3Iik7CiAgICAgICAgIHFtbFJlZ2lzdGVyVHlwZTxRVG91
Y2hXZWJWaWV3Pih1cmksIDUsIDAsICJUb3VjaFdlYlZpZXciKTsKKyAgICAgICAgcW1sUmVnaXN0
ZXJVbmNyZWF0YWJsZVR5cGU8UVdlYk5hdmlnYXRpb25Db250cm9sbGVyPih1cmksIDUsIDAsICJO
YXZpZ2F0aW9uQ29udHJvbGxlciIsIFFPYmplY3Q6OnRyKCJDYW5ub3QgY3JlYXRlIHNlcGFyYXRl
IGluc3RhbmNlIG9mIE5hdmlnYXRpb25Db250cm9sbGVyIikpOwogICAgICAgICBxbWxSZWdpc3Rl
clVuY3JlYXRhYmxlVHlwZTxRVG91Y2hXZWJQYWdlPih1cmksIDUsIDAsICJUb3VjaFdlYlBhZ2Ui
LCBRT2JqZWN0Ojp0cigiQ2Fubm90IGNyZWF0ZSBzZXBhcmF0ZSBpbnN0YW5jZSBvZiBUb3VjaFdl
YlBhZ2UsIHVzZSBUb3VjaFdlYlZpZXciKSk7CiAgICAgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvY29tbW9udmlld3Rlc3RzL3dlYnZpZXdhYnN0cmFj
dGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9jb21tb252aWV3dGVzdHMvd2Vidmlld2Fic3RyYWN0aW9uLmNwcAkocmV2aXNpb24gOTIy
ODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL2NvbW1vbnZpZXd0
ZXN0cy93ZWJ2aWV3YWJzdHJhY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw2ICsyMCw3
IEBACiAjaW5jbHVkZSA8UUFjdGlvbj4KICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CiAjaW5jbHVk
ZSA8UURlc2t0b3BXaWRnZXQ+CisjaW5jbHVkZSA8cXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmg+
CiAjaW5jbHVkZSAid2Vidmlld2Fic3RyYWN0aW9uLmgiCiAKIFdlYlZpZXdBYnN0cmFjdGlvbjo6
V2ViVmlld0Fic3RyYWN0aW9uKCkKQEAgLTk4LDkgKzk5LDkgQEAgaW50IFdlYlZpZXdBYnN0cmFj
dGlvbjo6bG9hZFByb2dyZXNzKCkgYwogCiB2b2lkIFdlYlZpZXdBYnN0cmFjdGlvbjo6dHJpZ2dl
ck5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpCiB7Ci0g
ICAgUUFjdGlvbiogdG91Y2hBY3Rpb24gPSB0b3VjaFdlYlZpZXcoKS0+cGFnZSgpLT5uYXZpZ2F0
aW9uQWN0aW9uKHdoaWNoKTsKKyAgICBRQWN0aW9uKiB0b3VjaEFjdGlvbiA9IHRvdWNoV2ViVmll
dygpLT5wYWdlKCktPm5hdmlnYXRpb25Db250cm9sbGVyKCktPm5hdmlnYXRpb25BY3Rpb24od2hp
Y2gpOwogICAgIHRvdWNoQWN0aW9uLT50cmlnZ2VyKCk7Ci0gICAgUUFjdGlvbiogZGVza3RvcEFj
dGlvbiA9IGRlc2t0b3BXZWJWaWV3KCktPm5hdmlnYXRpb25BY3Rpb24od2hpY2gpOworICAgIFFB
Y3Rpb24qIGRlc2t0b3BBY3Rpb24gPSBkZXNrdG9wV2ViVmlldygpLT5uYXZpZ2F0aW9uQ29udHJv
bGxlcigpLT5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKICAgICBkZXNrdG9wQWN0aW9uLT50cmln
Z2VyKCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cWRlc2t0b3B3ZWJ2aWV3L3RzdF9xZGVza3RvcHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcWRlc2t0b3B3ZWJ2aWV3L3RzdF9x
ZGVza3RvcHdlYnZpZXcuY3BwCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcWRlc2t0b3B3ZWJ2aWV3L3RzdF9xZGVza3RvcHdlYnZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8UVNjb3BlZFBv
aW50ZXI+CiAjaW5jbHVkZSA8UXRUZXN0L1F0VGVzdD4KICNpbmNsdWRlIDxxZGVza3RvcHdlYnZp
ZXcuaD4KKyNpbmNsdWRlIDxxd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaD4KICNpbmNsdWRlICIu
Li90ZXN0d2luZG93LmgiCiAjaW5jbHVkZSAiLi4vdXRpbC5oIgogCkBAIC02MywxOSArNjQsMTkg
QEAgaW5saW5lIFFEZXNrdG9wV2ViVmlldyogdHN0X1FEZXNrdG9wV2ViVgogCiB2b2lkIHRzdF9R
RGVza3RvcFdlYlZpZXc6Om5hdmlnYXRpb25BY3Rpb25zU3RhdHVzQXRTdGFydHVwKCkKIHsKLSAg
ICBRQWN0aW9uKiBiYWNrQWN0aW9uID0gd2ViVmlldygpLT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2Vi
S2l0OjpCYWNrKTsKKyAgICBRQWN0aW9uKiBiYWNrQWN0aW9uID0gd2ViVmlldygpLT5uYXZpZ2F0
aW9uQ29udHJvbGxlcigpLT5iYWNrQWN0aW9uKCk7CiAgICAgUVZFUklGWShiYWNrQWN0aW9uKTsK
ICAgICBRQ09NUEFSRShiYWNrQWN0aW9uLT5pc0VuYWJsZWQoKSwgZmFsc2UpOwogCi0gICAgUUFj
dGlvbiogZm9yd2FyZEFjdGlvbiA9IHdlYlZpZXcoKS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktp
dDo6Rm9yd2FyZCk7CisgICAgUUFjdGlvbiogZm9yd2FyZEFjdGlvbiA9IHdlYlZpZXcoKS0+bmF2
aWdhdGlvbkNvbnRyb2xsZXIoKS0+Zm9yd2FyZEFjdGlvbigpOwogICAgIFFWRVJJRlkoZm9yd2Fy
ZEFjdGlvbik7CiAgICAgUUNPTVBBUkUoZm9yd2FyZEFjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNl
KTsKIAotICAgIFFBY3Rpb24qIHN0b3BBY3Rpb24gPSB3ZWJWaWV3KCktPm5hdmlnYXRpb25BY3Rp
b24oUXRXZWJLaXQ6OlN0b3ApOworICAgIFFBY3Rpb24qIHN0b3BBY3Rpb24gPSB3ZWJWaWV3KCkt
Pm5hdmlnYXRpb25Db250cm9sbGVyKCktPnN0b3BBY3Rpb24oKTsKICAgICBRVkVSSUZZKHN0b3BB
Y3Rpb24pOwogICAgIFFDT01QQVJFKHN0b3BBY3Rpb24tPmlzRW5hYmxlZCgpLCBmYWxzZSk7CiAK
LSAgICBRQWN0aW9uKiByZWxvYWRBY3Rpb24gPSB3ZWJWaWV3KCktPm5hdmlnYXRpb25BY3Rpb24o
UXRXZWJLaXQ6OlJlbG9hZCk7CisgICAgUUFjdGlvbiogcmVsb2FkQWN0aW9uID0gd2ViVmlldygp
LT5uYXZpZ2F0aW9uQ29udHJvbGxlcigpLT5yZWxvYWRBY3Rpb24oKTsKICAgICBRVkVSSUZZKHJl
bG9hZEFjdGlvbik7CiAgICAgUUNPTVBBUkUocmVsb2FkQWN0aW9uLT5pc0VuYWJsZWQoKSwgZmFs
c2UpOwogfQpAQCAtOTQsNyArOTUsNyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgewogICAgICAgICBR
TWV0YU9iamVjdDo6aW52b2tlTWV0aG9kKHRoaXMsICJmaW5pc2hlZCIsIFF0OjpRdWV1ZWRDb25u
ZWN0aW9uKTsKIAotICAgICAgICBRQWN0aW9uKiBzdG9wQWN0aW9uID0gbV93ZWJWaWV3LT5uYXZp
Z2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpTdG9wKTsKKyAgICAgICAgUUFjdGlvbiogc3RvcEFjdGlv
biA9IG1fd2ViVmlldy0+bmF2aWdhdGlvbkNvbnRyb2xsZXIoKS0+c3RvcEFjdGlvbigpOwogICAg
ICAgICBRVkVSSUZZKHN0b3BBY3Rpb24pOwogICAgICAgICBRQ09NUEFSRShzdG9wQWN0aW9uLT5p
c0VuYWJsZWQoKSwgdHJ1ZSk7CiAgICAgfQpAQCAtMTA4LDcgKzEwOSw3IEBAIHByaXZhdGU6CiAK
IHZvaWQgdHN0X1FEZXNrdG9wV2ViVmlldzo6c3RvcEFjdGlvbkVuYWJsZWRBZnRlckxvYWRTdGFy
dGVkKCkKIHsKLSAgICBRQWN0aW9uKiBzdG9wQWN0aW9uID0gd2ViVmlldygpLT5uYXZpZ2F0aW9u
QWN0aW9uKFF0V2ViS2l0OjpTdG9wKTsKKyAgICBRQWN0aW9uKiBzdG9wQWN0aW9uID0gd2ViVmll
dygpLT5uYXZpZ2F0aW9uQ29udHJvbGxlcigpLT5zdG9wQWN0aW9uKCk7CiAgICAgUVZFUklGWShz
dG9wQWN0aW9uKTsKICAgICBRQ09NUEFSRShzdG9wQWN0aW9uLT5pc0VuYWJsZWQoKSwgZmFsc2Up
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3F0b3VjaHdl
YnZpZXcvdHN0X3F0b3VjaHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXRvdWNod2Vidmlldy90c3RfcXRvdWNod2Vidmlldy5j
cHAJKHJldmlzaW9uIDkyMjg1KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xdG91Y2h3ZWJ2aWV3L3RzdF9xdG91Y2h3ZWJ2aWV3LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPFF0VGVzdC9RdFRlc3Q+CiAjaW5jbHVkZSA8cXRv
dWNod2VicGFnZS5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnZpZXcuaD4KKyNpbmNsdWRlIDxxd2Vi
bmF2aWdhdGlvbmNvbnRyb2xsZXIuaD4KICNpbmNsdWRlICIuLi90ZXN0d2luZG93LmgiCiAjaW5j
bHVkZSAiLi4vdXRpbC5oIgogCkBAIC03NCwxOSArNzUsMTkgQEAgdm9pZCB0c3RfUVRvdWNoV2Vi
Vmlldzo6YWNjZXNzUGFnZSgpCiAKIHZvaWQgdHN0X1FUb3VjaFdlYlZpZXc6Om5hdmlnYXRpb25B
Y3Rpb25zU3RhdHVzQXRTdGFydHVwKCkKIHsKLSAgICBRQWN0aW9uKiBiYWNrQWN0aW9uID0gd2Vi
VmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkJhY2spOworICAgIFFB
Y3Rpb24qIGJhY2tBY3Rpb24gPSB3ZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkNvbnRyb2xs
ZXIoKS0+YmFja0FjdGlvbigpOwogICAgIFFWRVJJRlkoYmFja0FjdGlvbik7CiAgICAgUUNPTVBB
UkUoYmFja0FjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNlKTsKIAotICAgIFFBY3Rpb24qIGZvcndh
cmRBY3Rpb24gPSB3ZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6
Rm9yd2FyZCk7CisgICAgUUFjdGlvbiogZm9yd2FyZEFjdGlvbiA9IHdlYlZpZXcoKS0+cGFnZSgp
LT5uYXZpZ2F0aW9uQ29udHJvbGxlcigpLT5mb3J3YXJkQWN0aW9uKCk7CiAgICAgUVZFUklGWShm
b3J3YXJkQWN0aW9uKTsKICAgICBRQ09NUEFSRShmb3J3YXJkQWN0aW9uLT5pc0VuYWJsZWQoKSwg
ZmFsc2UpOwogCi0gICAgUUFjdGlvbiogc3RvcEFjdGlvbiA9IHdlYlZpZXcoKS0+cGFnZSgpLT5u
YXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpTdG9wKTsKKyAgICBRQWN0aW9uKiBzdG9wQWN0aW9u
ID0gd2ViVmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25Db250cm9sbGVyKCktPnN0b3BBY3Rpb24o
KTsKICAgICBRVkVSSUZZKHN0b3BBY3Rpb24pOwogICAgIFFDT01QQVJFKHN0b3BBY3Rpb24tPmlz
RW5hYmxlZCgpLCBmYWxzZSk7CiAKLSAgICBRQWN0aW9uKiByZWxvYWRBY3Rpb24gPSB3ZWJWaWV3
KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6UmVsb2FkKTsKKyAgICBRQWN0
aW9uKiByZWxvYWRBY3Rpb24gPSB3ZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkNvbnRyb2xs
ZXIoKS0+cmVsb2FkQWN0aW9uKCk7CiAgICAgUVZFUklGWShyZWxvYWRBY3Rpb24pOwogICAgIFFD
T01QQVJFKHJlbG9hZEFjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNlKTsKIH0KSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMjg2
KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMDgtMDMgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgW1F0XSBNYWtlIG5hdmlnYXRpb24gYWN0aW9ucyBwcm9wZXJseSB1c2FibGUgaW4g
UU1MLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2
MjQKKworICAgICAgICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgdGhlIGludHJvZHVjdGlvbiBvZiBR
V2ViTmF2aWdhdGlvbkNvbnRyb2xsZXIuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHA6CisgICAg
ICAgIChCcm93c2VyVmlldzo6bmF2aWdhdGlvbkFjdGlvbik6CisKIDIwMTEtMDgtMDMgIENhaW8g
TWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3NhLm9yZz4K
IAogICAgICAgICBbUXRdIEZpeCBydW5uaW5nIHFtbHRlc3RzIGZvciBXSzIgaW4gdGhlIGJvdApJ
bmRleDogVG9vbHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNpb24gOTIyODUpCisr
KyBUb29scy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxxZGVza3RvcHdlYnZpZXcuaD4KICNpbmNsdWRlIDxx
dG91Y2h3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cXRvdWNod2VicGFnZS5oPgorI2luY2x1ZGUgPHF3
ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oPgogCiBCcm93c2VyVmlldzo6QnJvd3NlclZpZXcoYm9v
bCB1c2VUb3VjaFdlYlZpZXcsIFFXaWRnZXQqIHBhcmVudCkKICAgICA6IFFTR0NhbnZhcyhwYXJl
bnQpCkBAIC04OCw5ICs4OSw5IEBAIFFEZXNrdG9wV2ViVmlldyogQnJvd3NlclZpZXc6OmRlc2t0
b3BXZWIKIFFBY3Rpb24qIEJyb3dzZXJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpO
YXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdAogewogICAgIGlmIChkZXNrdG9wV2ViVmlldygp
KQotICAgICAgICByZXR1cm4gZGVza3RvcFdlYlZpZXcoKS0+bmF2aWdhdGlvbkFjdGlvbih3aGlj
aCk7CisgICAgICAgIHJldHVybiBkZXNrdG9wV2ViVmlldygpLT5uYXZpZ2F0aW9uQ29udHJvbGxl
cigpLT5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKICAgICBpZiAodG91Y2hXZWJWaWV3KCkpCi0g
ICAgICAgIHJldHVybiB0b3VjaFdlYlZpZXcoKS0+cGFnZSgpLT5uYXZpZ2F0aW9uQWN0aW9uKHdo
aWNoKTsKKyAgICAgICAgcmV0dXJuIHRvdWNoV2ViVmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25D
b250cm9sbGVyKCktPm5hdmlnYXRpb25BY3Rpb24od2hpY2gpOwogICAgIFFfQVNTRVJUKGZhbHNl
KTsKICAgICByZXR1cm4gMDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102906</attachid>
            <date>2011-08-04 06:54:50 -0700</date>
            <delta_ts>2011-08-04 07:57:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65624-20110804105342.patch</filename>
            <type>text/plain</type>
            <size>23557</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDkyMjg2KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTkgQEAKKzIwMTEtMDgtMDQgIEFsZXhpcyBN
ZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBNYWtl
IG5hdmlnYXRpb24gYWN0aW9ucyBwcm9wZXJseSB1c2FibGUgaW4gUU1MLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MjQKKworICAgICAgICBBZGQg
YSBuZXcgY2xhc3MgdGhhdCBpcyBleHBvc2VkIGluIFFNTCB0byBjb250cm9sIHRoZSBuYXZpZ2F0
aW9uCisgICAgICAgIGxpa2UgcmVsb2FkL3N0b3AvYmFjay9mb3J3YXJkLiBFbnVtcyBhcmUgbm90
IHZlcnkgUU1MIGZyaWVuZGx5LAorICAgICAgICBpdCBub3QgcG9zc2libGUgdG8gdXNlIGVudW1z
IHRoYXQgYXJlIG5vdCBkZWNsYXJlZCBpbiB0aGUgc2FtZSBjbGFzcworICAgICAgICB0aGFuIHRo
ZSBvYmplY3QgZXhwb3NlZCBpbiBRTUwsIHRoZXJlZm9yZSBpdCBtYWtlcyBoYXJkIHRoZSBzaGFy
aW5nCisgICAgICAgIGJldHdlZW4gdGhlIGRlc2t0b3AgYW5kIHRoZSB0b3VjaCB2aWV3cy4gSW4g
YWRkaXRpb24gbmFtZXNwYWNlZCBlbnVtcyBhcmUKKyAgICAgICAgZXZlbiBoYXJkZXIgdG8gc3Vw
cG9ydCBpbiBRTUwuIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlciBpcworICAgICAgICBub3QgcmVh
bGx5IG1lYW50IHRvIGJlIHVzZWQgaW4gQysrIGJ1dCBpdCBpcyBleHBvcnRlZCBmb3IgY29udmVu
aWVuY2UKKyAgICAgICAgcmVhc29uICh0ZXN0cyBhbmQgTWluaUJyb3dzZXIpIHNvIGl0cyBBUEkg
aXMgbm90IG1lYW50IHRvIGJlIHB1YmxpYyBidXQKKyAgICAgICAgZXhwb3NlZCBpbiBRTUwgdGhy
b3VnaCBwcm9wZXJ0aWVzIGFuZCBjb252ZW5pZW5jZSBzbG90cy4gVGhlIFFNTCBjb2RlIHRvIHVz
ZQorICAgICAgICB0aGUgbmF2aWdhdGlvbiBhY3Rpb24gaW4gUU1MIHdpbGwgbG9vayBsaWtlICJk
ZXNrdG9wVmlldy5uYXZpZ2F0aW9uLnJlbG9hZCgpOyIKKyAgICAgICAgb3IgImlmIChkZXNrdG9w
Vmlldy5uYXZpZ2F0aW9uLnJlbG9hZEFjdGlvbi5lbmFibGVkKSAuLi4iLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9X
S1ZpZXcuaDogVG8gZ2V0IHRoZSBmb3J3YXJkIGhlYWRlciBnZW5lcmF0ZWQKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHA6CisgICAgICAgIChRRGVza3RvcFdl
YlZpZXdQcml2YXRlOjpRRGVza3RvcFdlYlZpZXdQcml2YXRlKToKKyAgICAgICAgKFFEZXNrdG9w
V2ViVmlldzo6bmF2aWdhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcWRlc2t0b3B3ZWJ2aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xZGVza3Rv
cHdlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcW1scGx1Z2luL3BsdWdp
bi5jcHA6CisgICAgICAgIChXZWJLaXQyUW1sUGx1Z2luOjpyZWdpc3RlclR5cGVzKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuY3BwOgorICAgICAgICAoUVRvdWNo
V2ViUGFnZTo6bmF2aWdhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoUVRvdWNoV2ViUGFnZVBy
aXZhdGU6OlFUb3VjaFdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0
L3F0b3VjaHdlYnBhZ2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBh
Z2VfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9s
bGVyLmNwcDogQWRkZWQuCisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXJQcml2YXRl
OjpRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXJQcml2YXRlKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlcjo6UVdlYk5hdmlnYXRpb25Db250cm9sbGVyKToKKyAgICAgICAgKFFXZWJO
YXZpZ2F0aW9uQ29udHJvbGxlcjo6flFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcik6CisgICAgICAg
IChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OmJhY2tBY3Rpb24pOgorICAgICAgICAoUVdlYk5h
dmlnYXRpb25Db250cm9sbGVyOjpmb3J3YXJkQWN0aW9uKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlcjo6c3RvcEFjdGlvbik6CisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXI6OnJlbG9hZEFjdGlvbik6CisgICAgICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6
Om5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpi
YWNrKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6Zm9yd2FyZCk6CisgICAg
ICAgIChRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OnN0b3ApOgorICAgICAgICAoUVdlYk5hdmln
YXRpb25Db250cm9sbGVyOjpyZWxvYWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdl
Ym5hdmlnYXRpb25jb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvY29tbW9udmlld3Rlc3RzL3dlYnZpZXdhYnN0cmFjdGlvbi5jcHA6CisgICAgICAg
IChXZWJWaWV3QWJzdHJhY3Rpb246OnRyaWdnZXJOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FkZXNrdG9wd2Vidmlldy90c3RfcWRlc2t0b3B3ZWJ2
aWV3LmNwcDoKKyAgICAgICAgKHRzdF9RRGVza3RvcFdlYlZpZXc6Om5hdmlnYXRpb25BY3Rpb25z
U3RhdHVzQXRTdGFydHVwKToKKyAgICAgICAgKExvYWRTdGFydGVkQ2F0Y2hlcjo6b25Mb2FkU3Rh
cnRlZCk6CisgICAgICAgICh0c3RfUURlc2t0b3BXZWJWaWV3OjpzdG9wQWN0aW9uRW5hYmxlZEFm
dGVyTG9hZFN0YXJ0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcXRvdWNo
d2Vidmlldy90c3RfcXRvdWNod2Vidmlldy5jcHA6CisgICAgICAgICh0c3RfUVRvdWNoV2ViVmll
dzo6bmF2aWdhdGlvbkFjdGlvbnNTdGF0dXNBdFN0YXJ0dXApOgorICAgICAgICAqIFdlYktpdDJB
UEkucHJpOgorCiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbVGltZWxpbmVdIEhvdmVyIG9uIHBhaW50IGV2
ZW50cyBhbmQgc2VlIHJlY3Qgb3V0bGluZSBhcm91bmQgdGhhdCBhcmVhLgpJbmRleDogU291cmNl
L1dlYktpdDIvV2ViS2l0MkFQSS5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
S2l0MkFQSS5wcmkJKHJldmlzaW9uIDkyMjg1KQorKysgU291cmNlL1dlYktpdDIvV2ViS2l0MkFQ
SS5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAgV0VCS0lUMl9BUElfU09VUkNF
UyA9IFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdl
YnBhZ2UuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnZpZXcuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F3ZWJlcnJvci5jcHAgXAorICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmNwcCBcCiAgICAgJCRTT1VSQ0VfRElSL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAogICAg
ICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5j
cHAgXApAQCAtMTMxLDYgKzEzMiw3IEBAIFdFQktJVDJfQVBJX0hFQURFUlMgKz0gXAogICAgICQk
U09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmVycm9yLmggXAogICAgICQk
U09VUkNFX0RJUi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYmVycm9yX3AuaCBcCiAgICAg
JCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Via2l0dHlwZXMuaCBcCisg
ICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbmNv
bnRyb2xsZXIuaCBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIFwKICAgICAkJFNPVVJDRV9E
SVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQmFja0Zv
cndhcmRMaXN0SXRlbS5oIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvV0tWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9XS1ZpZXcuaAkocmV2aXNpb24gOTIyODUpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L1dLVmlldy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw1ICsyNCw2IEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9xZGVza3RvcHdlYnZpZXcuaD4KICNp
bmNsdWRlIDxXZWJLaXQyL3F0b3VjaHdlYnZpZXcuaD4KICNpbmNsdWRlIDxXZWJLaXQyL3F0b3Vj
aHdlYnBhZ2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL3F3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5o
PgogCiAjZW5kaWYgLyogV0tWaWV3X2ggKi8KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5jcHAJKHJldmlzaW9uIDkyMjg1KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MSw2ICs0MSw3IEBAIFFEZXNrdG9wV2ViVmlld1ByaXZhdGU6OlFE
ZXNrdG9wV2ViVmlld1AKICAgICA6IHEocSkKICAgICAsIHBhZ2UodGhpcywgY29udGV4dFJlZiA/
IG5ldyBRV0tDb250ZXh0KGNvbnRleHRSZWYpIDogZGVmYXVsdFdLQ29udGV4dCgpLCBwYWdlR3Jv
dXBSZWYpCiAgICAgLCBpc0NyYXNoZWQoZmFsc2UpCisgICAgLCBuYXZpZ2F0aW9uQ29udHJvbGxl
cigwKQogewogfQogCkBAIC0yMDgsOSArMjA5LDExIEBAIFFTdHJpbmcgUURlc2t0b3BXZWJWaWV3
Ojp0aXRsZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnBhZ2UudGl0bGUoKTsKIH0KIAotUUFjdGlv
biogUURlc2t0b3BXZWJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9u
QWN0aW9uIHdoaWNoKSBjb25zdAorUVdlYk5hdmlnYXRpb25Db250cm9sbGVyKiBRRGVza3RvcFdl
YlZpZXc6Om5hdmlnYXRpb25Db250cm9sbGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+cGFn
ZS5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKKyAgICBpZiAoIWQtPm5hdmlnYXRpb25Db250cm9s
bGVyKQorICAgICAgICBkLT5uYXZpZ2F0aW9uQ29udHJvbGxlciA9IG5ldyBRV2ViTmF2aWdhdGlv
bkNvbnRyb2xsZXIoJmQtPnBhZ2UpOworICAgIHJldHVybiBkLT5uYXZpZ2F0aW9uQ29udHJvbGxl
cjsKIH0KIAogc3RhdGljIHZvaWQgcGFpbnRDcmFzaGVkUGFnZShRUGFpbnRlciogcGFpbnRlciwg
Y29uc3QgUVJlY3RGJiByZWN0KQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xZGVza3RvcHdlYnZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlldy5oCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2aWV3LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKIAogY2xhc3MgUURlc2t0b3BXZWJWaWV3UHJpdmF0ZTsKIGNsYXNz
IFFXZWJFcnJvcjsKK2NsYXNzIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjsKIAogUVRfQkVHSU5f
TkFNRVNQQUNFCiBjbGFzcyBRRm9jdXNFdmVudDsKQEAgLTUyLDExICs1Myw5IEBAIGNsYXNzIFFX
RUJLSVRfRVhQT1JUIFFEZXNrdG9wV2ViVmlldyA6IHAKICAgICBRX1BST1BFUlRZKFFTdHJpbmcg
dGl0bGUgUkVBRCB0aXRsZSBOT1RJRlkgdGl0bGVDaGFuZ2VkKQogICAgIFFfUFJPUEVSVFkoUVVy
bCB1cmwgUkVBRCB1cmwgTk9USUZZIHVybENoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShpbnQgbG9h
ZFByb2dyZXNzIFJFQUQgbG9hZFByb2dyZXNzIE5PVElGWSBsb2FkUHJvZ3Jlc3NDaGFuZ2VkKQot
Ci0gICAgUV9FTlVNUyhOYXZpZ2F0aW9uQWN0aW9uKQorICAgIFFfUFJPUEVSVFkoUVdlYk5hdmln
YXRpb25Db250cm9sbGVyKiBuYXZpZ2F0aW9uIFJFQUQgbmF2aWdhdGlvbkNvbnRyb2xsZXIgQ09O
U1RBTlQpCiAKIHB1YmxpYzoKLQogICAgIFFEZXNrdG9wV2ViVmlldyhRU0dJdGVtKiBwYXJlbnQg
PSAwKTsKICAgICB2aXJ0dWFsIH5RRGVza3RvcFdlYlZpZXcoKTsKIApAQCAtNjQsNyArNjMsNyBA
QCBwdWJsaWM6CiAgICAgUVN0cmluZyB0aXRsZSgpIGNvbnN0OwogICAgIGludCBsb2FkUHJvZ3Jl
c3MoKSBjb25zdDsKIAotICAgIFFfSU5WT0tBQkxFIFFBY3Rpb24qIG5hdmlnYXRpb25BY3Rpb24o
UXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb24gd2hpY2gpIGNvbnN0OworICAgIFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXIoKSBjb25zdDsKIAogcHVibGljIFFf
U0xPVFM6CiAgICAgIHZvaWQgbG9hZChjb25zdCBRVXJsJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FkZXNrdG9wd2Vidmlld19wLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xZGVza3RvcHdlYnZpZXdfcC5oCShyZXZpc2lv
biA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWRlc2t0b3B3ZWJ2
aWV3X3AuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBxZGVza3Rv
cHdlYnZpZXdfcF9oCiAKICNpbmNsdWRlICJxZGVza3RvcHdlYnBhZ2Vwcm94eS5oIgorI2luY2x1
ZGUgInF3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oIgogI2luY2x1ZGUgIlZpZXdJbnRlcmZhY2Uu
aCIKIAogY2xhc3MgUURlc2t0b3BXZWJWaWV3OwpAQCAtMzcsNiArMzgsNyBAQCBwdWJsaWM6CiAg
ICAgUURlc2t0b3BXZWJQYWdlUHJveHkgcGFnZTsKIAogICAgIGJvb2wgaXNDcmFzaGVkOworICAg
IFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlciogbmF2aWdhdGlvbkNvbnRyb2xsZXI7CiAKIHByaXZh
dGU6CiAgICAgLyogSW1wbGVtZW50YXRpb24gb2YgVmlld0ludGVyZmFjZSAqLwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuY3BwCShy
ZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXRvdWNo
d2VicGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMiwxNCArMTIyLDE3IEBAIHZvaWQgUVRv
dWNoV2ViUGFnZTo6Z2VvbWV0cnlDaGFuZ2VkKGNvbnMKICAgICAgICAgZC0+cGFnZS0+c2V0RHJh
d2luZ0FyZWFTaXplKG5ld0dlb21ldHJ5LnNpemUoKS50b1NpemUoKSk7CiB9CiAKLVFBY3Rpb24q
IFFUb3VjaFdlYlBhZ2U6Om5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rp
b24gd2hpY2gpCitRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXIqIFFUb3VjaFdlYlBhZ2U6Om5hdmln
YXRpb25Db250cm9sbGVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+cGFnZS0+bmF2aWdhdGlv
bkFjdGlvbih3aGljaCk7CisgICAgaWYgKCFkLT5uYXZpZ2F0aW9uQ29udHJvbGxlcikKKyAgICAg
ICAgZC0+bmF2aWdhdGlvbkNvbnRyb2xsZXIgPSBuZXcgUVdlYk5hdmlnYXRpb25Db250cm9sbGVy
KGQtPnBhZ2UpOworICAgIHJldHVybiBkLT5uYXZpZ2F0aW9uQ29udHJvbGxlcjsKIH0KIAogUVRv
dWNoV2ViUGFnZVByaXZhdGU6OlFUb3VjaFdlYlBhZ2VQcml2YXRlKFFUb3VjaFdlYlBhZ2UqIHZp
ZXcpCiAgICAgOiBxKHZpZXcpCiAgICAgLCBwYWdlKDApCisgICAgLCBuYXZpZ2F0aW9uQ29udHJv
bGxlcigwKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0
b3VjaHdlYnBhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3F0b3VjaHdlYnBhZ2UuaAkocmV2aXNpb24gOTIyODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F0b3VjaHdlYnBhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiAr
MzAsNyBAQAogY2xhc3MgUVRvdWNoV2ViUGFnZVByaXZhdGU7CiBjbGFzcyBRVG91Y2hXZWJQYWdl
UHJveHk7CiBjbGFzcyBRV2ViRXJyb3I7CitjbGFzcyBRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI7
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIGNsYXNzIFRvdWNoVmlld0ludGVyZmFjZTsKQEAg
LTQwLDYgKzQxLDcgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVRvdWNoV2ViUGFnZSA6IHB1Ygog
ICAgIFFfUFJPUEVSVFkoUVN0cmluZyB0aXRsZSBSRUFEIHRpdGxlIE5PVElGWSB0aXRsZUNoYW5n
ZWQpCiAgICAgUV9QUk9QRVJUWShRVXJsIHVybCBSRUFEIHVybCBOT1RJRlkgdXJsQ2hhbmdlZCkK
ICAgICBRX1BST1BFUlRZKGludCBsb2FkUHJvZ3Jlc3MgUkVBRCBsb2FkUHJvZ3Jlc3MgTk9USUZZ
IGxvYWRQcm9ncmVzc0NoYW5nZWQpCisgICAgUV9QUk9QRVJUWShRV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXIqIG5hdmlnYXRpb24gUkVBRCBuYXZpZ2F0aW9uQ29udHJvbGxlciBDT05TVEFOVCkKIAog
cHVibGljOgogICAgIFFUb3VjaFdlYlBhZ2UoUVNHSXRlbSogcGFyZW50ID0gMCk7CkBAIC01Miw3
ICs1NCw3IEBAIHB1YmxpYzoKICAgICBRX0lOVk9LQUJMRSBRU3RyaW5nIHRpdGxlKCkgY29uc3Q7
CiAgICAgaW50IGxvYWRQcm9ncmVzcygpIGNvbnN0OwogCi0gICAgUUFjdGlvbiogbmF2aWdhdGlv
bkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCk7CisgICAgUVdlYk5hdmln
YXRpb25Db250cm9sbGVyKiBuYXZpZ2F0aW9uQ29udHJvbGxlcigpIGNvbnN0OwogCiAgICAgdmly
dHVhbCB2b2lkIHBhaW50KFFQYWludGVyKik7CiAgICAgdmlydHVhbCBib29sIGV2ZW50KFFFdmVu
dCopOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xdG91Y2h3ZWJwYWdl
X3AuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F0b3Vj
aHdlYnBhZ2VfcC5oCShyZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvcXQvcXRvdWNod2VicGFnZV9wLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcg
QEAKIAogI2luY2x1ZGUgPFFNZW51PgogI2luY2x1ZGUgInF0b3VjaHdlYnBhZ2UuaCIKKyNpbmNs
dWRlICJxd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaCIKIAogY2xhc3MgUVJlY3RGOwogY2xhc3Mg
UVN0cmluZzsKQEAgLTQyLDYgKzQzLDcgQEAgcHVibGljOgogCiAgICAgUVRvdWNoV2ViUGFnZSog
Y29uc3QgcTsKICAgICBRVG91Y2hXZWJQYWdlUHJveHkqIHBhZ2U7CisgICAgUVdlYk5hdmlnYXRp
b25Db250cm9sbGVyKiBuYXZpZ2F0aW9uQ29udHJvbGxlcjsKIH07CiAKICNlbmRpZiAvKiBxdG91
Y2h3ZWJwYWdlX3BfaCAqLwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9x
d2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmNwcAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9n
cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgInF3ZWJuYXZpZ2F0aW9uY29udHJv
bGxlci5oIgorCisjaW5jbHVkZSAiUXRXZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJxd2Via2l0
dHlwZXMuaCIKKworY2xhc3MgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CitwdWJs
aWM6CisgICAgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZShRdFdlYlBhZ2VQcm94eSog
cGFnZVByb3h5KQorICAgICAgICA6IHBhZ2VQcm94eShwYWdlUHJveHkpCisgICAgeworICAgICAg
ICBBU1NFUlQocGFnZVByb3h5KTsKKyAgICB9CisKKyAgICBRdFdlYlBhZ2VQcm94eSogcGFnZVBy
b3h5OworfTsKKworUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpRV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXIoUXRXZWJQYWdlUHJveHkqIHBhZ2VQcm94eSkKKyAgICA6IFFPYmplY3QocGFnZVByb3h5
KQorICAgICwgZChuZXcgUVdlYk5hdmlnYXRpb25Db250cm9sbGVyUHJpdmF0ZShwYWdlUHJveHkp
KQoreworfQorCitRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6On5RV2ViTmF2aWdhdGlvbkNvbnRy
b2xsZXIoKQoreworICAgIGRlbGV0ZSBkOworfQorCitRQWN0aW9uKiBRV2ViTmF2aWdhdGlvbkNv
bnRyb2xsZXI6OmJhY2tBY3Rpb24oKSBjb25zdAoreworICAgIHJldHVybiBkLT5wYWdlUHJveHkt
Pm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkJhY2spOworfQorCitRQWN0aW9uKiBRV2ViTmF2
aWdhdGlvbkNvbnRyb2xsZXI6OmZvcndhcmRBY3Rpb24oKSBjb25zdAoreworICAgIHJldHVybiBk
LT5wYWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkZvcndhcmQpOworfQorCitR
QWN0aW9uKiBRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OnN0b3BBY3Rpb24oKSBjb25zdAorewor
ICAgIHJldHVybiBkLT5wYWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OlN0b3Ap
OworfQorCitRQWN0aW9uKiBRV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXI6OnJlbG9hZEFjdGlvbigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGQtPnBhZ2VQcm94eS0+bmF2aWdhdGlvbkFjdGlvbihRdFdl
YktpdDo6UmVsb2FkKTsKK30KKworUUFjdGlvbiogUVdlYk5hdmlnYXRpb25Db250cm9sbGVyOjpu
YXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKSBjb25zdAor
eworICAgIHJldHVybiBkLT5wYWdlUHJveHktPm5hdmlnYXRpb25BY3Rpb24od2hpY2gpOworfQor
Cit2b2lkIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6YmFjaygpCit7CisgICAgZC0+cGFnZVBy
b3h5LT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpCYWNrKS0+dHJpZ2dlcigpOworfQorCit2
b2lkIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6Zm9yd2FyZCgpCit7CisgICAgZC0+cGFnZVBy
b3h5LT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpGb3J3YXJkKS0+dHJpZ2dlcigpOworfQor
Cit2b2lkIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6c3RvcCgpCit7CisgICAgZC0+cGFnZVBy
b3h5LT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpTdG9wKS0+dHJpZ2dlcigpOworfQorCit2
b2lkIFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcjo6cmVsb2FkKCkKK3sKKyAgICBkLT5wYWdlUHJv
eHktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OlJlbG9hZCktPnRyaWdnZXIoKTsKK30KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9s
bGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vi
bmF2aWdhdGlvbmNvbnRyb2xsZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIHF3ZWJuYXZpZ2F0aW9u
Y29udHJvbGxlcl9oCisjZGVmaW5lIHF3ZWJuYXZpZ2F0aW9uY29udHJvbGxlcl9oCisKKworI2lu
Y2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKKyNpbmNsdWRlICJxd2Via2l0dHlwZXMuaCIKKyNpbmNs
dWRlIDxRdENvcmUvUU9iamVjdD4KKworUVRfQkVHSU5fTkFNRVNQQUNFCitjbGFzcyBRQWN0aW9u
OworUVRfRU5EX05BTUVTUEFDRQorCitjbGFzcyBRdFdlYlBhZ2VQcm94eTsKK2NsYXNzIFFXZWJO
YXZpZ2F0aW9uQ29udHJvbGxlclByaXZhdGU7CisKK2NsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJO
YXZpZ2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBRT2JqZWN0IHsKKyAgICBRX09CSkVDVAorICAg
IFFfUFJPUEVSVFkoUUFjdGlvbiogYmFja0FjdGlvbiBSRUFEIGJhY2tBY3Rpb24gQ09OU1RBTlQp
CisgICAgUV9QUk9QRVJUWShRQWN0aW9uKiBmb3J3YXJkQWN0aW9uIFJFQUQgZm9yd2FyZEFjdGlv
biBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKFFBY3Rpb24qIHN0b3BBY3Rpb24gUkVBRCBzdG9w
QWN0aW9uIENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoUUFjdGlvbiogcmVsb2FkQWN0aW9uIFJF
QUQgcmVsb2FkQWN0aW9uIENPTlNUQU5UKQorcHVibGljOgorICAgIFFXZWJOYXZpZ2F0aW9uQ29u
dHJvbGxlcihRdFdlYlBhZ2VQcm94eSopOworICAgIH5RV2ViTmF2aWdhdGlvbkNvbnRyb2xsZXIo
KTsKKworICAgIFFBY3Rpb24qIGJhY2tBY3Rpb24oKSBjb25zdDsKKyAgICBRQWN0aW9uKiBmb3J3
YXJkQWN0aW9uKCkgY29uc3Q7CisgICAgUUFjdGlvbiogc3RvcEFjdGlvbigpIGNvbnN0OworICAg
IFFBY3Rpb24qIHJlbG9hZEFjdGlvbigpIGNvbnN0OworCisgICAgUUFjdGlvbiogbmF2aWdhdGlv
bkFjdGlvbihRdFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbiB3aGljaCkgY29uc3Q7CisKK3B1Ymxp
YyBzbG90czoKKyAgICB2b2lkIGJhY2soKTsKKyAgICB2b2lkIGZvcndhcmQoKTsKKyAgICB2b2lk
IHN0b3AoKTsKKyAgICB2b2lkIHJlbG9hZCgpOworCitwcml2YXRlOgorICAgIFFXZWJOYXZpZ2F0
aW9uQ29udHJvbGxlclByaXZhdGUqIGQ7Cit9OworCisjZW5kaWYgLy8gcXdlYm5hdmlnYXRpb25j
b250cm9sbGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcW1scGx1
Z2luL3BsdWdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xbWxwbHVnaW4vcGx1Z2luLmNwcAkocmV2aXNpb24gOTIyODUpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FtbHBsdWdpbi9wbHVnaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAicWRlc2t0b3B3ZWJ2aWV3LmgiCiAjaW5jbHVk
ZSAicXRvdWNod2VicGFnZS5oIgogI2luY2x1ZGUgInF0b3VjaHdlYnZpZXcuaCIKKyNpbmNsdWRl
ICJxd2VibmF2aWdhdGlvbmNvbnRyb2xsZXIuaCIKIAogI2luY2x1ZGUgPFF0RGVjbGFyYXRpdmUv
cWRlY2xhcmF0aXZlLmg+CiAjaW5jbHVkZSA8UXREZWNsYXJhdGl2ZS9xZGVjbGFyYXRpdmVleHRl
bnNpb25wbHVnaW4uaD4KQEAgLTM0LDYgKzM1LDcgQEAgcHVibGljOgogICAgICAgICBRX0FTU0VS
VChRTGF0aW4xU3RyaW5nKHVyaSkgPT0gUUxhdGluMVN0cmluZygiUXRXZWJLaXQuZXhwZXJpbWVu
dGFsIikpOwogICAgICAgICBxbWxSZWdpc3RlclR5cGU8UURlc2t0b3BXZWJWaWV3Pih1cmksIDUs
IDAsICJEZXNrdG9wV2ViVmlldyIpOwogICAgICAgICBxbWxSZWdpc3RlclR5cGU8UVRvdWNoV2Vi
Vmlldz4odXJpLCA1LCAwLCAiVG91Y2hXZWJWaWV3Iik7CisgICAgICAgIHFtbFJlZ2lzdGVyVW5j
cmVhdGFibGVUeXBlPFFXZWJOYXZpZ2F0aW9uQ29udHJvbGxlcj4odXJpLCA1LCAwLCAiTmF2aWdh
dGlvbkNvbnRyb2xsZXIiLCBRT2JqZWN0Ojp0cigiQ2Fubm90IGNyZWF0ZSBzZXBhcmF0ZSBpbnN0
YW5jZSBvZiBOYXZpZ2F0aW9uQ29udHJvbGxlciIpKTsKICAgICAgICAgcW1sUmVnaXN0ZXJVbmNy
ZWF0YWJsZVR5cGU8UVRvdWNoV2ViUGFnZT4odXJpLCA1LCAwLCAiVG91Y2hXZWJQYWdlIiwgUU9i
amVjdDo6dHIoIkNhbm5vdCBjcmVhdGUgc2VwYXJhdGUgaW5zdGFuY2Ugb2YgVG91Y2hXZWJQYWdl
LCB1c2UgVG91Y2hXZWJWaWV3IikpOwogICAgIH0KIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL2NvbW1vbnZpZXd0ZXN0cy93ZWJ2aWV3YWJzdHJhY3Rpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
Y29tbW9udmlld3Rlc3RzL3dlYnZpZXdhYnN0cmFjdGlvbi5jcHAJKHJldmlzaW9uIDkyMjg1KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9jb21tb252aWV3dGVzdHMv
d2Vidmlld2Fic3RyYWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAsNiArMjAsNyBAQAog
I2luY2x1ZGUgPFFBY3Rpb24+CiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgogI2luY2x1ZGUgPFFE
ZXNrdG9wV2lkZ2V0PgorI2luY2x1ZGUgPHF3ZWJuYXZpZ2F0aW9uY29udHJvbGxlci5oPgogI2lu
Y2x1ZGUgIndlYnZpZXdhYnN0cmFjdGlvbi5oIgogCiBXZWJWaWV3QWJzdHJhY3Rpb246OldlYlZp
ZXdBYnN0cmFjdGlvbigpCkBAIC05OCw5ICs5OSw5IEBAIGludCBXZWJWaWV3QWJzdHJhY3Rpb246
OmxvYWRQcm9ncmVzcygpIGMKIAogdm9pZCBXZWJWaWV3QWJzdHJhY3Rpb246OnRyaWdnZXJOYXZp
Z2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uIHdoaWNoKQogewotICAgIFFB
Y3Rpb24qIHRvdWNoQWN0aW9uID0gdG91Y2hXZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkFj
dGlvbih3aGljaCk7CisgICAgUUFjdGlvbiogdG91Y2hBY3Rpb24gPSB0b3VjaFdlYlZpZXcoKS0+
cGFnZSgpLT5uYXZpZ2F0aW9uQ29udHJvbGxlcigpLT5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsK
ICAgICB0b3VjaEFjdGlvbi0+dHJpZ2dlcigpOwotICAgIFFBY3Rpb24qIGRlc2t0b3BBY3Rpb24g
PSBkZXNrdG9wV2ViVmlldygpLT5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKKyAgICBRQWN0aW9u
KiBkZXNrdG9wQWN0aW9uID0gZGVza3RvcFdlYlZpZXcoKS0+bmF2aWdhdGlvbkNvbnRyb2xsZXIo
KS0+bmF2aWdhdGlvbkFjdGlvbih3aGljaCk7CiAgICAgZGVza3RvcEFjdGlvbi0+dHJpZ2dlcigp
OwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FkZXNr
dG9wd2Vidmlldy90c3RfcWRlc2t0b3B3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FkZXNrdG9wd2Vidmlldy90c3RfcWRlc2t0
b3B3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTIyODUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3Rlc3RzL3FkZXNrdG9wd2Vidmlldy90c3RfcWRlc2t0b3B3ZWJ2aWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPFFTY29wZWRQb2ludGVy
PgogI2luY2x1ZGUgPFF0VGVzdC9RdFRlc3Q+CiAjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+
CisjaW5jbHVkZSA8cXdlYm5hdmlnYXRpb25jb250cm9sbGVyLmg+CiAjaW5jbHVkZSAiLi4vdGVz
dHdpbmRvdy5oIgogI2luY2x1ZGUgIi4uL3V0aWwuaCIKIApAQCAtNjMsMTkgKzY0LDE5IEBAIGlu
bGluZSBRRGVza3RvcFdlYlZpZXcqIHRzdF9RRGVza3RvcFdlYlYKIAogdm9pZCB0c3RfUURlc2t0
b3BXZWJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9uc1N0YXR1c0F0U3RhcnR1cCgpCiB7Ci0gICAgUUFj
dGlvbiogYmFja0FjdGlvbiA9IHdlYlZpZXcoKS0+bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6
QmFjayk7CisgICAgUUFjdGlvbiogYmFja0FjdGlvbiA9IHdlYlZpZXcoKS0+bmF2aWdhdGlvbkNv
bnRyb2xsZXIoKS0+YmFja0FjdGlvbigpOwogICAgIFFWRVJJRlkoYmFja0FjdGlvbik7CiAgICAg
UUNPTVBBUkUoYmFja0FjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNlKTsKIAotICAgIFFBY3Rpb24q
IGZvcndhcmRBY3Rpb24gPSB3ZWJWaWV3KCktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkZv
cndhcmQpOworICAgIFFBY3Rpb24qIGZvcndhcmRBY3Rpb24gPSB3ZWJWaWV3KCktPm5hdmlnYXRp
b25Db250cm9sbGVyKCktPmZvcndhcmRBY3Rpb24oKTsKICAgICBRVkVSSUZZKGZvcndhcmRBY3Rp
b24pOwogICAgIFFDT01QQVJFKGZvcndhcmRBY3Rpb24tPmlzRW5hYmxlZCgpLCBmYWxzZSk7CiAK
LSAgICBRQWN0aW9uKiBzdG9wQWN0aW9uID0gd2ViVmlldygpLT5uYXZpZ2F0aW9uQWN0aW9uKFF0
V2ViS2l0OjpTdG9wKTsKKyAgICBRQWN0aW9uKiBzdG9wQWN0aW9uID0gd2ViVmlldygpLT5uYXZp
Z2F0aW9uQ29udHJvbGxlcigpLT5zdG9wQWN0aW9uKCk7CiAgICAgUVZFUklGWShzdG9wQWN0aW9u
KTsKICAgICBRQ09NUEFSRShzdG9wQWN0aW9uLT5pc0VuYWJsZWQoKSwgZmFsc2UpOwogCi0gICAg
UUFjdGlvbiogcmVsb2FkQWN0aW9uID0gd2ViVmlldygpLT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2Vi
S2l0OjpSZWxvYWQpOworICAgIFFBY3Rpb24qIHJlbG9hZEFjdGlvbiA9IHdlYlZpZXcoKS0+bmF2
aWdhdGlvbkNvbnRyb2xsZXIoKS0+cmVsb2FkQWN0aW9uKCk7CiAgICAgUVZFUklGWShyZWxvYWRB
Y3Rpb24pOwogICAgIFFDT01QQVJFKHJlbG9hZEFjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNlKTsK
IH0KQEAgLTk0LDcgKzk1LDcgQEAgcHVibGljIHNsb3RzOgogICAgIHsKICAgICAgICAgUU1ldGFP
YmplY3Q6Omludm9rZU1ldGhvZCh0aGlzLCAiZmluaXNoZWQiLCBRdDo6UXVldWVkQ29ubmVjdGlv
bik7CiAKLSAgICAgICAgUUFjdGlvbiogc3RvcEFjdGlvbiA9IG1fd2ViVmlldy0+bmF2aWdhdGlv
bkFjdGlvbihRdFdlYktpdDo6U3RvcCk7CisgICAgICAgIFFBY3Rpb24qIHN0b3BBY3Rpb24gPSBt
X3dlYlZpZXctPm5hdmlnYXRpb25Db250cm9sbGVyKCktPnN0b3BBY3Rpb24oKTsKICAgICAgICAg
UVZFUklGWShzdG9wQWN0aW9uKTsKICAgICAgICAgUUNPTVBBUkUoc3RvcEFjdGlvbi0+aXNFbmFi
bGVkKCksIHRydWUpOwogICAgIH0KQEAgLTEwOCw3ICsxMDksNyBAQCBwcml2YXRlOgogCiB2b2lk
IHRzdF9RRGVza3RvcFdlYlZpZXc6OnN0b3BBY3Rpb25FbmFibGVkQWZ0ZXJMb2FkU3RhcnRlZCgp
CiB7Ci0gICAgUUFjdGlvbiogc3RvcEFjdGlvbiA9IHdlYlZpZXcoKS0+bmF2aWdhdGlvbkFjdGlv
bihRdFdlYktpdDo6U3RvcCk7CisgICAgUUFjdGlvbiogc3RvcEFjdGlvbiA9IHdlYlZpZXcoKS0+
bmF2aWdhdGlvbkNvbnRyb2xsZXIoKS0+c3RvcEFjdGlvbigpOwogICAgIFFWRVJJRlkoc3RvcEFj
dGlvbik7CiAgICAgUUNPTVBBUkUoc3RvcEFjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNlKTsKIApJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xdG91Y2h3ZWJ2aWV3
L3RzdF9xdG91Y2h3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3F0b3VjaHdlYnZpZXcvdHN0X3F0b3VjaHdlYnZpZXcuY3BwCShy
ZXZpc2lvbiA5MjI4NSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cXRvdWNod2Vidmlldy90c3RfcXRvdWNod2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIx
LDYgKzIxLDcgQEAKICNpbmNsdWRlIDxRdFRlc3QvUXRUZXN0PgogI2luY2x1ZGUgPHF0b3VjaHdl
YnBhZ2UuaD4KICNpbmNsdWRlIDxxdG91Y2h3ZWJ2aWV3Lmg+CisjaW5jbHVkZSA8cXdlYm5hdmln
YXRpb25jb250cm9sbGVyLmg+CiAjaW5jbHVkZSAiLi4vdGVzdHdpbmRvdy5oIgogI2luY2x1ZGUg
Ii4uL3V0aWwuaCIKIApAQCAtNzQsMTkgKzc1LDE5IEBAIHZvaWQgdHN0X1FUb3VjaFdlYlZpZXc6
OmFjY2Vzc1BhZ2UoKQogCiB2b2lkIHRzdF9RVG91Y2hXZWJWaWV3OjpuYXZpZ2F0aW9uQWN0aW9u
c1N0YXR1c0F0U3RhcnR1cCgpCiB7Ci0gICAgUUFjdGlvbiogYmFja0FjdGlvbiA9IHdlYlZpZXco
KS0+cGFnZSgpLT5uYXZpZ2F0aW9uQWN0aW9uKFF0V2ViS2l0OjpCYWNrKTsKKyAgICBRQWN0aW9u
KiBiYWNrQWN0aW9uID0gd2ViVmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25Db250cm9sbGVyKCkt
PmJhY2tBY3Rpb24oKTsKICAgICBRVkVSSUZZKGJhY2tBY3Rpb24pOwogICAgIFFDT01QQVJFKGJh
Y2tBY3Rpb24tPmlzRW5hYmxlZCgpLCBmYWxzZSk7CiAKLSAgICBRQWN0aW9uKiBmb3J3YXJkQWN0
aW9uID0gd2ViVmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OkZvcndh
cmQpOworICAgIFFBY3Rpb24qIGZvcndhcmRBY3Rpb24gPSB3ZWJWaWV3KCktPnBhZ2UoKS0+bmF2
aWdhdGlvbkNvbnRyb2xsZXIoKS0+Zm9yd2FyZEFjdGlvbigpOwogICAgIFFWRVJJRlkoZm9yd2Fy
ZEFjdGlvbik7CiAgICAgUUNPTVBBUkUoZm9yd2FyZEFjdGlvbi0+aXNFbmFibGVkKCksIGZhbHNl
KTsKIAotICAgIFFBY3Rpb24qIHN0b3BBY3Rpb24gPSB3ZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdh
dGlvbkFjdGlvbihRdFdlYktpdDo6U3RvcCk7CisgICAgUUFjdGlvbiogc3RvcEFjdGlvbiA9IHdl
YlZpZXcoKS0+cGFnZSgpLT5uYXZpZ2F0aW9uQ29udHJvbGxlcigpLT5zdG9wQWN0aW9uKCk7CiAg
ICAgUVZFUklGWShzdG9wQWN0aW9uKTsKICAgICBRQ09NUEFSRShzdG9wQWN0aW9uLT5pc0VuYWJs
ZWQoKSwgZmFsc2UpOwogCi0gICAgUUFjdGlvbiogcmVsb2FkQWN0aW9uID0gd2ViVmlldygpLT5w
YWdlKCktPm5hdmlnYXRpb25BY3Rpb24oUXRXZWJLaXQ6OlJlbG9hZCk7CisgICAgUUFjdGlvbiog
cmVsb2FkQWN0aW9uID0gd2ViVmlldygpLT5wYWdlKCktPm5hdmlnYXRpb25Db250cm9sbGVyKCkt
PnJlbG9hZEFjdGlvbigpOwogICAgIFFWRVJJRlkocmVsb2FkQWN0aW9uKTsKICAgICBRQ09NUEFS
RShyZWxvYWRBY3Rpb24tPmlzRW5hYmxlZCgpLCBmYWxzZSk7CiB9CkluZGV4OiBUb29scy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MjI4NikKKysr
IFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDExLTA4
LTA0ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAg
ICAgIFtRdF0gTWFrZSBuYXZpZ2F0aW9uIGFjdGlvbnMgcHJvcGVybHkgdXNhYmxlIGluIFFNTC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjI0CisK
KyAgICAgICAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gb2YgUVdlYk5h
dmlnYXRpb25Db250cm9sbGVyLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwOgorICAgICAgICAo
QnJvd3NlclZpZXc6Om5hdmlnYXRpb25BY3Rpb24pOgorCiAyMDExLTA4LTAzICBDYWlvIE1hcmNl
bG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAg
ICAgICAgW1F0XSBGaXggcnVubmluZyBxbWx0ZXN0cyBmb3IgV0syIGluIHRoZSBib3QKSW5kZXg6
IFRvb2xzL01pbmlCcm93c2VyL3F0L0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9NaW5pQnJvd3Nlci9xdC9Ccm93c2VyVmlldy5jcHAJKHJldmlzaW9uIDkyMjg1KQorKysgVG9v
bHMvTWluaUJyb3dzZXIvcXQvQnJvd3NlclZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSA8cWRlc2t0b3B3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cXRvdWNo
d2Vidmlldy5oPgogI2luY2x1ZGUgPHF0b3VjaHdlYnBhZ2UuaD4KKyNpbmNsdWRlIDxxd2VibmF2
aWdhdGlvbmNvbnRyb2xsZXIuaD4KIAogQnJvd3NlclZpZXc6OkJyb3dzZXJWaWV3KGJvb2wgdXNl
VG91Y2hXZWJWaWV3LCBRV2lkZ2V0KiBwYXJlbnQpCiAgICAgOiBRU0dDYW52YXMocGFyZW50KQpA
QCAtODgsOSArODksOSBAQCBRRGVza3RvcFdlYlZpZXcqIEJyb3dzZXJWaWV3OjpkZXNrdG9wV2Vi
CiBRQWN0aW9uKiBCcm93c2VyVmlldzo6bmF2aWdhdGlvbkFjdGlvbihRdFdlYktpdDo6TmF2aWdh
dGlvbkFjdGlvbiB3aGljaCkgY29uc3QKIHsKICAgICBpZiAoZGVza3RvcFdlYlZpZXcoKSkKLSAg
ICAgICAgcmV0dXJuIGRlc2t0b3BXZWJWaWV3KCktPm5hdmlnYXRpb25BY3Rpb24od2hpY2gpOwor
ICAgICAgICByZXR1cm4gZGVza3RvcFdlYlZpZXcoKS0+bmF2aWdhdGlvbkNvbnRyb2xsZXIoKS0+
bmF2aWdhdGlvbkFjdGlvbih3aGljaCk7CiAgICAgaWYgKHRvdWNoV2ViVmlldygpKQotICAgICAg
ICByZXR1cm4gdG91Y2hXZWJWaWV3KCktPnBhZ2UoKS0+bmF2aWdhdGlvbkFjdGlvbih3aGljaCk7
CisgICAgICAgIHJldHVybiB0b3VjaFdlYlZpZXcoKS0+cGFnZSgpLT5uYXZpZ2F0aW9uQ29udHJv
bGxlcigpLT5uYXZpZ2F0aW9uQWN0aW9uKHdoaWNoKTsKICAgICBRX0FTU0VSVChmYWxzZSk7CiAg
ICAgcmV0dXJuIDA7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>