<?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>196856</bug_id>
          
          <creation_ts>2019-04-12 05:07:44 -0700</creation_ts>
          <short_desc>[ATK] Implement AtkComponentIface scroll_to methods</short_desc>
          <delta_ts>2019-04-23 03:47:53 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=148935</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>agomez</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cfleizach</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>ltilve</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1526711</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-12 05:07:44 -0700</bug_when>
    <thetext>There&apos;s scroll_to and scroll_to_point since ATK 2.30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526712</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-12 05:07:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/49848600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526713</commentid>
    <comment_count>2</comment_count>
      <attachid>367315</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-12 05:12:57 -0700</bug_when>
    <thetext>Created attachment 367315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526719</commentid>
    <comment_count>3</comment_count>
      <attachid>367318</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-12 05:54:34 -0700</bug_when>
    <thetext>Created attachment 367318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526725</commentid>
    <comment_count>4</comment_count>
      <attachid>367320</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-12 06:23:07 -0700</bug_when>
    <thetext>Created attachment 367320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526745</commentid>
    <comment_count>5</comment_count>
      <attachid>367320</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-04-12 09:01:29 -0700</bug_when>
    <thetext>Comment on attachment 367320
Patch

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

&gt; Tools/gtk/jhbuild.modules:284
&gt; +  &lt;meson id=&quot;atk&quot; mesonargs=&quot;-Dintrospection=no&quot;&gt;

meson.build:1:0: ERROR:  Value no is not boolean (true or false).

Needs to be =false, didn&apos;t you test this?

&gt; Tools/gtk/jhbuild.modules:290
&gt; +  &lt;meson id=&quot;at-spi2-core&quot; mesonargs=&quot;-Dintrospection=no&quot;&gt;

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529195</commentid>
    <comment_count>6</comment_count>
      <attachid>367927</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-22 01:00:52 -0700</bug_when>
    <thetext>Created attachment 367927
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529197</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-22 01:43:53 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; Comment on attachment 367320 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=367320&amp;action=review
&gt; 
&gt; &gt; Tools/gtk/jhbuild.modules:284
&gt; &gt; +  &lt;meson id=&quot;atk&quot; mesonargs=&quot;-Dintrospection=no&quot;&gt;
&gt; 
&gt; meson.build:1:0: ERROR:  Value no is not boolean (true or false).
&gt; 
&gt; Needs to be =false, didn&apos;t you test this?

meson.build:1:0: ERROR:  Value &quot;false&quot; for combo option &quot;introspection&quot; is not one of the choices. Possible choices are: &quot;yes&quot;, &quot;no&quot;, &quot;auto&quot;.

&gt; &gt; Tools/gtk/jhbuild.modules:290
&gt; &gt; +  &lt;meson id=&quot;at-spi2-core&quot; mesonargs=&quot;-Dintrospection=no&quot;&gt;
&gt; 
&gt; Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529199</commentid>
    <comment_count>8</comment_count>
      <attachid>367928</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-04-22 01:46:27 -0700</bug_when>
    <thetext>Created attachment 367928
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529551</commentid>
    <comment_count>9</comment_count>
      <attachid>367928</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 03:47:51 -0700</bug_when>
    <thetext>Comment on attachment 367928
Patch for landing

Clearing flags on attachment: 367928

Committed r244538: &lt;https://trac.webkit.org/changeset/244538&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1529552</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-23 03:47:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367315</attachid>
            <date>2019-04-12 05:12:57 -0700</date>
            <delta_ts>2019-04-12 05:54:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atk-scroll-to.diff</filename>
            <type>text/plain</type>
            <size>17790</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MDMzYmZlNTA0MS4uMzUzOWVkOTJiYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNC0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0FUS10gSW1wbGVtZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nIG5vdy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA0LTExICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdS
RVNTSU9OKHIyNDM4NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTE5NzVhOTJiNjEuLmU5ZjZlNmZmMmUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE3LDggKzgxNyw2
IEBAIHdlYmtpdC5vcmcvYi8xMzEzNDcgc3ZnL3RleHQvaGlkcGktdGV4dC1zZWxlY3Rpb24tcmVj
dC1wb3NpdGlvbi5odG1sIFsgSW1hZ2VPbmx5CiAjIE5vIHN1cHBvcnQgZm9yIEZpbHRlcnMgTGV2
ZWwgMiBvbiBHVEsgeWV0CiB3ZWJraXQub3JnL2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJv
cCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMTQxMDcyIGFjY2Vzc2liaWxpdHkvZnJhbWUtZGlz
Y29ubmVjdC10ZXh0bWFya2VyLWNhY2hlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLQogd2Via2l0
Lm9yZy9iLzE0MTQyMyBmYXN0L2Nzcy9mb250LXNob3J0aGFuZC1mcm9tLWxvbmdoYW5kcy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQxNDIzIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5k
LWxpbmUtaGVpZ2h0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDE0MjMgZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1mb250Lmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTkwNyw2ICs5MDUsNyBAQCB3ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvYmFja2dyb3VuZHMv
aGlkcGktYmFja2dyb3VuZC1pbWFnZS1jb250YWluLWNvdmVyLXNjYWxlLQogCiAjIFRleHQgbWFy
a2VyIHRlc3RzIGFyZSBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTUzMjkyIGFjY2Vzc2li
aWxpdHkvdGV4dC1tYXJrZXIgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNDEwNzIgYWNjZXNzaWJp
bGl0eS9mcmFtZS1kaXNjb25uZWN0LXRleHRtYXJrZXItY2FjaGUtY3Jhc2guaHRtbCBbIFNraXAg
XQogCiAjIFdlYktpdEdUSysgZG9lc24ndCBoYXZlIGtpbGxyaW5nIHN1cHBvcnQuCiB3ZWJraXQu
b3JnL2IvMTUyMzc5IGVkaXRpbmcvcGFzdGVib2FyZC9lbWFjcy1raWxscmluZy1hbHRlcm5hdGlu
Zy1hcHBlbmQtcHJlcGVuZC5odG1sIFsgRmFpbHVyZSBdCkBAIC0zMTEzLDE0ICszMTEyLDYgQEAg
d2Via2l0Lm9yZy9iLzE0NTQzMiBtZWRpYS92aWRlby10cmFuc2Zvcm1lZC1ieS1qYXZhc2NyaXB0
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjQtaHNsLWJhc2ljLWEueGh0IFsgSW1hZ2VP
bmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjUtaHNsYS1jbGlwLW91dHNpZGUtZGV2aWNl
LWdhbXV0LWIueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS1uZXN0ZWQuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1n
bG9iYWwtcG9pbnQtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2luZG93Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xv
YmFsLXBvaW50LW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1kaXYtb3ZlcmZsb3cuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtl
LXZpc2libGUtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNp
YmxlLW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2li
aWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS13aXRoLXN1YmZvY3VzLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE0OTEyOCBmYXN0L3RleHQvY29udHJvbC1jaGFyYWN0ZXJzIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkYTNkZDFmMjMuLmY5ZDdhNTU5YWI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDQtMTIgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtBVEtdIEltcGxlbWVudCBB
dGtDb21wb25lbnRJZmFjZSBzY3JvbGxfdG8gbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2ODU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNjcm9sbF90byBhbmQgc2Nyb2xs
X3RvX3BvaW50IHdoZW4gQVRLID49IDIuMzAuCisKKyAgICAgICAgRml4ZXM6IGFjY2Vzc2liaWxp
dHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUtbmVzdGVkLmh0bWwKKyAgICAgICAgICAg
ICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUuaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1w
b2ludC1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8t
bWFrZS12aXNpYmxlLWRpdi1vdmVyZmxvdy5odG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmls
aXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtaWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0ZWQtMi5odG1sCisgICAgICAg
ICAgICAgICBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtbmVzdGVkLmh0bWwK
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlIGNv
bnN0KTogQWRkIG5ldyBtZXRob2QgcmVjZWl2aW5nIHRoZQorICAgICAgICBTY3JvbGxSZWN0VG9W
aXNpYmxlT3B0aW9ucyBzaW5jZSBBVEsgaW50ZXJmYWNlIGhhcyBhIHBhcmFtZXRlciB0byBkZWNp
ZGUgaG93IHRvIHNjcm9sbC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlQ29tcG9uZW50LmNwcDoKKyAgICAgICAgKGF0a1RvQ29udGVudHMpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudFJlZkFjY2Vzc2libGVBdFBvaW50KToKKyAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHZXRFeHRlbnRzKToKKyAgICAgICAgKHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXMpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNv
bXBvbmVudFNjcm9sbFRvKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRTY3Jv
bGxUb1BvaW50KToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJ
bml0KToKKyAgICAgICAgKGNvcmUpOiBEZWxldGVkLgorCiAyMDE5LTA0LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGRvaW5nIHBvc2l0
aW9uZWQgc2Nyb2xsaW5nIHRyZWUgbm9kZSB3b3JrIGZvciBsYXllcnMgbm90IGluc2lkZSBvdmVy
ZmxvdzpzY3JvbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDk0Y2NhMDRmNTZkLi40ZmQxMzU3ZjA4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCkBAIC0zMDYxLDE1ICszMDYxLDIwIEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNP
bnNjcmVlbigpIGNvbnN0CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9N
YWtlVmlzaWJsZSgpIGNvbnN0Cit7CisgICAgc2Nyb2xsVG9NYWtlVmlzaWJsZSh7IFNlbGVjdGlv
blJldmVhbE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVk
LCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NP
cmlnaW5TY3JvbGxpbmc6OlllcyB9KTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
Y3JvbGxUb01ha2VWaXNpYmxlKGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRp
b25zKSBjb25zdAogewogICAgIGlmIChkaXNwYXRjaEFjY2Vzc2liaWxpdHlFdmVudFdpdGhUeXBl
KEFjY2Vzc2liaWxpdHlFdmVudFR5cGU6OlNjcm9sbEludG9WaWV3KSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgaWYgKGlzU2Nyb2xsVmlldygpICYmIHBhcmVudE9iamVjdCgpKQogICAg
ICAgICBwYXJlbnRPYmplY3QoKS0+c2Nyb2xsVG9NYWtlVmlzaWJsZSgpOwogCiAgICAgaWYgKGF1
dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXItPnNjcm9s
bFJlY3RUb1Zpc2libGUoYm91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6OlllcyB9KTsKKyAgICAgICAgcmVuZGVyZXItPnNjcm9sbFJlY3RUb1Zpc2libGUo
Ym91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCBvcHRpb25zKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGNvbnN0IEludFJlY3Qm
IHN1YmZvY3VzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBkNGY3NTZhNzJhMS4uODFhMDJkNWFjYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CkBAIC04MSw2ICs4MSw3IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFNjcm9sbGFibGVB
cmVhOwogY2xhc3MgU2Nyb2xsVmlldzsKIGNsYXNzIFdpZGdldDsKK3N0cnVjdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9uczsKIAogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7
CiAgICAgQWx0ZXJuYXRpdmUsCkBAIC04ODIsNiArODgzLDcgQEAgcHVibGljOgogICAgIEludFBv
aW50IHNjcm9sbFBvc2l0aW9uKCkgY29uc3Q7CiAgICAgSW50U2l6ZSBzY3JvbGxDb250ZW50c1Np
emUoKSBjb25zdDsgICAgCiAgICAgSW50UmVjdCBzY3JvbGxWaXNpYmxlQ29udGVudFJlY3QoKSBj
b25zdDsKKyAgICB2b2lkIHNjcm9sbFRvTWFrZVZpc2libGUoY29uc3QgU2Nyb2xsUmVjdFRvVmlz
aWJsZU9wdGlvbnMmKSBjb25zdDsKICAgICAKICAgICBib29sIGxhc3RLbm93bklzSWdub3JlZFZh
bHVlKCk7CiAgICAgdm9pZCBzZXRMYXN0S25vd25Jc0lnbm9yZWRWYWx1ZShib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAKaW5kZXggNWUyNWU0OThmN2Yu
LjFkZTZlNDBhZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50
LmNwcApAQCAtMzYsNzcgKzM2LDEzNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3Qu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQorc3RhdGljIEludFBvaW50IGF0a1RvQ29udGVudHMoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYgY29yZU9iamVjdCwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSwgZ2ludCB4LCBnaW50IHkpCiB7
Ci0gICAgaWYgKCFXRUJLSVRfSVNfQUNDRVNTSUJMRShjb21wb25lbnQpKQotICAgICAgICByZXR1
cm4gMDsKLQotICAgIHJldHVybiAmd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmpl
Y3QoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSk7Ci19Ci0KLXN0YXRpYyBJbnRQb2ludCBh
dGtUb0NvbnRlbnRzKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QsIEF0a0Nvb3JkVHlw
ZSBjb29yZFR5cGUsIGdpbnQgeCwgZ2ludCB5KQotewotICAgIEludFBvaW50IHBvcyh4LCB5KTsK
LQotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gY29yZU9iamVjdC0+ZG9jdW1lbnRGcmFtZVZp
ZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3KSB7Ci0gICAgICAgIHN3aXRjaCAoY29vcmRUeXBlKSB7
Ci0gICAgICAgIGNhc2UgQVRLX1hZX1NDUkVFTjoKLSAgICAgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPnNjcmVlblRvQ29udGVudHMocG9zKTsKLSAgICAgICAgY2FzZSBBVEtfWFlfV0lORE9XOgot
ICAgICAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyhwb3MpOworICAg
IGF1dG8qIGZyYW1lVmlldyA9IGNvcmVPYmplY3QuZG9jdW1lbnRGcmFtZVZpZXcoKTsKKyAgICBp
ZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuIHsgeCwgeSB9OworCisgICAgc3dpdGNoIChj
b29yZFR5cGUpIHsKKyAgICBjYXNlIEFUS19YWV9TQ1JFRU46CisgICAgICAgIHJldHVybiBmcmFt
ZVZpZXctPnNjcmVlblRvQ29udGVudHMoeyB4LCB5IH0pOworICAgIGNhc2UgQVRLX1hZX1dJTkRP
VzoKKyAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyh7IHgsIHkgfSk7
CiAjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCi0gICAgICAgIGNhc2UgQVRLX1hZX1BB
UkVOVDoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2Fz
ZSBBVEtfWFlfUEFSRU5UOgorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
I2VuZGlmCi0gICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcG9zOworICAgIHJldHVybiB7
IHgsIHkgfTsKIH0KIAogc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVu
dFJlZkFjY2Vzc2libGVBdFBvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBnaW50IHgsIGdp
bnQgeSwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSkKIHsKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCksIDApOwotICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCAwKTsKKyAg
ICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICBy
ZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgbnVsbHB0cik7
CiAKLSAgICBJbnRQb2ludCBwb3MgPSBhdGtUb0NvbnRlbnRzKGNvcmUoY29tcG9uZW50KSwgY29v
cmRUeXBlLCB4LCB5KTsKLQotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmUoY29tcG9uZW50KS0+YWNjZXNzaWJpbGl0eUhp
dFRlc3QocG9zKSk7CisgICAgYXV0byYgY29yZU9iamVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRB
Y2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUpOworICAgIGF1dG8qIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmVPYmplY3QuYWNjZXNzaWJpbGl0eUhpdFRlc3Qo
YXRrVG9Db250ZW50cyhjb3JlT2JqZWN0LCBjb29yZFR5cGUsIHgsIHkpKSk7CiAgICAgaWYgKCF0
YXJnZXQpCi0gICAgICAgIHJldHVybiAwOwotICAgIGdfb2JqZWN0X3JlZih0YXJnZXQtPndyYXBw
ZXIoKSk7Ci0gICAgcmV0dXJuIEFUS19PQkpFQ1QodGFyZ2V0LT53cmFwcGVyKCkpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChhdXRvKiB3cmFwcGVyID0gdGFyZ2V0LT53cmFw
cGVyKCkpCisgICAgICAgIHJldHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3JlZih3cmFwcGVyKSk7
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0QWNjZXNzaWJs
ZUNvbXBvbmVudEdldEV4dGVudHMoQXRrQ29tcG9uZW50KiBjb21wb25lbnQsIGdpbnQqIHgsIGdp
bnQqIHksIGdpbnQqIHdpZHRoLCBnaW50KiBoZWlnaHQsIEF0a0Nvb3JkVHlwZSBjb29yZFR5cGUp
CiB7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCkpOwot
ICAgIHJldHVybklmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShj
b21wb25lbnQpKTsKKyAgICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29t
cG9uZW50KTsKKyAgICByZXR1cm5JZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJs
ZSk7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBzbmFwcGVkSW50UmVjdChjb3JlKGNvbXBvbmVudCkt
PmVsZW1lbnRSZWN0KCkpOwotICAgIGNvbnRlbnRzUmVsYXRpdmVUb0F0a0Nvb3JkaW5hdGVUeXBl
KGNvcmUoY29tcG9uZW50KSwgY29vcmRUeXBlLCByZWN0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlP
YmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29udGVudHNSZWxhdGl2ZVRvQXRrQ29vcmRpbmF0ZVR5
cGUoJmNvcmVPYmplY3QsIGNvb3JkVHlwZSwgc25hcHBlZEludFJlY3QoY29yZU9iamVjdC5lbGVt
ZW50UmVjdCgpKSwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3
ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R3JhYkZvY3VzKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19JU19DT01QT05FTlQoY29tcG9uZW50
KSwgRkFMU0UpOwotICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJL
SVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCBGQUxTRSk7CisgICAgYXV0byogYWNjZXNzaWJsZSA9
IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nl
c3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2libGUsIEZBTFNFKTsKKworICAgIGF1dG8mIGNvcmVPYmpl
Y3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsK
KyAgICBjb3JlT2JqZWN0LnNldEZvY3VzZWQodHJ1ZSk7CisgICAgcmV0dXJuIGNvcmVPYmplY3Qu
aXNGb2N1c2VkKCk7Cit9CisKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKK3N0YXRp
YyBnYm9vbGVhbiB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG8oQXRrQ29tcG9uZW50
KiBjb21wb25lbnQsIEF0a1Njcm9sbFR5cGUgc2Nyb2xsVHlwZSkKK3sKKyAgICBhdXRvKiBhY2Nl
c3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldl
YktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgU2Nyb2xs
QWxpZ25tZW50IGFsaWduWDsKKyAgICBTY3JvbGxBbGlnbm1lbnQgYWxpZ25ZOworCisgICAgc3dp
dGNoIChzY3JvbGxUeXBlKSB7CisgICAgY2FzZSBBVEtfU0NST0xMX1RPUF9MRUZUOgorICAgICAg
ICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduTGVmdEFsd2F5czsKKyAgICAgICAgYWxp
Z25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5czsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9SSUdIVDoKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xs
QWxpZ25tZW50OjphbGlnblJpZ2h0QWx3YXlzOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduQm90dG9tQWx3YXlzOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFUS19T
Q1JPTExfVE9QX0VER0U6CisgICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9FREdFOgorICAgICAg
ICAvLyBBbGlnbiB0byBhIHBhcnRpY3VsYXIgZWRnZSBpcyBub3Qgc3VwcG9ydGVkLCBpdCdzIGFs
d2F5cyB0aGUgY2xvc2VzdCBlZGdlLgorICAgICAgICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6
OmFsaWduQ2VudGVySWZOZWVkZWQ7CisgICAgICAgIGFsaWduWSA9IFNjcm9sbEFsaWdubWVudDo6
YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVEtfU0NST0xM
X0xFRlRfRURHRToKKyAgICBjYXNlIEFUS19TQ1JPTExfUklHSFRfRURHRToKKyAgICAgICAgLy8g
QWxpZ24gdG8gYSBwYXJ0aWN1bGFyIGVkZ2UgaXMgbm90IHN1cHBvcnRlZCwgaXQncyBhbHdheXMg
dGhlIGNsb3Nlc3QgZWRnZS4KKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGln
blRvRWRnZUlmTmVlZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
Q2VudGVySWZOZWVkZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9BTllX
SEVSRToKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVl
ZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVk
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGF1dG8mIGNvcmVPYmplY3QgPSB3ZWJr
aXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsKKyAgICBjb3Jl
T2JqZWN0LnNjcm9sbFRvTWFrZVZpc2libGUoeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWws
IGFsaWduWCwgYWxpZ25ZLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7
CisKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUb1BvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBBdGtDb29y
ZFR5cGUgY29vcmRUeXBlLCBnaW50IHgsIGdpbnQgeSkKK3sKKyAgICBhdXRvKiBhY2Nlc3NpYmxl
ID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldlYktpdEFj
Y2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgYXV0byYgY29yZU9i
amVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUp
OwogCi0gICAgY29yZShjb21wb25lbnQpLT5zZXRGb2N1c2VkKHRydWUpOwotICAgIHJldHVybiBj
b3JlKGNvbXBvbmVudCktPmlzRm9jdXNlZCgpOworICAgIEludFBvaW50IHBvaW50KHgsIHkpOwor
ICAgIGlmIChjb29yZFR5cGUgPT0gQVRLX1hZX1NDUkVFTikgeworICAgICAgICBpZiAoYXV0byog
ZnJhbWVWaWV3ID0gY29yZU9iamVjdC5kb2N1bWVudEZyYW1lVmlldygpKQorICAgICAgICAgICAg
cG9pbnQgPSBmcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3coZnJhbWVWaWV3LT5zY3JlZW5Ub0Nv
bnRlbnRzKHBvaW50KSk7CisgICAgfQorCisgICAgY29yZU9iamVjdC5zY3JvbGxUb0dsb2JhbFBv
aW50KHBvaW50KTsKKworICAgIHJldHVybiBUUlVFOwogfQorI2VuZGlmCiAKIHZvaWQgd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRrQ29tcG9uZW50SWZhY2UqIGlmYWNl
KQogewogICAgIGlmYWNlLT5yZWZfYWNjZXNzaWJsZV9hdF9wb2ludCA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRSZWZBY2Nlc3NpYmxlQXRQb2ludDsKICAgICBpZmFjZS0+Z2V0X2V4dGVudHMg
PSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R2V0RXh0ZW50czsKICAgICBpZmFjZS0+Z3JhYl9m
b2N1cyA9IHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXM7CisjaWYgQVRLX0NIRUNL
X1ZFUlNJT04oMiwgMzAsIDApCisgICAgaWZhY2UtPnNjcm9sbF90byA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUbzsKKyAgICBpZmFjZS0+c2Nyb2xsX3RvX3BvaW50ID0gd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudFNjcm9sbFRvUG9pbnQ7CisjZW5kaWYKIH0KIAotI2VuZGlmCisj
ZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdjN2RmNzk5OGEwLi5iY2IwMWY4N2E4YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE5LTA0LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQVRLXSBJbXBsZW1lbnQgQXRrQ29tcG9uZW50SWZhY2Ugc2Nyb2xsX3Rv
IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Njg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvTWFrZVZpc2libGUpOiBDYWxsIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvKCkuCisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQpOiBDYWxs
IGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3BvaW50KCkuCisgICAgICAgICogZ3RrL2poYnVpbGQu
bW9kdWxlczogQnVtcCBhdGssIGF0LXNwaTItY29yZSBhbmQgYXQtc3BpMi1hdGsgdG8gdGhlaXIg
bGF0ZXN0IHN0YWJsZSB2ZXJzaW9uLgorCiAyMDE5LTA0LTExICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdSRVNTSU9OKHIyNDM4
NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggMDNmNWQ2Y2Q4MDUuLmZjODc0OTBlYWQ2IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtMjMyOSwxNCArMjMyOSwyNCBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVmlzaWJsZVRleHRSYW5n
ZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcgogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvTWFrZVZpc2libGUoKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBB
VEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9l
bGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3Jv
bGxfdG8oQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfU0NST0xMX0FOWVdIRVJF
KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvR2xvYmFsUG9pbnQoaW50IHgsIGludCB5KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05F
TlQobV9lbGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVu
dF9zY3JvbGxfdG9fcG9pbnQoQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfWFlf
V0lORE9XLCB4LCB5KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQg
d2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0
IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMK
aW5kZXggMWVjZWJjMzFmMjMuLjBmMDkwY2NhYTAyIDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhi
dWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTI4NCwxNyAr
Mjg0LDE3IEBACiAgIDxhdXRvdG9vbHMgaWQ9ImF0ayIKICAgICAgICAgICAgICBhdXRvZ2VuLXNo
PSJjb25maWd1cmUiCiAgICAgICAgICAgICAgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1pbnRyb3Nw
ZWN0aW9uIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXRrLzIuMjUv
YXRrLTIuMjUuMi50YXIueHoiIHZlcnNpb249IjIuMjUuMiIKKyAgICA8YnJhbmNoIG1vZHVsZT0i
cHViL0dOT01FL3NvdXJjZXMvYXRrLzIuMzIvYXRrLTIuMzIuMC50YXIueHoiIHZlcnNpb249IjIu
MzIuMCIKICAgICAgICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBoYXNo
PSJzaGEyNTY6NzVhYzFmNjNlODQ1Zjg5NWRlYzhkNzJkNDY0NWVmNWYzNjJlMzJjOTIxY2M3ODk4
N2YyZjE5YzJjZTIxMmEyNCIvPgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OmNiNDFmZWRhN2Zl
NGVmMGRhYTAyNDQ3MTQzOGVhMDIxOTU5MmJhZjdjMjkxMzQ3ZTVhODU4YmI2NGU0MDkxY2MiLz4K
ICAgPC9hdXRvdG9vbHM+CiAKICAgPGF1dG90b29scyBpZD0iYXQtc3BpMi1jb3JlIgogICAgICAg
ICAgICAgIGF1dG9nZW4tc2g9ImNvbmZpZ3VyZSIKICAgICAgICAgICAgICBhdXRvZ2VuYXJncz0i
LS1kaXNhYmxlLWludHJvc3BlY3Rpb24iPgotICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUv
c291cmNlcy9hdC1zcGkyLWNvcmUvMi4yNS9hdC1zcGkyLWNvcmUtMi4yNS40LnRhci54eiIgdmVy
c2lvbj0iMi4yNS40IgorICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNlcy9hdC1z
cGkyLWNvcmUvMi4zMi9hdC1zcGkyLWNvcmUtMi4zMi4xLnRhci54eiIgdmVyc2lvbj0iMi4zMi4x
IgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNo
YTI1NjpiYWVjY2JmOTJlODRlNjRiYjRhODUzZjA3NmMyN2I3OGFiNDRlZGYxZmE1NDE0YTljNmU1
OWE5YjE4MGJjOWQ4Ij4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjozYzJhYTkzN2ViZmFjYTJj
ODY1NjliY2U5YjE2YTM0ZmJlMjBkNjllZjBjNTg4NDYzMTNiMWM0MmY1M2IwZDUzIj4KICAgICA8
L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbGliIi8+
CkBAIC0zMDMsOSArMzAzLDkgQEAKIAogICA8YXV0b3Rvb2xzIGlkPSJhdC1zcGkyLWF0ayIKICAg
ICAgICAgICAgICBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJw
dWIvR05PTUUvc291cmNlcy9hdC1zcGkyLWF0ay8yLjI1L2F0LXNwaTItYXRrLTIuMjUuMy50YXIu
eHoiIHZlcnNpb249IjIuMjUuMyIKKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJj
ZXMvYXQtc3BpMi1hdGsvMi4zMi9hdC1zcGkyLWF0ay0yLjMyLjAudGFyLnh6IiB2ZXJzaW9uPSIy
LjMyLjAiCiAgICAgICAgICAgICByZXBvPSJmdHAuZ25vbWUub3JnIgotICAgICAgICAgICAgaGFz
aD0ic2hhMjU2OmI3YWFiMWE0ZWU3MTgyMDgzZmNmYWZiNTk1YjdiM2ZlNGRmMzRhYTIyMzBjNzc1
MDUwZmU2MDE1YjAxZjg0ZTEiPgorICAgICAgICAgICAgaGFzaD0ic2hhMjU2OjBiNTFlNmQzMzlm
YTJiY2NhM2EzZTMxNTljY2VhNTc0YzY3YjEwN2YxYWM4YjAwMDQ3ZmE2MGUzNGNlN2E0NWMiPgog
ICAgIDwvYnJhbmNoPgogICAgIDxkZXBlbmRlbmNpZXM+CiAgICAgICA8ZGVwIHBhY2thZ2U9Imds
aWIiLz4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367318</attachid>
            <date>2019-04-12 05:54:34 -0700</date>
            <delta_ts>2019-04-12 06:23:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atk-scroll-to.diff</filename>
            <type>text/plain</type>
            <size>18334</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MDMzYmZlNTA0MS4uMzUzOWVkOTJiYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNC0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0FUS10gSW1wbGVtZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nIG5vdy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA0LTExICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdS
RVNTSU9OKHIyNDM4NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTE5NzVhOTJiNjEuLmU5ZjZlNmZmMmUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE3LDggKzgxNyw2
IEBAIHdlYmtpdC5vcmcvYi8xMzEzNDcgc3ZnL3RleHQvaGlkcGktdGV4dC1zZWxlY3Rpb24tcmVj
dC1wb3NpdGlvbi5odG1sIFsgSW1hZ2VPbmx5CiAjIE5vIHN1cHBvcnQgZm9yIEZpbHRlcnMgTGV2
ZWwgMiBvbiBHVEsgeWV0CiB3ZWJraXQub3JnL2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJv
cCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMTQxMDcyIGFjY2Vzc2liaWxpdHkvZnJhbWUtZGlz
Y29ubmVjdC10ZXh0bWFya2VyLWNhY2hlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLQogd2Via2l0
Lm9yZy9iLzE0MTQyMyBmYXN0L2Nzcy9mb250LXNob3J0aGFuZC1mcm9tLWxvbmdoYW5kcy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQxNDIzIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5k
LWxpbmUtaGVpZ2h0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDE0MjMgZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1mb250Lmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTkwNyw2ICs5MDUsNyBAQCB3ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvYmFja2dyb3VuZHMv
aGlkcGktYmFja2dyb3VuZC1pbWFnZS1jb250YWluLWNvdmVyLXNjYWxlLQogCiAjIFRleHQgbWFy
a2VyIHRlc3RzIGFyZSBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTUzMjkyIGFjY2Vzc2li
aWxpdHkvdGV4dC1tYXJrZXIgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNDEwNzIgYWNjZXNzaWJp
bGl0eS9mcmFtZS1kaXNjb25uZWN0LXRleHRtYXJrZXItY2FjaGUtY3Jhc2guaHRtbCBbIFNraXAg
XQogCiAjIFdlYktpdEdUSysgZG9lc24ndCBoYXZlIGtpbGxyaW5nIHN1cHBvcnQuCiB3ZWJraXQu
b3JnL2IvMTUyMzc5IGVkaXRpbmcvcGFzdGVib2FyZC9lbWFjcy1raWxscmluZy1hbHRlcm5hdGlu
Zy1hcHBlbmQtcHJlcGVuZC5odG1sIFsgRmFpbHVyZSBdCkBAIC0zMTEzLDE0ICszMTEyLDYgQEAg
d2Via2l0Lm9yZy9iLzE0NTQzMiBtZWRpYS92aWRlby10cmFuc2Zvcm1lZC1ieS1qYXZhc2NyaXB0
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjQtaHNsLWJhc2ljLWEueGh0IFsgSW1hZ2VP
bmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjUtaHNsYS1jbGlwLW91dHNpZGUtZGV2aWNl
LWdhbXV0LWIueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS1uZXN0ZWQuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1n
bG9iYWwtcG9pbnQtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2luZG93Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xv
YmFsLXBvaW50LW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1kaXYtb3ZlcmZsb3cuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtl
LXZpc2libGUtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNp
YmxlLW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2li
aWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS13aXRoLXN1YmZvY3VzLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE0OTEyOCBmYXN0L3RleHQvY29udHJvbC1jaGFyYWN0ZXJzIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkYTNkZDFmMjMuLmY5ZDdhNTU5YWI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDQtMTIgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtBVEtdIEltcGxlbWVudCBB
dGtDb21wb25lbnRJZmFjZSBzY3JvbGxfdG8gbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2ODU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNjcm9sbF90byBhbmQgc2Nyb2xs
X3RvX3BvaW50IHdoZW4gQVRLID49IDIuMzAuCisKKyAgICAgICAgRml4ZXM6IGFjY2Vzc2liaWxp
dHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUtbmVzdGVkLmh0bWwKKyAgICAgICAgICAg
ICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUuaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1w
b2ludC1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8t
bWFrZS12aXNpYmxlLWRpdi1vdmVyZmxvdy5odG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmls
aXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtaWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0ZWQtMi5odG1sCisgICAgICAg
ICAgICAgICBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtbmVzdGVkLmh0bWwK
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlIGNv
bnN0KTogQWRkIG5ldyBtZXRob2QgcmVjZWl2aW5nIHRoZQorICAgICAgICBTY3JvbGxSZWN0VG9W
aXNpYmxlT3B0aW9ucyBzaW5jZSBBVEsgaW50ZXJmYWNlIGhhcyBhIHBhcmFtZXRlciB0byBkZWNp
ZGUgaG93IHRvIHNjcm9sbC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlQ29tcG9uZW50LmNwcDoKKyAgICAgICAgKGF0a1RvQ29udGVudHMpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudFJlZkFjY2Vzc2libGVBdFBvaW50KToKKyAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHZXRFeHRlbnRzKToKKyAgICAgICAgKHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXMpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNv
bXBvbmVudFNjcm9sbFRvKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRTY3Jv
bGxUb1BvaW50KToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJ
bml0KToKKyAgICAgICAgKGNvcmUpOiBEZWxldGVkLgorCiAyMDE5LTA0LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGRvaW5nIHBvc2l0
aW9uZWQgc2Nyb2xsaW5nIHRyZWUgbm9kZSB3b3JrIGZvciBsYXllcnMgbm90IGluc2lkZSBvdmVy
ZmxvdzpzY3JvbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDk0Y2NhMDRmNTZkLi40ZmQxMzU3ZjA4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCkBAIC0zMDYxLDE1ICszMDYxLDIwIEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNP
bnNjcmVlbigpIGNvbnN0CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9N
YWtlVmlzaWJsZSgpIGNvbnN0Cit7CisgICAgc2Nyb2xsVG9NYWtlVmlzaWJsZSh7IFNlbGVjdGlv
blJldmVhbE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVk
LCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NP
cmlnaW5TY3JvbGxpbmc6OlllcyB9KTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
Y3JvbGxUb01ha2VWaXNpYmxlKGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRp
b25zKSBjb25zdAogewogICAgIGlmIChkaXNwYXRjaEFjY2Vzc2liaWxpdHlFdmVudFdpdGhUeXBl
KEFjY2Vzc2liaWxpdHlFdmVudFR5cGU6OlNjcm9sbEludG9WaWV3KSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgaWYgKGlzU2Nyb2xsVmlldygpICYmIHBhcmVudE9iamVjdCgpKQogICAg
ICAgICBwYXJlbnRPYmplY3QoKS0+c2Nyb2xsVG9NYWtlVmlzaWJsZSgpOwogCiAgICAgaWYgKGF1
dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXItPnNjcm9s
bFJlY3RUb1Zpc2libGUoYm91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6OlllcyB9KTsKKyAgICAgICAgcmVuZGVyZXItPnNjcm9sbFJlY3RUb1Zpc2libGUo
Ym91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCBvcHRpb25zKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGNvbnN0IEludFJlY3Qm
IHN1YmZvY3VzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBkNGY3NTZhNzJhMS4uODFhMDJkNWFjYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CkBAIC04MSw2ICs4MSw3IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFNjcm9sbGFibGVB
cmVhOwogY2xhc3MgU2Nyb2xsVmlldzsKIGNsYXNzIFdpZGdldDsKK3N0cnVjdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9uczsKIAogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7
CiAgICAgQWx0ZXJuYXRpdmUsCkBAIC04ODIsNiArODgzLDcgQEAgcHVibGljOgogICAgIEludFBv
aW50IHNjcm9sbFBvc2l0aW9uKCkgY29uc3Q7CiAgICAgSW50U2l6ZSBzY3JvbGxDb250ZW50c1Np
emUoKSBjb25zdDsgICAgCiAgICAgSW50UmVjdCBzY3JvbGxWaXNpYmxlQ29udGVudFJlY3QoKSBj
b25zdDsKKyAgICB2b2lkIHNjcm9sbFRvTWFrZVZpc2libGUoY29uc3QgU2Nyb2xsUmVjdFRvVmlz
aWJsZU9wdGlvbnMmKSBjb25zdDsKICAgICAKICAgICBib29sIGxhc3RLbm93bklzSWdub3JlZFZh
bHVlKCk7CiAgICAgdm9pZCBzZXRMYXN0S25vd25Jc0lnbm9yZWRWYWx1ZShib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAKaW5kZXggNWUyNWU0OThmN2Yu
LjFkZTZlNDBhZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50
LmNwcApAQCAtMzYsNzcgKzM2LDEzNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3Qu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQorc3RhdGljIEludFBvaW50IGF0a1RvQ29udGVudHMoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYgY29yZU9iamVjdCwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSwgZ2ludCB4LCBnaW50IHkpCiB7
Ci0gICAgaWYgKCFXRUJLSVRfSVNfQUNDRVNTSUJMRShjb21wb25lbnQpKQotICAgICAgICByZXR1
cm4gMDsKLQotICAgIHJldHVybiAmd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmpl
Y3QoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSk7Ci19Ci0KLXN0YXRpYyBJbnRQb2ludCBh
dGtUb0NvbnRlbnRzKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QsIEF0a0Nvb3JkVHlw
ZSBjb29yZFR5cGUsIGdpbnQgeCwgZ2ludCB5KQotewotICAgIEludFBvaW50IHBvcyh4LCB5KTsK
LQotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gY29yZU9iamVjdC0+ZG9jdW1lbnRGcmFtZVZp
ZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3KSB7Ci0gICAgICAgIHN3aXRjaCAoY29vcmRUeXBlKSB7
Ci0gICAgICAgIGNhc2UgQVRLX1hZX1NDUkVFTjoKLSAgICAgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPnNjcmVlblRvQ29udGVudHMocG9zKTsKLSAgICAgICAgY2FzZSBBVEtfWFlfV0lORE9XOgot
ICAgICAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyhwb3MpOworICAg
IGF1dG8qIGZyYW1lVmlldyA9IGNvcmVPYmplY3QuZG9jdW1lbnRGcmFtZVZpZXcoKTsKKyAgICBp
ZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuIHsgeCwgeSB9OworCisgICAgc3dpdGNoIChj
b29yZFR5cGUpIHsKKyAgICBjYXNlIEFUS19YWV9TQ1JFRU46CisgICAgICAgIHJldHVybiBmcmFt
ZVZpZXctPnNjcmVlblRvQ29udGVudHMoeyB4LCB5IH0pOworICAgIGNhc2UgQVRLX1hZX1dJTkRP
VzoKKyAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyh7IHgsIHkgfSk7
CiAjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCi0gICAgICAgIGNhc2UgQVRLX1hZX1BB
UkVOVDoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2Fz
ZSBBVEtfWFlfUEFSRU5UOgorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
I2VuZGlmCi0gICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcG9zOworICAgIHJldHVybiB7
IHgsIHkgfTsKIH0KIAogc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVu
dFJlZkFjY2Vzc2libGVBdFBvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBnaW50IHgsIGdp
bnQgeSwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSkKIHsKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCksIDApOwotICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCAwKTsKKyAg
ICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICBy
ZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgbnVsbHB0cik7
CiAKLSAgICBJbnRQb2ludCBwb3MgPSBhdGtUb0NvbnRlbnRzKGNvcmUoY29tcG9uZW50KSwgY29v
cmRUeXBlLCB4LCB5KTsKLQotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmUoY29tcG9uZW50KS0+YWNjZXNzaWJpbGl0eUhp
dFRlc3QocG9zKSk7CisgICAgYXV0byYgY29yZU9iamVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRB
Y2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUpOworICAgIGF1dG8qIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmVPYmplY3QuYWNjZXNzaWJpbGl0eUhpdFRlc3Qo
YXRrVG9Db250ZW50cyhjb3JlT2JqZWN0LCBjb29yZFR5cGUsIHgsIHkpKSk7CiAgICAgaWYgKCF0
YXJnZXQpCi0gICAgICAgIHJldHVybiAwOwotICAgIGdfb2JqZWN0X3JlZih0YXJnZXQtPndyYXBw
ZXIoKSk7Ci0gICAgcmV0dXJuIEFUS19PQkpFQ1QodGFyZ2V0LT53cmFwcGVyKCkpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChhdXRvKiB3cmFwcGVyID0gdGFyZ2V0LT53cmFw
cGVyKCkpCisgICAgICAgIHJldHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3JlZih3cmFwcGVyKSk7
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0QWNjZXNzaWJs
ZUNvbXBvbmVudEdldEV4dGVudHMoQXRrQ29tcG9uZW50KiBjb21wb25lbnQsIGdpbnQqIHgsIGdp
bnQqIHksIGdpbnQqIHdpZHRoLCBnaW50KiBoZWlnaHQsIEF0a0Nvb3JkVHlwZSBjb29yZFR5cGUp
CiB7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCkpOwot
ICAgIHJldHVybklmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShj
b21wb25lbnQpKTsKKyAgICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29t
cG9uZW50KTsKKyAgICByZXR1cm5JZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJs
ZSk7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBzbmFwcGVkSW50UmVjdChjb3JlKGNvbXBvbmVudCkt
PmVsZW1lbnRSZWN0KCkpOwotICAgIGNvbnRlbnRzUmVsYXRpdmVUb0F0a0Nvb3JkaW5hdGVUeXBl
KGNvcmUoY29tcG9uZW50KSwgY29vcmRUeXBlLCByZWN0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlP
YmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29udGVudHNSZWxhdGl2ZVRvQXRrQ29vcmRpbmF0ZVR5
cGUoJmNvcmVPYmplY3QsIGNvb3JkVHlwZSwgc25hcHBlZEludFJlY3QoY29yZU9iamVjdC5lbGVt
ZW50UmVjdCgpKSwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3
ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R3JhYkZvY3VzKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19JU19DT01QT05FTlQoY29tcG9uZW50
KSwgRkFMU0UpOwotICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJL
SVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCBGQUxTRSk7CisgICAgYXV0byogYWNjZXNzaWJsZSA9
IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nl
c3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2libGUsIEZBTFNFKTsKKworICAgIGF1dG8mIGNvcmVPYmpl
Y3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsK
KyAgICBjb3JlT2JqZWN0LnNldEZvY3VzZWQodHJ1ZSk7CisgICAgcmV0dXJuIGNvcmVPYmplY3Qu
aXNGb2N1c2VkKCk7Cit9CisKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKK3N0YXRp
YyBnYm9vbGVhbiB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG8oQXRrQ29tcG9uZW50
KiBjb21wb25lbnQsIEF0a1Njcm9sbFR5cGUgc2Nyb2xsVHlwZSkKK3sKKyAgICBhdXRvKiBhY2Nl
c3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldl
YktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgU2Nyb2xs
QWxpZ25tZW50IGFsaWduWDsKKyAgICBTY3JvbGxBbGlnbm1lbnQgYWxpZ25ZOworCisgICAgc3dp
dGNoIChzY3JvbGxUeXBlKSB7CisgICAgY2FzZSBBVEtfU0NST0xMX1RPUF9MRUZUOgorICAgICAg
ICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduTGVmdEFsd2F5czsKKyAgICAgICAgYWxp
Z25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5czsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9SSUdIVDoKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xs
QWxpZ25tZW50OjphbGlnblJpZ2h0QWx3YXlzOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduQm90dG9tQWx3YXlzOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFUS19T
Q1JPTExfVE9QX0VER0U6CisgICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9FREdFOgorICAgICAg
ICAvLyBBbGlnbiB0byBhIHBhcnRpY3VsYXIgZWRnZSBpcyBub3Qgc3VwcG9ydGVkLCBpdCdzIGFs
d2F5cyB0aGUgY2xvc2VzdCBlZGdlLgorICAgICAgICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6
OmFsaWduQ2VudGVySWZOZWVkZWQ7CisgICAgICAgIGFsaWduWSA9IFNjcm9sbEFsaWdubWVudDo6
YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVEtfU0NST0xM
X0xFRlRfRURHRToKKyAgICBjYXNlIEFUS19TQ1JPTExfUklHSFRfRURHRToKKyAgICAgICAgLy8g
QWxpZ24gdG8gYSBwYXJ0aWN1bGFyIGVkZ2UgaXMgbm90IHN1cHBvcnRlZCwgaXQncyBhbHdheXMg
dGhlIGNsb3Nlc3QgZWRnZS4KKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGln
blRvRWRnZUlmTmVlZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
Q2VudGVySWZOZWVkZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9BTllX
SEVSRToKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVl
ZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVk
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGF1dG8mIGNvcmVPYmplY3QgPSB3ZWJr
aXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsKKyAgICBjb3Jl
T2JqZWN0LnNjcm9sbFRvTWFrZVZpc2libGUoeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWws
IGFsaWduWCwgYWxpZ25ZLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7
CisKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUb1BvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBBdGtDb29y
ZFR5cGUgY29vcmRUeXBlLCBnaW50IHgsIGdpbnQgeSkKK3sKKyAgICBhdXRvKiBhY2Nlc3NpYmxl
ID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldlYktpdEFj
Y2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgYXV0byYgY29yZU9i
amVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUp
OwogCi0gICAgY29yZShjb21wb25lbnQpLT5zZXRGb2N1c2VkKHRydWUpOwotICAgIHJldHVybiBj
b3JlKGNvbXBvbmVudCktPmlzRm9jdXNlZCgpOworICAgIEludFBvaW50IHBvaW50KHgsIHkpOwor
ICAgIGlmIChjb29yZFR5cGUgPT0gQVRLX1hZX1NDUkVFTikgeworICAgICAgICBpZiAoYXV0byog
ZnJhbWVWaWV3ID0gY29yZU9iamVjdC5kb2N1bWVudEZyYW1lVmlldygpKQorICAgICAgICAgICAg
cG9pbnQgPSBmcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3coZnJhbWVWaWV3LT5zY3JlZW5Ub0Nv
bnRlbnRzKHBvaW50KSk7CisgICAgfQorCisgICAgY29yZU9iamVjdC5zY3JvbGxUb0dsb2JhbFBv
aW50KHBvaW50KTsKKworICAgIHJldHVybiBUUlVFOwogfQorI2VuZGlmCiAKIHZvaWQgd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRrQ29tcG9uZW50SWZhY2UqIGlmYWNl
KQogewogICAgIGlmYWNlLT5yZWZfYWNjZXNzaWJsZV9hdF9wb2ludCA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRSZWZBY2Nlc3NpYmxlQXRQb2ludDsKICAgICBpZmFjZS0+Z2V0X2V4dGVudHMg
PSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R2V0RXh0ZW50czsKICAgICBpZmFjZS0+Z3JhYl9m
b2N1cyA9IHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXM7CisjaWYgQVRLX0NIRUNL
X1ZFUlNJT04oMiwgMzAsIDApCisgICAgaWZhY2UtPnNjcm9sbF90byA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUbzsKKyAgICBpZmFjZS0+c2Nyb2xsX3RvX3BvaW50ID0gd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudFNjcm9sbFRvUG9pbnQ7CisjZW5kaWYKIH0KIAotI2VuZGlmCisj
ZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdjN2RmNzk5OGEwLi5iY2IwMWY4N2E4YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE5LTA0LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQVRLXSBJbXBsZW1lbnQgQXRrQ29tcG9uZW50SWZhY2Ugc2Nyb2xsX3Rv
IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Njg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvTWFrZVZpc2libGUpOiBDYWxsIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvKCkuCisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQpOiBDYWxs
IGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3BvaW50KCkuCisgICAgICAgICogZ3RrL2poYnVpbGQu
bW9kdWxlczogQnVtcCBhdGssIGF0LXNwaTItY29yZSBhbmQgYXQtc3BpMi1hdGsgdG8gdGhlaXIg
bGF0ZXN0IHN0YWJsZSB2ZXJzaW9uLgorCiAyMDE5LTA0LTExICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdSRVNTSU9OKHIyNDM4
NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggMDNmNWQ2Y2Q4MDUuLmZjODc0OTBlYWQ2IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtMjMyOSwxNCArMjMyOSwyNCBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVmlzaWJsZVRleHRSYW5n
ZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcgogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvTWFrZVZpc2libGUoKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBB
VEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9l
bGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3Jv
bGxfdG8oQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfU0NST0xMX0FOWVdIRVJF
KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvR2xvYmFsUG9pbnQoaW50IHgsIGludCB5KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05F
TlQobV9lbGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVu
dF9zY3JvbGxfdG9fcG9pbnQoQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfWFlf
V0lORE9XLCB4LCB5KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQg
d2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0
IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMK
aW5kZXggMWVjZWJjMzFmMjMuLjVjZDZmNmFmZDI3IDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhi
dWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTI4MSwzOCAr
MjgxLDMzIEBACiAgICAgICAgICAgICBoYXNoPSJzaGEyNTY6Y2NmNzlmZjNiZDM0MDI1NDczN2Nl
NGQyOGI4N2YwY2NlZTRiMzM1OGNkM2NkNWNkMTFkYzdiNDJmNDFiMjcyYSIvPgogICA8L2F1dG90
b29scz4KIAotICA8YXV0b3Rvb2xzIGlkPSJhdGsiCi0gICAgICAgICAgICAgYXV0b2dlbi1zaD0i
Y29uZmlndXJlIgotICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVj
dGlvbiI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjI1L2F0
ay0yLjI1LjIudGFyLnh6IiB2ZXJzaW9uPSIyLjI1LjIiCisgIDxtZXNvbiBpZD0iYXRrIiBtZXNv
bmFyZ3M9Ii1EaW50cm9zcGVjdGlvbj1mYWxzZSI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9H
Tk9NRS9zb3VyY2VzL2F0ay8yLjMyL2F0ay0yLjMyLjAudGFyLnh6IiB2ZXJzaW9uPSIyLjMyLjAi
CiAgICAgICAgICAgICByZXBvPSJmdHAuZ25vbWUub3JnIgotICAgICAgICAgICAgaGFzaD0ic2hh
MjU2Ojc1YWMxZjYzZTg0NWY4OTVkZWM4ZDcyZDQ2NDVlZjVmMzYyZTMyYzkyMWNjNzg5ODdmMmYx
OWMyY2UyMTJhMjQiLz4KLSAgPC9hdXRvdG9vbHM+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6
Y2I0MWZlZGE3ZmU0ZWYwZGFhMDI0NDcxNDM4ZWEwMjE5NTkyYmFmN2MyOTEzNDdlNWE4NThiYjY0
ZTQwOTFjYyIvPgorICA8L21lc29uPgogCi0gIDxhdXRvdG9vbHMgaWQ9ImF0LXNwaTItY29yZSIK
LSAgICAgICAgICAgICBhdXRvZ2VuLXNoPSJjb25maWd1cmUiCi0gICAgICAgICAgICAgYXV0b2dl
bmFyZ3M9Ii0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0icHVi
L0dOT01FL3NvdXJjZXMvYXQtc3BpMi1jb3JlLzIuMjUvYXQtc3BpMi1jb3JlLTIuMjUuNC50YXIu
eHoiIHZlcnNpb249IjIuMjUuNCIKKyAgPG1lc29uIGlkPSJhdC1zcGkyLWNvcmUiIG1lc29uYXJn
cz0iLURpbnRyb3NwZWN0aW9uPWZhbHNlIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01F
L3NvdXJjZXMvYXQtc3BpMi1jb3JlLzIuMzIvYXQtc3BpMi1jb3JlLTIuMzIuMS50YXIueHoiIHZl
cnNpb249IjIuMzIuMSIKICAgICAgICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAg
ICAgICBoYXNoPSJzaGEyNTY6YmFlY2NiZjkyZTg0ZTY0YmI0YTg1M2YwNzZjMjdiNzhhYjQ0ZWRm
MWZhNTQxNGE5YzZlNTlhOWIxODBiYzlkOCI+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6M2My
YWE5MzdlYmZhY2EyYzg2NTY5YmNlOWIxNmEzNGZiZTIwZDY5ZWYwYzU4ODQ2MzEzYjFjNDJmNTNi
MGQ1MyI+CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFj
a2FnZT0iZ2xpYiIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICA8L2F1dG90b29scz4KKyAgPC9t
ZXNvbj4KIAotICA8YXV0b3Rvb2xzIGlkPSJhdC1zcGkyLWF0ayIKLSAgICAgICAgICAgICBhdXRv
Z2VuLXNoPSJjb25maWd1cmUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNl
cy9hdC1zcGkyLWF0ay8yLjI1L2F0LXNwaTItYXRrLTIuMjUuMy50YXIueHoiIHZlcnNpb249IjIu
MjUuMyIKKyAgPG1lc29uIGlkPSJhdC1zcGkyLWF0ayI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1
Yi9HTk9NRS9zb3VyY2VzL2F0LXNwaTItYXRrLzIuMzIvYXQtc3BpMi1hdGstMi4zMi4wLnRhci54
eiIgdmVyc2lvbj0iMi4zMi4wIgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAg
ICAgICAgICAgIGhhc2g9InNoYTI1NjpiN2FhYjFhNGVlNzE4MjA4M2ZjZmFmYjU5NWI3YjNmZTRk
ZjM0YWEyMjMwYzc3NTA1MGZlNjAxNWIwMWY4NGUxIj4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1
NjowYjUxZTZkMzM5ZmEyYmNjYTNhM2UzMTU5Y2NlYTU3NGM2N2IxMDdmMWFjOGIwMDA0N2ZhNjBl
MzRjZTdhNDVjIj4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRl
cCBwYWNrYWdlPSJnbGliIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImF0ayIvPgogICAgICAgPGRl
cCBwYWNrYWdlPSJhdC1zcGkyLWNvcmUiLz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgPC9hdXRv
dG9vbHM+CisgIDwvbWVzb24+CiAKICAgPGF1dG90b29scyBpZD0ibGlieG1sMiIgc3VwcG9ydHMt
bm9uLXNyY2Rpci1idWlsZHM9Im5vIgogICAgICAgICAgICAgIGF1dG9nZW4tc2g9Ii4vYXV0b2dl
bi5zaDsgLi9jb25maWd1cmUgLS13aXRoLXB5dGhvbj1ubyI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367320</attachid>
            <date>2019-04-12 06:23:07 -0700</date>
            <delta_ts>2019-04-22 01:00:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-atk-scroll-to.diff</filename>
            <type>text/plain</type>
            <size>18328</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5MDMzYmZlNTA0MS4uMzUzOWVkOTJiYjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNC0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0FUS10gSW1wbGVtZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmUgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nIG5vdy4KKworICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA0LTExICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdS
RVNTSU9OKHIyNDM4NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTE5NzVhOTJiNjEuLmU5ZjZlNmZmMmUxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE3LDggKzgxNyw2
IEBAIHdlYmtpdC5vcmcvYi8xMzEzNDcgc3ZnL3RleHQvaGlkcGktdGV4dC1zZWxlY3Rpb24tcmVj
dC1wb3NpdGlvbi5odG1sIFsgSW1hZ2VPbmx5CiAjIE5vIHN1cHBvcnQgZm9yIEZpbHRlcnMgTGV2
ZWwgMiBvbiBHVEsgeWV0CiB3ZWJraXQub3JnL2IvMTY5OTg4IGNzczMvZmlsdGVycy9iYWNrZHJv
cCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMTQxMDcyIGFjY2Vzc2liaWxpdHkvZnJhbWUtZGlz
Y29ubmVjdC10ZXh0bWFya2VyLWNhY2hlLWNyYXNoLmh0bWwgWyBGYWlsdXJlIF0KLQogd2Via2l0
Lm9yZy9iLzE0MTQyMyBmYXN0L2Nzcy9mb250LXNob3J0aGFuZC1mcm9tLWxvbmdoYW5kcy5odG1s
IFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQxNDIzIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5k
LWxpbmUtaGVpZ2h0Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDE0MjMgZmFzdC9j
c3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1mb250Lmh0bWwgWyBGYWlsdXJlIF0K
QEAgLTkwNyw2ICs5MDUsNyBAQCB3ZWJraXQub3JnL2IvMTQ2NzMxIGZhc3QvYmFja2dyb3VuZHMv
aGlkcGktYmFja2dyb3VuZC1pbWFnZS1jb250YWluLWNvdmVyLXNjYWxlLQogCiAjIFRleHQgbWFy
a2VyIHRlc3RzIGFyZSBub3Qgc3VwcG9ydGVkCiB3ZWJraXQub3JnL2IvMTUzMjkyIGFjY2Vzc2li
aWxpdHkvdGV4dC1tYXJrZXIgWyBTa2lwIF0KK3dlYmtpdC5vcmcvYi8xNDEwNzIgYWNjZXNzaWJp
bGl0eS9mcmFtZS1kaXNjb25uZWN0LXRleHRtYXJrZXItY2FjaGUtY3Jhc2guaHRtbCBbIFNraXAg
XQogCiAjIFdlYktpdEdUSysgZG9lc24ndCBoYXZlIGtpbGxyaW5nIHN1cHBvcnQuCiB3ZWJraXQu
b3JnL2IvMTUyMzc5IGVkaXRpbmcvcGFzdGVib2FyZC9lbWFjcy1raWxscmluZy1hbHRlcm5hdGlu
Zy1hcHBlbmQtcHJlcGVuZC5odG1sIFsgRmFpbHVyZSBdCkBAIC0zMTEzLDE0ICszMTEyLDYgQEAg
d2Via2l0Lm9yZy9iLzE0NTQzMiBtZWRpYS92aWRlby10cmFuc2Zvcm1lZC1ieS1qYXZhc2NyaXB0
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjQtaHNsLWJhc2ljLWEueGh0IFsgSW1hZ2VP
bmx5RmFpbHVyZSBQYXNzIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzIgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3Q0MjUtaHNsYS1jbGlwLW91dHNpZGUtZGV2aWNl
LWdhbXV0LWIueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS1uZXN0ZWQuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1n
bG9iYWwtcG9pbnQtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUg
YWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2luZG93Lmh0bWwgWyBG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xv
YmFsLXBvaW50LW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1kaXYtb3ZlcmZsb3cuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtl
LXZpc2libGUtaWZyYW1lLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwgWyBGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8xNDg5MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNp
YmxlLW5lc3RlZC5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2li
aWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS13aXRoLXN1YmZvY3VzLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE0OTEyOCBmYXN0L3RleHQvY29udHJvbC1jaGFyYWN0ZXJzIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkYTNkZDFmMjMuLmY5ZDdhNTU5YWI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMDQtMTIgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtBVEtdIEltcGxlbWVudCBB
dGtDb21wb25lbnRJZmFjZSBzY3JvbGxfdG8gbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2ODU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHNjcm9sbF90byBhbmQgc2Nyb2xs
X3RvX3BvaW50IHdoZW4gQVRLID49IDIuMzAuCisKKyAgICAgICAgRml4ZXM6IGFjY2Vzc2liaWxp
dHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUtbmVzdGVkLmh0bWwKKyAgICAgICAgICAg
ICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1wb2ludC1pZnJhbWUuaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LW1haW4td2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLWdsb2JhbC1w
b2ludC1uZXN0ZWQuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8t
bWFrZS12aXNpYmxlLWRpdi1vdmVyZmxvdy5odG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmls
aXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtaWZyYW1lLmh0bWwKKyAgICAgICAgICAgICAgIGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0ZWQtMi5odG1sCisgICAgICAg
ICAgICAgICBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtbmVzdGVkLmh0bWwK
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlIGNv
bnN0KTogQWRkIG5ldyBtZXRob2QgcmVjZWl2aW5nIHRoZQorICAgICAgICBTY3JvbGxSZWN0VG9W
aXNpYmxlT3B0aW9ucyBzaW5jZSBBVEsgaW50ZXJmYWNlIGhhcyBhIHBhcmFtZXRlciB0byBkZWNp
ZGUgaG93IHRvIHNjcm9sbC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlQ29tcG9uZW50LmNwcDoKKyAgICAgICAgKGF0a1RvQ29udGVudHMpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudFJlZkFjY2Vzc2libGVBdFBvaW50KToKKyAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHZXRFeHRlbnRzKToKKyAgICAgICAgKHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXMpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNv
bXBvbmVudFNjcm9sbFRvKToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRTY3Jv
bGxUb1BvaW50KToKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJ
bml0KToKKyAgICAgICAgKGNvcmUpOiBEZWxldGVkLgorCiAyMDE5LTA0LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIGRvaW5nIHBvc2l0
aW9uZWQgc2Nyb2xsaW5nIHRyZWUgbm9kZSB3b3JrIGZvciBsYXllcnMgbm90IGluc2lkZSBvdmVy
ZmxvdzpzY3JvbGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDk0Y2NhMDRmNTZkLi40ZmQxMzU3ZjA4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCkBAIC0zMDYxLDE1ICszMDYxLDIwIEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNP
bnNjcmVlbigpIGNvbnN0CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9N
YWtlVmlzaWJsZSgpIGNvbnN0Cit7CisgICAgc2Nyb2xsVG9NYWtlVmlzaWJsZSh7IFNlbGVjdGlv
blJldmVhbE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVk
LCBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NP
cmlnaW5TY3JvbGxpbmc6OlllcyB9KTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpz
Y3JvbGxUb01ha2VWaXNpYmxlKGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJiBvcHRp
b25zKSBjb25zdAogewogICAgIGlmIChkaXNwYXRjaEFjY2Vzc2liaWxpdHlFdmVudFdpdGhUeXBl
KEFjY2Vzc2liaWxpdHlFdmVudFR5cGU6OlNjcm9sbEludG9WaWV3KSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgaWYgKGlzU2Nyb2xsVmlldygpICYmIHBhcmVudE9iamVjdCgpKQogICAg
ICAgICBwYXJlbnRPYmplY3QoKS0+c2Nyb2xsVG9NYWtlVmlzaWJsZSgpOwogCiAgICAgaWYgKGF1
dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcmVuZGVyZXItPnNjcm9s
bFJlY3RUb1Zpc2libGUoYm91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCB7IFNlbGVjdGlvblJldmVh
bE1vZGU6OlJldmVhbCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkLCBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQsIFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5T
Y3JvbGxpbmc6OlllcyB9KTsKKyAgICAgICAgcmVuZGVyZXItPnNjcm9sbFJlY3RUb1Zpc2libGUo
Ym91bmRpbmdCb3hSZWN0KCksIGZhbHNlLCBvcHRpb25zKTsKIH0KIAogdm9pZCBBY2Nlc3NpYmls
aXR5T2JqZWN0OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGNvbnN0IEludFJlY3Qm
IHN1YmZvY3VzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBkNGY3NTZhNzJhMS4uODFhMDJkNWFjYWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
CkBAIC04MSw2ICs4MSw3IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFNjcm9sbGFibGVB
cmVhOwogY2xhc3MgU2Nyb2xsVmlldzsKIGNsYXNzIFdpZGdldDsKK3N0cnVjdCBTY3JvbGxSZWN0
VG9WaXNpYmxlT3B0aW9uczsKIAogZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5VGV4dFNvdXJjZSB7
CiAgICAgQWx0ZXJuYXRpdmUsCkBAIC04ODIsNiArODgzLDcgQEAgcHVibGljOgogICAgIEludFBv
aW50IHNjcm9sbFBvc2l0aW9uKCkgY29uc3Q7CiAgICAgSW50U2l6ZSBzY3JvbGxDb250ZW50c1Np
emUoKSBjb25zdDsgICAgCiAgICAgSW50UmVjdCBzY3JvbGxWaXNpYmxlQ29udGVudFJlY3QoKSBj
b25zdDsKKyAgICB2b2lkIHNjcm9sbFRvTWFrZVZpc2libGUoY29uc3QgU2Nyb2xsUmVjdFRvVmlz
aWJsZU9wdGlvbnMmKSBjb25zdDsKICAgICAKICAgICBib29sIGxhc3RLbm93bklzSWdub3JlZFZh
bHVlKCk7CiAgICAgdm9pZCBzZXRMYXN0S25vd25Jc0lnbm9yZWRWYWx1ZShib29sKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAKaW5kZXggNWUyNWU0OThmN2Yu
LjFkZTZlNDBhZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50
LmNwcApAQCAtMzYsNzcgKzM2LDEzNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3Qu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0QWNjZXNzaWJsZVV0aWwuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
LXN0YXRpYyBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBjb3JlKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQorc3RhdGljIEludFBvaW50IGF0a1RvQ29udGVudHMoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVj
dCYgY29yZU9iamVjdCwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSwgZ2ludCB4LCBnaW50IHkpCiB7
Ci0gICAgaWYgKCFXRUJLSVRfSVNfQUNDRVNTSUJMRShjb21wb25lbnQpKQotICAgICAgICByZXR1
cm4gMDsKLQotICAgIHJldHVybiAmd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlPYmpl
Y3QoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSk7Ci19Ci0KLXN0YXRpYyBJbnRQb2ludCBh
dGtUb0NvbnRlbnRzKEFjY2Vzc2liaWxpdHlPYmplY3QqIGNvcmVPYmplY3QsIEF0a0Nvb3JkVHlw
ZSBjb29yZFR5cGUsIGdpbnQgeCwgZ2ludCB5KQotewotICAgIEludFBvaW50IHBvcyh4LCB5KTsK
LQotICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gY29yZU9iamVjdC0+ZG9jdW1lbnRGcmFtZVZp
ZXcoKTsKLSAgICBpZiAoZnJhbWVWaWV3KSB7Ci0gICAgICAgIHN3aXRjaCAoY29vcmRUeXBlKSB7
Ci0gICAgICAgIGNhc2UgQVRLX1hZX1NDUkVFTjoKLSAgICAgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPnNjcmVlblRvQ29udGVudHMocG9zKTsKLSAgICAgICAgY2FzZSBBVEtfWFlfV0lORE9XOgot
ICAgICAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyhwb3MpOworICAg
IGF1dG8qIGZyYW1lVmlldyA9IGNvcmVPYmplY3QuZG9jdW1lbnRGcmFtZVZpZXcoKTsKKyAgICBp
ZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuIHsgeCwgeSB9OworCisgICAgc3dpdGNoIChj
b29yZFR5cGUpIHsKKyAgICBjYXNlIEFUS19YWV9TQ1JFRU46CisgICAgICAgIHJldHVybiBmcmFt
ZVZpZXctPnNjcmVlblRvQ29udGVudHMoeyB4LCB5IH0pOworICAgIGNhc2UgQVRLX1hZX1dJTkRP
VzoKKyAgICAgICAgcmV0dXJuIGZyYW1lVmlldy0+d2luZG93VG9Db250ZW50cyh7IHgsIHkgfSk7
CiAjaWYgQVRLX0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCi0gICAgICAgIGNhc2UgQVRLX1hZX1BB
UkVOVDoKLSAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2Fz
ZSBBVEtfWFlfUEFSRU5UOgorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
I2VuZGlmCi0gICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcG9zOworICAgIHJldHVybiB7
IHgsIHkgfTsKIH0KIAogc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVu
dFJlZkFjY2Vzc2libGVBdFBvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBnaW50IHgsIGdp
bnQgeSwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSkKIHsKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCksIDApOwotICAgIHJldHVyblZhbElmV2ViS2l0
QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCAwKTsKKyAg
ICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICBy
ZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgbnVsbHB0cik7
CiAKLSAgICBJbnRQb2ludCBwb3MgPSBhdGtUb0NvbnRlbnRzKGNvcmUoY29tcG9uZW50KSwgY29v
cmRUeXBlLCB4LCB5KTsKLQotICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmUoY29tcG9uZW50KS0+YWNjZXNzaWJpbGl0eUhp
dFRlc3QocG9zKSk7CisgICAgYXV0byYgY29yZU9iamVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRB
Y2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUpOworICAgIGF1dG8qIHRhcmdldCA9IGRvd25j
YXN0PEFjY2Vzc2liaWxpdHlPYmplY3Q+KGNvcmVPYmplY3QuYWNjZXNzaWJpbGl0eUhpdFRlc3Qo
YXRrVG9Db250ZW50cyhjb3JlT2JqZWN0LCBjb29yZFR5cGUsIHgsIHkpKSk7CiAgICAgaWYgKCF0
YXJnZXQpCi0gICAgICAgIHJldHVybiAwOwotICAgIGdfb2JqZWN0X3JlZih0YXJnZXQtPndyYXBw
ZXIoKSk7Ci0gICAgcmV0dXJuIEFUS19PQkpFQ1QodGFyZ2V0LT53cmFwcGVyKCkpOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKworICAgIGlmIChhdXRvKiB3cmFwcGVyID0gdGFyZ2V0LT53cmFw
cGVyKCkpCisgICAgICAgIHJldHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3JlZih3cmFwcGVyKSk7
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0QWNjZXNzaWJs
ZUNvbXBvbmVudEdldEV4dGVudHMoQXRrQ29tcG9uZW50KiBjb21wb25lbnQsIGdpbnQqIHgsIGdp
bnQqIHksIGdpbnQqIHdpZHRoLCBnaW50KiBoZWlnaHQsIEF0a0Nvb3JkVHlwZSBjb29yZFR5cGUp
CiB7Ci0gICAgZ19yZXR1cm5faWZfZmFpbChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCkpOwot
ICAgIHJldHVybklmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJLSVRfQUNDRVNTSUJMRShj
b21wb25lbnQpKTsKKyAgICBhdXRvKiBhY2Nlc3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29t
cG9uZW50KTsKKyAgICByZXR1cm5JZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJs
ZSk7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBzbmFwcGVkSW50UmVjdChjb3JlKGNvbXBvbmVudCkt
PmVsZW1lbnRSZWN0KCkpOwotICAgIGNvbnRlbnRzUmVsYXRpdmVUb0F0a0Nvb3JkaW5hdGVUeXBl
KGNvcmUoY29tcG9uZW50KSwgY29vcmRUeXBlLCByZWN0LCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsK
KyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxpdHlP
YmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29udGVudHNSZWxhdGl2ZVRvQXRrQ29vcmRpbmF0ZVR5
cGUoJmNvcmVPYmplY3QsIGNvb3JkVHlwZSwgc25hcHBlZEludFJlY3QoY29yZU9iamVjdC5lbGVt
ZW50UmVjdCgpKSwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3
ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R3JhYkZvY3VzKEF0a0NvbXBvbmVudCogY29tcG9uZW50
KQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKEFUS19JU19DT01QT05FTlQoY29tcG9uZW50
KSwgRkFMU0UpOwotICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChXRUJL
SVRfQUNDRVNTSUJMRShjb21wb25lbnQpLCBGQUxTRSk7CisgICAgYXV0byogYWNjZXNzaWJsZSA9
IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nl
c3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2libGUsIEZBTFNFKTsKKworICAgIGF1dG8mIGNvcmVPYmpl
Y3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsK
KyAgICBjb3JlT2JqZWN0LnNldEZvY3VzZWQodHJ1ZSk7CisgICAgcmV0dXJuIGNvcmVPYmplY3Qu
aXNGb2N1c2VkKCk7Cit9CisKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKK3N0YXRp
YyBnYm9vbGVhbiB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG8oQXRrQ29tcG9uZW50
KiBjb21wb25lbnQsIEF0a1Njcm9sbFR5cGUgc2Nyb2xsVHlwZSkKK3sKKyAgICBhdXRvKiBhY2Nl
c3NpYmxlID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldl
YktpdEFjY2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgU2Nyb2xs
QWxpZ25tZW50IGFsaWduWDsKKyAgICBTY3JvbGxBbGlnbm1lbnQgYWxpZ25ZOworCisgICAgc3dp
dGNoIChzY3JvbGxUeXBlKSB7CisgICAgY2FzZSBBVEtfU0NST0xMX1RPUF9MRUZUOgorICAgICAg
ICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduTGVmdEFsd2F5czsKKyAgICAgICAgYWxp
Z25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5czsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9SSUdIVDoKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xs
QWxpZ25tZW50OjphbGlnblJpZ2h0QWx3YXlzOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduQm90dG9tQWx3YXlzOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEFUS19T
Q1JPTExfVE9QX0VER0U6CisgICAgY2FzZSBBVEtfU0NST0xMX0JPVFRPTV9FREdFOgorICAgICAg
ICAvLyBBbGlnbiB0byBhIHBhcnRpY3VsYXIgZWRnZSBpcyBub3Qgc3VwcG9ydGVkLCBpdCdzIGFs
d2F5cyB0aGUgY2xvc2VzdCBlZGdlLgorICAgICAgICBhbGlnblggPSBTY3JvbGxBbGlnbm1lbnQ6
OmFsaWduQ2VudGVySWZOZWVkZWQ7CisgICAgICAgIGFsaWduWSA9IFNjcm9sbEFsaWdubWVudDo6
YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVEtfU0NST0xM
X0xFRlRfRURHRToKKyAgICBjYXNlIEFUS19TQ1JPTExfUklHSFRfRURHRToKKyAgICAgICAgLy8g
QWxpZ24gdG8gYSBwYXJ0aWN1bGFyIGVkZ2UgaXMgbm90IHN1cHBvcnRlZCwgaXQncyBhbHdheXMg
dGhlIGNsb3Nlc3QgZWRnZS4KKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGln
blRvRWRnZUlmTmVlZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
Q2VudGVySWZOZWVkZWQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9BTllX
SEVSRToKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVl
ZGVkOworICAgICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVk
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGF1dG8mIGNvcmVPYmplY3QgPSB3ZWJr
aXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsKKyAgICBjb3Jl
T2JqZWN0LnNjcm9sbFRvTWFrZVZpc2libGUoeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWws
IGFsaWduWCwgYWxpZ25ZLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7
CisKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUb1BvaW50KEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBBdGtDb29y
ZFR5cGUgY29vcmRUeXBlLCBnaW50IHgsIGdpbnQgeSkKK3sKKyAgICBhdXRvKiBhY2Nlc3NpYmxl
ID0gV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KTsKKyAgICByZXR1cm5WYWxJZldlYktpdEFj
Y2Vzc2libGVJc0ludmFsaWQoYWNjZXNzaWJsZSwgRkFMU0UpOworCisgICAgYXV0byYgY29yZU9i
amVjdCA9IHdlYmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUp
OwogCi0gICAgY29yZShjb21wb25lbnQpLT5zZXRGb2N1c2VkKHRydWUpOwotICAgIHJldHVybiBj
b3JlKGNvbXBvbmVudCktPmlzRm9jdXNlZCgpOworICAgIEludFBvaW50IHBvaW50KHgsIHkpOwor
ICAgIGlmIChjb29yZFR5cGUgPT0gQVRLX1hZX1NDUkVFTikgeworICAgICAgICBpZiAoYXV0byog
ZnJhbWVWaWV3ID0gY29yZU9iamVjdC5kb2N1bWVudEZyYW1lVmlldygpKQorICAgICAgICAgICAg
cG9pbnQgPSBmcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3coZnJhbWVWaWV3LT5zY3JlZW5Ub0Nv
bnRlbnRzKHBvaW50KSk7CisgICAgfQorCisgICAgY29yZU9iamVjdC5zY3JvbGxUb0dsb2JhbFBv
aW50KHBvaW50KTsKKworICAgIHJldHVybiBUUlVFOwogfQorI2VuZGlmCiAKIHZvaWQgd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRrQ29tcG9uZW50SWZhY2UqIGlmYWNl
KQogewogICAgIGlmYWNlLT5yZWZfYWNjZXNzaWJsZV9hdF9wb2ludCA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRSZWZBY2Nlc3NpYmxlQXRQb2ludDsKICAgICBpZmFjZS0+Z2V0X2V4dGVudHMg
PSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50R2V0RXh0ZW50czsKICAgICBpZmFjZS0+Z3JhYl9m
b2N1cyA9IHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHcmFiRm9jdXM7CisjaWYgQVRLX0NIRUNL
X1ZFUlNJT04oMiwgMzAsIDApCisgICAgaWZhY2UtPnNjcm9sbF90byA9IHdlYmtpdEFjY2Vzc2li
bGVDb21wb25lbnRTY3JvbGxUbzsKKyAgICBpZmFjZS0+c2Nyb2xsX3RvX3BvaW50ID0gd2Via2l0
QWNjZXNzaWJsZUNvbXBvbmVudFNjcm9sbFRvUG9pbnQ7CisjZW5kaWYKIH0KIAotI2VuZGlmCisj
ZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdjN2RmNzk5OGEwLi5iY2IwMWY4N2E4YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE5LTA0LTEyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KKworICAgICAgICBbQVRLXSBJbXBsZW1lbnQgQXRrQ29tcG9uZW50SWZhY2Ugc2Nyb2xsX3Rv
IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5Njg1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvTWFrZVZpc2libGUpOiBDYWxsIGF0a19jb21wb25lbnRfc2Nyb2xsX3RvKCkuCisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQpOiBDYWxs
IGF0a19jb21wb25lbnRfc2Nyb2xsX3RvX3BvaW50KCkuCisgICAgICAgICogZ3RrL2poYnVpbGQu
bW9kdWxlczogQnVtcCBhdGssIGF0LXNwaTItY29yZSBhbmQgYXQtc3BpMi1hdGsgdG8gdGhlaXIg
bGF0ZXN0IHN0YWJsZSB2ZXJzaW9uLgorCiAyMDE5LTA0LTExICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBSRUdSRVNTSU9OKHIyNDM4
NjApOiBNYW55IHRlc3RzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggMDNmNWQ2Y2Q4MDUuLmZjODc0OTBlYWQ2IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtMjMyOSwxNCArMjMyOSwyNCBA
QCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVmlzaWJsZVRleHRSYW5n
ZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcgogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvTWFrZVZpc2libGUoKQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBB
VEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9l
bGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3Jv
bGxfdG8oQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfU0NST0xMX0FOWVdIRVJF
KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvR2xvYmFsUG9pbnQoaW50IHgsIGludCB5KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQK
KyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05F
TlQobV9lbGVtZW50LmdldCgpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVu
dF9zY3JvbGxfdG9fcG9pbnQoQVRLX0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfWFlf
V0lORE9XLCB4LCB5KTsKKyNlbmRpZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQg
d2lkdGgsIGludCBoZWlnaHQpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0
IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMK
aW5kZXggMWVjZWJjMzFmMjMuLjk5MDY0NTQ3MDI1IDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhi
dWlsZC5tb2R1bGVzCisrKyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTI4MSwzOCAr
MjgxLDMzIEBACiAgICAgICAgICAgICBoYXNoPSJzaGEyNTY6Y2NmNzlmZjNiZDM0MDI1NDczN2Nl
NGQyOGI4N2YwY2NlZTRiMzM1OGNkM2NkNWNkMTFkYzdiNDJmNDFiMjcyYSIvPgogICA8L2F1dG90
b29scz4KIAotICA8YXV0b3Rvb2xzIGlkPSJhdGsiCi0gICAgICAgICAgICAgYXV0b2dlbi1zaD0i
Y29uZmlndXJlIgotICAgICAgICAgICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVj
dGlvbiI+Ci0gICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjI1L2F0
ay0yLjI1LjIudGFyLnh6IiB2ZXJzaW9uPSIyLjI1LjIiCisgIDxtZXNvbiBpZD0iYXRrIiBtZXNv
bmFyZ3M9Ii1EaW50cm9zcGVjdGlvbj1ubyI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9N
RS9zb3VyY2VzL2F0ay8yLjMyL2F0ay0yLjMyLjAudGFyLnh6IiB2ZXJzaW9uPSIyLjMyLjAiCiAg
ICAgICAgICAgICByZXBvPSJmdHAuZ25vbWUub3JnIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2
Ojc1YWMxZjYzZTg0NWY4OTVkZWM4ZDcyZDQ2NDVlZjVmMzYyZTMyYzkyMWNjNzg5ODdmMmYxOWMy
Y2UyMTJhMjQiLz4KLSAgPC9hdXRvdG9vbHM+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6Y2I0
MWZlZGE3ZmU0ZWYwZGFhMDI0NDcxNDM4ZWEwMjE5NTkyYmFmN2MyOTEzNDdlNWE4NThiYjY0ZTQw
OTFjYyIvPgorICA8L21lc29uPgogCi0gIDxhdXRvdG9vbHMgaWQ9ImF0LXNwaTItY29yZSIKLSAg
ICAgICAgICAgICBhdXRvZ2VuLXNoPSJjb25maWd1cmUiCi0gICAgICAgICAgICAgYXV0b2dlbmFy
Z3M9Ii0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dO
T01FL3NvdXJjZXMvYXQtc3BpMi1jb3JlLzIuMjUvYXQtc3BpMi1jb3JlLTIuMjUuNC50YXIueHoi
IHZlcnNpb249IjIuMjUuNCIKKyAgPG1lc29uIGlkPSJhdC1zcGkyLWNvcmUiIG1lc29uYXJncz0i
LURpbnRyb3NwZWN0aW9uPW5vIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJj
ZXMvYXQtc3BpMi1jb3JlLzIuMzIvYXQtc3BpMi1jb3JlLTIuMzIuMS50YXIueHoiIHZlcnNpb249
IjIuMzIuMSIKICAgICAgICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBo
YXNoPSJzaGEyNTY6YmFlY2NiZjkyZTg0ZTY0YmI0YTg1M2YwNzZjMjdiNzhhYjQ0ZWRmMWZhNTQx
NGE5YzZlNTlhOWIxODBiYzlkOCI+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6M2MyYWE5Mzdl
YmZhY2EyYzg2NTY5YmNlOWIxNmEzNGZiZTIwZDY5ZWYwYzU4ODQ2MzEzYjFjNDJmNTNiMGQ1MyI+
CiAgICAgPC9icmFuY2g+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0i
Z2xpYiIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgotICA8L2F1dG90b29scz4KKyAgPC9tZXNvbj4K
IAotICA8YXV0b3Rvb2xzIGlkPSJhdC1zcGkyLWF0ayIKLSAgICAgICAgICAgICBhdXRvZ2VuLXNo
PSJjb25maWd1cmUiPgotICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNlcy9hdC1z
cGkyLWF0ay8yLjI1L2F0LXNwaTItYXRrLTIuMjUuMy50YXIueHoiIHZlcnNpb249IjIuMjUuMyIK
KyAgPG1lc29uIGlkPSJhdC1zcGkyLWF0ayI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9N
RS9zb3VyY2VzL2F0LXNwaTItYXRrLzIuMzIvYXQtc3BpMi1hdGstMi4zMi4wLnRhci54eiIgdmVy
c2lvbj0iMi4zMi4wIgogICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAg
ICAgIGhhc2g9InNoYTI1NjpiN2FhYjFhNGVlNzE4MjA4M2ZjZmFmYjU5NWI3YjNmZTRkZjM0YWEy
MjMwYzc3NTA1MGZlNjAxNWIwMWY4NGUxIj4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjowYjUx
ZTZkMzM5ZmEyYmNjYTNhM2UzMTU5Y2NlYTU3NGM2N2IxMDdmMWFjOGIwMDA0N2ZhNjBlMzRjZTdh
NDVjIj4KICAgICA8L2JyYW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNr
YWdlPSJnbGliIi8+CiAgICAgICA8ZGVwIHBhY2thZ2U9ImF0ayIvPgogICAgICAgPGRlcCBwYWNr
YWdlPSJhdC1zcGkyLWNvcmUiLz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgPC9hdXRvdG9vbHM+
CisgIDwvbWVzb24+CiAKICAgPGF1dG90b29scyBpZD0ibGlieG1sMiIgc3VwcG9ydHMtbm9uLXNy
Y2Rpci1idWlsZHM9Im5vIgogICAgICAgICAgICAgIGF1dG9nZW4tc2g9Ii4vYXV0b2dlbi5zaDsg
Li9jb25maWd1cmUgLS13aXRoLXB5dGhvbj1ubyI+Cg==
</data>
<flag name="review"
          id="383672"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367927</attachid>
            <date>2019-04-22 01:00:52 -0700</date>
            <delta_ts>2019-04-22 01:46:27 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wcore-atk-scroll-to.diff</filename>
            <type>text/plain</type>
            <size>18655</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YWY5MmIxNmU2Yy4uYWYzYmUzNzY3NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0FUS10gSW1wbGVtZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICBS
ZW1vdmUgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nIG5vdy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA0LTIyICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OKHIyNDEyODkpOiBbR1RLXSBhY2Nlc3NpYmlsaXR5L3JlbW92ZWQtY29udGludWF0aW9uLWVs
ZW1lbnQtY2F1c2VzLWNyYXNoLmh0bWwgYW5kIGFjY2Vzc2liaWxpdHkvcmVtb3ZlZC1hbm9ueW1v
dXMtYmxvY2stY2hpbGQtY2F1c2VzLWNyYXNoLmh0bWwgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMmQ5M2I4YTVhNS4uYzM3ZmYwY2JiNjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC04MTcsOCAr
ODE3LDYgQEAgd2Via2l0Lm9yZy9iLzEzMTM0NyBzdmcvdGV4dC9oaWRwaS10ZXh0LXNlbGVjdGlv
bi1yZWN0LXBvc2l0aW9uLmh0bWwgWyBJbWFnZU9ubHkKICMgTm8gc3VwcG9ydCBmb3IgRmlsdGVy
cyBMZXZlbCAyIG9uIEdUSyB5ZXQKIHdlYmtpdC5vcmcvYi8xNjk5ODggY3NzMy9maWx0ZXJzL2Jh
Y2tkcm9wIFsgU2tpcCBdCiAKLXdlYmtpdC5vcmcvYi8xNDEwNzIgYWNjZXNzaWJpbGl0eS9mcmFt
ZS1kaXNjb25uZWN0LXRleHRtYXJrZXItY2FjaGUtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotCiB3
ZWJraXQub3JnL2IvMTQxNDIzIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWZyb20tbG9uZ2hhbmRz
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDE0MjMgZmFzdC9jc3MvZm9udC1zaG9y
dGhhbmQtbGluZS1oZWlnaHQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MTQyMyBm
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWZvbnQuaHRtbCBbIEZhaWx1
cmUgXQpAQCAtOTA3LDYgKzkwNSw3IEBAIHdlYmtpdC5vcmcvYi8xNDY3MzEgZmFzdC9iYWNrZ3Jv
dW5kcy9oaWRwaS1iYWNrZ3JvdW5kLWltYWdlLWNvbnRhaW4tY292ZXItc2NhbGUtCiAKICMgVGV4
dCBtYXJrZXIgdGVzdHMgYXJlIG5vdCBzdXBwb3J0ZWQKIHdlYmtpdC5vcmcvYi8xNTMyOTIgYWNj
ZXNzaWJpbGl0eS90ZXh0LW1hcmtlciBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE0MTA3MiBhY2Nl
c3NpYmlsaXR5L2ZyYW1lLWRpc2Nvbm5lY3QtdGV4dG1hcmtlci1jYWNoZS1jcmFzaC5odG1sIFsg
U2tpcCBdCiAKICMgV2ViS2l0R1RLKyBkb2Vzbid0IGhhdmUga2lsbHJpbmcgc3VwcG9ydC4KIHdl
YmtpdC5vcmcvYi8xNTIzNzkgZWRpdGluZy9wYXN0ZWJvYXJkL2VtYWNzLWtpbGxyaW5nLWFsdGVy
bmF0aW5nLWFwcGVuZC1wcmVwZW5kLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTMxMTAsMTQgKzMxMDks
NiBAQCB3ZWJraXQub3JnL2IvMTQ1NDMyIG1lZGlhL3ZpZGVvLXRyYW5zZm9ybWVkLWJ5LWphdmFz
Y3JpcHQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0ODkzMiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNC1oc2wtYmFzaWMtYS54aHQgWyBJ
bWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE0ODkzMiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNS1oc2xhLWNsaXAtb3V0c2lkZS1k
ZXZpY2UtZ2FtdXQtYi54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE0
ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQtaWZyYW1lLW5lc3RlZC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2liaWxpdHkvc2Nyb2xs
LXRvLWdsb2JhbC1wb2ludC1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0
ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQtbWFpbi13aW5kb3cuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10
by1nbG9iYWwtcG9pbnQtbmVzdGVkLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5
MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLWRpdi1vdmVyZmxvdy5odG1s
IFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRv
LW1ha2UtdmlzaWJsZS1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkz
NSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtbmVzdGVkLTIuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtl
LXZpc2libGUtbmVzdGVkLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzUgYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLXdpdGgtc3ViZm9jdXMuaHRtbCBbIEZh
aWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTQ5MTI4IGZhc3QvdGV4dC9jb250cm9sLWNoYXJhY3Rl
cnMgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWFiNjdlZjdmOC4uYzlhMTIw
YThkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0wNC0yMiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0FUS10gSW1wbGVt
ZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4NTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICBJbXBsZW1lbnQgc2Nyb2xsX3RvIGFu
ZCBzY3JvbGxfdG9fcG9pbnQgd2hlbiBBVEsgPj0gMi4zMC4KKworICAgICAgICBGaXhlczogYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS1uZXN0ZWQuaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQt
bWFpbi13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8t
Z2xvYmFsLXBvaW50LW5lc3RlZC5odG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3Nj
cm9sbC10by1tYWtlLXZpc2libGUtZGl2LW92ZXJmbG93Lmh0bWwKKyAgICAgICAgICAgICAgIGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1pZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwK
KyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0
ZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNjcm9sbFRvTWFrZVZp
c2libGUgY29uc3QpOiBBZGQgbmV3IG1ldGhvZCByZWNlaXZpbmcgdGhlCisgICAgICAgIFNjcm9s
bFJlY3RUb1Zpc2libGVPcHRpb25zIHNpbmNlIEFUSyBpbnRlcmZhY2UgaGFzIGEgcGFyYW1ldGVy
IHRvIGRlY2lkZSBob3cgdG8gc2Nyb2xsLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VDb21wb25lbnQuY3BwOgorICAgICAgICAoYXRrVG9Db250ZW50cyk6Cisg
ICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50UmVmQWNjZXNzaWJsZUF0UG9pbnQpOgor
ICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdldEV4dGVudHMpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdyYWJGb2N1cyk6CisgICAgICAgICh3ZWJraXRBY2Nl
c3NpYmxlQ29tcG9uZW50U2Nyb2xsVG8pOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBv
bmVudFNjcm9sbFRvUG9pbnQpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudElu
dGVyZmFjZUluaXQpOgorICAgICAgICAoY29yZSk6IERlbGV0ZWQuCisKIDIwMTktMDQtMjIgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjI0MTI4OSk6IFtHVEtdIGFjY2Vzc2liaWxpdHkvcmVtb3ZlZC1jb250aW51YXRpb24t
ZWxlbWVudC1jYXVzZXMtY3Jhc2guaHRtbCBhbmQgYWNjZXNzaWJpbGl0eS9yZW1vdmVkLWFub255
bW91cy1ibG9jay1jaGlsZC1jYXVzZXMtY3Jhc2guaHRtbCBjcmFzaGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBj
MDA1NTdlNTk2OS4uMjRkMDQ5NmNkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzA2MywxNSArMzA2MywyMCBA
QCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzT25zY3JlZW4oKSBjb25zdAogfQogCiB2b2lk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNjcm9sbFRvTWFrZVZpc2libGUoKSBjb25zdAoreworICAg
IHNjcm9sbFRvTWFrZVZpc2libGUoeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9s
bEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNl
bnRlcklmTmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7Cit9
CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9NYWtlVmlzaWJsZShjb25zdCBT
Y3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucykgY29uc3QKIHsKICAgICBpZiAoZGlz
cGF0Y2hBY2Nlc3NpYmlsaXR5RXZlbnRXaXRoVHlwZShBY2Nlc3NpYmlsaXR5RXZlbnRUeXBlOjpT
Y3JvbGxJbnRvVmlldykpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChpc1Njcm9s
bFZpZXcoKSAmJiBwYXJlbnRPYmplY3QoKSkKICAgICAgICAgcGFyZW50T2JqZWN0KCktPnNjcm9s
bFRvTWFrZVZpc2libGUoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHRoaXMtPnJlbmRl
cmVyKCkpCi0gICAgICAgIHJlbmRlcmVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGJvdW5kaW5nQm94
UmVjdCgpLCBmYWxzZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklm
TmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7CisgICAgICAg
IHJlbmRlcmVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGJvdW5kaW5nQm94UmVjdCgpLCBmYWxzZSwg
b3B0aW9ucyk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9NYWtlVmlz
aWJsZVdpdGhTdWJGb2N1cyhjb25zdCBJbnRSZWN0JiBzdWJmb2N1cykgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXgg
MTg1Njc2N2Q2NjguLmFlYzljOWJjMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODEsNiArODEsNyBAQCBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbFZpZXc7CiBj
bGFzcyBXaWRnZXQ7CitzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnM7CiAKIGVudW0g
Y2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0aXZlLApAQCAtODgy
LDYgKzg4Myw3IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbigpIGNvbnN0
OwogICAgIEludFNpemUgc2Nyb2xsQ29udGVudHNTaXplKCkgY29uc3Q7ICAgIAogICAgIEludFJl
Y3Qgc2Nyb2xsVmlzaWJsZUNvbnRlbnRSZWN0KCkgY29uc3Q7CisgICAgdm9pZCBzY3JvbGxUb01h
a2VWaXNpYmxlKGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJikgY29uc3Q7CiAgICAg
CiAgICAgYm9vbCBsYXN0S25vd25Jc0lnbm9yZWRWYWx1ZSgpOwogICAgIHZvaWQgc2V0TGFzdEtu
b3duSXNJZ25vcmVkVmFsdWUoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VD
b21wb25lbnQuY3BwCmluZGV4IDVlMjVlNDk4ZjdmLi4xZGU2ZTQwYWZmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUNvbXBvbmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTM2LDc3ICszNiwxMzcgQEAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3Lmgi
CiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgi
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgQWNjZXNzaWJpbGl0eU9iamVj
dCogY29yZShBdGtDb21wb25lbnQqIGNvbXBvbmVudCkKK3N0YXRpYyBJbnRQb2ludCBhdGtUb0Nv
bnRlbnRzKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIGNvcmVPYmplY3QsIEF0a0Nvb3JkVHlw
ZSBjb29yZFR5cGUsIGdpbnQgeCwgZ2ludCB5KQogewotICAgIGlmICghV0VCS0lUX0lTX0FDQ0VT
U0lCTEUoY29tcG9uZW50KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gJndlYmtp
dEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBv
bmVudCkpOwotfQotCi1zdGF0aWMgSW50UG9pbnQgYXRrVG9Db250ZW50cyhBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjb3JlT2JqZWN0LCBBdGtDb29yZFR5cGUgY29vcmRUeXBlLCBnaW50IHgsIGdpbnQg
eSkKLXsKLSAgICBJbnRQb2ludCBwb3MoeCwgeSk7Ci0KLSAgICBGcmFtZVZpZXcqIGZyYW1lVmll
dyA9IGNvcmVPYmplY3QtPmRvY3VtZW50RnJhbWVWaWV3KCk7Ci0gICAgaWYgKGZyYW1lVmlldykg
ewotICAgICAgICBzd2l0Y2ggKGNvb3JkVHlwZSkgewotICAgICAgICBjYXNlIEFUS19YWV9TQ1JF
RU46Ci0gICAgICAgICAgICByZXR1cm4gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHBvcyk7
Ci0gICAgICAgIGNhc2UgQVRLX1hZX1dJTkRPVzoKLSAgICAgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPndpbmRvd1RvQ29udGVudHMocG9zKTsKKyAgICBhdXRvKiBmcmFtZVZpZXcgPSBjb3JlT2Jq
ZWN0LmRvY3VtZW50RnJhbWVWaWV3KCk7CisgICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJl
dHVybiB7IHgsIHkgfTsKKworICAgIHN3aXRjaCAoY29vcmRUeXBlKSB7CisgICAgY2FzZSBBVEtf
WFlfU0NSRUVOOgorICAgICAgICByZXR1cm4gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHsg
eCwgeSB9KTsKKyAgICBjYXNlIEFUS19YWV9XSU5ET1c6CisgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPndpbmRvd1RvQ29udGVudHMoeyB4LCB5IH0pOwogI2lmIEFUS19DSEVDS19WRVJTSU9OKDIs
IDMwLCAwKQotICAgICAgICBjYXNlIEFUS19YWV9QQVJFTlQ6Ci0gICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgQVRLX1hZX1BBUkVOVDoKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgotICAgICAgICB9CiAgICAgfQog
Ci0gICAgcmV0dXJuIHBvczsKKyAgICByZXR1cm4geyB4LCB5IH07CiB9CiAKIHN0YXRpYyBBdGtP
YmplY3QqIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRSZWZBY2Nlc3NpYmxlQXRQb2ludChBdGtD
b21wb25lbnQqIGNvbXBvbmVudCwgZ2ludCB4LCBnaW50IHksIEF0a0Nvb3JkVHlwZSBjb29yZFR5
cGUpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoQVRLX0lTX0NPTVBPTkVOVChjb21wb25l
bnQpLCAwKTsKLSAgICByZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoV0VCS0lU
X0FDQ0VTU0lCTEUoY29tcG9uZW50KSwgMCk7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJ
VF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxl
SXNJbnZhbGlkKGFjY2Vzc2libGUsIG51bGxwdHIpOwogCi0gICAgSW50UG9pbnQgcG9zID0gYXRr
VG9Db250ZW50cyhjb3JlKGNvbXBvbmVudCksIGNvb3JkVHlwZSwgeCwgeSk7Ci0KLSAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiB0YXJnZXQgPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0Pihj
b3JlKGNvbXBvbmVudCktPmFjY2Vzc2liaWxpdHlIaXRUZXN0KHBvcykpOworICAgIGF1dG8mIGNv
cmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3Np
YmxlKTsKKyAgICBhdXRvKiB0YXJnZXQgPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0Pihj
b3JlT2JqZWN0LmFjY2Vzc2liaWxpdHlIaXRUZXN0KGF0a1RvQ29udGVudHMoY29yZU9iamVjdCwg
Y29vcmRUeXBlLCB4LCB5KSkpOwogICAgIGlmICghdGFyZ2V0KQotICAgICAgICByZXR1cm4gMDsK
LSAgICBnX29iamVjdF9yZWYodGFyZ2V0LT53cmFwcGVyKCkpOwotICAgIHJldHVybiBBVEtfT0JK
RUNUKHRhcmdldC0+d3JhcHBlcigpKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBp
ZiAoYXV0byogd3JhcHBlciA9IHRhcmdldC0+d3JhcHBlcigpKQorICAgICAgICByZXR1cm4gQVRL
X09CSkVDVChnX29iamVjdF9yZWYod3JhcHBlcikpOworCisgICAgcmV0dXJuIG51bGxwdHI7CiB9
CiAKIHN0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHZXRFeHRlbnRzKEF0a0Nv
bXBvbmVudCogY29tcG9uZW50LCBnaW50KiB4LCBnaW50KiB5LCBnaW50KiB3aWR0aCwgZ2ludCog
aGVpZ2h0LCBBdGtDb29yZFR5cGUgY29vcmRUeXBlKQogewotICAgIGdfcmV0dXJuX2lmX2ZhaWwo
QVRLX0lTX0NPTVBPTkVOVChjb21wb25lbnQpKTsKLSAgICByZXR1cm5JZldlYktpdEFjY2Vzc2li
bGVJc0ludmFsaWQoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSk7CisgICAgYXV0byogYWNj
ZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuSWZXZWJL
aXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2libGUpOwogCi0gICAgSW50UmVjdCByZWN0ID0g
c25hcHBlZEludFJlY3QoY29yZShjb21wb25lbnQpLT5lbGVtZW50UmVjdCgpKTsKLSAgICBjb250
ZW50c1JlbGF0aXZlVG9BdGtDb29yZGluYXRlVHlwZShjb3JlKGNvbXBvbmVudCksIGNvb3JkVHlw
ZSwgcmVjdCwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgYXV0byYgY29yZU9iamVjdCA9IHdl
YmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUpOworICAgIGNv
bnRlbnRzUmVsYXRpdmVUb0F0a0Nvb3JkaW5hdGVUeXBlKCZjb3JlT2JqZWN0LCBjb29yZFR5cGUs
IHNuYXBwZWRJbnRSZWN0KGNvcmVPYmplY3QuZWxlbWVudFJlY3QoKSksIHgsIHksIHdpZHRoLCBo
ZWlnaHQpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdy
YWJGb2N1cyhBdGtDb21wb25lbnQqIGNvbXBvbmVudCkKIHsKLSAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCksIEZBTFNFKTsKLSAgICByZXR1cm5WYWxJ
ZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSwg
RkFMU0UpOworICAgIGF1dG8qIGFjY2Vzc2libGUgPSBXRUJLSVRfQUNDRVNTSUJMRShjb21wb25l
bnQpOworICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChhY2Nlc3NpYmxl
LCBGQUxTRSk7CisKKyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFj
Y2Vzc2liaWxpdHlPYmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29yZU9iamVjdC5zZXRGb2N1c2Vk
KHRydWUpOworICAgIHJldHVybiBjb3JlT2JqZWN0LmlzRm9jdXNlZCgpOworfQorCisjaWYgQVRL
X0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJs
ZUNvbXBvbmVudFNjcm9sbFRvKEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBBdGtTY3JvbGxUeXBl
IHNjcm9sbFR5cGUpCit7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxF
KGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFj
Y2Vzc2libGUsIEZBTFNFKTsKKworICAgIFNjcm9sbEFsaWdubWVudCBhbGlnblg7CisgICAgU2Ny
b2xsQWxpZ25tZW50IGFsaWduWTsKKworICAgIHN3aXRjaCAoc2Nyb2xsVHlwZSkgeworICAgIGNh
c2UgQVRLX1NDUk9MTF9UT1BfTEVGVDoKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50
OjphbGlnbkxlZnRBbHdheXM7CisgICAgICAgIGFsaWduWSA9IFNjcm9sbEFsaWdubWVudDo6YWxp
Z25Ub3BBbHdheXM7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9CT1RUT01f
UklHSFQ6CisgICAgICAgIGFsaWduWCA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25SaWdodEFsd2F5
czsKKyAgICAgICAgYWxpZ25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkJvdHRvbUFsd2F5czsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVEtfU0NST0xMX1RPUF9FREdFOgorICAgIGNhc2Ug
QVRLX1NDUk9MTF9CT1RUT01fRURHRToKKyAgICAgICAgLy8gQWxpZ24gdG8gYSBwYXJ0aWN1bGFy
IGVkZ2UgaXMgbm90IHN1cHBvcnRlZCwgaXQncyBhbHdheXMgdGhlIGNsb3Nlc3QgZWRnZS4KKyAg
ICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAg
ICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9MRUZUX0VER0U6CisgICAgY2FzZSBBVEtf
U0NST0xMX1JJR0hUX0VER0U6CisgICAgICAgIC8vIEFsaWduIHRvIGEgcGFydGljdWxhciBlZGdl
IGlzIG5vdCBzdXBwb3J0ZWQsIGl0J3MgYWx3YXlzIHRoZSBjbG9zZXN0IGVkZ2UuCisgICAgICAg
IGFsaWduWCA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAg
YWxpZ25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEFUS19TQ1JPTExfQU5ZV0hFUkU6CisgICAgICAgIGFsaWduWCA9IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKKyAgICAgICAgYWxpZ25ZID0gU2Ny
b2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxp
dHlPYmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29yZU9iamVjdC5zY3JvbGxUb01ha2VWaXNpYmxl
KHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBhbGlnblgsIGFsaWduWSwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0pOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisK
K3N0YXRpYyBnYm9vbGVhbiB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG9Qb2ludChB
dGtDb21wb25lbnQqIGNvbXBvbmVudCwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSwgZ2ludCB4LCBn
aW50IHkpCit7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBv
bmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2li
bGUsIEZBTFNFKTsKKworICAgIGF1dG8mIGNvcmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0
QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsKIAotICAgIGNvcmUoY29tcG9uZW50KS0+
c2V0Rm9jdXNlZCh0cnVlKTsKLSAgICByZXR1cm4gY29yZShjb21wb25lbnQpLT5pc0ZvY3VzZWQo
KTsKKyAgICBJbnRQb2ludCBwb2ludCh4LCB5KTsKKyAgICBpZiAoY29vcmRUeXBlID09IEFUS19Y
WV9TQ1JFRU4pIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lVmlldyA9IGNvcmVPYmplY3QuZG9j
dW1lbnRGcmFtZVZpZXcoKSkKKyAgICAgICAgICAgIHBvaW50ID0gZnJhbWVWaWV3LT5jb250ZW50
c1RvV2luZG93KGZyYW1lVmlldy0+c2NyZWVuVG9Db250ZW50cyhwb2ludCkpOworICAgIH0KKwor
ICAgIGNvcmVPYmplY3Quc2Nyb2xsVG9HbG9iYWxQb2ludChwb2ludCk7CisKKyAgICByZXR1cm4g
VFJVRTsKIH0KKyNlbmRpZgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRJbnRlcmZh
Y2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKIHsKICAgICBpZmFjZS0+cmVmX2FjY2Vz
c2libGVfYXRfcG9pbnQgPSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50UmVmQWNjZXNzaWJsZUF0
UG9pbnQ7CiAgICAgaWZhY2UtPmdldF9leHRlbnRzID0gd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVu
dEdldEV4dGVudHM7CiAgICAgaWZhY2UtPmdyYWJfZm9jdXMgPSB3ZWJraXRBY2Nlc3NpYmxlQ29t
cG9uZW50R3JhYkZvY3VzOworI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsIDMwLCAwKQorICAgIGlm
YWNlLT5zY3JvbGxfdG8gPSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG87CisgICAg
aWZhY2UtPnNjcm9sbF90b19wb2ludCA9IHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRTY3JvbGxU
b1BvaW50OworI2VuZGlmCiB9CiAKLSNlbmRpZgorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElU
WSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBh
MGRlN2U5ZjJjYy4uZGE4N2Y1ZWJiMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wNC0yMiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0FUS10gSW1wbGVt
ZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4NTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlKTogQ2FsbCBh
dGtfY29tcG9uZW50X3Njcm9sbF90bygpLgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KTogQ2FsbCBhdGtfY29tcG9uZW50X3Njcm9sbF90
b19wb2ludCgpLgorICAgICAgICAqIGd0ay9qaGJ1aWxkLm1vZHVsZXM6IEJ1bXAgYXRrLCBhdC1z
cGkyLWNvcmUgYW5kIGF0LXNwaTItYXRrIHRvIHRoZWlyIGxhdGVzdCBzdGFibGUgdmVyc2lvbi4K
KwogMjAxOS0wNC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjQxMjg5KTogW0dUS10gYWNjZXNzaWJpbGl0eS9yZW1v
dmVkLWNvbnRpbnVhdGlvbi1lbGVtZW50LWNhdXNlcy1jcmFzaC5odG1sIGFuZCBhY2Nlc3NpYmls
aXR5L3JlbW92ZWQtYW5vbnltb3VzLWJsb2NrLWNoaWxkLWNhdXNlcy1jcmFzaC5odG1sIGNyYXNo
ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggZWM3
MDMxODQ0MTAuLmQ2MmE4ZTQ3NjgyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcApAQCAtMjMzMiwxNCArMjMzMiwyNCBAQCBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNldFNlbGVjdGVkVmlzaWJsZVRleHRSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlcgogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUo
KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAz
MCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9lbGVtZW50LmdldCgpKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8oQVRLX0NPTVBPTkVOVCht
X2VsZW1lbnQuZ2V0KCkpLCBBVEtfU0NST0xMX0FOWVdIRVJFKTsKKyNlbmRpZgogfQotICAgIAor
CiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQoaW50IHgs
IGludCB5KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lP
TigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9lbGVtZW50LmdldCgpKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoQVRL
X0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfWFlfV0lORE9XLCB4LCB5KTsKKyNlbmRp
ZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZp
c2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7
CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQu
bW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggMWVjZWJjMzFmMjMuLjVj
ZDZmNmFmZDI3IDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rv
b2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTI4MSwzOCArMjgxLDMzIEBACiAgICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6Y2NmNzlmZjNiZDM0MDI1NDczN2NlNGQyOGI4N2YwY2NlZTRiMzM1OGNk
M2NkNWNkMTFkYzdiNDJmNDFiMjcyYSIvPgogICA8L2F1dG90b29scz4KIAotICA8YXV0b3Rvb2xz
IGlkPSJhdGsiCi0gICAgICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgotICAgICAgICAg
ICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJyYW5jaCBt
b2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjI1L2F0ay0yLjI1LjIudGFyLnh6IiB2ZXJz
aW9uPSIyLjI1LjIiCisgIDxtZXNvbiBpZD0iYXRrIiBtZXNvbmFyZ3M9Ii1EaW50cm9zcGVjdGlv
bj1mYWxzZSI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjMy
L2F0ay0yLjMyLjAudGFyLnh6IiB2ZXJzaW9uPSIyLjMyLjAiCiAgICAgICAgICAgICByZXBvPSJm
dHAuZ25vbWUub3JnIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2Ojc1YWMxZjYzZTg0NWY4OTVk
ZWM4ZDcyZDQ2NDVlZjVmMzYyZTMyYzkyMWNjNzg5ODdmMmYxOWMyY2UyMTJhMjQiLz4KLSAgPC9h
dXRvdG9vbHM+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6Y2I0MWZlZGE3ZmU0ZWYwZGFhMDI0
NDcxNDM4ZWEwMjE5NTkyYmFmN2MyOTEzNDdlNWE4NThiYjY0ZTQwOTFjYyIvPgorICA8L21lc29u
PgogCi0gIDxhdXRvdG9vbHMgaWQ9ImF0LXNwaTItY29yZSIKLSAgICAgICAgICAgICBhdXRvZ2Vu
LXNoPSJjb25maWd1cmUiCi0gICAgICAgICAgICAgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1pbnRy
b3NwZWN0aW9uIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXQtc3Bp
Mi1jb3JlLzIuMjUvYXQtc3BpMi1jb3JlLTIuMjUuNC50YXIueHoiIHZlcnNpb249IjIuMjUuNCIK
KyAgPG1lc29uIGlkPSJhdC1zcGkyLWNvcmUiIG1lc29uYXJncz0iLURpbnRyb3NwZWN0aW9uPWZh
bHNlIj4KKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXQtc3BpMi1jb3Jl
LzIuMzIvYXQtc3BpMi1jb3JlLTIuMzIuMS50YXIueHoiIHZlcnNpb249IjIuMzIuMSIKICAgICAg
ICAgICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6YmFl
Y2NiZjkyZTg0ZTY0YmI0YTg1M2YwNzZjMjdiNzhhYjQ0ZWRmMWZhNTQxNGE5YzZlNTlhOWIxODBi
YzlkOCI+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6M2MyYWE5MzdlYmZhY2EyYzg2NTY5YmNl
OWIxNmEzNGZiZTIwZDY5ZWYwYzU4ODQ2MzEzYjFjNDJmNTNiMGQ1MyI+CiAgICAgPC9icmFuY2g+
CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ2xpYiIvPgogICAgIDwv
ZGVwZW5kZW5jaWVzPgotICA8L2F1dG90b29scz4KKyAgPC9tZXNvbj4KIAotICA8YXV0b3Rvb2xz
IGlkPSJhdC1zcGkyLWF0ayIKLSAgICAgICAgICAgICBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgot
ICAgIDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNlcy9hdC1zcGkyLWF0ay8yLjI1L2F0
LXNwaTItYXRrLTIuMjUuMy50YXIueHoiIHZlcnNpb249IjIuMjUuMyIKKyAgPG1lc29uIGlkPSJh
dC1zcGkyLWF0ayI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0LXNw
aTItYXRrLzIuMzIvYXQtc3BpMi1hdGstMi4zMi4wLnRhci54eiIgdmVyc2lvbj0iMi4zMi4wIgog
ICAgICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1
NjpiN2FhYjFhNGVlNzE4MjA4M2ZjZmFmYjU5NWI3YjNmZTRkZjM0YWEyMjMwYzc3NTA1MGZlNjAx
NWIwMWY4NGUxIj4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjowYjUxZTZkMzM5ZmEyYmNjYTNh
M2UzMTU5Y2NlYTU3NGM2N2IxMDdmMWFjOGIwMDA0N2ZhNjBlMzRjZTdhNDVjIj4KICAgICA8L2Jy
YW5jaD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbGliIi8+CiAg
ICAgICA8ZGVwIHBhY2thZ2U9ImF0ayIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJhdC1zcGkyLWNv
cmUiLz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgPC9hdXRvdG9vbHM+CisgIDwvbWVzb24+CiAK
ICAgPGF1dG90b29scyBpZD0ibGlieG1sMiIgc3VwcG9ydHMtbm9uLXNyY2Rpci1idWlsZHM9Im5v
IgogICAgICAgICAgICAgIGF1dG9nZW4tc2g9Ii4vYXV0b2dlbi5zaDsgLi9jb25maWd1cmUgLS13
aXRoLXB5dGhvbj1ubyI+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367928</attachid>
            <date>2019-04-22 01:46:27 -0700</date>
            <delta_ts>2019-04-23 03:47:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>wcore-atk-scroll-to.diff</filename>
            <type>text/plain</type>
            <size>18652</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YWY5MmIxNmU2Yy4uYWYzYmUzNzY3NjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0FUS10gSW1wbGVtZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICBS
