<?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>97158</bug_id>
          
          <creation_ts>2012-09-19 18:22:48 -0700</creation_ts>
          <short_desc>[EFL] Change the log macro names to be more consistent with EINA LOG</short_desc>
          <delta_ts>2012-09-20 01:13:48 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jinwoo Song">jinwoo7.song</reporter>
          <assigned_to name="Jinwoo Song">jinwoo7.song</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>724044</commentid>
    <comment_count>0</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2012-09-19 18:22:48 -0700</bug_when>
    <thetext>Some log macro names in WebKit1/WebKit2 are inconsistent with EINA LOG names, as followings.

  #define WRN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__)
  #define INF(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724086</commentid>
    <comment_count>1</comment_count>
      <attachid>164824</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2012-09-19 19:14:29 -0700</bug_when>
    <thetext>Created attachment 164824
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724126</commentid>
    <comment_count>2</comment_count>
      <attachid>164824</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-19 21:36:32 -0700</bug_when>
    <thetext>Comment on attachment 164824
patch

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

It would be good if you add a link we discuss about this on webkit-efl mailing list.

&gt; Source/WebKit/efl/ewk/ewk_private.h:47
&gt;  #define CRITICAL(...) EINA_LOG_DOM_CRIT(_ewk_log_dom, __VA_ARGS__)

Why not change CRITICAL with CRIT ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724138</commentid>
    <comment_count>3</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2012-09-19 21:52:12 -0700</bug_when>
    <thetext>Please refer the discussions in mailing list,
http://lists.webkit.org/pipermail/webkit-efl/2012-September/000282.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724145</commentid>
    <comment_count>4</comment_count>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2012-09-19 21:58:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 164824 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=164824&amp;action=review
&gt; 
&gt; It would be good if you add a link we discuss about this on webkit-efl mailing list.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_private.h:47
&gt; &gt;  #define CRITICAL(...) EINA_LOG_DOM_CRIT(_ewk_log_dom, __VA_ARGS__)
&gt; 
&gt; Why not change CRITICAL with CRIT ?
Actually, I think &apos;CRITICAL&apos; is more clear and readable than &apos;CRIT&apos;. Although the name 
is not exactly same with that of EINA LOG, &apos;CRIT&apos; itself does not give intuitive meaning 
to us. 
But if I&apos;d like to vote the prefer one in the mailing list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724218</commentid>
    <comment_count>5</comment_count>
      <attachid>164824</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-19 23:56:35 -0700</bug_when>
    <thetext>Comment on attachment 164824
patch

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

&gt; Source/WebKit/efl/ewk/ewk_private.h:51
&gt;  #define DBG(...) EINA_LOG_DOM_DBG(_ewk_log_dom, __VA_ARGS__)

maybe DEBUG would also be better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724219</commentid>
    <comment_count>6</comment_count>
      <attachid>164824</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 23:58:47 -0700</bug_when>
    <thetext>Comment on attachment 164824
patch

Rejecting attachment 164824 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
/WebKit/efl/ewk/ewk_view_private.h
patching file Source/WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit2/UIProcess/API/efl/ewk_main.cpp
patching file Source/WebKit2/UIProcess/API/efl/ewk_private.h
patching file Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
Hunk #1 succeeded at 1646 (offset 3 lines).

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Kenneth Ro...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/13948104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724236</commentid>
    <comment_count>7</comment_count>
      <attachid>164853</attachid>
    <who name="Jinwoo Song">jinwoo7.song</who>
    <bug_when>2012-09-20 00:34:56 -0700</bug_when>
    <thetext>Created attachment 164853
rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724253</commentid>
    <comment_count>8</comment_count>
      <attachid>164853</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-20 01:13:44 -0700</bug_when>
    <thetext>Comment on attachment 164853
rebased patch

Clearing flags on attachment: 164853

Committed r129101: &lt;http://trac.webkit.org/changeset/129101&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724254</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-20 01:13:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164824</attachid>
            <date>2012-09-19 19:14:29 -0700</date>
            <delta_ts>2012-09-20 00:34:56 -0700</delta_ts>
            <desc>patch</desc>
            <filename>log_macro_name.patch</filename>
            <type>text/plain</type>
            <size>27741</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA1ZGVlMzE3Li41YTkzMTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTItMDktMTkgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIENoYW5nZSB0aGUgbG9nIG1hY3JvIG5hbWVzIHRv
IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIEVJTkEgTE9HCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzE1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgbG9nIG1hY3JvIG5hbWVzIGluIFdlYktpdDEg
YXJlIGluY29uc2lzdGVudCB3aXRoIEVJTkEgTE9HIG5hbWVzIAorICAgICAgICBzdWNoIGFzIFdS
Ti9JTkYgbm90IFdBUk4vSU5GTy4gCisKKyAgICAgICAgICAjZGVmaW5lIFdSTiguLi4pIEVJTkFf
TE9HX0RPTV9XQVJOKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisgICAgICAgICAgI2RlZmlu
ZSBJTkYoLi4uKSBFSU5BX0xPR19ET01fSU5GTyhfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQor
CisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgc3VjaCBuYW1lcyB0byBiZSBjb25zaXN0
ZW50IHdpdGggRUlOQSBMT0cncyBuYW1lcy4KKworICAgICAgICAqIGV3ay9ld2tfZnJhbWUuY3Bw
OgorICAgICAgICAoX2V3a19mcmFtZV9zbWFydF9yZXNpemUpOgorICAgICAgICAoZXdrX2ZyYW1l
X3NvdXJjZV9nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKToKKyAgICAgICAg
KiBld2svZXdrX21haW4uY3BwOgorICAgICAgICAoX2V3a19pbml0X2JvZHkpOgorICAgICAgICAq
IGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIGV3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9y
ZS5jcHA6CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVuZGVyKToKKyAgICAg
ICAgKF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZWNhbGNfcmVuZGVyZXJzKToKKyAgICAgICAg
KF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGVfb2Zmc2V0X2ZvcmNlKToK
KyAgICAgICAgKF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9zbWFydF9jYWxjdWxhdGVfb2Zmc2V0
KToKKyAgICAgICAgKGV3a190aWxlZF9iYWNraW5nX3N0b3JlX3ByZV9yZW5kZXJfcmVsYXRpdmVf
cmFkaXVzKToKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX21hdHJpeC5jcHA6CisgICAgICAgIChl
d2tfdGlsZV9tYXRyaXhfZnJlZSk6CisgICAgICAgIChld2tfdGlsZV9tYXRyaXhfdGlsZV9leGFj
dF9nZXQpOgorICAgICAgICAoX2V3a190aWxlX21hdHJpeF9zbGljZXJfc2V0dXApOgorICAgICAg
ICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfYWRkX2NvbnNv
bGVfbWVzc2FnZSk6CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfcnVuX2phdmFzY3JpcHRfYWxl
cnQpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X3J1bl9qYXZhc2NyaXB0X2NvbmZpcm0pOgor
ICAgICAgICAoX2V3a192aWV3X3NtYXJ0X3Nob3VsZF9pbnRlcnJ1cHRfamF2YXNjcmlwdCk6Cisg
ICAgICAgIChfZXdrX3ZpZXdfc21hcnRfcnVuX2phdmFzY3JpcHRfcHJvbXB0KToKKyAgICAgICAg
KF9ld2tfdmlld19zbWFydF9wcmVfcmVuZGVyX3JlZ2lvbik6CisgICAgICAgIChfZXdrX3ZpZXdf
c21hcnRfcHJlX3JlbmRlcl9yZWxhdGl2ZV9yYWRpdXMpOgorICAgICAgICAoX2V3a192aWV3X3Nt
YXJ0X3ByZV9yZW5kZXJfc3RhcnQpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X3ByZV9yZW5k
ZXJfY2FuY2VsKToKKyAgICAgICAgKF9ld2tfdmlld19zbWFydF9kaXNhYmxlX3JlbmRlcik6Cisg
ICAgICAgIChfZXdrX3ZpZXdfc21hcnRfZW5hYmxlX3JlbmRlcik6CisgICAgICAgIChld2tfdmll
d19iZ19jb2xvcl9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfem9vbV9zZXQpOgorICAgICAgICAo
ZXdrX3ZpZXdfem9vbV93ZWFrX3NldCk6CisgICAgICAgIChld2tfdmlld196b29tX2FuaW1hdGVk
X3NldCk6CisgICAgICAgIChld2tfdmlld19zdGF0dXNiYXJfdGV4dF9zZXQpOgorICAgICAgICAo
ZXdrX3ZpZXdfZXhjZWVkZWRfYXBwbGljYXRpb25fY2FjaGVfcXVvdGEpOgorICAgICAgICAoZXdr
X3ZpZXdfZXhjZWVkZWRfZGF0YWJhc2VfcXVvdGEpOgorICAgICAgICAoZXdrX3ZpZXdfc2Nyb2xs
KToKKyAgICAgICAgKGV3a192aWV3X3BvcHVwX25ldyk6CisgICAgICAgIChld2tfdmlld19wb3B1
cF9kZXN0cm95KToKKyAgICAgICAgKGV3a192aWV3X3BvcHVwX3NlbGVjdGVkX3NldCk6CisgICAg
ICAgIChld2tfdmlld19jb2xvcl9jaG9vc2VyX25ldyk6CisgICAgICAgIChld2tfdmlld19jb2xv
cl9jaG9vc2VyX2Rlc3Ryb3kpOgorICAgICAgICAoZXdrX3ZpZXdfY29sb3JfY2hvb3Nlcl9jb2xv
cl9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfY29sb3JfY2hvb3Nlcl9jaGFuZ2VkKToKKyAgICAg
ICAgKGV3a192aWV3X3pvb21fcmFuZ2Vfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXdfcHJp
dmF0ZS5oOgorCiAyMDEyLTA5LTEzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5l
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBFdmFzX09iamVjdCogaXMgYSByZWYnZWQgc3RydWN0
dXJlLCBzbyB0cmVhZCBpdCBhcyBzdWNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmlu
ZGV4IDBhZjVkMjQuLjRhNTg2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBA
IC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIHZvaWQgX2V3a19mcmFtZV9zbWFydF9yZXNpemUoRXZh
c19PYmplY3QqIGV3a0ZyYW1lLCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmEKICAgICBldmFzX29iamVj
dF9yZXNpemUoc21hcnREYXRhLT5yZWdpb24sIHdpZHRoLCBoZWlnaHQpOwogICAgIEV2YXNfQ29v
cmQgeCwgeTsKICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9nZXQoc21hcnREYXRhLT5yZWdpb24s
ICZ4LCAmeSwgJndpZHRoLCAmaGVpZ2h0KTsKLSAgICBJTkYoInJlZ2lvbj0lcCwgdmlzaWJsZT0l
ZCwgZ2VvPSVkLCVkICsgJWR4JWQiLAorICAgIElORk8oInJlZ2lvbj0lcCwgdmlzaWJsZT0lZCwg
Z2VvPSVkLCVkICsgJWR4JWQiLAogICAgICAgICBzbWFydERhdGEtPnJlZ2lvbiwgZXZhc19vYmpl
Y3RfdmlzaWJsZV9nZXQoc21hcnREYXRhLT5yZWdpb24pLCB4LCB5LCB3aWR0aCwgaGVpZ2h0KTsK
ICAgICBfZXdrX2ZyYW1lX2RlYnVnKGV3a0ZyYW1lKTsKICNlbmRpZgpAQCAtMTY0Myw3ICsxNjQz
LDcgQEAgc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
RnJhbWUsIGNoYXIqKiBmcmFtZVNvdXJjZSkKIAogICAgIGlmICghc21hcnREYXRhLT5mcmFtZS0+
ZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkgewogICAgICAgICAvLyBGSVhNRTogU3VwcG9y
dCBvdGhlcnMgZG9jdW1lbnRzLgotICAgICAgICBXUk4oIk9ubHkgSFRNTCBkb2N1bWVudHMgYXJl
IHN1cHBvcnRlZCIpOworICAgICAgICBXQVJOKCJPbmx5IEhUTUwgZG9jdW1lbnRzIGFyZSBzdXBw
b3J0ZWQiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtMTc5NCw3ICsxNzk0LDcg
QEAgYm9vbCBld2tfZnJhbWVfdXJpX2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a0ZyYW1lKQogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERhdGEtPmZyYW1lLCBmYWxzZSk7
CiAgICAgV1RGOjpDU3RyaW5nIHVyaShzbWFydERhdGEtPmZyYW1lLT5kb2N1bWVudCgpLT51cmwo
KS5zdHJpbmcoKS51dGY4KCkpOwogCi0gICAgSU5GKCJ1cmk9JXMiLCB1cmkuZGF0YSgpKTsKKyAg
ICBJTkZPKCJ1cmk9JXMiLCB1cmkuZGF0YSgpKTsKICAgICBpZiAoIXVyaS5kYXRhKCkpIHsKICAg
ICAgICAgRVJSKCJubyB1cmkiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfbWFpbi5jcHAKaW5kZXggNTg1MGVlOC4uZWZhMzM5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19tYWluLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX21haW4uY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgRWluYV9Cb29sIF9ld2tfaW5pdF9ib2R5
KHZvaWQpCiAgICAgZ190eXBlX2luaXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFpbl9sb29wX2ds
aWJfaW50ZWdyYXRlKCkpCi0gICAgICAgIFdSTigiRWNvcmUgd2FzIG5vdCBjb21waWxlZCB3aXRo
IEdMaWIgc3VwcG9ydCwgc29tZSBwbHVnaW5zIHdpbGwgbm90ICIKKyAgICAgICAgV0FSTigiRWNv
cmUgd2FzIG5vdCBjb21waWxlZCB3aXRoIEdMaWIgc3VwcG9ydCwgc29tZSBwbHVnaW5zIHdpbGwg
bm90ICIKICAgICAgICAgICAgICJ3b3JrIChpZTogQWRvYmUgRmxhc2gpIik7CiAKICAgICBXZWJD
b3JlOjpTY3JpcHRDb250cm9sbGVyOjppbml0aWFsaXplVGhyZWFkaW5nKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oCmluZGV4IGUwOTQ4M2EuLjExZWMxYWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oCkBAIC00Niw4ICs0Niw4IEBAIGV4dGVybiBpbnQgX2V3a19sb2df
ZG9tOwogCiAjZGVmaW5lIENSSVRJQ0FMKC4uLikgRUlOQV9MT0dfRE9NX0NSSVQoX2V3a19sb2df
ZG9tLCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgRVJSKC4uLikgRUlOQV9MT0dfRE9NX0VSUihfZXdr
X2xvZ19kb20sIF9fVkFfQVJHU19fKQotI2RlZmluZSBXUk4oLi4uKSBFSU5BX0xPR19ET01fV0FS
TihfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQotI2RlZmluZSBJTkYoLi4uKSBFSU5BX0xPR19E
T01fSU5GTyhfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQorI2RlZmluZSBXQVJOKC4uLikgRUlO
QV9MT0dfRE9NX1dBUk4oX2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKKyNkZWZpbmUgSU5GTygu
Li4pIEVJTkFfTE9HX0RPTV9JTkZPKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCiAjZGVmaW5l
IERCRyguLi4pIEVJTkFfTE9HX0RPTV9EQkcoX2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKIAog
I2VuZGlmIC8vIGV3a19wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCmluZGV4IDJmOWQ3ZmQuLmRkYWUxNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcApAQCAt
NTQ5LDcgKzU0OSw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfdGlsZWRfYmFja2luZ19zdG9yZV9yZW5k
ZXIodm9pZCogZGF0YSwgRXdrX1RpbGUqIHRpbGUsIGNvbnN0IEVpCiB7CiAgICAgRXdrX1RpbGVk
X0JhY2tpbmdfU3RvcmVfRGF0YSogcHJpdiA9IHN0YXRpY19jYXN0PEV3a19UaWxlZF9CYWNraW5n
X1N0b3JlX0RhdGEqPihkYXRhKTsKIAotICAgIElORigiVE9ETyAlcCAodmlzaWJsZT8gJWQpIFsl
bHUsJWx1XSAlZCwlZCArICVkeCVkIiwKKyAgICBJTkZPKCJUT0RPICVwICh2aXNpYmxlPyAlZCkg
WyVsdSwlbHVdICVkLCVkICsgJWR4JWQiLAogICAgICAgICB0aWxlLCB0aWxlLT52aXNpYmxlLCB0
aWxlLT5jb2x1bW4sIHRpbGUtPnJvdywgYXJlYS0+eCwgYXJlYS0+eSwgYXJlYS0+dywgYXJlYS0+
aCk7CiAKICAgICBpZiAoIXRpbGUtPnZpc2libGUpCkBAIC03NzQsMTIgKzc3NCwxMiBAQCBzdGF0
aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfaGlkZShFdmFzX09iamVjdCog
ZXdrQmFja2luZ1N0b3JlKQogCiBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVf
cmVjYWxjX3JlbmRlcmVycyhFd2tfVGlsZWRfQmFja2luZ19TdG9yZV9EYXRhKiBwcml2LCBFdmFz
X0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCwgRXZhc19Db29yZCB0aWxlV2lkdGgsIEV2
YXNfQ29vcmQgdGlsZUhlaWdodCkKIHsKLSAgICBJTkYoImV3a0JhY2tpbmdTdG9yZT0lcCwgbmV3
IHNpemU6ICVkeCVkIiwgcHJpdi0+c2VsZiwgd2lkdGgsIGhlaWdodCk7CisgICAgSU5GTygiZXdr
QmFja2luZ1N0b3JlPSVwLCBuZXcgc2l6ZTogJWR4JWQiLCBwcml2LT5zZWxmLCB3aWR0aCwgaGVp
Z2h0KTsKIAogICAgIHVuc2lnbmVkIGxvbmcgY29sdW1ucyA9IDEgKyBzdGF0aWNfY2FzdDx1bnNp
Z25lZCBsb25nPihjZWlsKHdpZHRoIC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRpbGVXaWR0aCkpKTsK
ICAgICB1bnNpZ25lZCBsb25nIHJvd3MgPSAxICsgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4o
Y2VpbChoZWlnaHQgLyBzdGF0aWNfY2FzdDxmbG9hdD4odGlsZUhlaWdodCkpKTsKIAotICAgIElO
RigiZXdrQmFja2luZ1N0b3JlPSVwIG5ldyBncmlkIHNpemUgY29sdW1uczogJWx1LCByb3dzOiAl
bHUsIHdhcyAlbHUsICVsdSIsIHByaXYtPnNlbGYsIGNvbHVtbnMsIHJvd3MsIHByaXYtPnZpZXcu
Y29sdW1ucywgcHJpdi0+dmlldy5yb3dzKTsKKyAgICBJTkZPKCJld2tCYWNraW5nU3RvcmU9JXAg
bmV3IGdyaWQgc2l6ZSBjb2x1bW5zOiAlbHUsIHJvd3M6ICVsdSwgd2FzICVsdSwgJWx1IiwgcHJp
di0+c2VsZiwgY29sdW1ucywgcm93cywgcHJpdi0+dmlldy5jb2x1bW5zLCBwcml2LT52aWV3LnJv
d3MpOwogCiAgICAgaWYgKHByaXYtPnZpZXcuY29sdW1ucyA9PSBjb2x1bW5zICYmIHByaXYtPnZp
ZXcucm93cyA9PSByb3dzKQogICAgICAgICByZXR1cm47CkBAIC0xMTM0LDcgKzExMzQsNyBAQCBz
dGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlX29mZnNl
dF9mb3JjZShFd2tfVGlsZWRfQmFjawogICAgIEV2YXNfQ29vcmQgZGVsdGFYID0gcHJpdi0+dmll
dy5vZmZzZXQuY3VycmVudC54IC0gcHJpdi0+dmlldy5vZmZzZXQub2xkLng7CiAgICAgRXZhc19D
b29yZCBkZWx0YVkgPSBwcml2LT52aWV3Lm9mZnNldC5jdXJyZW50LnkgLSBwcml2LT52aWV3Lm9m
ZnNldC5vbGQueTsKIAotICAgIElORigiZXdrQmFja2luZ1N0b3JlPSVwLCBvZmZzZXQ6ICUrNGQs
ICUrNGQgKCUrNGQsICUrNGQpIiwKKyAgICBJTkZPKCJld2tCYWNraW5nU3RvcmU9JXAsIG9mZnNl
dDogJSs0ZCwgJSs0ZCAoJSs0ZCwgJSs0ZCkiLAogICAgICAgICBwcml2LT5zZWxmLCBkZWx0YVgs
IGRlbHRhWSwgcHJpdi0+dmlldy5vZmZzZXQuY3VycmVudC54LCBwcml2LT52aWV3Lm9mZnNldC5j
dXJyZW50LnkpOwogCiAgICAgRXZhc19Db29yZCB0aWxlV2lkdGggPSBwcml2LT52aWV3LnRpbGUu
d2lkdGg7CkBAIC0xMTYwLDcgKzExNjAsNyBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tp
bmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlX29mZnNldChFd2tfVGlsZWRfQmFja2luZ19TdAogICAg
IEV2YXNfQ29vcmQgZGVsdGFYID0gcHJpdi0+dmlldy5vZmZzZXQuY3VycmVudC54IC0gcHJpdi0+
dmlldy5vZmZzZXQub2xkLng7CiAgICAgRXZhc19Db29yZCBkZWx0YVkgPSBwcml2LT52aWV3Lm9m
ZnNldC5jdXJyZW50LnkgLSBwcml2LT52aWV3Lm9mZnNldC5vbGQueTsKIAotICAgIElORigiZXdr
QmFja2luZ1N0b3JlPSVwLCBvZmZzZXQ6ICUrNGQsICUrNGQgKCUrNGQsICUrNGQpIiwgcHJpdi0+
c2VsZiwgZGVsdGFYLCBkZWx0YVksIHByaXYtPnZpZXcub2Zmc2V0LmN1cnJlbnQueCwgcHJpdi0+
dmlldy5vZmZzZXQuY3VycmVudC55KTsKKyAgICBJTkZPKCJld2tCYWNraW5nU3RvcmU9JXAsIG9m
ZnNldDogJSs0ZCwgJSs0ZCAoJSs0ZCwgJSs0ZCkiLCBwcml2LT5zZWxmLCBkZWx0YVgsIGRlbHRh
WSwgcHJpdi0+dmlldy5vZmZzZXQuY3VycmVudC54LCBwcml2LT52aWV3Lm9mZnNldC5jdXJyZW50
LnkpOwogCiAgICAgaWYgKCFkZWx0YVggJiYgIWRlbHRhWSkKICAgICAgICAgcmV0dXJuOwpAQCAt
MTg4MSwxMyArMTg4MSwxMyBAQCBib29sIGV3a190aWxlZF9iYWNraW5nX3N0b3JlX3ByZV9yZW5k
ZXJfcmVsYXRpdmVfcmFkaXVzKEV2YXNfT2JqZWN0KiBld2tCYWNraW5nUwogewogICAgIFBSSVZf
REFUQV9HRVRfT1JfUkVUVVJOKGV3a0JhY2tpbmdTdG9yZSwgcHJpdiwgZmFsc2UpOwogCi0gICAg
SU5GKCJwcml2LT5tb2RlbC5iYXNlLnJvdyA9JWxkLCBuPSV1IHByaXYtPnZpZXcucm93cz0lbHUi
LCBwcml2LT5tb2RlbC5iYXNlLnJvdywgbiwgcHJpdi0+dmlldy5yb3dzKTsKKyAgICBJTkZPKCJw
cml2LT5tb2RlbC5iYXNlLnJvdyA9JWxkLCBuPSV1IHByaXYtPnZpZXcucm93cz0lbHUiLCBwcml2
LT5tb2RlbC5iYXNlLnJvdywgbiwgcHJpdi0+dmlldy5yb3dzKTsKICAgICB1bnNpZ25lZCBsb25n
IHN0YXJ0Um93ID0gcHJpdi0+bW9kZWwuYmFzZS5yb3cgLSBuOwogICAgIHVuc2lnbmVkIGxvbmcg
c3RhcnRDb2wgPSBwcml2LT5tb2RlbC5iYXNlLmNvbHVtbiAtIG47CiAgICAgdW5zaWduZWQgbG9u
ZyBlbmRSb3cgPSBzdGQ6Om1pbihwcml2LT5tb2RlbC5jdXJyZW50LnJvd3MgLSAxLCBwcml2LT5t
b2RlbC5iYXNlLnJvdyArIHByaXYtPnZpZXcucm93cyArIG4gLSAxKTsKICAgICB1bnNpZ25lZCBs
b25nIGVuZENvbCA9IHN0ZDo6bWluKHByaXYtPm1vZGVsLmN1cnJlbnQuY29sdW1ucyAtIDEsIHBy
aXYtPm1vZGVsLmJhc2UuY29sdW1uICsgcHJpdi0+dmlldy5jb2x1bW5zICsgbiAtIDEpOwogCi0g
ICAgSU5GKCJzdGFydFJvdz0lbHUsIGVuZFJvdz0lbHUsIHN0YXJ0Q29sPSVsdSwgZW5kQ29sPSVs
dSIsIHN0YXJ0Um93LCBlbmRSb3csIHN0YXJ0Q29sLCBlbmRDb2wpOworICAgIElORk8oInN0YXJ0
Um93PSVsdSwgZW5kUm93PSVsdSwgc3RhcnRDb2w9JWx1LCBlbmRDb2w9JWx1Iiwgc3RhcnRSb3cs
IGVuZFJvdywgc3RhcnRDb2wsIGVuZENvbCk7CiAKICAgICB6b29tID0gUk9VTkRFRF9aT09NKHBy
aXYtPnZpZXcudGlsZS53aWR0aCwgem9vbSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dGlsZWRfbWF0cml4LmNwcAppbmRleCBhMWMwMjlkLi4wZjJkMDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCkBAIC0zMjEsMTQgKzMyMSwxNCBAQCB2b2lk
IGV3a190aWxlX21hdHJpeF9mcmVlKEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCkKICAgICAg
ICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLnRpbGVzLmFsbG9jYXRlZCwgdGlsZU1hdHJpeC0+c3Rh
dHMudGlsZXMuZnJlZWQsIHRpbGVzLAogICAgICAgICAgICAgdGlsZU1hdHJpeC0+c3RhdHMuYnl0
ZXMuYWxsb2NhdGVkLCB0aWxlTWF0cml4LT5zdGF0cy5ieXRlcy5mcmVlZCwgYnl0ZXMpOwogICAg
IGVsc2UgaWYgKHRpbGVzX2xlYWtlZCB8fCBieXRlc19sZWFrZWQpCi0gICAgICAgIFdSTigidGls
ZWQgbWF0cml4IGhhZCBubyBsZWFrczogdGlsZXNbKyUiIFBSSXU2NCAiLC0lIiBQUkl1NjQgIl0g
IgorICAgICAgICBXQVJOKCJ0aWxlZCBtYXRyaXggaGFkIG5vIGxlYWtzOiB0aWxlc1srJSIgUFJJ
dTY0ICIsLSUiIFBSSXU2NCAiXSAiCiAgICAgICAgICAgICAiYnl0ZXNbKyUiIFBSSXU2NCAiLC0l
IiBQUkl1NjQgIl0sIGJ1dCBzb21lIG90aGVyIGxlYWtlZCAiCiAgICAgICAgICAgICAiJSIgUFJJ
dTY0ICIgdGlsZXMgKCUiIFBSSXU2NCAiIGJ5dGVzKSIsCiAgICAgICAgICAgICB0aWxlTWF0cml4
LT5zdGF0cy50aWxlcy5hbGxvY2F0ZWQsIHRpbGVNYXRyaXgtPnN0YXRzLnRpbGVzLmZyZWVkLAog
ICAgICAgICAgICAgdGlsZU1hdHJpeC0+c3RhdHMuYnl0ZXMuYWxsb2NhdGVkLCB0aWxlTWF0cml4
LT5zdGF0cy5ieXRlcy5mcmVlZCwKICAgICAgICAgICAgIHRpbGVzX2xlYWtlZCwgYnl0ZXNfbGVh
a2VkKTsKICAgICBlbHNlCi0gICAgICAgIElORigidGlsZWQgbWF0cml4IGhhZCBubyBsZWFrczog
dGlsZXNbKyUiIFBSSXU2NCAiLC0lIiBQUkl1NjQgIl0gIgorICAgICAgICBJTkZPKCJ0aWxlZCBt
YXRyaXggaGFkIG5vIGxlYWtzOiB0aWxlc1srJSIgUFJJdTY0ICIsLSUiIFBSSXU2NCAiXSAiCiAg
ICAgICAgICAgICAiYnl0ZXNbKyUiIFBSSXU2NCAiLC0lIiBQUkl1NjQgIl0iLAogICAgICAgICAg
ICAgdGlsZU1hdHJpeC0+c3RhdHMudGlsZXMuYWxsb2NhdGVkLCB0aWxlTWF0cml4LT5zdGF0cy50
aWxlcy5mcmVlZCwKICAgICAgICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLmJ5dGVzLmFsbG9jYXRl
ZCwgdGlsZU1hdHJpeC0+c3RhdHMuYnl0ZXMuZnJlZWQpOwpAQCAtMzk5LDcgKzM5OSw3IEBAIEV3
a19UaWxlKiBld2tfdGlsZV9tYXRyaXhfdGlsZV9leGFjdF9nZXQoRXdrX1RpbGVfTWF0cml4KiB0
aWxlTWF0cml4LCB1bnNpZ25lZCBsCiAjaWZuZGVmIE5ERUJVRwogICAgIGlmICghdGlsZS0+dmlz
aWJsZSkgewogICAgICAgICBpZiAoIWV3a190aWxlX3VudXNlZF9jYWNoZV90aWxlX2dldCh0aWxl
TWF0cml4LT50aWxlVW51c2VkQ2FjaGUsIHRpbGUpKQotICAgICAgICAgICAgV1JOKCJFd2tfVGls
ZSB3YXMgdW51c2VkIGJ1dCBub3QgaW4gY2FjaGU/IGJ1ZyEiKTsKKyAgICAgICAgICAgIFdBUk4o
IkV3a19UaWxlIHdhcyB1bnVzZWQgYnV0IG5vdCBpbiBjYWNoZT8gYnVnISIpOwogICAgIH0KICNl
bmRpZgogCkBAIC01MjEsNyArNTIxLDcgQEAgc3RhdGljIGJvb2wgX2V3a190aWxlX21hdHJpeF9z
bGljZXJfc2V0dXAoRXdrX1RpbGVfTWF0cml4KiB0aWxlTWF0cml4LCBjb25zdCBFaW4KIHsKICAg
ICBVTlVTRURfUEFSQU0oem9vbSk7CiAgICAgaWYgKGFyZWEtPncgPD0gMCB8fCBhcmVhLT5oIDw9
IDApIHsKLSAgICAgICAgV1JOKCJpbnZhbGlkIGFyZWEgcmVnaW9uOiAlZCwlZCslZHglZC4iLCBh
cmVhLT54LCBhcmVhLT55LCBhcmVhLT53LCBhcmVhLT5oKTsKKyAgICAgICAgV0FSTigiaW52YWxp
ZCBhcmVhIHJlZ2lvbjogJWQsJWQrJWR4JWQuIiwgYXJlYS0+eCwgYXJlYS0+eSwgYXJlYS0+dywg
YXJlYS0+aCk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuY3BwCmluZGV4IDQ5NDlhYWMuLmY3MjZmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a192aWV3LmNwcApAQCAtNjE5LDI0ICs2MTksMjQgQEAgc3RhdGljIEVpbmFfQm9vbCBfZXdrX3Zp
ZXdfc21hcnRfa2V5X3VwKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgY29uc3QgRXYK
IAogc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2FkZF9jb25zb2xlX21lc3NhZ2UoRXdrX1Zp
ZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBjb25zdCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBp
bnQgbGluZU51bWJlciwgY29uc3QgY2hhciogc291cmNlSUQpCiB7Ci0gICAgSU5GKCJjb25zb2xl
IG1lc3NhZ2U6ICVzIEAlZDogJXNcbiIsIHNvdXJjZUlELCBsaW5lTnVtYmVyLCBtZXNzYWdlKTsK
KyAgICBJTkZPKCJjb25zb2xlIG1lc3NhZ2U6ICVzIEAlZDogJXNcbiIsIHNvdXJjZUlELCBsaW5l
TnVtYmVyLCBtZXNzYWdlKTsKIH0KIAogc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X3J1bl9q
YXZhc2NyaXB0X2FsZXJ0KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgRXZhc19PYmpl
Y3QqIGZyYW1lLCBjb25zdCBjaGFyKiBtZXNzYWdlKQogewotICAgIElORigiamF2YXNjcmlwdCBh
bGVydDogJXNcbiIsIG1lc3NhZ2UpOworICAgIElORk8oImphdmFzY3JpcHQgYWxlcnQ6ICVzXG4i
LCBtZXNzYWdlKTsKIH0KIAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfcnVuX2ph
dmFzY3JpcHRfY29uZmlybShFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIEV2YXNfT2Jq
ZWN0KiBmcmFtZSwgY29uc3QgY2hhciogbWVzc2FnZSkKIHsKLSAgICBJTkYoImphdmFzY3JpcHQg
Y29uZmlybTogJXMiLCBtZXNzYWdlKTsKLSAgICBJTkYoImphdmFzY3JpcHQgY29uZmlybSAoSEFS
RCBDT0RFRCk/IFlFUyIpOworICAgIElORk8oImphdmFzY3JpcHQgY29uZmlybTogJXMiLCBtZXNz
YWdlKTsKKyAgICBJTkZPKCJqYXZhc2NyaXB0IGNvbmZpcm0gKEhBUkQgQ09ERUQpPyBZRVMiKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRf
c2hvdWxkX2ludGVycnVwdF9qYXZhc2NyaXB0KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSkKIHsKLSAgICBJTkYoInNob3VsZCBpbnRlcnJ1cHQgamF2YXNjcmlwdD9cbiIKKyAgICBJTkZP
KCJzaG91bGQgaW50ZXJydXB0IGphdmFzY3JpcHQ/XG4iCiAgICAgICAgICJcdChIQVJEIENPREVE
KSBOTyIpOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTY0NSw3ICs2NDUsNyBAQCBzdGF0aWMg
RWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9ydW5famF2YXNjcmlwdF9wcm9tcHQoRXdrX1ZpZXdf
U21hcnRfRGF0YSogc21hcgogewogICAgICp2YWx1ZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKCJ0
ZXN0Iik7CiAgICAgRWluYV9Cb29sIHJlc3VsdCA9IHRydWU7Ci0gICAgSU5GKCJqYXZhc2NyaXB0
IHByb21wdDpcbiIKKyAgICBJTkZPKCJqYXZhc2NyaXB0IHByb21wdDpcbiIKICAgICAgICAgIlx0
ICAgICAgbWVzc2FnZTogJXNcbiIKICAgICAgICAgIlx0ZGVmYXVsdCB2YWx1ZTogJXNcbiIKICAg
ICAgICAgIlx0Z2l2aW5nIGFuc3dlcjogJXNcbiIKQEAgLTExNjgsMjcgKzExNjgsMjcgQEAgc3Rh
dGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2ZsdXNoKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0
RGF0YSkKIAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfcHJlX3JlbmRlcl9yZWdp
b24oRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBFdmFzX0Nvb3JkIHgsIEV2YXNfQ29v
cmQgeSwgRXZhc19Db29yZCB3aWR0aCwgRXZhc19Db29yZCBoZWlnaHQsIGZsb2F0IHpvb20pCiB7
Ci0gICAgV1JOKCJub3Qgc3VwcG9ydGVkIGJ5IGVuZ2luZS4gc21hcnREYXRhPSVwIGFyZWE9JWQs
JWQrJWR4JWQsIHpvb209JWYiLAorICAgIFdBUk4oIm5vdCBzdXBwb3J0ZWQgYnkgZW5naW5lLiBz
bWFydERhdGE9JXAgYXJlYT0lZCwlZCslZHglZCwgem9vbT0lZiIsCiAgICAgICAgIHNtYXJ0RGF0
YSwgeCwgeSwgd2lkdGgsIGhlaWdodCwgem9vbSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBz
dGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9wcmVfcmVuZGVyX3JlbGF0aXZlX3JhZGl1
cyhFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIHVuc2lnbmVkIGludCBudW1iZXIsIGZs
b2F0IHpvb20pCiB7Ci0gICAgV1JOKCJub3Qgc3VwcG9ydGVkIGJ5IGVuZ2luZS4gc21hcnREYXRh
PSVwLCBuPSV1IHpvb209JWYiLAorICAgIFdBUk4oIm5vdCBzdXBwb3J0ZWQgYnkgZW5naW5lLiBz
bWFydERhdGE9JXAsIG49JXUgem9vbT0lZiIsCiAgICAgICAgIHNtYXJ0RGF0YSwgbnVtYmVyLCB6
b29tKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3
X3NtYXJ0X3ByZV9yZW5kZXJfc3RhcnQoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQog
ewotICAgIFdSTigibm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCIsIHNtYXJ0
RGF0YSk7CisgICAgV0FSTigibm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCIs
IHNtYXJ0RGF0YSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBzdGF0aWMgdm9pZCBfZXdrX3Zp
ZXdfc21hcnRfcHJlX3JlbmRlcl9jYW5jZWwoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRh
KQogewotICAgIFdSTigibm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCIsIHNt
YXJ0RGF0YSk7CisgICAgV0FSTigibm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0l
cCIsIHNtYXJ0RGF0YSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9ld2tfdmlld196b29tX2FuaW1hdGVk
X21hcmtfc3RvcChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCkBAIC0xMjc4LDEzICsx
Mjc4LDEzIEBAIHN0YXRpYyBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMgX2V3a192aWV3X3Zp
ZXdwb3J0X2F0dHJpYnV0ZXNfY29tcHV0ZShjb25zdCBFCiAKIHN0YXRpYyBFaW5hX0Jvb2wgX2V3
a192aWV3X3NtYXJ0X2Rpc2FibGVfcmVuZGVyKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSkKIHsKLSAgICBXUk4oIm5vdCBzdXBwb3J0ZWQgYnkgZW5naW5lLiBzbWFydERhdGE9JXAiLCBz
bWFydERhdGEpOworICAgIFdBUk4oIm5vdCBzdXBwb3J0ZWQgYnkgZW5naW5lLiBzbWFydERhdGE9
JXAiLCBzbWFydERhdGEpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAogc3RhdGljIEVpbmFfQm9v
bCBfZXdrX3ZpZXdfc21hcnRfZW5hYmxlX3JlbmRlcihFd2tfVmlld19TbWFydF9EYXRhKiBzbWFy
dERhdGEpCiB7Ci0gICAgV1JOKCJub3Qgc3VwcG9ydGVkIGJ5IGVuZ2luZS4gc21hcnREYXRhPSVw
Iiwgc21hcnREYXRhKTsKKyAgICBXQVJOKCJub3Qgc3VwcG9ydGVkIGJ5IGVuZ2luZS4gc21hcnRE
YXRhPSVwIiwgc21hcnREYXRhKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTE0NjYsMTkg
KzE0NjYsMTkgQEAgdm9pZCBld2tfdmlld19iZ19jb2xvcl9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGludCByZWQsIGludCBncmVlbiwgaW50IGJsdWUsIGkKICAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTihzbWFydERhdGEtPmFwaS0+YmdfY29sb3Jfc2V0KTsKIAogICAgIGlmIChhbHBo
YSA8IDApIHsKLSAgICAgICAgV1JOKCJBbHBoYSBsZXNzIHRoYW4gemVybyAoJWQpLiIsIGFscGhh
KTsKKyAgICAgICAgV0FSTigiQWxwaGEgbGVzcyB0aGFuIHplcm8gKCVkKS4iLCBhbHBoYSk7CiAg
ICAgICAgIGFscGhhID0gMDsKICAgICB9IGVsc2UgaWYgKGFscGhhID4gMjU1KSB7Ci0gICAgICAg
IFdSTigiQWxwaGEgaXMgbGFyZ2VyIHRoYW4gMjU1ICglZCkuIiwgYWxwaGEpOworICAgICAgICBX
QVJOKCJBbHBoYSBpcyBsYXJnZXIgdGhhbiAyNTUgKCVkKS4iLCBhbHBoYSk7CiAgICAgICAgIGFs
cGhhID0gMjU1OwogICAgIH0KIAogI2RlZmluZSBDSEVDS19QUkVNVUxfQ09MT1IoY29sb3IsIGFs
cGhhKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKGNv
bG9yIDwgMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICBXUk4oIkNvbG9yIGNvbXBvbmVudCAiICNjb2xvciAiIGlzIGxl
c3MgdGhhbiB6ZXJvICglZCkuIiwgY29sb3IpOyAgICAgICAgIFwKKyAgICAgICAgV0FSTigiQ29s
b3IgY29tcG9uZW50ICIgI2NvbG9yICIgaXMgbGVzcyB0aGFuIHplcm8gKCVkKS4iLCBjb2xvcik7
ICAgICAgICAgXAogICAgICAgICBjb2xvciA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IGVsc2UgaWYgKGNvbG9yID4g
YWxwaGEpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAotICAgICAgICBXUk4oIkNvbG9yIGNvbXBvbmVudCAiICNjb2xvciAiIGlzIGdyZWF0ZXIgdGhh
biBhbHBoYSAoJWQsIGFscGhhPSVkKS4iLCBcCisgICAgICAgIFdBUk4oIkNvbG9yIGNvbXBvbmVu
dCAiICNjb2xvciAiIGlzIGdyZWF0ZXIgdGhhbiBhbHBoYSAoJWQsIGFscGhhPSVkKS4iLCBcCiAg
ICAgICAgICAgICBjb2xvciwgYWxwaGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgY29sb3IgPSBhbHBoYTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0K
QEAgLTE3ODUsMTYgKzE3ODUsMTYgQEAgRWluYV9Cb29sIGV3a192aWV3X3pvb21fc2V0KEV2YXNf
T2JqZWN0KiBld2tWaWV3LCBmbG9hdCB6b29tLCBFdmFzX0Nvb3JkIGNlbnRlclgKICAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnREYXRhLT5hcGktPnpvb21fc2V0LCBmYWxz
ZSk7CiAKICAgICBpZiAoIXByaXYtPnNldHRpbmdzLnpvb21SYW5nZS51c2VyU2NhbGFibGUpIHsK
LSAgICAgICAgV1JOKCJ1c2VyU2NhbGFibGUgaXMgZmFsc2UiKTsKKyAgICAgICAgV0FSTigidXNl
clNjYWxhYmxlIGlzIGZhbHNlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAg
ICBpZiAoem9vbSA8IHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5taW5TY2FsZSkgewotICAgICAg
ICBXUk4oInpvb20gbGV2ZWwgaXMgPCAlZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdl
Lm1pblNjYWxlLCB6b29tKTsKKyAgICAgICAgV0FSTigiem9vbSBsZXZlbCBpcyA8ICVmIDogJWYi
LCBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWluU2NhbGUsIHpvb20pOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmICh6b29tID4gcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdl
Lm1heFNjYWxlKSB7Ci0gICAgICAgIFdSTigiem9vbSBsZXZlbCBpcyA+ICVmIDogJWYiLCBwcml2
LT5zZXR0aW5ncy56b29tUmFuZ2UubWF4U2NhbGUsIHpvb20pOworICAgICAgICBXQVJOKCJ6b29t
IGxldmVsIGlzID4gJWYgOiAlZiIsIHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5tYXhTY2FsZSwg
em9vbSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTE4NzMsMTYgKzE4NzMs
MTYgQEAgRWluYV9Cb29sIGV3a192aWV3X3pvb21fd2Vha19zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGZsb2F0IHpvb20sIEV2YXNfQ29vcmQgY2UKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTl9WQUwoc21hcnREYXRhLT5hcGktPnpvb21fd2Vha19zZXQsIGZhbHNlKTsKIAogICAgIGlm
ICghcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLnVzZXJTY2FsYWJsZSkgewotICAgICAgICBXUk4o
InVzZXJTY2FsYWJsZSBpcyBmYWxzZSIpOworICAgICAgICBXQVJOKCJ1c2VyU2NhbGFibGUgaXMg
ZmFsc2UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGlmICh6b29tIDwg
cHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLm1pblNjYWxlKSB7Ci0gICAgICAgIFdSTigiem9vbSBs
ZXZlbCBpcyA8ICVmIDogJWYiLCBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWluU2NhbGUsIHpv
b20pOworICAgICAgICBXQVJOKCJ6b29tIGxldmVsIGlzIDwgJWYgOiAlZiIsIHByaXYtPnNldHRp
bmdzLnpvb21SYW5nZS5taW5TY2FsZSwgem9vbSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CiAgICAgaWYgKHpvb20gPiBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWF4U2NhbGUpIHsK
LSAgICAgICAgV1JOKCJ6b29tIGxldmVsIGlzID4gJWYgOiAlZiIsIHByaXYtPnNldHRpbmdzLnpv
b21SYW5nZS5tYXhTY2FsZSwgem9vbSk7CisgICAgICAgIFdBUk4oInpvb20gbGV2ZWwgaXMgPiAl
ZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLm1heFNjYWxlLCB6b29tKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApAQCAtMTkyOSwxNiArMTkyOSwxNiBAQCBFaW5hX0Jv
b2wgZXdrX3ZpZXdfem9vbV9hbmltYXRlZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGZsb2F0
IHpvb20sIGZsb2F0IGR1cgogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFy
dERhdGEtPmFwaS0+em9vbV93ZWFrX3NldCwgZmFsc2UpOwogCiAgICAgaWYgKCFwcml2LT5zZXR0
aW5ncy56b29tUmFuZ2UudXNlclNjYWxhYmxlKSB7Ci0gICAgICAgIFdSTigidXNlclNjYWxhYmxl
IGlzIGZhbHNlIik7CisgICAgICAgIFdBUk4oInVzZXJTY2FsYWJsZSBpcyBmYWxzZSIpOwogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgaWYgKHpvb20gPCBwcml2LT5zZXR0aW5n
cy56b29tUmFuZ2UubWluU2NhbGUpIHsKLSAgICAgICAgV1JOKCJ6b29tIGxldmVsIGlzIDwgJWYg
OiAlZiIsIHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5taW5TY2FsZSwgem9vbSk7CisgICAgICAg
IFdBUk4oInpvb20gbGV2ZWwgaXMgPCAlZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdl
Lm1pblNjYWxlLCB6b29tKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAo
em9vbSA+IHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5tYXhTY2FsZSkgewotICAgICAgICBXUk4o
Inpvb20gbGV2ZWwgaXMgPiAlZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLm1heFNj
YWxlLCB6b29tKTsKKyAgICAgICAgV0FSTigiem9vbSBsZXZlbCBpcyA+ICVmIDogJWYiLCBwcml2
LT5zZXR0aW5ncy56b29tUmFuZ2UubWF4U2NhbGUsIHpvb20pOwogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCkBAIC0zMzkwLDcgKzMzOTAsNyBAQCB2b2lkIGV3a192aWV3X3N0YXR1c2Jh
cl92aXNpYmxlX2dldChFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCogdmlzaWJsZSkKIHZvaWQg
ZXdrX3ZpZXdfc3RhdHVzYmFyX3RleHRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBj
aGFyKiB0ZXh0KQogewogICAgIERCRygiZXdrVmlldz0lcCAodGV4dD0lcykiLCBld2tWaWV3LCB0
ZXh0KTsKLSAgICBJTkYoInN0YXR1cyBiYXIgdGV4dCBzZXQ6ICVzIiwgdGV4dCk7CisgICAgSU5G
Tygic3RhdHVzIGJhciB0ZXh0IHNldDogJXMiLCB0ZXh0KTsKICAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJzdGF0dXNiYXIsdGV4dCxzZXQiLCAodm9pZCopdGV4
dCk7CiB9CiAKQEAgLTM2MDEsNyArMzYwMSw3IEBAIGludDY0X3QgZXdrX3ZpZXdfZXhjZWVkZWRf
YXBwbGljYXRpb25fY2FjaGVfcXVvdGEoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19TZWN1CiAg
ICAgaWYgKCFzbWFydERhdGEtPmFwaS0+ZXhjZWVkZWRfYXBwbGljYXRpb25fY2FjaGVfcXVvdGEp
CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgSU5GKCJkZWZhdWx0T3JpZ2luUXVvdGE9JSIgUFJJ
dTY0ICIgdG90YWxTcGFjZU5lZWRlZD0lIiBQUkl1NjQsIGRlZmF1bHRPcmlnaW5RdW90YSwgdG90
YWxTcGFjZU5lZWRlZCk7CisgICAgSU5GTygiZGVmYXVsdE9yaWdpblF1b3RhPSUiIFBSSXU2NCAi
IHRvdGFsU3BhY2VOZWVkZWQ9JSIgUFJJdTY0LCBkZWZhdWx0T3JpZ2luUXVvdGEsIHRvdGFsU3Bh
Y2VOZWVkZWQpOwogICAgIHJldHVybiBzbWFydERhdGEtPmFwaS0+ZXhjZWVkZWRfYXBwbGljYXRp
b25fY2FjaGVfcXVvdGEoc21hcnREYXRhLCBvcmlnaW4sIGRlZmF1bHRPcmlnaW5RdW90YSwgdG90
YWxTcGFjZU5lZWRlZCk7CiB9CiAKQEAgLTM2MjcsNyArMzYyNyw3IEBAIHVpbnQ2NF90IGV3a192
aWV3X2V4Y2VlZGVkX2RhdGFiYXNlX3F1b3RhKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX09i
amVjdCogZnJhCiAgICAgaWYgKCFzbWFydERhdGEtPmFwaS0+ZXhjZWVkZWRfZGF0YWJhc2VfcXVv
dGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgSU5GKCJjdXJyZW50U2l6ZT0lIiBQUkl1NjQg
IiBleHBlY3RlZFNpemU9JSIgUFJJdTY0LCBjdXJyZW50U2l6ZSwgZXhwZWN0ZWRTaXplKTsKKyAg
ICBJTkZPKCJjdXJyZW50U2l6ZT0lIiBQUkl1NjQgIiBleHBlY3RlZFNpemU9JSIgUFJJdTY0LCBj
dXJyZW50U2l6ZSwgZXhwZWN0ZWRTaXplKTsKICAgICByZXR1cm4gc21hcnREYXRhLT5hcGktPmV4
Y2VlZGVkX2RhdGFiYXNlX3F1b3RhKHNtYXJ0RGF0YSwgZnJhbWUsIGRhdGFiYXNlTmFtZSwgY3Vy
cmVudFNpemUsIGV4cGVjdGVkU2l6ZSk7CiB9CiAKQEAgLTM2NzYsNyArMzY3Niw3IEBAIHZvaWQg
ZXdrX3ZpZXdfc2Nyb2xsKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX0Nvb3JkIGRlbHRhWCwg
RXZhc19Db29yZCBkZWx0YVksCiAgICAgICAgIGV3a1ZpZXcsIGRlbHRhWCwgZGVsdGFZLCBzY3Jv
bGxYLCBzY3JvbGxZLCBzY3JvbGxXaWR0aCwgc2Nyb2xsSGVpZ2h0LCBjZW50ZXJYLCBjZW50ZXJZ
LCBjZW50ZXJXaWR0aCwgY2VudGVySGVpZ2h0KTsKIAogICAgIGlmICgoc2Nyb2xsWCAhPSBjZW50
ZXJYKSB8fCAoc2Nyb2xsWSAhPSBjZW50ZXJZKSB8fCAoc2Nyb2xsV2lkdGggIT0gY2VudGVyV2lk
dGgpIHx8IChzY3JvbGxIZWlnaHQgIT0gY2VudGVySGVpZ2h0KSkKLSAgICAgICAgV1JOKCJzY3Jv
bGwgcmVnaW9uIGFuZCBjbGlwIGFyZSBkaWZmZXJlbnQhICVkLCVkKyVkeCVkIGFuZCAlZCwlZCsl
ZHglZCIsCisgICAgICAgIFdBUk4oInNjcm9sbCByZWdpb24gYW5kIGNsaXAgYXJlIGRpZmZlcmVu
dCEgJWQsJWQrJWR4JWQgYW5kICVkLCVkKyVkeCVkIiwKICAgICAgICAgICAgIHNjcm9sbFgsIHNj
cm9sbFksIHNjcm9sbFdpZHRoLCBzY3JvbGxIZWlnaHQsIGNlbnRlclgsIGNlbnRlclksIGNlbnRl
cldpZHRoLCBjZW50ZXJIZWlnaHQpOwogCiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihl
d2tWaWV3LCBzbWFydERhdGEpOwpAQCAtMzc1Miw3ICszNzUyLDcgQEAgV1RGOjpQYXNzUmVmUHRy
PFdlYkNvcmU6OldpZGdldD4gZXdrX3ZpZXdfcGx1Z2luX2NyZWF0ZShFdmFzX09iamVjdCogZXdr
VmlldywgRXYKICAqLwogdm9pZCBld2tfdmlld19wb3B1cF9uZXcoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCogY2xpZW50LCBpbnQgc2VsZWN0ZWQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCiB7Ci0gICAgSU5GKCJld2tWaWV3PSVwIiwgZXdrVmll
dyk7CisgICAgSU5GTygiZXdrVmlldz0lcCIsIGV3a1ZpZXcpOwogICAgIEVXS19WSUVXX1NEX0dF
VF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9P
Ul9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKIApAQCAtMzc4NSw3ICszNzg1LDcgQEAgdm9pZCBl
d2tfdmlld19wb3B1cF9uZXcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIFdlYkNvcmU6OlBvcHVwTWVu
dUNsaWVudCogY2xpZW50LAogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfcG9wdXBfZGVzdHJveShFdmFz
X09iamVjdCogZXdrVmlldykKIHsKLSAgICBJTkYoImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKKyAg
ICBJTkZPKCJld2tWaWV3PSVwIiwgZXdrVmlldyk7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JF
VFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9P
Ul9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7CiAKQEAgLTM4MDgsNyArMzgwOCw3IEBA
IEVpbmFfQm9vbCBld2tfdmlld19wb3B1cF9kZXN0cm95KEV2YXNfT2JqZWN0KiBld2tWaWV3KQog
CiB2b2lkIGV3a192aWV3X3BvcHVwX3NlbGVjdGVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywg
aW50IGluZGV4KQogewotICAgIElORigiZXdrVmlldz0lcCIsIGV3a1ZpZXcpOworICAgIElORk8o
ImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3
a1ZpZXcsIHNtYXJ0RGF0YSk7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0
RGF0YSwgcHJpdik7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk4ocHJpdi0+cG9wdXAu
bWVudUNsaWVudCk7CkBAIC0zODI4LDcgKzM4MjgsNyBAQCB2b2lkIGV3a192aWV3X3BvcHVwX3Nl
bGVjdGVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IGluZGV4KQogICovCiB2b2lkIGV3
a192aWV3X2NvbG9yX2Nob29zZXJfbmV3KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBXZWJDb3JlOjpD
b2xvckNob29zZXJDbGllbnQqIGNsaWVudCwgY29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxD
b2xvcikKIHsKLSAgICBJTkYoImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKKyAgICBJTkZPKCJld2tW
aWV3PSVwIiwgZXdrVmlldyk7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYpOwogCkBAIC0zODQ4LDcgKzM4NDgsNyBAQCB2b2lkIGV3a192aWV3X2NvbG9yX2Nob29z
ZXJfbmV3KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbgog
CiBFaW5hX0Jvb2wgZXdrX3ZpZXdfY29sb3JfY2hvb3Nlcl9kZXN0cm95KEV2YXNfT2JqZWN0KiBl
d2tWaWV3KQogewotICAgIElORigiZXdrVmlldz0lcCIsIGV3a1ZpZXcpOworICAgIElORk8oImV3
a1ZpZXc9JXAiLCBld2tWaWV3KTsKICAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIHByaXYsIGZhbHNlKTsKIApAQCAtMzg2NSw3ICszODY1LDcgQEAgRWluYV9Cb29s
IGV3a192aWV3X2NvbG9yX2Nob29zZXJfZGVzdHJveShFdmFzX09iamVjdCogZXdrVmlldykKIAog
dm9pZCBld2tfdmlld19jb2xvcl9jaG9vc2VyX2NvbG9yX3NldChFdmFzX09iamVjdCAqZXdrVmll
dywgaW50IHIsIGludCBnLCBpbnQgYikKIHsKLSAgICBJTkYoImV3a1ZpZXc9JXAiLCBld2tWaWV3
KTsKKyAgICBJTkZPKCJld2tWaWV3PSVwIiwgZXdrVmlldyk7CiAgICAgRVdLX1ZJRVdfU0RfR0VU
X09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09S
X1JFVFVSTihzbWFydERhdGEsIHByaXYpOwogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
KHByaXYtPmNvbG9yQ2hvb3NlckNsaWVudCk7CkBAIC0zODg2LDcgKzM4ODYsNyBAQCB2b2lkIGV3
a192aWV3X2NvbG9yX2Nob29zZXJfY29sb3Jfc2V0KEV2YXNfT2JqZWN0ICpld2tWaWV3LCBpbnQg
ciwgaW50IGcsIGludCBiKQogICovCiB2b2lkIGV3a192aWV3X2NvbG9yX2Nob29zZXJfY2hhbmdl
ZChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Q29sb3ImIG5ld0NvbG9yKQog
ewotICAgIElORigiZXdrVmlldz0lcCIsIGV3a1ZpZXcpOworICAgIElORk8oImV3a1ZpZXc9JXAi
LCBld2tWaWV3KTsKIAogICAgIEV3a19Db2xvciBjb2xvcjsKICAgICBjb2xvci5yID0gbmV3Q29s
b3IucmVkKCk7CkBAIC0zOTczLDcgKzM5NzMsNyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfem9vbV9y
YW5nZV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGZsb2F0IG1pblNjYWxlLCBmbG9hdCBtYQog
ICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsK
IAogICAgIGlmIChtYXhTY2FsZSA8IG1pblNjYWxlKSB7Ci0gICAgICAgIFdSTigibWluU2NhbGUg
aXMgbGFyZ2VyIHRoYW4gbWF4U2NhbGUiKTsKKyAgICAgICAgV0FSTigibWluU2NhbGUgaXMgbGFy
Z2VyIHRoYW4gbWF4U2NhbGUiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKaW5kZXggZGFlZTY3Ny4uNjMxZmEy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC00NSw3ICs0
NSw3IEBAIGNvbnN0IGNoYXIgZXdrVmlld1NpbmdsZU5hbWVbXSA9ICJFd2tfVmlld19TaW5nbGUi
OwogLy8gRGVmaW5lIHRvIHByZXZlbnQgYW4gYXBwbGljYXRpb24gdXNpbmcgZGlmZmVyZW50IHZp
ZXcgdHlwZSBmcm9tIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLgogI2RlZmluZSBFV0tfVklFV19UWVBF
X0NIRUNLX09SX1JFVFVSTihld2tWaWV3LCB2aWV3TmFtZSwgLi4uKSBcCiAgICAgaWYgKCFldmFz
X29iamVjdF9zbWFydF90eXBlX2NoZWNrKGV3a1ZpZXcsIHZpZXdOYW1lKSkgeyBcCi0gICAgICAg
IElORigiZXdrVmlldyBpc24ndCBhbiBpbnN0YW5jZSBvZiAlcyIsIHZpZXdOYW1lKTsgXAorICAg
ICAgICBJTkZPKCJld2tWaWV3IGlzbid0IGFuIGluc3RhbmNlIG9mICVzIiwgdmlld05hbWUpOyBc
CiAgICAgICAgIHJldHVybiBfX1ZBX0FSR1NfXzsgXAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDQ3
NzYzOTkuLmYxODg0NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wOS0xOSAg
Smlud29vIFNvbmcgIDxqaW53b283LnNvbmdAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0g
Q2hhbmdlIHRoZSBsb2cgbWFjcm8gbmFtZXMgdG8gYmUgbW9yZSBjb25zaXN0ZW50IHdpdGggRUlO
QSBMT0cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3
MTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU29t
ZSBsb2cgbWFjcm8gbmFtZXMgaW4gV2ViS2l0MiBhcmUgaW5jb25zaXN0ZW50IHdpdGggRUlOQSBM
T0cgbmFtZXMgCisgICAgICAgIHN1Y2ggYXMgV1JOL0lORiBub3QgV0FSTi9JTkZPLiAKKworICAg
ICAgICAgICNkZWZpbmUgV1JOKC4uLikgRUlOQV9MT0dfRE9NX1dBUk4oX2V3a19sb2dfZG9tLCBf
X1ZBX0FSR1NfXykKKyAgICAgICAgICAjZGVmaW5lIElORiguLi4pIEVJTkFfTE9HX0RPTV9JTkZP
KF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisKKyAgICAgICAgVGhpcyBwYXRjaCBjaGFuZ2Vz
IHRoZSBzdWNoIG5hbWVzIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBFSU5BIExPRydzIG5hbWVzLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwOgorICAgICAgICAoZXdr
X2luaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wcml2YXRlLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdf
d2VicHJvY2Vzc19jcmFzaGVkKToKKwogMjAxMi0wOS0xOCAgQnl1bmd3b28gTGVlICA8Ync4MC5s
ZWVAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBBZGQgamF2YXNjcmlwdCBwb3B1
cCBBUEkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
bWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAK
aW5kZXggZjdkYWZlOC4uZmNjOWZhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfbWFpbi5jcHAKQEAgLTcxLDcgKzcxLDcgQEAgaW50IGV3a19pbml0KHZvaWQp
CiAgICAgZ190eXBlX2luaXQoKTsKIAogICAgIGlmICghZWNvcmVfbWFpbl9sb29wX2dsaWJfaW50
ZWdyYXRlKCkpIHsKLSAgICAgICAgV1JOKCJFY29yZSB3YXMgbm90IGNvbXBpbGVkIHdpdGggR0xp
YiBzdXBwb3J0LCBzb21lIHBsdWdpbnMgd2lsbCBub3QgIgorICAgICAgICBXQVJOKCJFY29yZSB3
YXMgbm90IGNvbXBpbGVkIHdpdGggR0xpYiBzdXBwb3J0LCBzb21lIHBsdWdpbnMgd2lsbCBub3Qg
IgogICAgICAgICAgICAgIndvcmsgKGllOiBBZG9iZSBGbGFzaCkiKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcHJpdmF0ZS5oCmluZGV4IGJkZWVh
YWYuLjRiZGIyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ByaXZhdGUuaApAQCAtMzUsOCArMzUsOCBAQCBleHRlcm4gaW50IF9ld2tfbG9nX2RvbTsKIAog
I2RlZmluZSBDUklUSUNBTCguLi4pIEVJTkFfTE9HX0RPTV9DUklUKF9ld2tfbG9nX2RvbSwgX19W
QV9BUkdTX18pCiAjZGVmaW5lIEVSUiguLi4pIEVJTkFfTE9HX0RPTV9FUlIoX2V3a19sb2dfZG9t
LCBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgV1JOKC4uLikgRUlOQV9MT0dfRE9NX1dBUk4oX2V3a19s
b2dfZG9tLCBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgSU5GKC4uLikgRUlOQV9MT0dfRE9NX0lORk8o
X2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV0FSTiguLi4pIEVJTkFfTE9HX0RP
TV9XQVJOKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisjZGVmaW5lIElORk8oLi4uKSBFSU5B
X0xPR19ET01fSU5GTyhfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQogI2RlZmluZSBEQkcoLi4u
KSBFSU5BX0xPR19ET01fREJHKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCiAKICNlbmRpZiAv
LyBld2tfcHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5jcHAKaW5kZXggNWYwODc4Ni4uY2NiN2E5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMTY0Myw3ICsxNjQzLDcgQEAgdm9pZCBl
d2tfdmlld193ZWJwcm9jZXNzX2NyYXNoZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAKICAgICBp
ZiAoIWhhbmRsZWQpIHsKICAgICAgICAgQ1N0cmluZyB1cmwgPSBwcml2LT5wYWdlUHJveHktPnVy
bEF0UHJvY2Vzc0V4aXQoKS51dGY4KCk7Ci0gICAgICAgIFdSTigiV0FSTklORzogVGhlIHdlYiBw
cm9jZXNzIGV4cGVyaWVuY2VkIGEgY3Jhc2ggb24gJyVzJy5cbiIsIHVybC5kYXRhKCkpOworICAg
ICAgICBXQVJOKCJXQVJOSU5HOiBUaGUgd2ViIHByb2Nlc3MgZXhwZXJpZW5jZWQgYSBjcmFzaCBv
biAnJXMnLlxuIiwgdXJsLmRhdGEoKSk7CiAKICAgICAgICAgLy8gRGlzcGxheSBhbiBlcnJvciBw
YWdlCiAgICAgICAgIGV3a192aWV3X2h0bWxfc3RyaW5nX2xvYWQoZXdrVmlldywgIlRoZSB3ZWIg
cHJvY2VzcyBoYXMgY3Jhc2hlZC4iLCAwLCB1cmwuZGF0YSgpKTsK
</data>
<flag name="review"
          id="176734"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="176735"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164853</attachid>
            <date>2012-09-20 00:34:56 -0700</date>
            <delta_ts>2012-09-20 01:13:44 -0700</delta_ts>
            <desc>rebased patch</desc>
            <filename>log_macro_name2.patch</filename>
            <type>text/plain</type>
            <size>27754</size>
            <attacher name="Jinwoo Song">jinwoo7.song</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA2YjhjOTYwLi4xNTVhYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNjUgQEAKKzIwMTItMDktMjAgIEppbndvbyBTb25nICA8amlud29vNy5zb25nQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIENoYW5nZSB0aGUgbG9nIG1hY3JvIG5hbWVzIHRv