ZW1vdmUgZXhwZWN0YXRpb25zIGZvciB0ZXN0cyB0aGF0IGFyZSBwYXNzaW5nIG5vdy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA0LTIyICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNT
SU9OKHIyNDEyODkpOiBbR1RLXSBhY2Nlc3NpYmlsaXR5L3JlbW92ZWQtY29udGludWF0aW9uLWVs
ZW1lbnQtY2F1c2VzLWNyYXNoLmh0bWwgYW5kIGFjY2Vzc2liaWxpdHkvcmVtb3ZlZC1hbm9ueW1v
dXMtYmxvY2stY2hpbGQtY2F1c2VzLWNyYXNoLmh0bWwgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjMmQ5M2I4YTVhNS4uYzM3ZmYwY2JiNjAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC04MTcsOCAr
ODE3LDYgQEAgd2Via2l0Lm9yZy9iLzEzMTM0NyBzdmcvdGV4dC9oaWRwaS10ZXh0LXNlbGVjdGlv
bi1yZWN0LXBvc2l0aW9uLmh0bWwgWyBJbWFnZU9ubHkKICMgTm8gc3VwcG9ydCBmb3IgRmlsdGVy
cyBMZXZlbCAyIG9uIEdUSyB5ZXQKIHdlYmtpdC5vcmcvYi8xNjk5ODggY3NzMy9maWx0ZXJzL2Jh
Y2tkcm9wIFsgU2tpcCBdCiAKLXdlYmtpdC5vcmcvYi8xNDEwNzIgYWNjZXNzaWJpbGl0eS9mcmFt
ZS1kaXNjb25uZWN0LXRleHRtYXJrZXItY2FjaGUtY3Jhc2guaHRtbCBbIEZhaWx1cmUgXQotCiB3
ZWJraXQub3JnL2IvMTQxNDIzIGZhc3QvY3NzL2ZvbnQtc2hvcnRoYW5kLWZyb20tbG9uZ2hhbmRz
Lmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDE0MjMgZmFzdC9jc3MvZm9udC1zaG9y
dGhhbmQtbGluZS1oZWlnaHQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0MTQyMyBm
YXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWZvbnQuaHRtbCBbIEZhaWx1
cmUgXQpAQCAtOTA3LDYgKzkwNSw3IEBAIHdlYmtpdC5vcmcvYi8xNDY3MzEgZmFzdC9iYWNrZ3Jv
dW5kcy9oaWRwaS1iYWNrZ3JvdW5kLWltYWdlLWNvbnRhaW4tY292ZXItc2NhbGUtCiAKICMgVGV4
dCBtYXJrZXIgdGVzdHMgYXJlIG5vdCBzdXBwb3J0ZWQKIHdlYmtpdC5vcmcvYi8xNTMyOTIgYWNj
ZXNzaWJpbGl0eS90ZXh0LW1hcmtlciBbIFNraXAgXQord2Via2l0Lm9yZy9iLzE0MTA3MiBhY2Nl
c3NpYmlsaXR5L2ZyYW1lLWRpc2Nvbm5lY3QtdGV4dG1hcmtlci1jYWNoZS1jcmFzaC5odG1sIFsg
U2tpcCBdCiAKICMgV2ViS2l0R1RLKyBkb2Vzbid0IGhhdmUga2lsbHJpbmcgc3VwcG9ydC4KIHdl
YmtpdC5vcmcvYi8xNTIzNzkgZWRpdGluZy9wYXN0ZWJvYXJkL2VtYWNzLWtpbGxyaW5nLWFsdGVy
bmF0aW5nLWFwcGVuZC1wcmVwZW5kLmh0bWwgWyBGYWlsdXJlIF0KQEAgLTMxMTAsMTQgKzMxMDks
NiBAQCB3ZWJraXQub3JnL2IvMTQ1NDMyIG1lZGlhL3ZpZGVvLXRyYW5zZm9ybWVkLWJ5LWphdmFz
Y3JpcHQuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE0ODkzMiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNC1oc2wtYmFzaWMtYS54aHQgWyBJ
bWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE0ODkzMiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvdDQyNS1oc2xhLWNsaXAtb3V0c2lkZS1k
ZXZpY2UtZ2FtdXQtYi54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotd2Via2l0Lm9yZy9iLzE0
ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQtaWZyYW1lLW5lc3RlZC5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2liaWxpdHkvc2Nyb2xs
LXRvLWdsb2JhbC1wb2ludC1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0
ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQtbWFpbi13aW5kb3cuaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10
by1nbG9iYWwtcG9pbnQtbmVzdGVkLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8xNDg5
MzUgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLWRpdi1vdmVyZmxvdy5odG1s
IFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTQ4OTM1IGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRv
LW1ha2UtdmlzaWJsZS1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkz
NSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtlLXZpc2libGUtbmVzdGVkLTIuaHRtbCBbIEZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzE0ODkzNSBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1tYWtl
LXZpc2libGUtbmVzdGVkLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDg5MzUgYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLXdpdGgtc3ViZm9jdXMuaHRtbCBbIEZh
aWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTQ5MTI4IGZhc3QvdGV4dC9jb250cm9sLWNoYXJhY3Rl
cnMgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiOWFiNjdlZjdmOC4uYzlhMTIw
YThkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0wNC0yMiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0FUS10gSW1wbGVt
ZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4NTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICBJbXBsZW1lbnQgc2Nyb2xsX3RvIGFu
ZCBzY3JvbGxfdG9fcG9pbnQgd2hlbiBBVEsgPj0gMi4zMC4KKworICAgICAgICBGaXhlczogYWNj
ZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS1uZXN0ZWQuaHRtbAorICAg
ICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tZ2xvYmFsLXBvaW50LWlmcmFtZS5o
dG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3Njcm9sbC10by1nbG9iYWwtcG9pbnQt
bWFpbi13aW5kb3cuaHRtbAorICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8t
Z2xvYmFsLXBvaW50LW5lc3RlZC5odG1sCisgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5L3Nj
cm9sbC10by1tYWtlLXZpc2libGUtZGl2LW92ZXJmbG93Lmh0bWwKKyAgICAgICAgICAgICAgIGFj
Y2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1pZnJhbWUuaHRtbAorICAgICAgICAg
ICAgICAgYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwK
KyAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0
ZWQuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OnNjcm9sbFRvTWFrZVZp
c2libGUgY29uc3QpOiBBZGQgbmV3IG1ldGhvZCByZWNlaXZpbmcgdGhlCisgICAgICAgIFNjcm9s
bFJlY3RUb1Zpc2libGVPcHRpb25zIHNpbmNlIEFUSyBpbnRlcmZhY2UgaGFzIGEgcGFyYW1ldGVy
IHRvIGRlY2lkZSBob3cgdG8gc2Nyb2xsLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VDb21wb25lbnQuY3BwOgorICAgICAgICAoYXRrVG9Db250ZW50cyk6Cisg
ICAgICAgICh3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50UmVmQWNjZXNzaWJsZUF0UG9pbnQpOgor
ICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdldEV4dGVudHMpOgorICAgICAgICAo
d2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdyYWJGb2N1cyk6CisgICAgICAgICh3ZWJraXRBY2Nl
c3NpYmxlQ29tcG9uZW50U2Nyb2xsVG8pOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBv
bmVudFNjcm9sbFRvUG9pbnQpOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudElu
dGVyZmFjZUluaXQpOgorICAgICAgICAoY29yZSk6IERlbGV0ZWQuCisKIDIwMTktMDQtMjIgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjI0MTI4OSk6IFtHVEtdIGFjY2Vzc2liaWxpdHkvcmVtb3ZlZC1jb250aW51YXRpb24t
ZWxlbWVudC1jYXVzZXMtY3Jhc2guaHRtbCBhbmQgYWNjZXNzaWJpbGl0eS9yZW1vdmVkLWFub255
bW91cy1ibG9jay1jaGlsZC1jYXVzZXMtY3Jhc2guaHRtbCBjcmFzaGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBj
MDA1NTdlNTk2OS4uMjRkMDQ5NmNkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMzA2MywxNSArMzA2MywyMCBA
QCBib29sIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzT25zY3JlZW4oKSBjb25zdAogfQogCiB2b2lk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNjcm9sbFRvTWFrZVZpc2libGUoKSBjb25zdAoreworICAg
IHNjcm9sbFRvTWFrZVZpc2libGUoeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9s
bEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNl
bnRlcklmTmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7Cit9
CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9NYWtlVmlzaWJsZShjb25zdCBT
Y3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYgb3B0aW9ucykgY29uc3QKIHsKICAgICBpZiAoZGlz
cGF0Y2hBY2Nlc3NpYmlsaXR5RXZlbnRXaXRoVHlwZShBY2Nlc3NpYmlsaXR5RXZlbnRUeXBlOjpT
Y3JvbGxJbnRvVmlldykpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChpc1Njcm9s
bFZpZXcoKSAmJiBwYXJlbnRPYmplY3QoKSkKICAgICAgICAgcGFyZW50T2JqZWN0KCktPnNjcm9s
bFRvTWFrZVZpc2libGUoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHRoaXMtPnJlbmRl
cmVyKCkpCi0gICAgICAgIHJlbmRlcmVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGJvdW5kaW5nQm94
UmVjdCgpLCBmYWxzZSwgeyBTZWxlY3Rpb25SZXZlYWxNb2RlOjpSZXZlYWwsIFNjcm9sbEFsaWdu
bWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZCwgU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklm
TmVlZGVkLCBTaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nOjpZZXMgfSk7CisgICAgICAg
IHJlbmRlcmVyLT5zY3JvbGxSZWN0VG9WaXNpYmxlKGJvdW5kaW5nQm94UmVjdCgpLCBmYWxzZSwg
b3B0aW9ucyk7CiB9CiAKIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2Nyb2xsVG9NYWtlVmlz
aWJsZVdpdGhTdWJGb2N1cyhjb25zdCBJbnRSZWN0JiBzdWJmb2N1cykgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXgg
MTg1Njc2N2Q2NjguLmFlYzljOWJjMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtODEsNiArODEsNyBAQCBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBTY3JvbGxhYmxlQXJlYTsKIGNsYXNzIFNjcm9sbFZpZXc7CiBj
bGFzcyBXaWRnZXQ7CitzdHJ1Y3QgU2Nyb2xsUmVjdFRvVmlzaWJsZU9wdGlvbnM7CiAKIGVudW0g
Y2xhc3MgQWNjZXNzaWJpbGl0eVRleHRTb3VyY2UgewogICAgIEFsdGVybmF0aXZlLApAQCAtODgy
LDYgKzg4Myw3IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBzY3JvbGxQb3NpdGlvbigpIGNvbnN0
OwogICAgIEludFNpemUgc2Nyb2xsQ29udGVudHNTaXplKCkgY29uc3Q7ICAgIAogICAgIEludFJl
Y3Qgc2Nyb2xsVmlzaWJsZUNvbnRlbnRSZWN0KCkgY29uc3Q7CisgICAgdm9pZCBzY3JvbGxUb01h
a2VWaXNpYmxlKGNvbnN0IFNjcm9sbFJlY3RUb1Zpc2libGVPcHRpb25zJikgY29uc3Q7CiAgICAg
CiAgICAgYm9vbCBsYXN0S25vd25Jc0lnbm9yZWRWYWx1ZSgpOwogICAgIHZvaWQgc2V0TGFzdEtu
b3duSXNJZ25vcmVkVmFsdWUoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VD
b21wb25lbnQuY3BwCmluZGV4IDVlMjVlNDk4ZjdmLi4xZGU2ZTQwYWZmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUNvbXBvbmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTM2LDc3ICszNiwxMzcgQEAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3Lmgi
CiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgi
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1zdGF0aWMgQWNjZXNzaWJpbGl0eU9iamVj
dCogY29yZShBdGtDb21wb25lbnQqIGNvbXBvbmVudCkKK3N0YXRpYyBJbnRQb2ludCBhdGtUb0Nv
bnRlbnRzKGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QmIGNvcmVPYmplY3QsIEF0a0Nvb3JkVHlw
ZSBjb29yZFR5cGUsIGdpbnQgeCwgZ2ludCB5KQogewotICAgIGlmICghV0VCS0lUX0lTX0FDQ0VT
U0lCTEUoY29tcG9uZW50KSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICByZXR1cm4gJndlYmtp
dEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBv
bmVudCkpOwotfQotCi1zdGF0aWMgSW50UG9pbnQgYXRrVG9Db250ZW50cyhBY2Nlc3NpYmlsaXR5
T2JqZWN0KiBjb3JlT2JqZWN0LCBBdGtDb29yZFR5cGUgY29vcmRUeXBlLCBnaW50IHgsIGdpbnQg
eSkKLXsKLSAgICBJbnRQb2ludCBwb3MoeCwgeSk7Ci0KLSAgICBGcmFtZVZpZXcqIGZyYW1lVmll
dyA9IGNvcmVPYmplY3QtPmRvY3VtZW50RnJhbWVWaWV3KCk7Ci0gICAgaWYgKGZyYW1lVmlldykg
ewotICAgICAgICBzd2l0Y2ggKGNvb3JkVHlwZSkgewotICAgICAgICBjYXNlIEFUS19YWV9TQ1JF
RU46Ci0gICAgICAgICAgICByZXR1cm4gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHBvcyk7
Ci0gICAgICAgIGNhc2UgQVRLX1hZX1dJTkRPVzoKLSAgICAgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPndpbmRvd1RvQ29udGVudHMocG9zKTsKKyAgICBhdXRvKiBmcmFtZVZpZXcgPSBjb3JlT2Jq
ZWN0LmRvY3VtZW50RnJhbWVWaWV3KCk7CisgICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJl
dHVybiB7IHgsIHkgfTsKKworICAgIHN3aXRjaCAoY29vcmRUeXBlKSB7CisgICAgY2FzZSBBVEtf
WFlfU0NSRUVOOgorICAgICAgICByZXR1cm4gZnJhbWVWaWV3LT5zY3JlZW5Ub0NvbnRlbnRzKHsg
eCwgeSB9KTsKKyAgICBjYXNlIEFUS19YWV9XSU5ET1c6CisgICAgICAgIHJldHVybiBmcmFtZVZp
ZXctPndpbmRvd1RvQ29udGVudHMoeyB4LCB5IH0pOwogI2lmIEFUS19DSEVDS19WRVJTSU9OKDIs
IDMwLCAwKQotICAgICAgICBjYXNlIEFUS19YWV9QQVJFTlQ6Ci0gICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgQVRLX1hZX1BBUkVOVDoKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgotICAgICAgICB9CiAgICAgfQog
Ci0gICAgcmV0dXJuIHBvczsKKyAgICByZXR1cm4geyB4LCB5IH07CiB9CiAKIHN0YXRpYyBBdGtP
YmplY3QqIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRSZWZBY2Nlc3NpYmxlQXRQb2ludChBdGtD
b21wb25lbnQqIGNvbXBvbmVudCwgZ2ludCB4LCBnaW50IHksIEF0a0Nvb3JkVHlwZSBjb29yZFR5
cGUpCiB7Ci0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoQVRLX0lTX0NPTVBPTkVOVChjb21wb25l
bnQpLCAwKTsKLSAgICByZXR1cm5WYWxJZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoV0VCS0lU
X0FDQ0VTU0lCTEUoY29tcG9uZW50KSwgMCk7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJ
VF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxl
SXNJbnZhbGlkKGFjY2Vzc2libGUsIG51bGxwdHIpOwogCi0gICAgSW50UG9pbnQgcG9zID0gYXRr
VG9Db250ZW50cyhjb3JlKGNvbXBvbmVudCksIGNvb3JkVHlwZSwgeCwgeSk7Ci0KLSAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiB0YXJnZXQgPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0Pihj
b3JlKGNvbXBvbmVudCktPmFjY2Vzc2liaWxpdHlIaXRUZXN0KHBvcykpOworICAgIGF1dG8mIGNv
cmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3Np
YmxlKTsKKyAgICBhdXRvKiB0YXJnZXQgPSBkb3duY2FzdDxBY2Nlc3NpYmlsaXR5T2JqZWN0Pihj
b3JlT2JqZWN0LmFjY2Vzc2liaWxpdHlIaXRUZXN0KGF0a1RvQ29udGVudHMoY29yZU9iamVjdCwg
Y29vcmRUeXBlLCB4LCB5KSkpOwogICAgIGlmICghdGFyZ2V0KQotICAgICAgICByZXR1cm4gMDsK
LSAgICBnX29iamVjdF9yZWYodGFyZ2V0LT53cmFwcGVyKCkpOwotICAgIHJldHVybiBBVEtfT0JK
RUNUKHRhcmdldC0+d3JhcHBlcigpKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBp
ZiAoYXV0byogd3JhcHBlciA9IHRhcmdldC0+d3JhcHBlcigpKQorICAgICAgICByZXR1cm4gQVRL
X09CSkVDVChnX29iamVjdF9yZWYod3JhcHBlcikpOworCisgICAgcmV0dXJuIG51bGxwdHI7CiB9
CiAKIHN0YXRpYyB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRHZXRFeHRlbnRzKEF0a0Nv
bXBvbmVudCogY29tcG9uZW50LCBnaW50KiB4LCBnaW50KiB5LCBnaW50KiB3aWR0aCwgZ2ludCog
aGVpZ2h0LCBBdGtDb29yZFR5cGUgY29vcmRUeXBlKQogewotICAgIGdfcmV0dXJuX2lmX2ZhaWwo
QVRLX0lTX0NPTVBPTkVOVChjb21wb25lbnQpKTsKLSAgICByZXR1cm5JZldlYktpdEFjY2Vzc2li
bGVJc0ludmFsaWQoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSk7CisgICAgYXV0byogYWNj
ZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBvbmVudCk7CisgICAgcmV0dXJuSWZXZWJL
aXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2libGUpOwogCi0gICAgSW50UmVjdCByZWN0ID0g
c25hcHBlZEludFJlY3QoY29yZShjb21wb25lbnQpLT5lbGVtZW50UmVjdCgpKTsKLSAgICBjb250
ZW50c1JlbGF0aXZlVG9BdGtDb29yZGluYXRlVHlwZShjb3JlKGNvbXBvbmVudCksIGNvb3JkVHlw
ZSwgcmVjdCwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgYXV0byYgY29yZU9iamVjdCA9IHdl
YmtpdEFjY2Vzc2libGVHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0KGFjY2Vzc2libGUpOworICAgIGNv
bnRlbnRzUmVsYXRpdmVUb0F0a0Nvb3JkaW5hdGVUeXBlKCZjb3JlT2JqZWN0LCBjb29yZFR5cGUs
IHNuYXBwZWRJbnRSZWN0KGNvcmVPYmplY3QuZWxlbWVudFJlY3QoKSksIHgsIHksIHdpZHRoLCBo
ZWlnaHQpOwogfQogCiBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEdy
YWJGb2N1cyhBdGtDb21wb25lbnQqIGNvbXBvbmVudCkKIHsKLSAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChBVEtfSVNfQ09NUE9ORU5UKGNvbXBvbmVudCksIEZBTFNFKTsKLSAgICByZXR1cm5WYWxJ
ZldlYktpdEFjY2Vzc2libGVJc0ludmFsaWQoV0VCS0lUX0FDQ0VTU0lCTEUoY29tcG9uZW50KSwg
RkFMU0UpOworICAgIGF1dG8qIGFjY2Vzc2libGUgPSBXRUJLSVRfQUNDRVNTSUJMRShjb21wb25l
bnQpOworICAgIHJldHVyblZhbElmV2ViS2l0QWNjZXNzaWJsZUlzSW52YWxpZChhY2Nlc3NpYmxl
LCBGQUxTRSk7CisKKyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFj
Y2Vzc2liaWxpdHlPYmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29yZU9iamVjdC5zZXRGb2N1c2Vk
KHRydWUpOworICAgIHJldHVybiBjb3JlT2JqZWN0LmlzRm9jdXNlZCgpOworfQorCisjaWYgQVRL
X0NIRUNLX1ZFUlNJT04oMiwgMzAsIDApCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0QWNjZXNzaWJs
ZUNvbXBvbmVudFNjcm9sbFRvKEF0a0NvbXBvbmVudCogY29tcG9uZW50LCBBdGtTY3JvbGxUeXBl
IHNjcm9sbFR5cGUpCit7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxF
KGNvbXBvbmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFj
Y2Vzc2libGUsIEZBTFNFKTsKKworICAgIFNjcm9sbEFsaWdubWVudCBhbGlnblg7CisgICAgU2Ny
b2xsQWxpZ25tZW50IGFsaWduWTsKKworICAgIHN3aXRjaCAoc2Nyb2xsVHlwZSkgeworICAgIGNh
c2UgQVRLX1NDUk9MTF9UT1BfTEVGVDoKKyAgICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50
OjphbGlnbkxlZnRBbHdheXM7CisgICAgICAgIGFsaWduWSA9IFNjcm9sbEFsaWdubWVudDo6YWxp
Z25Ub3BBbHdheXM7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9CT1RUT01f
UklHSFQ6CisgICAgICAgIGFsaWduWCA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25SaWdodEFsd2F5
czsKKyAgICAgICAgYWxpZ25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkJvdHRvbUFsd2F5czsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBVEtfU0NST0xMX1RPUF9FREdFOgorICAgIGNhc2Ug
QVRLX1NDUk9MTF9CT1RUT01fRURHRToKKyAgICAgICAgLy8gQWxpZ24gdG8gYSBwYXJ0aWN1bGFy
IGVkZ2UgaXMgbm90IHN1cHBvcnRlZCwgaXQncyBhbHdheXMgdGhlIGNsb3Nlc3QgZWRnZS4KKyAg
ICAgICAgYWxpZ25YID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAg
ICAgICBhbGlnblkgPSBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgQVRLX1NDUk9MTF9MRUZUX0VER0U6CisgICAgY2FzZSBBVEtf
U0NST0xMX1JJR0hUX0VER0U6CisgICAgICAgIC8vIEFsaWduIHRvIGEgcGFydGljdWxhciBlZGdl
IGlzIG5vdCBzdXBwb3J0ZWQsIGl0J3MgYWx3YXlzIHRoZSBjbG9zZXN0IGVkZ2UuCisgICAgICAg
IGFsaWduWCA9IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAg
YWxpZ25ZID0gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEFUS19TQ1JPTExfQU5ZV0hFUkU6CisgICAgICAgIGFsaWduWCA9IFNj
cm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKKyAgICAgICAgYWxpZ25ZID0gU2Ny
b2xsQWxpZ25tZW50OjphbGlnbkNlbnRlcklmTmVlZGVkOworICAgICAgICBicmVhazsKKyAgICB9
CisKKyAgICBhdXRvJiBjb3JlT2JqZWN0ID0gd2Via2l0QWNjZXNzaWJsZUdldEFjY2Vzc2liaWxp
dHlPYmplY3QoYWNjZXNzaWJsZSk7CisgICAgY29yZU9iamVjdC5zY3JvbGxUb01ha2VWaXNpYmxl
KHsgU2VsZWN0aW9uUmV2ZWFsTW9kZTo6UmV2ZWFsLCBhbGlnblgsIGFsaWduWSwgU2hvdWxkQWxs
b3dDcm9zc09yaWdpblNjcm9sbGluZzo6WWVzIH0pOworCisgICAgcmV0dXJuIFRSVUU7Cit9CisK
K3N0YXRpYyBnYm9vbGVhbiB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG9Qb2ludChB
dGtDb21wb25lbnQqIGNvbXBvbmVudCwgQXRrQ29vcmRUeXBlIGNvb3JkVHlwZSwgZ2ludCB4LCBn
aW50IHkpCit7CisgICAgYXV0byogYWNjZXNzaWJsZSA9IFdFQktJVF9BQ0NFU1NJQkxFKGNvbXBv
bmVudCk7CisgICAgcmV0dXJuVmFsSWZXZWJLaXRBY2Nlc3NpYmxlSXNJbnZhbGlkKGFjY2Vzc2li
bGUsIEZBTFNFKTsKKworICAgIGF1dG8mIGNvcmVPYmplY3QgPSB3ZWJraXRBY2Nlc3NpYmxlR2V0
QWNjZXNzaWJpbGl0eU9iamVjdChhY2Nlc3NpYmxlKTsKIAotICAgIGNvcmUoY29tcG9uZW50KS0+
c2V0Rm9jdXNlZCh0cnVlKTsKLSAgICByZXR1cm4gY29yZShjb21wb25lbnQpLT5pc0ZvY3VzZWQo
KTsKKyAgICBJbnRQb2ludCBwb2ludCh4LCB5KTsKKyAgICBpZiAoY29vcmRUeXBlID09IEFUS19Y
WV9TQ1JFRU4pIHsKKyAgICAgICAgaWYgKGF1dG8qIGZyYW1lVmlldyA9IGNvcmVPYmplY3QuZG9j
dW1lbnRGcmFtZVZpZXcoKSkKKyAgICAgICAgICAgIHBvaW50ID0gZnJhbWVWaWV3LT5jb250ZW50
c1RvV2luZG93KGZyYW1lVmlldy0+c2NyZWVuVG9Db250ZW50cyhwb2ludCkpOworICAgIH0KKwor
ICAgIGNvcmVPYmplY3Quc2Nyb2xsVG9HbG9iYWxQb2ludChwb2ludCk7CisKKyAgICByZXR1cm4g
VFJVRTsKIH0KKyNlbmRpZgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRJbnRlcmZh
Y2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKIHsKICAgICBpZmFjZS0+cmVmX2FjY2Vz
c2libGVfYXRfcG9pbnQgPSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50UmVmQWNjZXNzaWJsZUF0
UG9pbnQ7CiAgICAgaWZhY2UtPmdldF9leHRlbnRzID0gd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVu
dEdldEV4dGVudHM7CiAgICAgaWZhY2UtPmdyYWJfZm9jdXMgPSB3ZWJraXRBY2Nlc3NpYmxlQ29t
cG9uZW50R3JhYkZvY3VzOworI2lmIEFUS19DSEVDS19WRVJTSU9OKDIsIDMwLCAwKQorICAgIGlm
YWNlLT5zY3JvbGxfdG8gPSB3ZWJraXRBY2Nlc3NpYmxlQ29tcG9uZW50U2Nyb2xsVG87CisgICAg
aWZhY2UtPnNjcm9sbF90b19wb2ludCA9IHdlYmtpdEFjY2Vzc2libGVDb21wb25lbnRTY3JvbGxU
b1BvaW50OworI2VuZGlmCiB9CiAKLSNlbmRpZgorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElU
WSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBh
MGRlN2U5ZjJjYy4uZGE4N2Y1ZWJiMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wNC0yMiAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0FUS10gSW1wbGVt
ZW50IEF0a0NvbXBvbmVudElmYWNlIHNjcm9sbF90byBtZXRob2RzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4NTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBNaWNoYWVsIENhdGFuemFyby4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlKTogQ2FsbCBh
dGtfY29tcG9uZW50X3Njcm9sbF90bygpLgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KTogQ2FsbCBhdGtfY29tcG9uZW50X3Njcm9sbF90
b19wb2ludCgpLgorICAgICAgICAqIGd0ay9qaGJ1aWxkLm1vZHVsZXM6IEJ1bXAgYXRrLCBhdC1z
cGkyLWNvcmUgYW5kIGF0LXNwaTItYXRrIHRvIHRoZWlyIGxhdGVzdCBzdGFibGUgdmVyc2lvbi4K
KwogMjAxOS0wNC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjQxMjg5KTogW0dUS10gYWNjZXNzaWJpbGl0eS9yZW1v
dmVkLWNvbnRpbnVhdGlvbi1lbGVtZW50LWNhdXNlcy1jcmFzaC5odG1sIGFuZCBhY2Nlc3NpYmls
aXR5L3JlbW92ZWQtYW5vbnltb3VzLWJsb2NrLWNoaWxkLWNhdXNlcy1jcmFzaC5odG1sIGNyYXNo
ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggZWM3
MDMxODQ0MTAuLmQ2MmE4ZTQ3NjgyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcApAQCAtMjMzMiwxNCArMjMzMiwyNCBAQCBib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNldFNlbGVjdGVkVmlzaWJsZVRleHRSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlcgogCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUo
KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lPTigyLCAz
MCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9lbGVtZW50LmdldCgpKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG8oQVRLX0NPTVBPTkVOVCht
X2VsZW1lbnQuZ2V0KCkpLCBBVEtfU0NST0xMX0FOWVdIRVJFKTsKKyNlbmRpZgogfQotICAgIAor
CiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQoaW50IHgs
IGludCB5KQogewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKKyNpZiBBVEtfQ0hFQ0tfVkVSU0lP
TigyLCAzMCwgMCkKKyAgICBpZiAoIUFUS19JU19DT01QT05FTlQobV9lbGVtZW50LmdldCgpKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgYXRrX2NvbXBvbmVudF9zY3JvbGxfdG9fcG9pbnQoQVRL
X0NPTVBPTkVOVChtX2VsZW1lbnQuZ2V0KCkpLCBBVEtfWFlfV0lORE9XLCB4LCB5KTsKKyNlbmRp
ZgogfQotICAgIAorCiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZp
c2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCiB7
CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQu
bW9kdWxlcyBiL1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggMWVjZWJjMzFmMjMuLjQ4
MGQ4ZDIzY2I0IDEwMDY0NAotLS0gYS9Ub29scy9ndGsvamhidWlsZC5tb2R1bGVzCisrKyBiL1Rv
b2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKQEAgLTI4MSwzOCArMjgxLDMzIEBACiAgICAgICAgICAg
ICBoYXNoPSJzaGEyNTY6Y2NmNzlmZjNiZDM0MDI1NDczN2NlNGQyOGI4N2YwY2NlZTRiMzM1OGNk
M2NkNWNkMTFkYzdiNDJmNDFiMjcyYSIvPgogICA8L2F1dG90b29scz4KIAotICA8YXV0b3Rvb2xz
IGlkPSJhdGsiCi0gICAgICAgICAgICAgYXV0b2dlbi1zaD0iY29uZmlndXJlIgotICAgICAgICAg
ICAgIGF1dG9nZW5hcmdzPSItLWRpc2FibGUtaW50cm9zcGVjdGlvbiI+Ci0gICAgPGJyYW5jaCBt
b2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjI1L2F0ay0yLjI1LjIudGFyLnh6IiB2ZXJz
aW9uPSIyLjI1LjIiCisgIDxtZXNvbiBpZD0iYXRrIiBtZXNvbmFyZ3M9Ii1EaW50cm9zcGVjdGlv
bj1mYWxzZSI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0ay8yLjMy
L2F0ay0yLjMyLjAudGFyLnh6IiB2ZXJzaW9uPSIyLjMyLjAiCiAgICAgICAgICAgICByZXBvPSJm
dHAuZ25vbWUub3JnIgotICAgICAgICAgICAgaGFzaD0ic2hhMjU2Ojc1YWMxZjYzZTg0NWY4OTVk
ZWM4ZDcyZDQ2NDVlZjVmMzYyZTMyYzkyMWNjNzg5ODdmMmYxOWMyY2UyMTJhMjQiLz4KLSAgPC9h
dXRvdG9vbHM+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6Y2I0MWZlZGE3ZmU0ZWYwZGFhMDI0
NDcxNDM4ZWEwMjE5NTkyYmFmN2MyOTEzNDdlNWE4NThiYjY0ZTQwOTFjYyIvPgorICA8L21lc29u
PgogCi0gIDxhdXRvdG9vbHMgaWQ9ImF0LXNwaTItY29yZSIKLSAgICAgICAgICAgICBhdXRvZ2Vu
LXNoPSJjb25maWd1cmUiCi0gICAgICAgICAgICAgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1pbnRy
b3NwZWN0aW9uIj4KLSAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXQtc3Bp
Mi1jb3JlLzIuMjUvYXQtc3BpMi1jb3JlLTIuMjUuNC50YXIueHoiIHZlcnNpb249IjIuMjUuNCIK
KyAgPG1lc29uIGlkPSJhdC1zcGkyLWNvcmUiIG1lc29uYXJncz0iLURpbnRyb3NwZWN0aW9uPW5v
Ij4KKyAgICA8YnJhbmNoIG1vZHVsZT0icHViL0dOT01FL3NvdXJjZXMvYXQtc3BpMi1jb3JlLzIu
MzIvYXQtc3BpMi1jb3JlLTIuMzIuMS50YXIueHoiIHZlcnNpb249IjIuMzIuMSIKICAgICAgICAg
ICAgIHJlcG89ImZ0cC5nbm9tZS5vcmciCi0gICAgICAgICAgICBoYXNoPSJzaGEyNTY6YmFlY2Ni
ZjkyZTg0ZTY0YmI0YTg1M2YwNzZjMjdiNzhhYjQ0ZWRmMWZhNTQxNGE5YzZlNTlhOWIxODBiYzlk
OCI+CisgICAgICAgICAgICBoYXNoPSJzaGEyNTY6M2MyYWE5MzdlYmZhY2EyYzg2NTY5YmNlOWIx
NmEzNGZiZTIwZDY5ZWYwYzU4ODQ2MzEzYjFjNDJmNTNiMGQ1MyI+CiAgICAgPC9icmFuY2g+CiAg
ICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAgcGFja2FnZT0iZ2xpYiIvPgogICAgIDwvZGVw
ZW5kZW5jaWVzPgotICA8L2F1dG90b29scz4KKyAgPC9tZXNvbj4KIAotICA8YXV0b3Rvb2xzIGlk
PSJhdC1zcGkyLWF0ayIKLSAgICAgICAgICAgICBhdXRvZ2VuLXNoPSJjb25maWd1cmUiPgotICAg
IDxicmFuY2ggbW9kdWxlPSJwdWIvR05PTUUvc291cmNlcy9hdC1zcGkyLWF0ay8yLjI1L2F0LXNw
aTItYXRrLTIuMjUuMy50YXIueHoiIHZlcnNpb249IjIuMjUuMyIKKyAgPG1lc29uIGlkPSJhdC1z
cGkyLWF0ayI+CisgICAgPGJyYW5jaCBtb2R1bGU9InB1Yi9HTk9NRS9zb3VyY2VzL2F0LXNwaTIt
YXRrLzIuMzIvYXQtc3BpMi1hdGstMi4zMi4wLnRhci54eiIgdmVyc2lvbj0iMi4zMi4wIgogICAg
ICAgICAgICAgcmVwbz0iZnRwLmdub21lLm9yZyIKLSAgICAgICAgICAgIGhhc2g9InNoYTI1Njpi
N2FhYjFhNGVlNzE4MjA4M2ZjZmFmYjU5NWI3YjNmZTRkZjM0YWEyMjMwYzc3NTA1MGZlNjAxNWIw
MWY4NGUxIj4KKyAgICAgICAgICAgIGhhc2g9InNoYTI1NjowYjUxZTZkMzM5ZmEyYmNjYTNhM2Uz
MTU5Y2NlYTU3NGM2N2IxMDdmMWFjOGIwMDA0N2ZhNjBlMzRjZTdhNDVjIj4KICAgICA8L2JyYW5j
aD4KICAgICA8ZGVwZW5kZW5jaWVzPgogICAgICAgPGRlcCBwYWNrYWdlPSJnbGliIi8+CiAgICAg
ICA8ZGVwIHBhY2thZ2U9ImF0ayIvPgogICAgICAgPGRlcCBwYWNrYWdlPSJhdC1zcGkyLWNvcmUi
Lz4KICAgICA8L2RlcGVuZGVuY2llcz4KLSAgPC9hdXRvdG9vbHM+CisgIDwvbWVzb24+CiAKICAg
PGF1dG90b29scyBpZD0ibGlieG1sMiIgc3VwcG9ydHMtbm9uLXNyY2Rpci1idWlsZHM9Im5vIgog
ICAgICAgICAgICAgIGF1dG9nZW4tc2g9Ii4vYXV0b2dlbi5zaDsgLi9jb25maWd1cmUgLS13aXRo
LXB5dGhvbj1ubyI+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>