IGJlIG1vcmUgY29uc2lzdGVudCB3aXRoIEVJTkEgTE9HCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NzE1OAorCisgICAgICAgIFJldmlld2VkIGJ5IEtl
bm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIFNvbWUgbG9nIG1hY3JvIG5hbWVz
IGluIFdlYktpdDEgYXJlIGluY29uc2lzdGVudCB3aXRoIEVJTkEgTE9HIG5hbWVzCisgICAgICAg
IHN1Y2ggYXMgV1JOL0lORiBub3QgV0FSTi9JTkZPLgorCisgICAgICAgICAgI2RlZmluZSBXUk4o
Li4uKSBFSU5BX0xPR19ET01fV0FSTihfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQorICAgICAg
ICAgICNkZWZpbmUgSU5GKC4uLikgRUlOQV9MT0dfRE9NX0lORk8oX2V3a19sb2dfZG9tLCBfX1ZB
X0FSR1NfXykKKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIHN1Y2ggbmFtZXMgdG8g
YmUgY29uc2lzdGVudCB3aXRoIEVJTkEgTE9HJ3MgbmFtZXMuCisKKyAgICAgICAgKiBld2svZXdr
X2ZyYW1lLmNwcDoKKyAgICAgICAgKF9ld2tfZnJhbWVfc21hcnRfcmVzaXplKToKKyAgICAgICAg
KGV3a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV91cmlfY2hhbmdlZCk6
CisgICAgICAgICogZXdrL2V3a19tYWluLmNwcDoKKyAgICAgICAgKF9ld2tfaW5pdF9ib2R5KToK
KyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAgICAgKiBld2svZXdrX3RpbGVkX2Jh
Y2tpbmdfc3RvcmUuY3BwOgorICAgICAgICAoX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3JlbmRl
cik6CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVjYWxjX3JlbmRlcmVycyk6
CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3VsYXRlX29mZnNl
dF9mb3JjZSk6CisgICAgICAgIChfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfc21hcnRfY2FsY3Vs
YXRlX29mZnNldCk6CisgICAgICAgIChld2tfdGlsZWRfYmFja2luZ19zdG9yZV9wcmVfcmVuZGVy
X3JlbGF0aXZlX3JhZGl1cyk6CisgICAgICAgICogZXdrL2V3a190aWxlZF9tYXRyaXguY3BwOgor
ICAgICAgICAoZXdrX3RpbGVfbWF0cml4X2ZyZWUpOgorICAgICAgICAoZXdrX3RpbGVfbWF0cml4
X3RpbGVfZXhhY3RfZ2V0KToKKyAgICAgICAgKF9ld2tfdGlsZV9tYXRyaXhfc2xpY2VyX3NldHVw
KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0
X2FkZF9jb25zb2xlX21lc3NhZ2UpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X3J1bl9qYXZh
c2NyaXB0X2FsZXJ0KToKKyAgICAgICAgKF9ld2tfdmlld19zbWFydF9ydW5famF2YXNjcmlwdF9j
b25maXJtKToKKyAgICAgICAgKF9ld2tfdmlld19zbWFydF9zaG91bGRfaW50ZXJydXB0X2phdmFz
Y3JpcHQpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X3J1bl9qYXZhc2NyaXB0X3Byb21wdCk6
CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfcHJlX3JlbmRlcl9yZWdpb24pOgorICAgICAgICAo
X2V3a192aWV3X3NtYXJ0X3ByZV9yZW5kZXJfcmVsYXRpdmVfcmFkaXVzKToKKyAgICAgICAgKF9l
d2tfdmlld19zbWFydF9wcmVfcmVuZGVyX3N0YXJ0KToKKyAgICAgICAgKF9ld2tfdmlld19zbWFy
dF9wcmVfcmVuZGVyX2NhbmNlbCk6CisgICAgICAgIChfZXdrX3ZpZXdfc21hcnRfZGlzYWJsZV9y
ZW5kZXIpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2VuYWJsZV9yZW5kZXIpOgorICAgICAg
ICAoZXdrX3ZpZXdfYmdfY29sb3Jfc2V0KToKKyAgICAgICAgKGV3a192aWV3X3pvb21fc2V0KToK
KyAgICAgICAgKGV3a192aWV3X3pvb21fd2Vha19zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfem9v
bV9hbmltYXRlZF9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfc3RhdHVzYmFyX3RleHRfc2V0KToK
KyAgICAgICAgKGV3a192aWV3X2V4Y2VlZGVkX2FwcGxpY2F0aW9uX2NhY2hlX3F1b3RhKToKKyAg
ICAgICAgKGV3a192aWV3X2V4Y2VlZGVkX2RhdGFiYXNlX3F1b3RhKToKKyAgICAgICAgKGV3a192
aWV3X3Njcm9sbCk6CisgICAgICAgIChld2tfdmlld19wb3B1cF9uZXcpOgorICAgICAgICAoZXdr
X3ZpZXdfcG9wdXBfZGVzdHJveSk6CisgICAgICAgIChld2tfdmlld19wb3B1cF9zZWxlY3RlZF9z
ZXQpOgorICAgICAgICAoZXdrX3ZpZXdfY29sb3JfY2hvb3Nlcl9uZXcpOgorICAgICAgICAoZXdr
X3ZpZXdfY29sb3JfY2hvb3Nlcl9kZXN0cm95KToKKyAgICAgICAgKGV3a192aWV3X2NvbG9yX2No
b29zZXJfY29sb3Jfc2V0KToKKyAgICAgICAgKGV3a192aWV3X2NvbG9yX2Nob29zZXJfY2hhbmdl
ZCk6CisgICAgICAgIChld2tfdmlld196b29tX3JhbmdlX3NldCk6CisgICAgICAgICogZXdrL2V3
a192aWV3X3ByaXZhdGUuaDoKKwogMjAxMi0wOS0xOSAgSmlud29vIFNvbmcgIDxqaW53b283LnNv
bmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgRml4IHVudXNlZCBwYXJhbWV0ZXIgY29tcGlsZSB3
YXJuaW5ncyBpbiBXZWJLaXQvV2ViS2l0MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApp
bmRleCBmMjQzY2E4Li43M2FhMDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApA
QCAtMjYyLDcgKzI2Miw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfZnJhbWVfc21hcnRfcmVzaXplKEV2
YXNfT2JqZWN0KiBld2tGcmFtZSwgRXZhc19Db29yZCB3aWR0aCwgRXZhCiAgICAgZXZhc19vYmpl
Y3RfcmVzaXplKHNtYXJ0RGF0YS0+cmVnaW9uLCB3aWR0aCwgaGVpZ2h0KTsKICAgICBFdmFzX0Nv
b3JkIHgsIHk7CiAgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0KHNtYXJ0RGF0YS0+cmVnaW9u
LCAmeCwgJnksICZ3aWR0aCwgJmhlaWdodCk7Ci0gICAgSU5GKCJyZWdpb249JXAsIHZpc2libGU9
JWQsIGdlbz0lZCwlZCArICVkeCVkIiwKKyAgICBJTkZPKCJyZWdpb249JXAsIHZpc2libGU9JWQs
IGdlbz0lZCwlZCArICVkeCVkIiwKICAgICAgICAgc21hcnREYXRhLT5yZWdpb24sIGV2YXNfb2Jq
ZWN0X3Zpc2libGVfZ2V0KHNtYXJ0RGF0YS0+cmVnaW9uKSwgeCwgeSwgd2lkdGgsIGhlaWdodCk7
CiAgICAgX2V3a19mcmFtZV9kZWJ1Zyhld2tGcmFtZSk7CiAjZW5kaWYKQEAgLTE2NDMsNyArMTY0
Myw3IEBAIHNzaXplX3QgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3
a0ZyYW1lLCBjaGFyKiogZnJhbWVTb3VyY2UpCiAKICAgICBpZiAoIXNtYXJ0RGF0YS0+ZnJhbWUt
PmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpIHsKICAgICAgICAgLy8gRklYTUU6IFN1cHBv
cnQgb3RoZXJzIGRvY3VtZW50cy4KLSAgICAgICAgV1JOKCJPbmx5IEhUTUwgZG9jdW1lbnRzIGFy
ZSBzdXBwb3J0ZWQiKTsKKyAgICAgICAgV0FSTigiT25seSBIVE1MIGRvY3VtZW50cyBhcmUgc3Vw
cG9ydGVkIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKQEAgLTE3OTQsNyArMTc5NCw3
IEBAIGJvb2wgZXdrX2ZyYW1lX3VyaV9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKICAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnREYXRhLT5mcmFtZSwgZmFsc2Up
OwogICAgIFdURjo6Q1N0cmluZyB1cmkoc21hcnREYXRhLT5mcmFtZS0+ZG9jdW1lbnQoKS0+dXJs
KCkuc3RyaW5nKCkudXRmOCgpKTsKIAotICAgIElORigidXJpPSVzIiwgdXJpLmRhdGEoKSk7Cisg
ICAgSU5GTygidXJpPSVzIiwgdXJpLmRhdGEoKSk7CiAgICAgaWYgKCF1cmkuZGF0YSgpKSB7CiAg
ICAgICAgIEVSUigibm8gdXJpIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX21haW4uY3BwCmluZGV4IDU4NTBlZTguLmVmYTMzOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19tYWluLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIEVpbmFfQm9vbCBfZXdrX2luaXRfYm9k
eSh2b2lkKQogICAgIGdfdHlwZV9pbml0KCk7CiAKICAgICBpZiAoIWVjb3JlX21haW5fbG9vcF9n
bGliX2ludGVncmF0ZSgpKQotICAgICAgICBXUk4oIkVjb3JlIHdhcyBub3QgY29tcGlsZWQgd2l0
aCBHTGliIHN1cHBvcnQsIHNvbWUgcGx1Z2lucyB3aWxsIG5vdCAiCisgICAgICAgIFdBUk4oIkVj
b3JlIHdhcyBub3QgY29tcGlsZWQgd2l0aCBHTGliIHN1cHBvcnQsIHNvbWUgcGx1Z2lucyB3aWxs
IG5vdCAiCiAgICAgICAgICAgICAid29yayAoaWU6IEFkb2JlIEZsYXNoKSIpOwogCiAgICAgV2Vi
Q29yZTo6U2NyaXB0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBlMDk0ODNhLi4xMWVjMWFmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ByaXZhdGUuaApAQCAtNDYsOCArNDYsOCBAQCBleHRlcm4gaW50IF9ld2tfbG9n
X2RvbTsKIAogI2RlZmluZSBDUklUSUNBTCguLi4pIEVJTkFfTE9HX0RPTV9DUklUKF9ld2tfbG9n
X2RvbSwgX19WQV9BUkdTX18pCiAjZGVmaW5lIEVSUiguLi4pIEVJTkFfTE9HX0RPTV9FUlIoX2V3
a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgV1JOKC4uLikgRUlOQV9MT0dfRE9NX1dB
Uk4oX2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKLSNkZWZpbmUgSU5GKC4uLikgRUlOQV9MT0df
RE9NX0lORk8oX2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKKyNkZWZpbmUgV0FSTiguLi4pIEVJ
TkFfTE9HX0RPTV9XQVJOKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisjZGVmaW5lIElORk8o
Li4uKSBFSU5BX0xPR19ET01fSU5GTyhfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQogI2RlZmlu
ZSBEQkcoLi4uKSBFSU5BX0xPR19ET01fREJHKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCiAK
ICNlbmRpZiAvLyBld2tfcHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a190aWxlZF9iYWNraW5nX3N0b3JlLmNwcAppbmRleCAyZjlkN2ZkLi5kZGFlMTczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdGlsZWRfYmFja2luZ19zdG9yZS5jcHAKQEAg
LTU0OSw3ICs1NDksNyBAQCBzdGF0aWMgdm9pZCBfZXdrX3RpbGVkX2JhY2tpbmdfc3RvcmVfcmVu
ZGVyKHZvaWQqIGRhdGEsIEV3a19UaWxlKiB0aWxlLCBjb25zdCBFaQogewogICAgIEV3a19UaWxl
ZF9CYWNraW5nX1N0b3JlX0RhdGEqIHByaXYgPSBzdGF0aWNfY2FzdDxFd2tfVGlsZWRfQmFja2lu
Z19TdG9yZV9EYXRhKj4oZGF0YSk7CiAKLSAgICBJTkYoIlRPRE8gJXAgKHZpc2libGU/ICVkKSBb
JWx1LCVsdV0gJWQsJWQgKyAlZHglZCIsCisgICAgSU5GTygiVE9ETyAlcCAodmlzaWJsZT8gJWQp
IFslbHUsJWx1XSAlZCwlZCArICVkeCVkIiwKICAgICAgICAgdGlsZSwgdGlsZS0+dmlzaWJsZSwg
dGlsZS0+Y29sdW1uLCB0aWxlLT5yb3csIGFyZWEtPngsIGFyZWEtPnksIGFyZWEtPncsIGFyZWEt
PmgpOwogCiAgICAgaWYgKCF0aWxlLT52aXNpYmxlKQpAQCAtNzc0LDEyICs3NzQsMTIgQEAgc3Rh
dGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2hpZGUoRXZhc19PYmplY3Qq
IGV3a0JhY2tpbmdTdG9yZSkKIAogc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5nX3N0b3Jl
X3JlY2FsY19yZW5kZXJlcnMoRXdrX1RpbGVkX0JhY2tpbmdfU3RvcmVfRGF0YSogcHJpdiwgRXZh
c19Db29yZCB3aWR0aCwgRXZhc19Db29yZCBoZWlnaHQsIEV2YXNfQ29vcmQgdGlsZVdpZHRoLCBF
dmFzX0Nvb3JkIHRpbGVIZWlnaHQpCiB7Ci0gICAgSU5GKCJld2tCYWNraW5nU3RvcmU9JXAsIG5l
dyBzaXplOiAlZHglZCIsIHByaXYtPnNlbGYsIHdpZHRoLCBoZWlnaHQpOworICAgIElORk8oImV3
a0JhY2tpbmdTdG9yZT0lcCwgbmV3IHNpemU6ICVkeCVkIiwgcHJpdi0+c2VsZiwgd2lkdGgsIGhl
aWdodCk7CiAKICAgICB1bnNpZ25lZCBsb25nIGNvbHVtbnMgPSAxICsgc3RhdGljX2Nhc3Q8dW5z
aWduZWQgbG9uZz4oY2VpbCh3aWR0aCAvIHN0YXRpY19jYXN0PGZsb2F0Pih0aWxlV2lkdGgpKSk7
CiAgICAgdW5zaWduZWQgbG9uZyByb3dzID0gMSArIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+
KGNlaWwoaGVpZ2h0IC8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRpbGVIZWlnaHQpKSk7CiAKLSAgICBJ
TkYoImV3a0JhY2tpbmdTdG9yZT0lcCBuZXcgZ3JpZCBzaXplIGNvbHVtbnM6ICVsdSwgcm93czog
JWx1LCB3YXMgJWx1LCAlbHUiLCBwcml2LT5zZWxmLCBjb2x1bW5zLCByb3dzLCBwcml2LT52aWV3
LmNvbHVtbnMsIHByaXYtPnZpZXcucm93cyk7CisgICAgSU5GTygiZXdrQmFja2luZ1N0b3JlPSVw
IG5ldyBncmlkIHNpemUgY29sdW1uczogJWx1LCByb3dzOiAlbHUsIHdhcyAlbHUsICVsdSIsIHBy
aXYtPnNlbGYsIGNvbHVtbnMsIHJvd3MsIHByaXYtPnZpZXcuY29sdW1ucywgcHJpdi0+dmlldy5y
b3dzKTsKIAogICAgIGlmIChwcml2LT52aWV3LmNvbHVtbnMgPT0gY29sdW1ucyAmJiBwcml2LT52
aWV3LnJvd3MgPT0gcm93cykKICAgICAgICAgcmV0dXJuOwpAQCAtMTEzNCw3ICsxMTM0LDcgQEAg
c3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNraW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZV9vZmZz
ZXRfZm9yY2UoRXdrX1RpbGVkX0JhY2sKICAgICBFdmFzX0Nvb3JkIGRlbHRhWCA9IHByaXYtPnZp
ZXcub2Zmc2V0LmN1cnJlbnQueCAtIHByaXYtPnZpZXcub2Zmc2V0Lm9sZC54OwogICAgIEV2YXNf
Q29vcmQgZGVsdGFZID0gcHJpdi0+dmlldy5vZmZzZXQuY3VycmVudC55IC0gcHJpdi0+dmlldy5v
ZmZzZXQub2xkLnk7CiAKLSAgICBJTkYoImV3a0JhY2tpbmdTdG9yZT0lcCwgb2Zmc2V0OiAlKzRk
LCAlKzRkICglKzRkLCAlKzRkKSIsCisgICAgSU5GTygiZXdrQmFja2luZ1N0b3JlPSVwLCBvZmZz
ZXQ6ICUrNGQsICUrNGQgKCUrNGQsICUrNGQpIiwKICAgICAgICAgcHJpdi0+c2VsZiwgZGVsdGFY
LCBkZWx0YVksIHByaXYtPnZpZXcub2Zmc2V0LmN1cnJlbnQueCwgcHJpdi0+dmlldy5vZmZzZXQu
Y3VycmVudC55KTsKIAogICAgIEV2YXNfQ29vcmQgdGlsZVdpZHRoID0gcHJpdi0+dmlldy50aWxl
LndpZHRoOwpAQCAtMTE2MCw3ICsxMTYwLDcgQEAgc3RhdGljIHZvaWQgX2V3a190aWxlZF9iYWNr
aW5nX3N0b3JlX3NtYXJ0X2NhbGN1bGF0ZV9vZmZzZXQoRXdrX1RpbGVkX0JhY2tpbmdfU3QKICAg
ICBFdmFzX0Nvb3JkIGRlbHRhWCA9IHByaXYtPnZpZXcub2Zmc2V0LmN1cnJlbnQueCAtIHByaXYt
PnZpZXcub2Zmc2V0Lm9sZC54OwogICAgIEV2YXNfQ29vcmQgZGVsdGFZID0gcHJpdi0+dmlldy5v
ZmZzZXQuY3VycmVudC55IC0gcHJpdi0+dmlldy5vZmZzZXQub2xkLnk7CiAKLSAgICBJTkYoImV3
a0JhY2tpbmdTdG9yZT0lcCwgb2Zmc2V0OiAlKzRkLCAlKzRkICglKzRkLCAlKzRkKSIsIHByaXYt
PnNlbGYsIGRlbHRhWCwgZGVsdGFZLCBwcml2LT52aWV3Lm9mZnNldC5jdXJyZW50LngsIHByaXYt
PnZpZXcub2Zmc2V0LmN1cnJlbnQueSk7CisgICAgSU5GTygiZXdrQmFja2luZ1N0b3JlPSVwLCBv
ZmZzZXQ6ICUrNGQsICUrNGQgKCUrNGQsICUrNGQpIiwgcHJpdi0+c2VsZiwgZGVsdGFYLCBkZWx0
YVksIHByaXYtPnZpZXcub2Zmc2V0LmN1cnJlbnQueCwgcHJpdi0+dmlldy5vZmZzZXQuY3VycmVu
dC55KTsKIAogICAgIGlmICghZGVsdGFYICYmICFkZWx0YVkpCiAgICAgICAgIHJldHVybjsKQEAg
LTE4ODEsMTMgKzE4ODEsMTMgQEAgYm9vbCBld2tfdGlsZWRfYmFja2luZ19zdG9yZV9wcmVfcmVu
ZGVyX3JlbGF0aXZlX3JhZGl1cyhFdmFzX09iamVjdCogZXdrQmFja2luZ1MKIHsKICAgICBQUklW
X0RBVEFfR0VUX09SX1JFVFVSTihld2tCYWNraW5nU3RvcmUsIHByaXYsIGZhbHNlKTsKIAotICAg
IElORigicHJpdi0+bW9kZWwuYmFzZS5yb3cgPSVsZCwgbj0ldSBwcml2LT52aWV3LnJvd3M9JWx1
IiwgcHJpdi0+bW9kZWwuYmFzZS5yb3csIG4sIHByaXYtPnZpZXcucm93cyk7CisgICAgSU5GTygi
cHJpdi0+bW9kZWwuYmFzZS5yb3cgPSVsZCwgbj0ldSBwcml2LT52aWV3LnJvd3M9JWx1IiwgcHJp
di0+bW9kZWwuYmFzZS5yb3csIG4sIHByaXYtPnZpZXcucm93cyk7CiAgICAgdW5zaWduZWQgbG9u
ZyBzdGFydFJvdyA9IHByaXYtPm1vZGVsLmJhc2Uucm93IC0gbjsKICAgICB1bnNpZ25lZCBsb25n
IHN0YXJ0Q29sID0gcHJpdi0+bW9kZWwuYmFzZS5jb2x1bW4gLSBuOwogICAgIHVuc2lnbmVkIGxv
bmcgZW5kUm93ID0gc3RkOjptaW4ocHJpdi0+bW9kZWwuY3VycmVudC5yb3dzIC0gMSwgcHJpdi0+
bW9kZWwuYmFzZS5yb3cgKyBwcml2LT52aWV3LnJvd3MgKyBuIC0gMSk7CiAgICAgdW5zaWduZWQg
bG9uZyBlbmRDb2wgPSBzdGQ6Om1pbihwcml2LT5tb2RlbC5jdXJyZW50LmNvbHVtbnMgLSAxLCBw
cml2LT5tb2RlbC5iYXNlLmNvbHVtbiArIHByaXYtPnZpZXcuY29sdW1ucyArIG4gLSAxKTsKIAot
ICAgIElORigic3RhcnRSb3c9JWx1LCBlbmRSb3c9JWx1LCBzdGFydENvbD0lbHUsIGVuZENvbD0l
bHUiLCBzdGFydFJvdywgZW5kUm93LCBzdGFydENvbCwgZW5kQ29sKTsKKyAgICBJTkZPKCJzdGFy
dFJvdz0lbHUsIGVuZFJvdz0lbHUsIHN0YXJ0Q29sPSVsdSwgZW5kQ29sPSVsdSIsIHN0YXJ0Um93
LCBlbmRSb3csIHN0YXJ0Q29sLCBlbmRDb2wpOwogCiAgICAgem9vbSA9IFJPVU5ERURfWk9PTShw
cml2LT52aWV3LnRpbGUud2lkdGgsIHpvb20pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3RpbGVkX21hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3RpbGVkX21hdHJpeC5jcHAKaW5kZXggYTFjMDI5ZC4uMGYyZDAzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a190aWxlZF9tYXRyaXguY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdGlsZWRfbWF0cml4LmNwcApAQCAtMzIxLDE0ICszMjEsMTQgQEAgdm9p
ZCBld2tfdGlsZV9tYXRyaXhfZnJlZShFd2tfVGlsZV9NYXRyaXgqIHRpbGVNYXRyaXgpCiAgICAg
ICAgICAgICB0aWxlTWF0cml4LT5zdGF0cy50aWxlcy5hbGxvY2F0ZWQsIHRpbGVNYXRyaXgtPnN0
YXRzLnRpbGVzLmZyZWVkLCB0aWxlcywKICAgICAgICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLmJ5
dGVzLmFsbG9jYXRlZCwgdGlsZU1hdHJpeC0+c3RhdHMuYnl0ZXMuZnJlZWQsIGJ5dGVzKTsKICAg
ICBlbHNlIGlmICh0aWxlc19sZWFrZWQgfHwgYnl0ZXNfbGVha2VkKQotICAgICAgICBXUk4oInRp
bGVkIG1hdHJpeCBoYWQgbm8gbGVha3M6IHRpbGVzWyslIiBQUkl1NjQgIiwtJSIgUFJJdTY0ICJd
ICIKKyAgICAgICAgV0FSTigidGlsZWQgbWF0cml4IGhhZCBubyBsZWFrczogdGlsZXNbKyUiIFBS
SXU2NCAiLC0lIiBQUkl1NjQgIl0gIgogICAgICAgICAgICAgImJ5dGVzWyslIiBQUkl1NjQgIiwt
JSIgUFJJdTY0ICJdLCBidXQgc29tZSBvdGhlciBsZWFrZWQgIgogICAgICAgICAgICAgIiUiIFBS
SXU2NCAiIHRpbGVzICglIiBQUkl1NjQgIiBieXRlcykiLAogICAgICAgICAgICAgdGlsZU1hdHJp
eC0+c3RhdHMudGlsZXMuYWxsb2NhdGVkLCB0aWxlTWF0cml4LT5zdGF0cy50aWxlcy5mcmVlZCwK
ICAgICAgICAgICAgIHRpbGVNYXRyaXgtPnN0YXRzLmJ5dGVzLmFsbG9jYXRlZCwgdGlsZU1hdHJp
eC0+c3RhdHMuYnl0ZXMuZnJlZWQsCiAgICAgICAgICAgICB0aWxlc19sZWFrZWQsIGJ5dGVzX2xl
YWtlZCk7CiAgICAgZWxzZQotICAgICAgICBJTkYoInRpbGVkIG1hdHJpeCBoYWQgbm8gbGVha3M6
IHRpbGVzWyslIiBQUkl1NjQgIiwtJSIgUFJJdTY0ICJdICIKKyAgICAgICAgSU5GTygidGlsZWQg
bWF0cml4IGhhZCBubyBsZWFrczogdGlsZXNbKyUiIFBSSXU2NCAiLC0lIiBQUkl1NjQgIl0gIgog
ICAgICAgICAgICAgImJ5dGVzWyslIiBQUkl1NjQgIiwtJSIgUFJJdTY0ICJdIiwKICAgICAgICAg
ICAgIHRpbGVNYXRyaXgtPnN0YXRzLnRpbGVzLmFsbG9jYXRlZCwgdGlsZU1hdHJpeC0+c3RhdHMu
dGlsZXMuZnJlZWQsCiAgICAgICAgICAgICB0aWxlTWF0cml4LT5zdGF0cy5ieXRlcy5hbGxvY2F0
ZWQsIHRpbGVNYXRyaXgtPnN0YXRzLmJ5dGVzLmZyZWVkKTsKQEAgLTM5OSw3ICszOTksNyBAQCBF
d2tfVGlsZSogZXdrX3RpbGVfbWF0cml4X3RpbGVfZXhhY3RfZ2V0KEV3a19UaWxlX01hdHJpeCog
dGlsZU1hdHJpeCwgdW5zaWduZWQgbAogI2lmbmRlZiBOREVCVUcKICAgICBpZiAoIXRpbGUtPnZp
c2libGUpIHsKICAgICAgICAgaWYgKCFld2tfdGlsZV91bnVzZWRfY2FjaGVfdGlsZV9nZXQodGls
ZU1hdHJpeC0+dGlsZVVudXNlZENhY2hlLCB0aWxlKSkKLSAgICAgICAgICAgIFdSTigiRXdrX1Rp
bGUgd2FzIHVudXNlZCBidXQgbm90IGluIGNhY2hlPyBidWchIik7CisgICAgICAgICAgICBXQVJO
KCJFd2tfVGlsZSB3YXMgdW51c2VkIGJ1dCBub3QgaW4gY2FjaGU/IGJ1ZyEiKTsKICAgICB9CiAj
ZW5kaWYKIApAQCAtNTIxLDcgKzUyMSw3IEBAIHN0YXRpYyBib29sIF9ld2tfdGlsZV9tYXRyaXhf
c2xpY2VyX3NldHVwKEV3a19UaWxlX01hdHJpeCogdGlsZU1hdHJpeCwgY29uc3QgRWluCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHpvb20pOwogICAgIGlmIChhcmVhLT53IDw9IDAgfHwgYXJlYS0+aCA8
PSAwKSB7Ci0gICAgICAgIFdSTigiaW52YWxpZCBhcmVhIHJlZ2lvbjogJWQsJWQrJWR4JWQuIiwg
YXJlYS0+eCwgYXJlYS0+eSwgYXJlYS0+dywgYXJlYS0+aCk7CisgICAgICAgIFdBUk4oImludmFs
aWQgYXJlYSByZWdpb246ICVkLCVkKyVkeCVkLiIsIGFyZWEtPngsIGFyZWEtPnksIGFyZWEtPncs
IGFyZWEtPmgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmNwcAppbmRleCBjMDgwYTBhLi5mMGI2OTY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdmlldy5jcHAKQEAgLTYxOSwyNCArNjE5LDI0IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192
aWV3X3NtYXJ0X2tleV91cChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIGNvbnN0IEV2
CiAKIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9hZGRfY29uc29sZV9tZXNzYWdlKEV3a19W
aWV3X1NtYXJ0X0RhdGEqLCBjb25zdCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZU51
bWJlciwgY29uc3QgY2hhciogc291cmNlSUQpCiB7Ci0gICAgSU5GKCJjb25zb2xlIG1lc3NhZ2U6
ICVzIEAlZDogJXNcbiIsIHNvdXJjZUlELCBsaW5lTnVtYmVyLCBtZXNzYWdlKTsKKyAgICBJTkZP
KCJjb25zb2xlIG1lc3NhZ2U6ICVzIEAlZDogJXNcbiIsIHNvdXJjZUlELCBsaW5lTnVtYmVyLCBt
ZXNzYWdlKTsKIH0KIAogc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X3J1bl9qYXZhc2NyaXB0
X2FsZXJ0KEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX09iamVjdCogLypmcmFtZSovLCBjb25z
dCBjaGFyKiBtZXNzYWdlKQogewotICAgIElORigiamF2YXNjcmlwdCBhbGVydDogJXNcbiIsIG1l
c3NhZ2UpOworICAgIElORk8oImphdmFzY3JpcHQgYWxlcnQ6ICVzXG4iLCBtZXNzYWdlKTsKIH0K
IAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfcnVuX2phdmFzY3JpcHRfY29uZmly
bShFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19PYmplY3QqIC8qZnJhbWUqLywgY29uc3QgY2hh
ciogbWVzc2FnZSkKIHsKLSAgICBJTkYoImphdmFzY3JpcHQgY29uZmlybTogJXMiLCBtZXNzYWdl
KTsKLSAgICBJTkYoImphdmFzY3JpcHQgY29uZmlybSAoSEFSRCBDT0RFRCk/IFlFUyIpOworICAg
IElORk8oImphdmFzY3JpcHQgY29uZmlybTogJXMiLCBtZXNzYWdlKTsKKyAgICBJTkZPKCJqYXZh
c2NyaXB0IGNvbmZpcm0gKEhBUkQgQ09ERUQpPyBZRVMiKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfc2hvdWxkX2ludGVycnVwdF9qYXZh
c2NyaXB0KEV3a19WaWV3X1NtYXJ0X0RhdGEqKQogewotICAgIElORigic2hvdWxkIGludGVycnVw
dCBqYXZhc2NyaXB0P1xuIgorICAgIElORk8oInNob3VsZCBpbnRlcnJ1cHQgamF2YXNjcmlwdD9c
biIKICAgICAgICAgIlx0KEhBUkQgQ09ERUQpIE5PIik7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpA
QCAtNjQ1LDcgKzY0NSw3IEBAIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3NtYXJ0X3J1bl9q
YXZhc2NyaXB0X3Byb21wdChFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhCiB7CiAgICAgKnZhbHVl
ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoInRlc3QiKTsKICAgICBFaW5hX0Jvb2wgcmVzdWx0ID0g
dHJ1ZTsKLSAgICBJTkYoImphdmFzY3JpcHQgcHJvbXB0OlxuIgorICAgIElORk8oImphdmFzY3Jp
cHQgcHJvbXB0OlxuIgogICAgICAgICAiXHQgICAgICBtZXNzYWdlOiAlc1xuIgogICAgICAgICAi
XHRkZWZhdWx0IHZhbHVlOiAlc1xuIgogICAgICAgICAiXHRnaXZpbmcgYW5zd2VyOiAlc1xuIgpA
QCAtMTE2OCwyNyArMTE2OCwyNyBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfZmx1c2go
RXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tf
dmlld19zbWFydF9wcmVfcmVuZGVyX3JlZ2lvbihFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERh
dGEsIEV2YXNfQ29vcmQgeCwgRXZhc19Db29yZCB5LCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nv
b3JkIGhlaWdodCwgZmxvYXQgem9vbSkKIHsKLSAgICBXUk4oIm5vdCBzdXBwb3J0ZWQgYnkgZW5n
aW5lLiBzbWFydERhdGE9JXAgYXJlYT0lZCwlZCslZHglZCwgem9vbT0lZiIsCisgICAgV0FSTigi
bm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCBhcmVhPSVkLCVkKyVkeCVkLCB6
b29tPSVmIiwKICAgICAgICAgc21hcnREYXRhLCB4LCB5LCB3aWR0aCwgaGVpZ2h0LCB6b29tKTsK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIHN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3NtYXJ0
X3ByZV9yZW5kZXJfcmVsYXRpdmVfcmFkaXVzKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0
YSwgdW5zaWduZWQgaW50IG51bWJlciwgZmxvYXQgem9vbSkKIHsKLSAgICBXUk4oIm5vdCBzdXBw
b3J0ZWQgYnkgZW5naW5lLiBzbWFydERhdGE9JXAsIG49JXUgem9vbT0lZiIsCisgICAgV0FSTigi
bm90IHN1cHBvcnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCwgbj0ldSB6b29tPSVmIiwKICAg
ICAgICAgc21hcnREYXRhLCBudW1iZXIsIHpvb20pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAog
c3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfcHJlX3JlbmRlcl9zdGFydChFd2tfVmll
d19TbWFydF9EYXRhKiBzbWFydERhdGEpCiB7Ci0gICAgV1JOKCJub3Qgc3VwcG9ydGVkIGJ5IGVu
Z2luZS4gc21hcnREYXRhPSVwIiwgc21hcnREYXRhKTsKKyAgICBXQVJOKCJub3Qgc3VwcG9ydGVk
IGJ5IGVuZ2luZS4gc21hcnREYXRhPSVwIiwgc21hcnREYXRhKTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9wcmVfcmVuZGVyX2NhbmNlbChFd2tf
Vmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiB7Ci0gICAgV1JOKCJub3Qgc3VwcG9ydGVkIGJ5
IGVuZ2luZS4gc21hcnREYXRhPSVwIiwgc21hcnREYXRhKTsKKyAgICBXQVJOKCJub3Qgc3VwcG9y
dGVkIGJ5IGVuZ2luZS4gc21hcnREYXRhPSVwIiwgc21hcnREYXRhKTsKIH0KIAogc3RhdGljIHZv
aWQgX2V3a192aWV3X3pvb21fYW5pbWF0ZWRfbWFya19zdG9wKEV3a19WaWV3X1NtYXJ0X0RhdGEq
IHNtYXJ0RGF0YSkKQEAgLTEyNzgsMTMgKzEyNzgsMTMgQEAgc3RhdGljIFdlYkNvcmU6OlZpZXdw
b3J0QXR0cmlidXRlcyBfZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19jb21wdXRlKGNvbnN0
IEUKIAogc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfZGlzYWJsZV9yZW5kZXIoRXdr
X1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhKQogewotICAgIFdSTigibm90IHN1cHBvcnRlZCBi
eSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCIsIHNtYXJ0RGF0YSk7CisgICAgV0FSTigibm90IHN1cHBv
cnRlZCBieSBlbmdpbmUuIHNtYXJ0RGF0YT0lcCIsIHNtYXJ0RGF0YSk7CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9lbmFibGVfcmVuZGVy
KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIHsKLSAgICBXUk4oIm5vdCBzdXBwb3J0
ZWQgYnkgZW5naW5lLiBzbWFydERhdGE9JXAiLCBzbWFydERhdGEpOworICAgIFdBUk4oIm5vdCBz
dXBwb3J0ZWQgYnkgZW5naW5lLiBzbWFydERhdGE9JXAiLCBzbWFydERhdGEpOwogICAgIHJldHVy
biBmYWxzZTsKIH0KIApAQCAtMTQ2NiwxOSArMTQ2NiwxOSBAQCB2b2lkIGV3a192aWV3X2JnX2Nv
bG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IHJlZCwgaW50IGdyZWVuLCBpbnQgYmx1
ZSwgaQogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHNtYXJ0RGF0YS0+YXBpLT5iZ19j
b2xvcl9zZXQpOwogCiAgICAgaWYgKGFscGhhIDwgMCkgewotICAgICAgICBXUk4oIkFscGhhIGxl
c3MgdGhhbiB6ZXJvICglZCkuIiwgYWxwaGEpOworICAgICAgICBXQVJOKCJBbHBoYSBsZXNzIHRo
YW4gemVybyAoJWQpLiIsIGFscGhhKTsKICAgICAgICAgYWxwaGEgPSAwOwogICAgIH0gZWxzZSBp
ZiAoYWxwaGEgPiAyNTUpIHsKLSAgICAgICAgV1JOKCJBbHBoYSBpcyBsYXJnZXIgdGhhbiAyNTUg
KCVkKS4iLCBhbHBoYSk7CisgICAgICAgIFdBUk4oIkFscGhhIGlzIGxhcmdlciB0aGFuIDI1NSAo
JWQpLiIsIGFscGhhKTsKICAgICAgICAgYWxwaGEgPSAyNTU7CiAgICAgfQogCiAjZGVmaW5lIENI
RUNLX1BSRU1VTF9DT0xPUihjb2xvciwgYWxwaGEpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBpZiAoY29sb3IgPCAwKSB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFdSTigiQ29sb3Ig
Y29tcG9uZW50ICIgI2NvbG9yICIgaXMgbGVzcyB0aGFuIHplcm8gKCVkKS4iLCBjb2xvcik7ICAg
ICAgICAgXAorICAgICAgICBXQVJOKCJDb2xvciBjb21wb25lbnQgIiAjY29sb3IgIiBpcyBsZXNz
IHRoYW4gemVybyAoJWQpLiIsIGNvbG9yKTsgICAgICAgICBcCiAgICAgICAgIGNvbG9yID0gMDsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIH0gZWxzZSBpZiAoY29sb3IgPiBhbHBoYSkgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFdSTigiQ29sb3IgY29tcG9uZW50
ICIgI2NvbG9yICIgaXMgZ3JlYXRlciB0aGFuIGFscGhhICglZCwgYWxwaGE9JWQpLiIsIFwKKyAg
ICAgICAgV0FSTigiQ29sb3IgY29tcG9uZW50ICIgI2NvbG9yICIgaXMgZ3JlYXRlciB0aGFuIGFs
cGhhICglZCwgYWxwaGE9JWQpLiIsIFwKICAgICAgICAgICAgIGNvbG9yLCBhbHBoYSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAg
ICBjb2xvciA9IGFscGhhOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCiAgICAgfQpAQCAtMTc4NSwxNiArMTc4NSwxNiBAQCBFaW5hX0Jv
b2wgZXdrX3ZpZXdfem9vbV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGZsb2F0IHpvb20sIEV2
YXNfQ29vcmQgY2VudGVyWAogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFy
dERhdGEtPmFwaS0+em9vbV9zZXQsIGZhbHNlKTsKIAogICAgIGlmICghcHJpdi0+c2V0dGluZ3Mu
em9vbVJhbmdlLnVzZXJTY2FsYWJsZSkgewotICAgICAgICBXUk4oInVzZXJTY2FsYWJsZSBpcyBm
YWxzZSIpOworICAgICAgICBXQVJOKCJ1c2VyU2NhbGFibGUgaXMgZmFsc2UiKTsKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIGlmICh6b29tIDwgcHJpdi0+c2V0dGluZ3Muem9v
bVJhbmdlLm1pblNjYWxlKSB7Ci0gICAgICAgIFdSTigiem9vbSBsZXZlbCBpcyA8ICVmIDogJWYi
LCBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWluU2NhbGUsIHpvb20pOworICAgICAgICBXQVJO
KCJ6b29tIGxldmVsIGlzIDwgJWYgOiAlZiIsIHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5taW5T
Y2FsZSwgem9vbSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgaWYgKHpvb20g
PiBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWF4U2NhbGUpIHsKLSAgICAgICAgV1JOKCJ6b29t
IGxldmVsIGlzID4gJWYgOiAlZiIsIHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5tYXhTY2FsZSwg
em9vbSk7CisgICAgICAgIFdBUk4oInpvb20gbGV2ZWwgaXMgPiAlZiA6ICVmIiwgcHJpdi0+c2V0
dGluZ3Muem9vbVJhbmdlLm1heFNjYWxlLCB6b29tKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIApAQCAtMTg3MywxNiArMTg3MywxNiBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfem9vbV93
ZWFrX3NldChFdmFzX09iamVjdCogZXdrVmlldywgZmxvYXQgem9vbSwgRXZhc19Db29yZCBjZQog
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERhdGEtPmFwaS0+em9vbV93
ZWFrX3NldCwgZmFsc2UpOwogCiAgICAgaWYgKCFwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UudXNl
clNjYWxhYmxlKSB7Ci0gICAgICAgIFdSTigidXNlclNjYWxhYmxlIGlzIGZhbHNlIik7CisgICAg
ICAgIFdBUk4oInVzZXJTY2FsYWJsZSBpcyBmYWxzZSIpOwogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgfQogCiAgICAgaWYgKHpvb20gPCBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWluU2Nh
bGUpIHsKLSAgICAgICAgV1JOKCJ6b29tIGxldmVsIGlzIDwgJWYgOiAlZiIsIHByaXYtPnNldHRp
bmdzLnpvb21SYW5nZS5taW5TY2FsZSwgem9vbSk7CisgICAgICAgIFdBUk4oInpvb20gbGV2ZWwg
aXMgPCAlZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLm1pblNjYWxlLCB6b29tKTsK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICBpZiAoem9vbSA+IHByaXYtPnNldHRp
bmdzLnpvb21SYW5nZS5tYXhTY2FsZSkgewotICAgICAgICBXUk4oInpvb20gbGV2ZWwgaXMgPiAl
ZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdlLm1heFNjYWxlLCB6b29tKTsKKyAgICAg
ICAgV0FSTigiem9vbSBsZXZlbCBpcyA+ICVmIDogJWYiLCBwcml2LT5zZXR0aW5ncy56b29tUmFu
Z2UubWF4U2NhbGUsIHpvb20pOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0x
OTI5LDE2ICsxOTI5LDE2IEBAIEVpbmFfQm9vbCBld2tfdmlld196b29tX2FuaW1hdGVkX3NldChF
dmFzX09iamVjdCogZXdrVmlldywgZmxvYXQgem9vbSwgZmxvYXQgZHVyCiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0RGF0YS0+YXBpLT56b29tX3dlYWtfc2V0LCBmYWxz
ZSk7CiAKICAgICBpZiAoIXByaXYtPnNldHRpbmdzLnpvb21SYW5nZS51c2VyU2NhbGFibGUpIHsK
LSAgICAgICAgV1JOKCJ1c2VyU2NhbGFibGUgaXMgZmFsc2UiKTsKKyAgICAgICAgV0FSTigidXNl
clNjYWxhYmxlIGlzIGZhbHNlIik7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAg
ICBpZiAoem9vbSA8IHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5taW5TY2FsZSkgewotICAgICAg
ICBXUk4oInpvb20gbGV2ZWwgaXMgPCAlZiA6ICVmIiwgcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdl
Lm1pblNjYWxlLCB6b29tKTsKKyAgICAgICAgV0FSTigiem9vbSBsZXZlbCBpcyA8ICVmIDogJWYi
LCBwcml2LT5zZXR0aW5ncy56b29tUmFuZ2UubWluU2NhbGUsIHpvb20pOwogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogICAgIGlmICh6b29tID4gcHJpdi0+c2V0dGluZ3Muem9vbVJhbmdl
Lm1heFNjYWxlKSB7Ci0gICAgICAgIFdSTigiem9vbSBsZXZlbCBpcyA+ICVmIDogJWYiLCBwcml2
LT5zZXR0aW5ncy56b29tUmFuZ2UubWF4U2NhbGUsIHpvb20pOworICAgICAgICBXQVJOKCJ6b29t
IGxldmVsIGlzID4gJWYgOiAlZiIsIHByaXYtPnNldHRpbmdzLnpvb21SYW5nZS5tYXhTY2FsZSwg
em9vbSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKQEAgLTMzOTAsNyArMzM5MCw3
IEBAIHZvaWQgZXdrX3ZpZXdfc3RhdHVzYmFyX3Zpc2libGVfZ2V0KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBib29sKiB2aXNpYmxlKQogdm9pZCBld2tfdmlld19zdGF0dXNiYXJfdGV4dF9zZXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHRleHQpCiB7CiAgICAgREJHKCJld2tWaWV3
PSVwICh0ZXh0PSVzKSIsIGV3a1ZpZXcsIHRleHQpOwotICAgIElORigic3RhdHVzIGJhciB0ZXh0
IHNldDogJXMiLCB0ZXh0KTsKKyAgICBJTkZPKCJzdGF0dXMgYmFyIHRleHQgc2V0OiAlcyIsIHRl
eHQpOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgInN0YXR1
c2Jhcix0ZXh0LHNldCIsICh2b2lkKil0ZXh0KTsKIH0KIApAQCAtMzYwMSw3ICszNjAxLDcgQEAg
aW50NjRfdCBld2tfdmlld19leGNlZWRlZF9hcHBsaWNhdGlvbl9jYWNoZV9xdW90YShFdmFzX09i
amVjdCogZXdrVmlldywgRXdrX1NlY3UKICAgICBpZiAoIXNtYXJ0RGF0YS0+YXBpLT5leGNlZWRl
ZF9hcHBsaWNhdGlvbl9jYWNoZV9xdW90YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBJTkYo
ImRlZmF1bHRPcmlnaW5RdW90YT0lIiBQUkl1NjQgIiB0b3RhbFNwYWNlTmVlZGVkPSUiIFBSSXU2
NCwgZGVmYXVsdE9yaWdpblF1b3RhLCB0b3RhbFNwYWNlTmVlZGVkKTsKKyAgICBJTkZPKCJkZWZh
dWx0T3JpZ2luUXVvdGE9JSIgUFJJdTY0ICIgdG90YWxTcGFjZU5lZWRlZD0lIiBQUkl1NjQsIGRl
ZmF1bHRPcmlnaW5RdW90YSwgdG90YWxTcGFjZU5lZWRlZCk7CiAgICAgcmV0dXJuIHNtYXJ0RGF0
YS0+YXBpLT5leGNlZWRlZF9hcHBsaWNhdGlvbl9jYWNoZV9xdW90YShzbWFydERhdGEsIG9yaWdp
biwgZGVmYXVsdE9yaWdpblF1b3RhLCB0b3RhbFNwYWNlTmVlZGVkKTsKIH0KIApAQCAtMzYyNyw3
ICszNjI3LDcgQEAgdWludDY0X3QgZXdrX3ZpZXdfZXhjZWVkZWRfZGF0YWJhc2VfcXVvdGEoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfT2JqZWN0KiBmcmEKICAgICBpZiAoIXNtYXJ0RGF0YS0+
YXBpLT5leGNlZWRlZF9kYXRhYmFzZV9xdW90YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBJ
TkYoImN1cnJlbnRTaXplPSUiIFBSSXU2NCAiIGV4cGVjdGVkU2l6ZT0lIiBQUkl1NjQsIGN1cnJl
bnRTaXplLCBleHBlY3RlZFNpemUpOworICAgIElORk8oImN1cnJlbnRTaXplPSUiIFBSSXU2NCAi
IGV4cGVjdGVkU2l6ZT0lIiBQUkl1NjQsIGN1cnJlbnRTaXplLCBleHBlY3RlZFNpemUpOwogICAg
IHJldHVybiBzbWFydERhdGEtPmFwaS0+ZXhjZWVkZWRfZGF0YWJhc2VfcXVvdGEoc21hcnREYXRh
LCBmcmFtZSwgZGF0YWJhc2VOYW1lLCBjdXJyZW50U2l6ZSwgZXhwZWN0ZWRTaXplKTsKIH0KIApA
QCAtMzY3Niw3ICszNjc2LDcgQEAgdm9pZCBld2tfdmlld19zY3JvbGwoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIEV2YXNfQ29vcmQgZGVsdGFYLCBFdmFzX0Nvb3JkIGRlbHRhWSwKICAgICAgICAgZXdr
VmlldywgZGVsdGFYLCBkZWx0YVksIHNjcm9sbFgsIHNjcm9sbFksIHNjcm9sbFdpZHRoLCBzY3Jv
bGxIZWlnaHQsIGNlbnRlclgsIGNlbnRlclksIGNlbnRlcldpZHRoLCBjZW50ZXJIZWlnaHQpOwog
CiAgICAgaWYgKChzY3JvbGxYICE9IGNlbnRlclgpIHx8IChzY3JvbGxZICE9IGNlbnRlclkpIHx8
IChzY3JvbGxXaWR0aCAhPSBjZW50ZXJXaWR0aCkgfHwgKHNjcm9sbEhlaWdodCAhPSBjZW50ZXJI
ZWlnaHQpKQotICAgICAgICBXUk4oInNjcm9sbCByZWdpb24gYW5kIGNsaXAgYXJlIGRpZmZlcmVu
dCEgJWQsJWQrJWR4JWQgYW5kICVkLCVkKyVkeCVkIiwKKyAgICAgICAgV0FSTigic2Nyb2xsIHJl
Z2lvbiBhbmQgY2xpcCBhcmUgZGlmZmVyZW50ISAlZCwlZCslZHglZCBhbmQgJWQsJWQrJWR4JWQi
LAogICAgICAgICAgICAgc2Nyb2xsWCwgc2Nyb2xsWSwgc2Nyb2xsV2lkdGgsIHNjcm9sbEhlaWdo
dCwgY2VudGVyWCwgY2VudGVyWSwgY2VudGVyV2lkdGgsIGNlbnRlckhlaWdodCk7CiAKICAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CkBAIC0zNzUyLDcg
KzM3NTIsNyBAQCBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBld2tfdmlld19wbHVn
aW5fY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdgogICovCiB2b2lkIGV3a192aWV3X3Bv
cHVwX25ldyhFdmFzX09iamVjdCogZXdrVmlldywgV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KiBj
bGllbnQsIGludCAvKnNlbGVjdGVkKi8sIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpCiB7
Ci0gICAgSU5GKCJld2tWaWV3PSVwIiwgZXdrVmlldyk7CisgICAgSU5GTygiZXdrVmlldz0lcCIs
IGV3a1ZpZXcpOwogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnRE
YXRhKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsK
IApAQCAtMzc4NSw3ICszNzg1LDcgQEAgdm9pZCBld2tfdmlld19wb3B1cF9uZXcoRXZhc19PYmpl
Y3QqIGV3a1ZpZXcsIFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCogY2xpZW50LAogCiBFaW5hX0Jv
b2wgZXdrX3ZpZXdfcG9wdXBfZGVzdHJveShFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBJ
TkYoImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKKyAgICBJTkZPKCJld2tWaWV3PSVwIiwgZXdrVmll
dyk7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZh
bHNlKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBm
YWxzZSk7CiAKQEAgLTM4MDgsNyArMzgwOCw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19wb3B1cF9k
ZXN0cm95KEV2YXNfT2JqZWN0KiBld2tWaWV3KQogCiB2b2lkIGV3a192aWV3X3BvcHVwX3NlbGVj
dGVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IGluZGV4KQogewotICAgIElORigiZXdr
Vmlldz0lcCIsIGV3a1ZpZXcpOworICAgIElORk8oImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKICAg
ICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CiAgICAgRVdL
X1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdik7CiAgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk4ocHJpdi0+cG9wdXAubWVudUNsaWVudCk7CkBAIC0zODI4LDcgKzM4
MjgsNyBAQCB2b2lkIGV3a192aWV3X3BvcHVwX3NlbGVjdGVkX3NldChFdmFzX09iamVjdCogZXdr
VmlldywgaW50IGluZGV4KQogICovCiB2b2lkIGV3a192aWV3X2NvbG9yX2Nob29zZXJfbmV3KEV2
YXNfT2JqZWN0KiBld2tWaWV3LCBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbnQqIGNsaWVudCwg
Y29uc3QgV2ViQ29yZTo6Q29sb3ImIGluaXRpYWxDb2xvcikKIHsKLSAgICBJTkYoImV3a1ZpZXc9
JXAiLCBld2tWaWV3KTsKKyAgICBJTkZPKCJld2tWaWV3PSVwIiwgZXdrVmlldyk7CiAgICAgRVdL
X1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOwogICAgIEVXS19WSUVX
X1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOwogCkBAIC0zODQ4LDcgKzM4NDgs
NyBAQCB2b2lkIGV3a192aWV3X2NvbG9yX2Nob29zZXJfbmV3KEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBXZWJDb3JlOjpDb2xvckNob29zZXJDbGllbgogCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfY29sb3Jf
Y2hvb3Nlcl9kZXN0cm95KEV2YXNfT2JqZWN0KiBld2tWaWV3KQogewotICAgIElORigiZXdrVmll
dz0lcCIsIGV3a1ZpZXcpOworICAgIElORk8oImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKICAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwogICAg
IEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKIApA
QCAtMzg2NSw3ICszODY1LDcgQEAgRWluYV9Cb29sIGV3a192aWV3X2NvbG9yX2Nob29zZXJfZGVz
dHJveShFdmFzX09iamVjdCogZXdrVmlldykKIAogdm9pZCBld2tfdmlld19jb2xvcl9jaG9vc2Vy
X2NvbG9yX3NldChFdmFzX09iamVjdCAqZXdrVmlldywgaW50IHIsIGludCBnLCBpbnQgYikKIHsK
LSAgICBJTkYoImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKKyAgICBJTkZPKCJld2tWaWV3PSVwIiwg
ZXdrVmlldyk7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERh
dGEpOwogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOwog
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOKHByaXYtPmNvbG9yQ2hvb3NlckNsaWVudCk7
CkBAIC0zODg2LDcgKzM4ODYsNyBAQCB2b2lkIGV3a192aWV3X2NvbG9yX2Nob29zZXJfY29sb3Jf
c2V0KEV2YXNfT2JqZWN0ICpld2tWaWV3LCBpbnQgciwgaW50IGcsIGludCBiKQogICovCiB2b2lk
IGV3a192aWV3X2NvbG9yX2Nob29zZXJfY2hhbmdlZChFdmFzX09iamVjdCogZXdrVmlldywgY29u
c3QgV2ViQ29yZTo6Q29sb3ImIG5ld0NvbG9yKQogewotICAgIElORigiZXdrVmlldz0lcCIsIGV3
a1ZpZXcpOworICAgIElORk8oImV3a1ZpZXc9JXAiLCBld2tWaWV3KTsKIAogICAgIEV3a19Db2xv
ciBjb2xvcjsKICAgICBjb2xvci5yID0gbmV3Q29sb3IucmVkKCk7CkBAIC0zOTczLDcgKzM5NzMs
NyBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfem9vbV9yYW5nZV9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGZsb2F0IG1pblNjYWxlLCBmbG9hdCBtYQogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JF
VFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKIAogICAgIGlmIChtYXhTY2FsZSA8IG1pblNj
YWxlKSB7Ci0gICAgICAgIFdSTigibWluU2NhbGUgaXMgbGFyZ2VyIHRoYW4gbWF4U2NhbGUiKTsK
KyAgICAgICAgV0FSTigibWluU2NhbGUgaXMgbGFyZ2VyIHRoYW4gbWF4U2NhbGUiKTsKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19w
cml2YXRlLmgKaW5kZXggZGFlZTY3Ny4uNjMxZmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC00NSw3ICs0NSw3IEBAIGNvbnN0IGNoYXIgZXdrVmlld1Np
bmdsZU5hbWVbXSA9ICJFd2tfVmlld19TaW5nbGUiOwogLy8gRGVmaW5lIHRvIHByZXZlbnQgYW4g
YXBwbGljYXRpb24gdXNpbmcgZGlmZmVyZW50IHZpZXcgdHlwZSBmcm9tIGNhbGxpbmcgdGhlIGZ1
bmN0aW9uLgogI2RlZmluZSBFV0tfVklFV19UWVBFX0NIRUNLX09SX1JFVFVSTihld2tWaWV3LCB2
aWV3TmFtZSwgLi4uKSBcCiAgICAgaWYgKCFldmFzX29iamVjdF9zbWFydF90eXBlX2NoZWNrKGV3
a1ZpZXcsIHZpZXdOYW1lKSkgeyBcCi0gICAgICAgIElORigiZXdrVmlldyBpc24ndCBhbiBpbnN0
YW5jZSBvZiAlcyIsIHZpZXdOYW1lKTsgXAorICAgICAgICBJTkZPKCJld2tWaWV3IGlzbid0IGFu
IGluc3RhbmNlIG9mICVzIiwgdmlld05hbWUpOyBcCiAgICAgICAgIHJldHVybiBfX1ZBX0FSR1Nf
XzsgXAogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDA3ZjYwMGIuLjQzYWJiZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAxMi0wOS0yMCAgSmlud29vIFNvbmcgIDxqaW53b283LnNvbmdA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gQ2hhbmdlIHRoZSBsb2cgbWFjcm8gbmFtZXMg
dG8gYmUgbW9yZSBjb25zaXN0ZW50IHdpdGggRUlOQSBMT0cKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk3MTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCisKKyAgICAgICAgU29tZSBsb2cgbWFjcm8gbmFt
ZXMgaW4gV2ViS2l0MiBhcmUgaW5jb25zaXN0ZW50IHdpdGggRUlOQSBMT0cgbmFtZXMKKyAgICAg
ICAgc3VjaCBhcyBXUk4vSU5GIG5vdCBXQVJOL0lORk8uCisKKyAgICAgICAgICAjZGVmaW5lIFdS
TiguLi4pIEVJTkFfTE9HX0RPTV9XQVJOKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisgICAg
ICAgICAgI2RlZmluZSBJTkYoLi4uKSBFSU5BX0xPR19ET01fSU5GTyhfZXdrX2xvZ19kb20sIF9f
VkFfQVJHU19fKQorCisgICAgICAgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgc3VjaCBuYW1lcyB0
byBiZSBjb25zaXN0ZW50IHdpdGggRUlOQSBMT0cncyBuYW1lcy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19tYWluLmNwcDoKKyAgICAgICAgKGV3a19pbml0KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X3dlYnByb2Nlc3NfY3Jhc2hl
ZCk6CisKIDIwMTItMDktMjAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGlu
dGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFNhbWUgcGFnZSBuYXZpZ2F0aW9uIGRvZXMg
bm90IHVwZGF0ZSB2aWV3IFVSSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX21haW4uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX21haW4uY3BwCmluZGV4IGY3ZGFmZTguLmZjYzlmYWYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfbWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX21haW4uY3BwCkBAIC03MSw3ICs3MSw3IEBAIGludCBl
d2tfaW5pdCh2b2lkKQogICAgIGdfdHlwZV9pbml0KCk7CiAKICAgICBpZiAoIWVjb3JlX21haW5f
bG9vcF9nbGliX2ludGVncmF0ZSgpKSB7Ci0gICAgICAgIFdSTigiRWNvcmUgd2FzIG5vdCBjb21w
aWxlZCB3aXRoIEdMaWIgc3VwcG9ydCwgc29tZSBwbHVnaW5zIHdpbGwgbm90ICIKKyAgICAgICAg
V0FSTigiRWNvcmUgd2FzIG5vdCBjb21waWxlZCB3aXRoIEdMaWIgc3VwcG9ydCwgc29tZSBwbHVn
aW5zIHdpbGwgbm90ICIKICAgICAgICAgICAgICJ3b3JrIChpZTogQWRvYmUgRmxhc2gpIik7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
cHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ByaXZhdGUu
aAppbmRleCBiZGVlYWFmLi40YmRiMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19wcml2YXRlLmgKQEAgLTM1LDggKzM1LDggQEAgZXh0ZXJuIGludCBfZXdr
X2xvZ19kb207CiAKICNkZWZpbmUgQ1JJVElDQUwoLi4uKSBFSU5BX0xPR19ET01fQ1JJVChfZXdr
X2xvZ19kb20sIF9fVkFfQVJHU19fKQogI2RlZmluZSBFUlIoLi4uKSBFSU5BX0xPR19ET01fRVJS
KF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCi0jZGVmaW5lIFdSTiguLi4pIEVJTkFfTE9HX0RP
TV9XQVJOKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCi0jZGVmaW5lIElORiguLi4pIEVJTkFf
TE9HX0RPTV9JTkZPKF9ld2tfbG9nX2RvbSwgX19WQV9BUkdTX18pCisjZGVmaW5lIFdBUk4oLi4u
KSBFSU5BX0xPR19ET01fV0FSTihfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19fKQorI2RlZmluZSBJ
TkZPKC4uLikgRUlOQV9MT0dfRE9NX0lORk8oX2V3a19sb2dfZG9tLCBfX1ZBX0FSR1NfXykKICNk
ZWZpbmUgREJHKC4uLikgRUlOQV9MT0dfRE9NX0RCRyhfZXdrX2xvZ19kb20sIF9fVkFfQVJHU19f
KQogCiAjZW5kaWYgLy8gZXdrX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IDk5ZDkzYWUuLjk4YzljNjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTE2NDYsNyArMTY0
Niw3IEBAIHZvaWQgZXdrX3ZpZXdfd2VicHJvY2Vzc19jcmFzaGVkKEV2YXNfT2JqZWN0KiBld2tW
aWV3KQogCiAgICAgaWYgKCFoYW5kbGVkKSB7CiAgICAgICAgIENTdHJpbmcgdXJsID0gcHJpdi0+
cGFnZVByb3h5LT51cmxBdFByb2Nlc3NFeGl0KCkudXRmOCgpOwotICAgICAgICBXUk4oIldBUk5J
Tkc6IFRoZSB3ZWIgcHJvY2VzcyBleHBlcmllbmNlZCBhIGNyYXNoIG9uICclcycuXG4iLCB1cmwu
ZGF0YSgpKTsKKyAgICAgICAgV0FSTigiV0FSTklORzogVGhlIHdlYiBwcm9jZXNzIGV4cGVyaWVu
Y2VkIGEgY3Jhc2ggb24gJyVzJy5cbiIsIHVybC5kYXRhKCkpOwogCiAgICAgICAgIC8vIERpc3Bs
YXkgYW4gZXJyb3IgcGFnZQogICAgICAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKGV3a1Zp
ZXcsICJUaGUgd2ViIHByb2Nlc3MgaGFzIGNyYXNoZWQuIiwgMCwgdXJsLmRhdGEoKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>